[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gcc-patches
Subject:    Re: [PATCH] Fix libgfortran cross compile configury w.r.t newlib
From:       Marcus Shawcroft <marcus.shawcroft () arm ! com>
Date:       2013-09-30 12:40:54
Message-ID: 52497156.5010203 () arm ! com
[Download RAW message or body]

On 27/09/13 17:08, Steve Ellcey wrote:
> On Thu, 2013-09-26 at 14:47 +0100, Marcus Shawcroft wrote:
> 
> > I'm in two minds about whether further sticky tape of this form is the
> > right approach or whether the original patch should be reverted until a
> > proper fix that does not regress the tree can be found.
> > 
> > Thoughts?
> > 
> > 2013-09-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
> > 
> > * configure.ac (AC_CHECK_FUNCS_ONCE): Make if statement
> > dependent on gcc_no_link.
> > 
> > Cheers
> > /Marcus
> 
> Well, I thought this patch would work for me, but it does not.  It looks
> like gcc_no_link is set to 'no' on my target because, technically, I can
> link even if I don't use a linker script.  I just can't find any
> functions.
> 
> 
> % cat x.c
> int main (void) { return 0; }
> % mips-mti-elf-gcc x.c -o x
> /local/home/sellcey/nightly/install-mips-mti-elf/lib/gcc/mips-mti-elf/4.9.0/../../../../mips-mti-elf/bin/ld: \
> warning: cannot find entry symbol __start; defaulting to 0000000000400098 % echo $?
> 0
> 
> 
> % cat y.c
> int main (void) { exit (0); }
> % install-mips-mti-elf/bin/mips-mti-elf-gcc y.c -o y
> /local/home/sellcey/nightly/install-mips-mti-elf/lib/gcc/mips-mti-elf/4.9.0/../../../../mips-mti-elf/bin/ld: \
>                 warning: cannot find entry symbol __start; defaulting to \
>                 0000000000400098
> /tmp/ccdG78PN.o: In function `main':
> y.c:(.text+0x14): undefined reference to `exit'
> collect2: error: ld returned 1 exit status
> ubuntu-sellcey % echo $?
> 1

In which case gating on gcc_no_link could be replaced with a test that 
looks to see if we can link with the library.  Perhaps looking for 
exit() or some such that might reasonably be expected to be present.

For example:

AC_CHECK_FUNC(exit)
if test "x${with_newlib}" = "xyes" -a "x${ac_cv_func_exit}" = "xno"; then

/Marcus


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic