[PATCH] Fix linking with -findirect-dispatch

Matthias Klose doko@ubuntu.com
Tue Apr 16 11:48:00 GMT 2013


Am 16.04.2013 11:48, schrieb Jakub Jelinek:
> On Tue, Apr 16, 2013 at 11:37:07AM +0200, Andreas Schwab wrote:
>> Jakub Jelinek <jakub@redhat.com> writes:
>>
>>> at dynamic link time it is a dummy library with no symbols that just
>>> adds DT_NEEDED of the latest and greatest libgcj.so.N, which provides
>>> all the symbols.
>>
>> Which is exactly the problem.  --no-copy-dt-needed-entries has been the
>> default for a long time now.
> 
> Why would that be a problem?  libgcj.so the linker sees (i.e. the dummy
> library) doesn't intentionally have DT_NEEDED libgcj.so.N, programs and
> shared libraries linked with -findirect-dispatch should be adding
> libgcj_bc.so to DT_NEEDED, not libgcj.so.N.
> 
> If this is caused by some recent broken linker change, then that should be
> better reverted.

I don't see this with binutils 2.23.2.



More information about the Gcc-patches mailing list