[Bug bootstrap/30589] New: [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32

fxcoudert at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Jan 25 17:00:00 GMT 2007


A simple example of what breaks the libgfortran build:

$ cat a.c
#include <math.h>

extern float foo(float);

float bar(float x) { return sinhf(x); }

int main(void)
{
  float x;

  x = bar(x);
  x = foo(x);
  return 0;
}

$ cat b.c
#include <math.h>

int foo(float x) { return sinhf(x); }

$ gcc a.c b.c -std=c99
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x0): multiple
definition of `__fpclassifyl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x0): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x1f): multiple
definition of `__isnan'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x1f): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x55): multiple
definition of `__isnanf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x55): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x7f): multiple
definition of `__isnanl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x7f): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0xa9): multiple
definition of `__signbit'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0xa9): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0xdc): multiple
definition of `__signbitf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0xdc): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x103): multiple
definition of `__signbitl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x103): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x12a): multiple
definition of `sinhf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x12a): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x14d): multiple
definition of `coshf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x14d): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x170): multiple
definition of `tanhf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x170): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x193): multiple
definition of `expf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x193): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x1b6): multiple
definition of `frexpf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x1b6): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x1dc): multiple
definition of `ldexpf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x1dc): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x202): multiple
definition of `logb'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x202): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x22f): multiple
definition of `logbf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x22f): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x24a): multiple
definition of `logbl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x24a): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x271): multiple
definition of `hypotf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x271): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x29d): multiple
definition of `powf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x29d): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x2c9): multiple
definition of `rint'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x2c9): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x2f4): multiple
definition of `rintf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x2f4): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x30d): multiple
definition of `rintl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x30d): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x332): multiple
definition of `lrint'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x332): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x34f): multiple
definition of `lrintf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x34f): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x360): multiple
definition of `lrintl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x360): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x371): multiple
definition of `llrint'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x371): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x391): multiple
definition of `llrintf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x391): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x3a5): multiple
definition of `llrintl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x3a5): first defined
here
collect2: ld returned 1 exit status


-- 
           Summary: [4.3 regression] C99 extern inline patch broke bootstrap
                    on i386-pc-mingw32
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: rejects-valid, build
          Severity: critical
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: fxcoudert at gcc dot gnu dot org
 GCC build triplet: i386-pc-mingw32
  GCC host triplet: i386-pc-mingw32
GCC target triplet: i386-pc-mingw32


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30589



More information about the Gcc-bugs mailing list