This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] glibc: Refactor startfiles/headers into do_libc_backend()


Bryan, All,

On Saturday 25 June 2011 16:23:27 Yann E. MORIN wrote:
> On Thursday 23 June 2011 08:19:05 Bryan Hundven wrote:
> > # HG changeset patch
> > # User Bryan Hundven <bryanhundven@gmail.com>
> > # Date 1308809915 25200
> > # Node ID 54b9dc8f9f00dce0653534c54fe2c1f6667ecc37
> > # Parent  8bb5151c5b01fb4d1ab7bc48cec563a1e6277304
> > glibc: Refactor startfiles/headers into do_libc_backend()
> 
> This breaks at least one sample:
> # ./ct-ng show-mips-ar2315-linux-gnu 
> mips-ar2315-linux-gnu  [L X]
>     OS             : linux-2.6.33.12
>     Companion libs : gmp-4.3.2 mpfr-2.4.2
>     binutils       : binutils-2.19.1
>     C compiler     : gcc-4.3.2 (C,C++)
>     C library      : eglibc-2_9
>     Tools          : dmalloc-5.5.2 gdb-6.8 strace-4.5.19
> 
> with:
> [--SNIP--]
> [INFO ]  Installing C library
> [EXTRA]    Configuring C library
> [EXTRA]    Building C library
> [ERROR]    ../sysdeps/ieee754/dbl-64/s_copysign.c:27: error: redefinition of '__copysign'
> [ERROR]    ./math_private.h:196: error: previous definition of '__copysign' was here
> [ERROR]    make[4]: *** [/home/ymorin/dev/crosstool-NG/ct-ng.current/.build/mips-ar2315-linux-gnu/build/build-libc/mgn.o] Error 1
> [ERROR]    ../sysdeps/ieee754/flt-32/s_copysignf.c:30: error: redefinition of '__copysignf'
> [ERROR]    ./math_private.h:243: error: previous definition of '__copysignf' was here
> [ERROR]    make[4]: *** [/home/ymorin/dev/crosstool-NG/ct-ng.current/.build/mips-ar2315-linux-gnu/build/build-libc/mgnf.o] Error 1
> [ERROR]    make[3]: *** [math/subdir_lib] Error 2
> [ERROR]    make[2]: *** [all] Error 2

OK, I found out why. Before this patch, the build dir was different for
headers + start-files and for the final libc. With the patch applied, the
build dir is the same.

So, during final libc build, ./configure is mislead by the previous run.
It loads the config.cache from the previous run, but it seems there is an
issue, as it breaks while deciding whether -fgnu89-inline exists.

Which causes it to exclude it from the CFLAGS. Which breaks the build.

I'll revert to using two different dirs, and will post the outcome.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]