[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/21532] AArch64: Symbol address inconsistency across compilation

From: nickc at redhat dot com
Subject: [Bug ld/21532] AArch64: Symbol address inconsistency across compilation units
Date: Tue, 06 Jun 2017 11:34:39 +0000


--- Comment #3 from Nick Clifton <nickc at redhat dot com> ---
Hi Jiong,

  Thanks for taking a look at this.

>    Looks like AArch64 could avoid emiting COPY relocation if it's a relocation
> against writable section. We could adopt similar code from
> elf_x86_64_adjust_dynamic_symbol or ppc64_elf_adjust_dynamic_symbol.

Ah - maybe not.  The original testcase (in the BZ) shows the bug happening when
constant data is used rather than writeable data.  You can also extend the
testcase I posted to use constant data and the same problem happens.

>> It looks like the linker creates a copy of IEEEsingle in the executable but
>> then the GOT entry for IEEEsingle is not updated in libLLVM.so, causing any
>> accesses to IEEEsingle in libLLVM.so to refer to the original definition
>    Does this means this is a glibc bug as well? dynamic linker needs to 
> redirect
> the reference in the .so to the copy as well?

This is a possibility, although I am not an expert on the dynamic linker.  I
however that we need to verify that the static linker is producing the correct
dynamic relocations first.


You are receiving this mail because:
You are on the CC list for the bug.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]