llvm-project/lld/wasm
Sam Clegg 67b055841f [lld][WebAssebmly] Preserve custom import attributes with LTO
Undefined symbols in WebAssembly can come with custom `import-module`
and `import-field` attributes.  However when reading symbols from
bitcode object files during LTO those curtom attributes are not
available.

Once we compile the LTO object and read in the symbol table from the
object file we have access to these custom attributes.  In this case,
when undefined symbols are added and a symbol already exists in the
SymbolTable we can't simple return it, we may need to update the
symbol's attributes.

Fixes: PR43211

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

llvm-svn: 375081
2019-10-17 05:16:54 +00:00
..
CMakeLists.txt [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
Config.h [WebAssembly] Initialize memory in start function 2019-09-04 19:50:39 +00:00
Driver.cpp [WebAssembly] Wrap definitions in namespace lld { namespace wasm {. NFC 2019-10-10 05:25:39 +00:00
InputChunks.cpp [WebAssembly] Wrap definitions in namespace lld { namespace wasm {. NFC 2019-10-10 05:25:39 +00:00
InputChunks.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
InputEvent.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
InputFiles.cpp [lld][WebAssebmly] Preserve custom import attributes with LTO 2019-10-17 05:16:54 +00:00
InputFiles.h [lld][WebAssembly] Fix use after free of archive path 2019-09-18 21:51:03 +00:00
InputGlobal.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
LTO.cpp [lld][WebAssebmly] Preserve custom import attributes with LTO 2019-10-17 05:16:54 +00:00
LTO.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
MarkLive.cpp [lld][WebAssembly] Refactor markLive.cpp. NFC 2019-10-10 03:23:06 +00:00
MarkLive.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Options.td [WebAssembly] Initialize memory in start function 2019-09-04 19:50:39 +00:00
OutputSections.cpp [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
OutputSections.h [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
OutputSegment.h [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
Relocations.cpp [WebAssembly] Wrap definitions in namespace lld { namespace wasm {. NFC 2019-10-10 05:25:39 +00:00
Relocations.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
SymbolTable.cpp [lld][WebAssebmly] Preserve custom import attributes with LTO 2019-10-17 05:16:54 +00:00
SymbolTable.h [lld][WebAssembly] Add optional symbols after input file handling 2019-08-08 16:58:36 +00:00
Symbols.cpp [WebAssembly] Wrap definitions in namespace lld { namespace wasm {. NFC 2019-10-10 05:25:39 +00:00
Symbols.h [lld][WebAssembly] Fix static linking of -fPIC code with external undefined functions 2019-09-24 20:52:12 +00:00
SyntheticSections.cpp [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
SyntheticSections.h [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
Writer.cpp [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
Writer.h [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
WriterUtils.cpp [WebAssembly] Wrap definitions in namespace lld { namespace wasm {. NFC 2019-10-10 05:25:39 +00:00
WriterUtils.h [WebAssembly] Initialize memory in start function 2019-09-04 19:50:39 +00:00