Building gcc for coldfire (m68k variant)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I'm trying to build gcc specific for my coldfire target (5474) but compilation fails so far.

Note: I tried building using OSELAS.Toolchain tools, which fails also. So I just uses their sysroot for this test.
Here are my steps:
$ tar -xvjf /usr/portage/distfiles/gcc-4.8.2.tar.bz2
$ mkdir gcc-4.8.2_build
$ cd gcc-4.8.2_build
$ ../gcc-4.8.2/configure --build=x86_64-host-linux-gnu --host=x86_64-host-linux-gnu --target=m68k-none-linux-gnu --disable-multilib --with-cpu=547x --with-arch=cf --enable-__cxa_atexit --disable-sjlj-exceptions --disable-nls --disable-decimal-float --disable-fixed-point --disable-win32-registry --enable-symvers=gnu --with-pkgversion=OSELAS.Toolchain-2013.12.1 --enable-threads=posix --with-system-zlib --enable-languages=c,c++ --enable-c99 --enable-long-long --enable-libstdcxx-debug --enable-profile --enable-shared --disable-libssp --enable-checking=release --prefix=/home/alex/Dokumente/repo/OSELAS.Toolchain/inst/opt/OSELAS.Toolchain-2013.12.1/m68k-none-linux-gnu/gcc-4.8.2-glibc-2.18-binutils-2.24-kernel-3.12-sanitized --with-sysroot=/home/alex/Dokumente/repo/OSELAS.Toolchain/inst/opt/OSELAS.Toolchain-2013.12.1/m68k-none-linux-gnu/gcc-4.8.2-glibc-2.18-binutils-2.24-kernel-3.12-sanitized/sysroot-m68k-none-linux-gnu
$ make

