diff options
author | George Rimar <grimar@accesssoftek.com> | 2017-07-04 13:19:13 +0000 |
---|---|---|
committer | George Rimar <grimar@accesssoftek.com> | 2017-07-04 13:19:13 +0000 |
commit | 4d2f976208464da32cc3a72123dde048376aed01 (patch) | |
tree | 3793e5da0615b966abcb064badc4a5f2ae57211a /lldb/packages/Python/lldbsuite/test/python_api/symbol-context/TestSymbolContext.py | |
parent | a951d5c40b8f3dc48b94b4b35d4ddf436fd22fb8 (diff) | |
download | bcm5719-llvm-4d2f976208464da32cc3a72123dde048376aed01.tar.gz bcm5719-llvm-4d2f976208464da32cc3a72123dde048376aed01.zip |
[ELF] - Resolve references properly when using .symver directive
This is PR28414.
Previously LLD was unable to link following:
(failed with undefined symbol bar)
Version script:
SOME_VERSION { global: *; };
.global _start
.global bar
.symver _start, bar@@SOME_VERSION
_start:
jmp bar
Manual has next description:
.symver name, name2@@nodename
In this case, the symbol name must exist and be defined within the file being assembled. It is similar to name2@nodename.
The difference is name2@@nodename will also be used to resolve references to name2 by the linker
https://sourceware.org/binutils/docs/as/Symver.html
Patch implements that. If we have name@@ver symbol and name is undefined, name@@ver is used to resolve references to name.
If name is defined then multiple definition error is emited, that is consistent with what bfd do.
Differential revision: https://reviews.llvm.org/D33680
llvm-svn: 307077
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/symbol-context/TestSymbolContext.py')
0 files changed, 0 insertions, 0 deletions