This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: [PATCH] Fix linking with -findirect-dispatch
- From: Matthias Klose <doko at ubuntu dot com>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: java-patches at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Fri, 26 Apr 2013 13:22:10 +0200
- Subject: Re: [PATCH] Fix linking with -findirect-dispatch
- References: <mvmy5ciub3i dot fsf at hawking dot suse dot de> <20130416083855 dot GM12880 at tucnak dot redhat dot com> <mvmppxuu9c0 dot fsf at hawking dot suse dot de> <20130416091929 dot GN12880 at tucnak dot redhat dot com> <mvmli8iu88s dot fsf at hawking dot suse dot de> <20130416094852 dot GO12880 at tucnak dot redhat dot com> <516D2004 dot 8030701 at ubuntu dot com>
Am 16.04.2013 11:55, schrieb Matthias Klose:
> 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.
I do see this now too, however the root of the problem seems to be a linker
which defaults to --as-needed (which is the case on SuSe afaik). I can see this
without installing anything, just running the testsuite shows some hundred of
these failures.
Matthias