After a while I get the following compilation error:
/tmp/gcc-4.8.2_build/./gcc/xgcc -B/tmp/gcc-4.8.2_build/./gcc/ -B/home/alex/Dokumente/repo/OSELAS.Toolchain/inst/opt/OSELAS.Toolchain-2013.12.1/m68k-none-linux-gnu/gcc-4.8.2-glibc-2.18-binutils-2.24-kernel-3.12-sanitized/m68k-none-linux-gnu/bin/ -B/home/alex/Dokumente/repo/OSELAS.Toolchain/inst/opt/OSELAS.Toolchain-2013.12.1/m68k-none-linux-gnu/gcc-4.8.2-glibc-2.18-binutils-2.24-kernel-3.12-sanitized/m68k-none-linux-gnu/lib/ -isystem /home/alex/Dokumente/repo/OSELAS.Toolchain/inst/opt/OSELAS.Toolchain-2013.12.1/m68k-none-linux-gnu/gcc-4.8.2-glibc-2.18-binutils-2.24-kernel-3.12-sanitized/m68k-none-linux-gnu/include -isystem /home/alex/Dokumente/repo/OSELAS.Toolchain/inst/opt/OSELAS.Toolchain-2013.12.1/m68k-none-linux-gnu/gcc-4.8.2-glibc-2.18-binutils-2.24-kernel-3.12-sanitized/m68k-none-linux-gnu/sys-include    -g -O2 -O2  -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fpic -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector   -fpic -I. -I. -I../.././gcc -I/tmp/gcc-4.8.2/libgcc -I/tmp/gcc-4.8.2/libgcc/. -I/tmp/gcc-4.8.2/libgcc/../gcc -I/tmp/gcc-4.8.2/libgcc/../include  -DHAVE_CC_TLS  -o linux-atomic.o -MT linux-atomic.o -MD -MP -MF linux-atomic.dep  -c /tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c -fvisibility=hidden -DHIDE_EXPORTS
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c: In function '__sync_lock_test_and_set_4':
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c:207:15: warning: left-hand operand of comma expression has no effect [-Wunused-value]
 #define COMMA ,
               ^
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c:80:31: note: in definition of macro 'WORD_SYNC_OP'
       newval = PFX_OP (oldval INF_OP val);    \
                               ^
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c:209:31: note: in expansion of macro 'COMMA'
 WORD_SYNC_OP (test_and_set, , COMMA, oldval)
                               ^
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c: In function '__sync_lock_test_and_set_1':
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c:207:15: warning: left-hand operand of comma expression has no effect [-Wunused-value]
 #define COMMA ,
               ^
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c:101:31: note: in definition of macro 'SUBWORD_SYNC_OP'
       newval = PFX_OP (oldval INF_OP wval);    \
                               ^
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c:210:34: note: in expansion of macro 'COMMA'
 SUBWORD_SYNC_OP (test_and_set, , COMMA, unsigned char, 1, oldval)
                                  ^
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c: In function '__sync_lock_test_and_set_2':
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c:207:15: warning: left-hand operand of comma expression has no effect [-Wunused-value]
 #define COMMA ,
               ^
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c:101:31: note: in definition of macro 'SUBWORD_SYNC_OP'
       newval = PFX_OP (oldval INF_OP wval);    \
                               ^
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c:211:34: note: in expansion of macro 'COMMA'
 SUBWORD_SYNC_OP (test_and_set, , COMMA, unsigned short, 2, oldval)
                                  ^
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c: In function '__sync_bool_compare_and_swap_1':
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c:198:49: internal compiler error: in emit_library_call_value_1, at calls.c:4165
     return (__sync_val_compare_and_swap_##WIDTH (ptr, oldval, newval) \
                                                 ^
/tmp/gcc-4.8.2/libgcc/config/m68k/linux-atomic.c:203:1: note: in expansion of macro 'SUBWORD_BOOL_CAS'
 SUBWORD_BOOL_CAS (unsigned char,  1)
 ^
0x58d412 emit_library_call_value_1
        /tmp/gcc-4.8.2/gcc/calls.c:4164
0x590801 emit_library_call_value(rtx_def*, rtx_def*, libcall_type, machine_mode, int, ...)
        /tmp/gcc-4.8.2/gcc/calls.c:4347
0x749e73 expand_atomic_compare_and_swap(rtx_def**, rtx_def**, rtx_def*, rtx_def*, rtx_def*, bool, memmodel, memmodel)
        /tmp/gcc-4.8.2/gcc/optabs.c:7388
0x5750ca expand_builtin_compare_and_swap
        /tmp/gcc-4.8.2/gcc/builtins.c:5236
0x57fb7b expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int)
        /tmp/gcc-4.8.2/gcc/builtins.c:6538
0x63ac61 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**)
        /tmp/gcc-4.8.2/gcc/expr.c:10243
0x643df8 store_expr(tree_node*, rtx_def*, int, bool)
        /tmp/gcc-4.8.2/gcc/expr.c:5239
0x648802 expand_assignment(tree_node*, tree_node*, bool)
        /tmp/gcc-4.8.2/gcc/expr.c:5025
0x599f8b expand_call_stmt
        /tmp/gcc-4.8.2/gcc/cfgexpand.c:2112
0x599f8b expand_gimple_stmt_1
        /tmp/gcc-4.8.2/gcc/cfgexpand.c:2152
0x599f8b expand_gimple_stmt
        /tmp/gcc-4.8.2/gcc/cfgexpand.c:2304
0x59a8b9 expand_gimple_basic_block
        /tmp/gcc-4.8.2/gcc/cfgexpand.c:4138
0x59cf66 gimple_expand_cfg
        /tmp/gcc-4.8.2/gcc/cfgexpand.c:4657
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

It boils down to the line
> gcc_assert (!(stack_pointer_delta & (PREFERRED_STACK_BOUNDARY / BITS_PER_UNIT - 1)));
with stack_pointer_delta being 6 while PREFERRED_STACK_BOUNDARY is 32 (from gcc/config/m68k/linux.h)

Is this a configuration or compiler problem?

Best regards,
Alexander Stein





[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux