diff options
author | Sam Clegg <sbc@chromium.org> | 2021-02-02 19:03:16 -0800 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2021-02-11 17:16:03 -0800 |
commit | ac2be2b6a366c05c01b8228fd804ba6ed52d320b (patch) | |
tree | b923f7b4dae1001e5c22c754282d0275ac64149e /llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp | |
parent | 72fc5b1b8eeca2baffd9568eb296626f0af37966 (diff) | |
download | llvm-ac2be2b6a366c05c01b8228fd804ba6ed52d320b.zip llvm-ac2be2b6a366c05c01b8228fd804ba6ed52d320b.tar.gz llvm-ac2be2b6a366c05c01b8228fd804ba6ed52d320b.tar.bz2 |
[lld][WebAssembly] Fix for weak undefined functions in -pie mode
This fixes two somewhat related issues. Firstly we were never
generating imports for weak functions (even with the `import-functions`
policy for undefined symbols). Adding a direct call to foo in the
`weak-undefined-pic.s` exposed a crash in the linker which this
change fixes.
Secondly we were failing to call `handleWeakUndefines` for the `-pie`
case which is PIC but doesn't set the undefined symbol policy to
`import-functions`. With this change `-pie` binaries will by default
call `handleWeakUndefines` which generates the undefined stub handlers
for any weakly undefined symbols.
Fixes: https://github.com/emscripten-core/emscripten/issues/13337
Differential Revision: https://reviews.llvm.org/D95914
Diffstat (limited to 'llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions