This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [ping] Re: [patch] PR40134, use a linker script on arm-linux to link with -lgcc_s -lgcc
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Andrew Haley <aph at redhat dot com>
- Cc: Matthias Klose <doko at ubuntu dot com>, Jakub Jelinek <jakub at redhat dot com>, Alexandre Oliva <aoliva at redhat dot com>, Nathan Froyd <froydnj at codesourcery dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Paolo Carlini <paolo dot carlini at oracle dot com>, GCJ-patches <java-patches at gcc dot gnu dot org>
- Date: Wed, 14 Oct 2009 15:33:08 +0100
- Subject: Re: [ping] Re: [patch] PR40134, use a linker script on arm-linux to link with -lgcc_s -lgcc
- References: <4A530F5C.4040500@ubuntu.com> <20090707091425.GB4462@tyan-ft48-01.lab.bos.redhat.com> <4A5B32BB.5010308@ubuntu.com> <20090909112436.GV14664@tyan-ft48-01.lab.bos.redhat.com> <4AAA8510.8060906@ubuntu.com> <4AB8C07D.3010807@ubuntu.com> <4AB8F3C2.60909@redhat.com> <4ABB2CB3.8090800@ubuntu.com> <4ABB30DE.6050502@redhat.com> <4ABB3BE6.4060800@ubuntu.com> <4ABB4C9B.3070200@redhat.com>
On Thu, 2009-09-24 at 11:40 +0100, Andrew Haley wrote:
> Matthias Klose wrote:
> > On 24.09.2009 10:42, Andrew Haley wrote:
> >> Matthias Klose wrote:
> >>> On 22.09.2009 17:56, Andrew Haley wrote:
> >>>> Matthias Klose wrote:
> >>>>> On 11.09.2009 19:12, Matthias Klose wrote:
> >>>>
> >>>>>> Applied and checked the attach patch on top of your patch, ran the
> >>>>>> testsuite without regressions (applied the patch for pr40133 from
> >>>>>> Paolo
> >>>>>> for the same test run as well).
> >>>>>>
> >>>>>> Matthias
> >>>>>
> >>>>> updated the patch to only for arm*-*-linux-*eabi; test results at
> >>>>> http://gcc.gnu.org/ml/gcc-testresults/2009-09/msg02000.html
> >>>>>
> >>>>> Ok for the trunk?
> >>>>
> >>>> I'm not at all happy that backtraces are failing now on Java, but I
> >>>> guess your
> >>>> patch didn't cause that. OK by me.
> >>>
> >>> Without this patch, the build of libjava fails on arm*-*-linux-*eabi:
> >>>
> >>> /usr/bin/ld: .libs/jv-convert: hidden symbol `__sync_synchronize' in
> >>> /root/gcc/newgccsnapshot/gcc-snapshot-20090919/build/./gcc/libgcc.a(linux-atomic.o)
> >>>
> >>> is referenced by DSO
> >>> /usr/bin/ld: final link failed: Nonrepresentable section on output
> >>> collect2: ld returned 1 exit status
> >>> make[5]: *** [jv-convert] Error 1
> >>>
> >>> Full buildlog at http://people.debian.org/~doko/tmp/snapshot.log.bz2
> >>>
> >>> The reason for this is not linking the shared libgcj with -lgcc.
> >>
> >> I find this extremely surprising. LDFLAGS are explicitly set to do
> >> that when building libgcc. I did this myself, and I'm pretty sure that
> >> it works.
> >>
> >> svn diff -r150701:150702
> >
> > The setting of LDFLAGS to "-Wl,-lgcc" (working around libtool
> > assumptions) in the Makefile gets overwritten to the empty value when
> > called by the toplevel make, so this has no effect. The intent to do
> > this with a linker script was to have it done for every usage.
>
> I agree that a linker script is a better idea, I just wanted to know why
> my fix wasn't working. Thanks for that.
>
> >>> Am I allowed to check in this patch to fix the build failure, or do I
> >>> have to wait for an approval of an ARM maintainer?
> >>
> >> I think you need an ARM maintainer, but I first want to know why your
> >> build isn't linking with libgcc.
> >
> > Ok, Richard is seems to be in vacation until early October.
This isn't really my area; so I'm happy to trust Andrew's judgement in
this case.
R.