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