This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
Re: Error when re-compiling libc
- From: Luca <luca dot piol at fastwebnet dot it>
- To: glibc-bugs at sourceware dot org
- Date: Sat, 02 Dec 2006 17:14:37 +0100
- Subject: Re: Error when re-compiling libc
- References: <200612020910.32488.fnf@specifix.com>
Fred Fish wrote:
> This problem can easily be reproduced with a stripped down copy of the preprocessed source:
>
> $ cat bug.i
> extern int __signbit (double __value) __attribute__ ((__nothrow__))
> __attribute__ ((__const__));
>
> extern __inline int
> __attribute__ ((__nothrow__)) __signbit (double __x)
> {
> __extension__ union { double __d; int __i[2]; } __u = { __d: __x };
> return __u.__i[1] < 0;
> }
>
> int
> __signbit (double x)
> {
> }
> $ gcc -c bug.i
> $ gcc -std=gnu99 -c bug.i
> bug.i:13: error: redefinition of â__signbitâ
> bug.i:6: error: previous definition of â__signbitâ was here
> $
>
> Note that the trigger is the -std=gnu99 option. Not sure if this error is a bug
> in glibc sources or in support for gnu99.
>
> -Fred
>
>
Hi Fred and thanks for the reply.
I found out a patch by Jakub Jelinek about the use of __extern_inline
and __extern_always_inline changes in gcc-4.3.0 (experimental) and
applying it the problem is solved.
Luca