For each copy relocation that we create, look through the DSO's symbol table for aliases and create a dynamic symbol for each one. This causes the copy relocation to correctly interpose any aliases. Copy relocations are relatively uncommon (on my machine, 56% of binaries in /usr/bin have no copy relocations probably due to being PIEs, 97% of them have <10, and the binary with the largest number of them has 97) so it's probably fine to do this in a relatively inefficient way. Differential Revision: http://reviews.llvm.org/D18731 llvm-svn: 265354
26 lines
241 B
ArmAsm
26 lines
241 B
ArmAsm
.data
|
|
|
|
.globl a1
|
|
.type a1, @object
|
|
.size a1, 1
|
|
a1:
|
|
.weak a2
|
|
.type a2, @object
|
|
.size a2, 1
|
|
a2:
|
|
.byte 1
|
|
|
|
.weak b1
|
|
.type b1, @object
|
|
.size b1, 1
|
|
b1:
|
|
.weak b2
|
|
.type b2, @object
|
|
.size b2, 1
|
|
b2:
|
|
.globl b3
|
|
.type b3, @object
|
|
.size b3, 1
|
|
b3:
|
|
.byte 1
|