aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/ModuleUtils.cpp
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2017-07-12 13:54:42 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2017-07-12 13:54:42 +0000
commit3e8a461bdfb725f0d07b55b4a0fad4511063a91a (patch)
tree30f2ee5ea943d84fd7338732694e3569d3c20712 /llvm/lib/Transforms/Utils/ModuleUtils.cpp
parent53145213285e4322ec8cfbdd680840d89e230aa5 (diff)
downloadllvm-3e8a461bdfb725f0d07b55b4a0fad4511063a91a.zip
llvm-3e8a461bdfb725f0d07b55b4a0fad4511063a91a.tar.gz
llvm-3e8a461bdfb725f0d07b55b4a0fad4511063a91a.tar.bz2
[ELF] - Give a symbol version extracted from name a priority over version set by script.
This fixes PR33712. Imagine following script and code: VER1 { global: foo; local: *; }; VER2 { global: foo; }; .global bar bar: .symver bar, foo@VER1 .global zed zed: .symver zed, foo@@VER2 We add foo@@VER2 as foo to symbol table, because have to resolve references to foo for default symbols. Later we are trying to assign symbol versions from script. For that we are searching for 'foo' again. Here it is placed under VER1 and VER2 at the same time, we find it twice and trying to set version again both times, hence LLD shows a warning. Though sample code is correct: we have 2 different versions of foo. Patch gives a symbol version extracted from name a priority over version set by script. Differential revision: https://reviews.llvm.org/D35207 llvm-svn: 307792
Diffstat (limited to 'llvm/lib/Transforms/Utils/ModuleUtils.cpp')
0 files changed, 0 insertions, 0 deletions