| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[LLD][COFF] Fix writing a map file when range extension thunks are inserted Bug: An assertion fails: Assertion failed: isa<To>(Val) && "cast<Ty>() argument of incompatible type!", file C:\Users\<user>\prog\llvm\llvm-git-lld-bug\llvm\include\llvm/Support/Casting.h, line 578 Bug is triggered, if - a map file is requested with /MAP, and - Architecture is ARMv7, Thumb, and - a relative jump (branch instruction) is greater than 16 MiB (2^24) The reason for the Bug is: - a Thunk is created for the jump - a Symbol for the Thunk is created - of type DefinedSynthetic - in file Writer.cpp - in function getThunk - the Symbol has no name - when creating the map file, the name of the Symbol is queried - the function Symbol::computeName of the base class Symbol casts the this pointer to type DefinedCOFF (a derived type), but the acutal type is DefinedSynthetic - The in the llvm::cast an assertion fails Changes: - Modify regression test to trigger this bug - Give the symbol pointing to the thunk a name, to fix the bug - Add assertion, that only DefinedCOFF symbols are allowed to have an empty name, when the constructor of the base class Symbol is executed Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D133201 (cherry picked from commit 4e5a59a3839f54d928d37d49d4c4ddbb3f339b76) | 3 年前 | |
[ELF] Suppress "duplicate symbol" when resolving STB_WEAK and STB_GNU_UNIQUE in different COMDATs template <typename T> struct A { A() {} int value = 0; }; template <typename Value> struct B { static A<int> a; }; template <typename Value> A<int> B<Value>::a; inline int foo() { return B<int>::a.value; } `` clang++ -c -fno-pic a.cc -o weak.o g++ -c -fno-pic a.cc -o unique.o # --enable-gnu-unique-object # Duplicate symbol error. In postParse, we do not check sym.binding ld.lld -e 0 weak.o unique.o `` Mixing GCC and Clang object files in this case is not ideal. .bss._ZGVN1BIiE1aE has different COMDAT groups. It appears to work in practice because the guard variable prevents harm due to double initialization. For the linker, we just stick with the rule that a weak binding does not cause "duplicate symbol" errors. Close https://github.com/llvm/llvm-project/issues/58232 Differential Revision: https://reviews.llvm.org/D136381 (cherry picked from commit 0051b6bb78772b0658f28e5f31ddf91c1589aab5) | 3 年前 | |
fix: allow linking with ABI compatible architectures for xcode 26.4 Signed-off-by: neilliuistaken <liujiajie12@huawei.com> | 2 个月前 | |
[LLD] [MinGW] Implement the --exclude-symbols option This adds support for the existing GNU ld command line option, which allows excluding individual symbols from autoexport (when linking a DLL and no symbols are marked explicitly as dllexported). Differential Revision: https://reviews.llvm.org/D130118 (cherry picked from commit d1da6469f9ea9b078276ee2e098241f0440468be) | 3 年前 | |
[lld][WebAssembly] Don't apply data relocations at static constructor time Instead, export __wasm_apply_data_relocs and __wasm_call_ctors separately. This is required since user code in a shared library (such as static constructors) should not be run until relocations have been applied to all loaded libraries. See: https://github.com/emscripten-core/emscripten/issues/17295 Differential Revision: https://reviews.llvm.org/D128515 | 3 年前 | |
[BUILD] Add missed CMakeLists.txt change from dfb77f2 See: https://reviews.llvm.org/D128195 | 3 年前 | |
[LLD][ELF] Add FORCE_LLD_DIAGNOSTICS_CRASH to force LLD to crash Add FORCE_LLD_DIAGNOSTICS_CRASH inspired by the existing FORCE_CLANG_DIAGNOSTICS_CRASH. This is particularly useful for people customizing LLD as they may want to modify the crash reporting behavior. Differential Revision: https://reviews.llvm.org/D128195 | 3 年前 | |
Revert "[llvm] cmake config groundwork to have ZSTD in LLVM" This reverts commit f07caf20b9d35e45501c9d5d903fa182b3bdb95a which seems to break upstream https://lab.llvm.org/buildbot/#/builders/109/builds/42253. | 3 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 年前 | ||
| 3 年前 | ||
| 2 个月前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 |