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

Bryan Hundven bryanhundven@gmail.com
Sun Jun 26 01:42:00 GMT 2011


On Sat, Jun 25, 2011 at 8:09 AM, Yann E. MORIN
<yann.morin.1998@anciens.enib.fr> wrote:
> 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
Yann, All,
> 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.

I just noticed some problems like this too. I have updated my patch to
create a different directory if where building start files or building
libc.

> 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.  |
> '------------------------------^-------^------------------^--------------------'
>

-Bryan

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



More information about the crossgcc mailing list