[Bug bootstrap/26050] New: Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86

gcc-bugzilla at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue Jan 31 21:32:00 GMT 2006


Current mainline (as of 20060131) fails to bootstrap on Solaris 10/x86 in
libgcc-math:

/vol/gcc/obj/gcc-4.2.0-20060131/10-gcc/./gcc/xgcc
-B/vol/gcc/obj/gcc-4.2.0-20060131/10-gcc/./gcc/
-B/vol/gcc/share/i386-pc-solaris2.10/bin/
-B/vol/gcc/share/i386-pc-solaris2.10/lib/ -isystem
/vol/gcc/share/i386-pc-solaris2.10/include -isystem
/vol/gcc/share/i386-pc-solaris2.10/sys-include "-DPACKAGE_NAME=\"libgcc-math\""
"-DPACKAGE_TARNAME=\"libgcc-math\"" "-DPACKAGE_VERSION=\"1.0\""
"-DPACKAGE_STRING=\"libgcc-math 1.0\"" "-DPACKAGE_BUGREPORT=\"\""
"-DPACKAGE=\"libgcc-math\"" "-DVERSION=\"1.0\"" -DHAVE_HIDDEN_VISIBILITY=1 -I.
-I/vol/gcc/src/gcc-dist/libgcc-math/i386
-I/vol/gcc/src/gcc-dist/libgcc-math/i386/../include -include
/vol/gcc/src/gcc-dist/libgcc-math/i386/sse2.h -Wall -O2 -g -msse2 -msseregparm
-mfpmath=sse -march=pentium3 -fno-math-errno -fno-trapping-math
-ffinite-math-only -fno-rounding-math -fno-signaling-nans -D__NO_MATH_INLINES
-O2 -g -O2 -MT libsse2_la-e_acosf.lo -MD -MP -MF .deps/libsse2_la-e_acosf.Tpo
-c /vol/gcc/src/gcc-dist/libgcc-math/i386/../flt-32/e_ac!
 osf.c  -fPIC -DPIC -o .libs/libsse2_la-e_acosf.o
In file included from
/vol/gcc/src/gcc-dist/libgcc-math/i386/../flt-32/e_acosf.c:21:
/vol/gcc/src/gcc-dist/libgcc-math/i386/../include/math_private.h:58: error:
expected specifier-qualifier-list before 'u_int32_t'
/vol/gcc/src/gcc-dist/libgcc-math/i386/../include/math_private.h:129: error:
expected specifier-qualifier-list before 'u_int32_t'
/vol/gcc/src/gcc-dist/libgcc-math/i386/../flt-32/e_acosf.c: In function
'__libm_sse2_acosf':
/vol/gcc/src/gcc-dist/libgcc-math/i386/../flt-32/e_acosf.c:52: error:
'ieee_float_shape_type' has no member named 'word'
/vol/gcc/src/gcc-dist/libgcc-math/i386/../flt-32/e_acosf.c:80: error:
'ieee_float_shape_type' has no member named 'word'
/vol/gcc/src/gcc-dist/libgcc-math/i386/../flt-32/e_acosf.c:81: error:
'ieee_float_shape_type' has no member named 'word'
make[3]: *** [libsse2_la-e_acosf.lo] Error 1
make[3]: *** Waiting for unfinished jobs....

u_int32_t isn't declared anywhere, but is used in several files
unconditionally:

libgcc-math/dbl-64/e_log10.c
libgcc-math/dbl-64/e_rem_pio2.c
libgcc-math/dbl-64/s_floor.c
libgcc-math/flt-32/e_atan2f.c
libgcc-math/flt-32/e_log10f.c
libgcc-math/flt-32/e_powf.c
libgcc-math/flt-32/e_rem_pio2f.c
libgcc-math/flt-32/e_sqrtf.c
libgcc-math/flt-32/s_floorf.c
libgcc-math/include/math_private.h

Environment:
System: SunOS australien 5.10 Generic_118844-19 i86pc i386 i86pc
Architecture: i86pc


host: i386-pc-solaris2.10
build: i386-pc-solaris2.10
target: i386-pc-solaris2.10
configured with: /vol/gcc/src/gcc-dist/configure --prefix=/vol/gcc
--with-local-prefix=/vol/gcc --disable-nls --disable-multilib
--with-gmp-dir=/vol/gnu/obj/gmp-4.1.3
--with-mpfr-dir=/vol/gnu/obj/gmp-4.1.3/mpfr
--enable-languages=c,c++,fortran,java,objc,ada --disable-libmudflap

How-To-Repeat:
Bootstrap mainline as described above.


------- Comment #1 from ro at techfak dot uni-bielefeld dot de  2006-01-31 21:32 -------
Fix:
Either declare u_int32_t if missing (or, far better) use the ISO C uint32_t
type instead (and provide a definition if missing, cf. config/stdint.m4).

A trivial patch which globally uses uint32_t in libgcc-math allowed the
bootstrap to finish; test currently in progress.


-- 
           Summary: Use of u_int32_t in libgcc-math breaks bootstrap on
                    Solaris 10/x86
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ro at techfak dot uni-bielefeld dot de
 GCC build triplet: i386-pc-solaris2.10
  GCC host triplet: i386-pc-solaris2.10
GCC target triplet: i386-pc-solaris2.10


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



More information about the Gcc-bugs mailing list