Hi I am trying to test and apply Sebastian Huber's arm-rtems patch and am getting compilation errors in libgcc2.c which originate in arm.h. I am using the binutils head also.
This is my configure command: ../gcc-svn/configure --enable-threads=rtems --with-gnu-as \ --enable-multilib --disable-werror --enable-newlib-mb \ --enable-newlib-iconv --with-gnu-ld --with-newlib \ --verbose --with-system-zlib --disable-nls \ --enable-version-specific-runtime-libs \ --enable-languages=c,c++ --target=arm-rtems4.11 \ --prefix=/home/joel/v850/install Attached is a build log with the errors. Any ideas? This seems like something someone else would have encountered. Thanks. -- Joel Sherrill, Ph.D. Director of Research& Development joel.sherr...@oarcorp.com On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35806 Support Available (256) 722-9985
/home/joel/v850/tools/b-gcc-svn/./gcc/xgcc -B/home/joel/v850/tools/b-gcc-svn/./gcc/ -nostdinc -B/home/joel/v850/tools/b-gcc-svn/arm-rtems4.11/newlib/ -isystem /home/joel/v850/tools/b-gcc-svn/arm-rtems4.11/newlib/targ-include -isystem /home/joel/v850/tools/gcc-svn/newlib/libc/include -B/home/joel/v850/install/arm-rtems4.11/bin/ -B/home/joel/v850/install/arm-rtems4.11/lib/ -isystem /home/joel/v850/install/arm-rtems4.11/include -isystem /home/joel/v850/install/arm-rtems4.11/sys-include -g -O2 -mthumb -O2 -I../../../../gcc-svn/libgcc/../newlib/libc/sys/rtems/include -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fno-inline -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc -fno-inline -I. -I. -I../../.././gcc -I../../../../gcc-svn/libgcc -I../../../../gcc-svn/libgcc/. -I../../../../gcc-svn/libgcc/../gcc -I../../../../gcc-svn/libgcc/../include -DHAVE_CC_TLS -o _muldi3.o -MT _muldi3.o -MD -MP -MF _muldi3.dep -DL_muldi3 -c ../../../../gcc-svn/libgcc/libgcc2.c In file included from ../../../../gcc-svn/libgcc/libgcc2.c:30:0: ../../../../gcc-svn/libgcc/../gcc/coretypes.h:187:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] MEMMODEL_RELAXED = 0, ^ ../../../../gcc-svn/libgcc/../gcc/coretypes.h:194:1: warning: enumeration values exceed range of largest integer [enabled by default] }; ^ In file included from ../../.././gcc/options.h:6:0, from ../../.././gcc/tm.h:14, from ../../../../gcc-svn/libgcc/libgcc2.c:31: ../../../../gcc-svn/libgcc/../gcc/flag-types.h:147:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] no_graph = 0, ^ ../../../../gcc-svn/libgcc/../gcc/flag-types.h:155:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] NO_STACK_CHECK = 0, ^ ../../../../gcc-svn/libgcc/../gcc/flag-types.h:194:1: warning: enumeration values exceed range of largest integer [enabled by default] }; ^ ../../../../gcc-svn/libgcc/../gcc/flag-types.h:198:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] FP_CONTRACT_OFF = 0, ^ ../../../../gcc-svn/libgcc/../gcc/flag-types.h:201:1: warning: enumeration values exceed range of largest integer [enabled by default] }; ^ In file included from ../../.././gcc/options.h:8:0, from ../../.././gcc/tm.h:14, from ../../../../gcc-svn/libgcc/libgcc2.c:31: ../../../../gcc-svn/libgcc/../gcc/config/arm/arm-opts.h:42:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] ARM_FP16_FORMAT_NONE = 0, ^ ../../../../gcc-svn/libgcc/../gcc/config/arm/arm-opts.h:45:1: warning: enumeration values exceed range of largest integer [enabled by default] }; ^ In file included from ../../.././gcc/tm.h:14:0, from ../../../../gcc-svn/libgcc/libgcc2.c:31: ../../.././gcc/options.h:3842:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] OPT____ = 0, /* -### */ ^ ../../.././gcc/options.h:4997:1: warning: enumeration values exceed range of largest integer [enabled by default] }; ^ In file included from ../../.././gcc/tm.h:15:0, from ../../../../gcc-svn/libgcc/libgcc2.c:31: ../../.././gcc/insn-constants.h:30:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] UNSPEC_PUSH_MULT = 0, ^ ../../.././gcc/insn-constants.h:197:1: warning: enumeration values exceed range of largest integer [enabled by default] }; ^ ../../.././gcc/insn-constants.h:202:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] VUNSPEC_BLOCKAGE = 0, ^ ../../.././gcc/insn-constants.h:224:1: warning: enumeration values exceed range of largest integer [enabled by default] }; ^ In file included from ../../.././gcc/tm.h:25:0, from ../../../../gcc-svn/libgcc/libgcc2.c:31: ../../../../gcc-svn/libgcc/../gcc/config/arm/arm.h:179:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] ARM_EQ = 0, ARM_NE, ARM_CS, ARM_CC, ARM_MI, ARM_PL, ARM_VS, ARM_VC, ^ ../../../../gcc-svn/libgcc/../gcc/config/arm/arm.h:389:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] VFP_NONE = 0, ^ ../../../../gcc-svn/libgcc/../gcc/config/arm/arm.h:424:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] BASE_ARCH_0 = 0, ^ ../../../../gcc-svn/libgcc/../gcc/config/arm/arm.h:447:1: warning: enumeration values exceed range of largest integer [enabled by default] }; ^ ../../../../gcc-svn/libgcc/../gcc/config/arm/arm.h:1460:7: error: size of array 'call_via' is too large rtx call_via[14]; ^ ../../../../gcc-svn/libgcc/../gcc/config/arm/arm.h:1477:20: error: size of array 'thumb_call_via_label' is too large extern GTY(()) rtx thumb_call_via_label[14]; ^ ../../../../gcc-svn/libgcc/../gcc/config/arm/arm.h:1523:7: error: size of array 'aapcs_cprc_failed' is too large int aapcs_cprc_failed[ARM_NUM_COPROC_SLOTS]; ^ In file included from ../../../../gcc-svn/libgcc/libgcc2.c:58:0: ../../../../gcc-svn/libgcc/libgcc2.h:499:22: error: size of array '__popcount_tab' is too large extern const UQItype __popcount_tab[256]; ^ ../../../../gcc-svn/libgcc/libgcc2.h:254:16: error: size of array '__clz_tab' is too large #define __N(a) __ ## a ^ ../../../../gcc-svn/libgcc/libgcc2.h:328:20: note: in expansion of macro '__N' #define __clz_tab __N(clz_tab) ^ ../../../../gcc-svn/libgcc/libgcc2.h:505:22: note: in expansion of macro '__clz_tab' extern const UQItype __clz_tab[256]; ^ ../../../../gcc-svn/libgcc/libgcc2.h:254:16: error: size of array '__clz_tab' is too large #define __N(a) __ ## a ^ ../../../../gcc-svn/libgcc/libgcc2.h:328:20: note: in expansion of macro '__N' #define __clz_tab __N(clz_tab) ^ ../../../../gcc-svn/libgcc/longlong.h:62:22: note: in expansion of macro '__clz_tab' extern const UQItype __clz_tab[256] attribute_hidden; ^ ../../../../gcc-svn/libgcc/libgcc2.c: In function '__muldi3': ../../../../gcc-svn/libgcc/libgcc2.h:205:24: warning: integer overflow in expression [-Woverflow] #define W_TYPE_SIZE (4 * BITS_PER_UNIT) ^ ../../../../gcc-svn/libgcc/longlong.h:46:32: note: in expansion of macro 'W_TYPE_SIZE' #define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2)) ^ ../../../../gcc-svn/libgcc/longlong.h:47:42: note: in expansion of macro '__ll_B' #define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1)) ^ ../../../../gcc-svn/libgcc/longlong.h:1575:12: note: in expansion of macro '__ll_lowpart' __ul = __ll_lowpart (u); \ ^ ../../../../gcc-svn/libgcc/longlong.h:1598:5: note: in expansion of macro 'umul_ppmm' umul_ppmm (__w.s.high, __w.s.low, u, v); \ ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:22: note: in expansion of macro '__umulsidi3' DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:3: warning: left shift count is negative [enabled by default] DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ In file included from ../../../../gcc-svn/libgcc/libgcc2.c:58:0: ../../../../gcc-svn/libgcc/libgcc2.h:205:24: warning: integer overflow in expression [-Woverflow] #define W_TYPE_SIZE (4 * BITS_PER_UNIT) ^ ../../../../gcc-svn/libgcc/longlong.h:48:44: note: in expansion of macro 'W_TYPE_SIZE' #define __ll_highpart(t) ((UWtype) (t) >> (W_TYPE_SIZE / 2)) ^ ../../../../gcc-svn/libgcc/longlong.h:1576:12: note: in expansion of macro '__ll_highpart' __uh = __ll_highpart (u); \ ^ ../../../../gcc-svn/libgcc/longlong.h:1598:5: note: in expansion of macro 'umul_ppmm' umul_ppmm (__w.s.high, __w.s.low, u, v); \ ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:22: note: in expansion of macro '__umulsidi3' DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:3: warning: right shift count is negative [enabled by default] DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ In file included from ../../../../gcc-svn/libgcc/libgcc2.c:58:0: ../../../../gcc-svn/libgcc/libgcc2.h:205:24: warning: integer overflow in expression [-Woverflow] #define W_TYPE_SIZE (4 * BITS_PER_UNIT) ^ ../../../../gcc-svn/libgcc/longlong.h:46:32: note: in expansion of macro 'W_TYPE_SIZE' #define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2)) ^ ../../../../gcc-svn/libgcc/longlong.h:47:42: note: in expansion of macro '__ll_B' #define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1)) ^ ../../../../gcc-svn/libgcc/longlong.h:1577:12: note: in expansion of macro '__ll_lowpart' __vl = __ll_lowpart (v); \ ^ ../../../../gcc-svn/libgcc/longlong.h:1598:5: note: in expansion of macro 'umul_ppmm' umul_ppmm (__w.s.high, __w.s.low, u, v); \ ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:22: note: in expansion of macro '__umulsidi3' DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:3: warning: left shift count is negative [enabled by default] DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ In file included from ../../../../gcc-svn/libgcc/libgcc2.c:58:0: ../../../../gcc-svn/libgcc/libgcc2.h:205:24: warning: integer overflow in expression [-Woverflow] #define W_TYPE_SIZE (4 * BITS_PER_UNIT) ^ ../../../../gcc-svn/libgcc/longlong.h:48:44: note: in expansion of macro 'W_TYPE_SIZE' #define __ll_highpart(t) ((UWtype) (t) >> (W_TYPE_SIZE / 2)) ^ ../../../../gcc-svn/libgcc/longlong.h:1578:12: note: in expansion of macro '__ll_highpart' __vh = __ll_highpart (v); \ ^ ../../../../gcc-svn/libgcc/longlong.h:1598:5: note: in expansion of macro 'umul_ppmm' umul_ppmm (__w.s.high, __w.s.low, u, v); \ ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:22: note: in expansion of macro '__umulsidi3' DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:3: warning: right shift count is negative [enabled by default] DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ In file included from ../../../../gcc-svn/libgcc/libgcc2.c:58:0: ../../../../gcc-svn/libgcc/libgcc2.h:205:24: warning: integer overflow in expression [-Woverflow] #define W_TYPE_SIZE (4 * BITS_PER_UNIT) ^ ../../../../gcc-svn/libgcc/longlong.h:48:44: note: in expansion of macro 'W_TYPE_SIZE' #define __ll_highpart(t) ((UWtype) (t) >> (W_TYPE_SIZE / 2)) ^ ../../../../gcc-svn/libgcc/longlong.h:1585:13: note: in expansion of macro '__ll_highpart' __x1 += __ll_highpart (__x0);/* this can't give carry */ \ ^ ../../../../gcc-svn/libgcc/longlong.h:1598:5: note: in expansion of macro 'umul_ppmm' umul_ppmm (__w.s.high, __w.s.low, u, v); \ ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:22: note: in expansion of macro '__umulsidi3' DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:3: warning: right shift count is negative [enabled by default] DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ In file included from ../../../../gcc-svn/libgcc/libgcc2.c:58:0: ../../../../gcc-svn/libgcc/libgcc2.h:205:24: warning: integer overflow in expression [-Woverflow] #define W_TYPE_SIZE (4 * BITS_PER_UNIT) ^ ../../../../gcc-svn/libgcc/longlong.h:46:32: note: in expansion of macro 'W_TYPE_SIZE' #define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2)) ^ ../../../../gcc-svn/libgcc/longlong.h:1588:15: note: in expansion of macro '__ll_B' __x3 += __ll_B; /* yes, add it in the proper pos. */ \ ^ ../../../../gcc-svn/libgcc/longlong.h:1598:5: note: in expansion of macro 'umul_ppmm' umul_ppmm (__w.s.high, __w.s.low, u, v); \ ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:22: note: in expansion of macro '__umulsidi3' DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:3: warning: left shift count is negative [enabled by default] DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ In file included from ../../../../gcc-svn/libgcc/libgcc2.c:58:0: ../../../../gcc-svn/libgcc/libgcc2.h:205:24: warning: integer overflow in expression [-Woverflow] #define W_TYPE_SIZE (4 * BITS_PER_UNIT) ^ ../../../../gcc-svn/libgcc/longlong.h:48:44: note: in expansion of macro 'W_TYPE_SIZE' #define __ll_highpart(t) ((UWtype) (t) >> (W_TYPE_SIZE / 2)) ^ ../../../../gcc-svn/libgcc/longlong.h:1590:19: note: in expansion of macro '__ll_highpart' (w1) = __x3 + __ll_highpart (__x1); \ ^ ../../../../gcc-svn/libgcc/longlong.h:1598:5: note: in expansion of macro 'umul_ppmm' umul_ppmm (__w.s.high, __w.s.low, u, v); \ ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:22: note: in expansion of macro '__umulsidi3' DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:3: warning: right shift count is negative [enabled by default] DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ In file included from ../../../../gcc-svn/libgcc/libgcc2.c:58:0: ../../../../gcc-svn/libgcc/libgcc2.h:205:24: warning: integer overflow in expression [-Woverflow] #define W_TYPE_SIZE (4 * BITS_PER_UNIT) ^ ../../../../gcc-svn/libgcc/longlong.h:46:32: note: in expansion of macro 'W_TYPE_SIZE' #define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2)) ^ ../../../../gcc-svn/libgcc/longlong.h:47:42: note: in expansion of macro '__ll_B' #define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1)) ^ ../../../../gcc-svn/libgcc/longlong.h:1591:12: note: in expansion of macro '__ll_lowpart' (w0) = __ll_lowpart (__x1) * __ll_B + __ll_lowpart (__x0); \ ^ ../../../../gcc-svn/libgcc/longlong.h:1598:5: note: in expansion of macro 'umul_ppmm' umul_ppmm (__w.s.high, __w.s.low, u, v); \ ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:22: note: in expansion of macro '__umulsidi3' DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:3: warning: left shift count is negative [enabled by default] DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ In file included from ../../../../gcc-svn/libgcc/libgcc2.c:58:0: ../../../../gcc-svn/libgcc/libgcc2.h:205:24: warning: integer overflow in expression [-Woverflow] #define W_TYPE_SIZE (4 * BITS_PER_UNIT) ^ ../../../../gcc-svn/libgcc/longlong.h:46:32: note: in expansion of macro 'W_TYPE_SIZE' #define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2)) ^ ../../../../gcc-svn/libgcc/longlong.h:1591:34: note: in expansion of macro '__ll_B' (w0) = __ll_lowpart (__x1) * __ll_B + __ll_lowpart (__x0); \ ^ ../../../../gcc-svn/libgcc/longlong.h:1598:5: note: in expansion of macro 'umul_ppmm' umul_ppmm (__w.s.high, __w.s.low, u, v); \ ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:22: note: in expansion of macro '__umulsidi3' DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:3: warning: left shift count is negative [enabled by default] DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ In file included from ../../../../gcc-svn/libgcc/libgcc2.c:58:0: ../../../../gcc-svn/libgcc/libgcc2.h:205:24: warning: integer overflow in expression [-Woverflow] #define W_TYPE_SIZE (4 * BITS_PER_UNIT) ^ ../../../../gcc-svn/libgcc/longlong.h:46:32: note: in expansion of macro 'W_TYPE_SIZE' #define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2)) ^ ../../../../gcc-svn/libgcc/longlong.h:47:42: note: in expansion of macro '__ll_B' #define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1)) ^ ../../../../gcc-svn/libgcc/longlong.h:1591:43: note: in expansion of macro '__ll_lowpart' (w0) = __ll_lowpart (__x1) * __ll_B + __ll_lowpart (__x0); \ ^ ../../../../gcc-svn/libgcc/longlong.h:1598:5: note: in expansion of macro 'umul_ppmm' umul_ppmm (__w.s.high, __w.s.low, u, v); \ ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:22: note: in expansion of macro '__umulsidi3' DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:3: warning: left shift count is negative [enabled by default] DWunion w = {.ll = __umulsidi3 (uu.s.low, vv.s.low)}; ^ ../../../../gcc-svn/libgcc/libgcc2.c:553:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] make[4]: *** [_muldi3.o] Error 1 make[4]: Leaving directory `/home/joel/v850/tools/b-gcc-svn/arm-rtems4.11/thumb/libgcc' make[3]: *** [multi-do] Error 1 make[3]: Leaving directory `/home/joel/v850/tools/b-gcc-svn/arm-rtems4.11/libgcc' make[2]: *** [all-multi] Error 2 make[2]: Leaving directory `/home/joel/v850/tools/b-gcc-svn/arm-rtems4.11/libgcc' make[1]: *** [all-target-libgcc] Error 2 make[1]: Leaving directory `/home/joel/v850/tools/b-gcc-svn' make: *** [all] Error 2