bug-binutils
[Top][All Lists]
Advanced

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

[Bug gold/15200] Runtime undefined reference to __exidx_start/_end


From: petechou at gmail dot com
Subject: [Bug gold/15200] Runtime undefined reference to __exidx_start/_end
Date: Thu, 07 Mar 2013 05:31:25 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=15200

--- Comment #5 from pete <petechou at gmail dot com> 2013-03-07 05:31:25 UTC ---
(In reply to comment #4)
> The symbols __exidx_end & __exidx_start were exported incorrectly in
> the past.  This is fixed in both ld & gold in the sense that these
> symbols are defined by not exported.  I think defining these symbols
> when there is a non-weak definition in a DSO is not the right thing to
> do.  This is basically multiple definition and usually is an error.

If so, all section/segment symbols should be defined (if needed) by not
exported?

But when there is a non-weak definition in a DSO, it's still possible to find
ld.gold define and export segment symbols like __bss_start (See
gold.defstd.cc:214. only_if_ref is set to false). And there is no multiple
definition error.

$ readelf -Ds libc.so | grep __bss_start
  268 311: 0000d898     0 NOTYPE  GLOBAL DEFAULT ABS __bss_start__
  619 470: 0000d898     0 NOTYPE  GLOBAL DEFAULT ABS __bss_start

$ arm-linux-androideabi-ld.gold -shared -o libplasma.so plasma.o libc.so

$ readelf -s libplasma.so | grep __bss_start
    73: 00004148     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
   168: 00004148     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start

> I am not working on the Android NDK so I can't give you a good
> suggestion here.  Does using the latest NDK fixes your problem?
> 

Yes, there is no this issue with the latest NDK.

-
Thanks,
Pete

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- 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]