diff options
author | George Rimar <grimar@accesssoftek.com> | 2017-06-30 10:19:54 +0000 |
---|---|---|
committer | George Rimar <grimar@accesssoftek.com> | 2017-06-30 10:19:54 +0000 |
commit | aad84e2ee2431e5e4ef4e30d642c3a95146b4e1c (patch) | |
tree | 7d9a8da8f9174d9fa5f9e11e74ae63865581e37a /llvm | |
parent | d8508b0af3d8a3fd9f8ff4733f2bf43f41d9d8e6 (diff) | |
download | bcm5719-llvm-aad84e2ee2431e5e4ef4e30d642c3a95146b4e1c.tar.gz bcm5719-llvm-aad84e2ee2431e5e4ef4e30d642c3a95146b4e1c.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.
Differential revision: https://reviews.llvm.org/D33680
llvm-svn: 306813
Diffstat (limited to 'llvm')
0 files changed, 0 insertions, 0 deletions