llvm-project/lld/test
Fangrui Song 688183ec54 [ELF] Set `referenced` bit of Undefined created by BitcodeFile
D64136 and D65584, while fixing STB_WEAK issues and improving our
compatibility with ld.bfd, can cause another STB_WEAK problem related to
LTO:

If %tundef.o has an undefined reference on f,
and %tweakundef.o has a weak undefined reference on f,
%tdef.o has a definition of f

```
ld.lld %tundef.o %tweakundef.o --start-lib %tdef.o --end-lib
```

1) `%tundef.o` doesn't set the `referenced` bit.
2) `%weakundef.o` changes the binding from STB_GLOBAL to STB_WEAK
3) `%tdef.o` is not fetched because the binding is weak.

Step (1) is incorrect. This patch sets the `referenced` bit of Undefined
created by bitcode files.

Reviewed By: ruiu

Differential Revision: https://reviews.llvm.org/D66992

llvm-svn: 370437
2019-08-30 07:10:30 +00:00
..
COFF [LLD] [COFF] Support merging resource object files 2019-08-30 06:56:33 +00:00
Driver/Inputs
ELF [ELF] Set `referenced` bit of Undefined created by BitcodeFile 2019-08-30 07:10:30 +00:00
MinGW [MinGW] Correct handling different forms of a few options 2019-08-14 09:35:44 +00:00
Unit [lit] Rename lld and clang lit configs to end in .py 2017-09-21 17:38:13 +00:00
darwin [Darwin] Do not error on '-lto_library' option 2018-06-13 18:59:14 +00:00
mach-o [test] Change llvm-readobj -long-option to --long-option or well-known short options. NFC 2019-05-01 05:49:01 +00:00
wasm [WebAssembly] Implement NO_STRIP 2019-08-29 22:41:05 +00:00
CMakeLists.txt lld-link: Reject more than one resource .obj file 2019-06-11 15:22:28 +00:00
lit.cfg.py ELF: Change FileSize back to a uint64_t. 2019-03-01 18:53:41 +00:00
lit.site.cfg.py.in ELF: Change FileSize back to a uint64_t. 2019-03-01 18:53:41 +00:00