https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67908
Bug ID: 67908 Summary: gcc segfaults with -fstack-check (internal compiler error) / armv7 host and target Product: gcc Version: 5.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: gcc-bugs at zahlenfresser dot de Target Milestone: --- Created attachment 36471 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36471&action=edit preprocessed source (part of retroarch) gcc segfaults if a certain source is compiled w/ -fstack-check /usr/bin/gcc -v -save-temps -fstack-check -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -Wall -O3 -ffast-math -g -std=gnu99 -Wno-unused-result -Wno-unused-variable -c -o test.o test.c gcc: warning: -pipe ignored because -save-temps specified Using built-in specs. COLLECT_GCC=/usr/bin/gcc Target: armv7l-unknown-linux-gnueabihf Configured with: /build/gcc/src/gcc-5.2.0/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues --enable-languages=c,c++,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --disable-multilib --disable-werror --enable-checking=release --with-default-libstdcxx-abi=gcc4-compatible --host=armv7l-unknown-linux-gnueabihf --build=armv7l-unknown-linux-gnueabihf --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 Thread model: posix gcc version 5.2.0 (GCC) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-fstack-check=specific' '-march=armv7-a' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-O2' '-pipe' '-fstack-protector' '--param' 'ssp-buffer-size=4' '-Wall' '-O3' '-ffast-math' '-g' '-std=gnu99' '-Wno-unused-result' '-Wno-unused-variable' '-c' '-o' 'test.o' '-mtls-dialect=gnu' /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/5.2.0/cc1 -E -quiet -v test.c -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mtls-dialect=gnu -std=gnu99 -Wall -Wno-unused-result -Wno-unused-variable -fstack-check=specific -fstack-protector -ffast-math -g -fworking-directory -O2 -O3 -fpch-preprocess -o test.i ignoring nonexistent directory "/usr/lib/gcc/armv7l-unknown-linux-gnueabihf/5.2.0/../../../../armv7l-unknown-linux-gnueabihf/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/5.2.0/include /usr/local/include /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/5.2.0/include-fixed /usr/include End of search list. COLLECT_GCC_OPTIONS='-v' '-save-temps' '-fstack-check=specific' '-march=armv7-a' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-O2' '-pipe' '-fstack-protector' '--param' 'ssp-buffer-size=4' '-Wall' '-O3' '-ffast-math' '-g' '-std=gnu99' '-Wno-unused-result' '-Wno-unused-variable' '-c' '-o' 'test.o' '-mtls-dialect=gnu' /usr/lib/gcc/armv7l-unknown-linux-gnueabihf/5.2.0/cc1 -fpreprocessed test.i -quiet -dumpbase test.c -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mtls-dialect=gnu -auxbase-strip test.o -g -O2 -O3 -Wall -Wno-unused-result -Wno-unused-variable -std=gnu99 -version -fstack-check=specific -fstack-protector -ffast-math --param ssp-buffer-size=4 -o test.s GNU C99 (GCC) version 5.2.0 (armv7l-unknown-linux-gnueabihf) compiled by GNU C version 5.2.0, GMP version 6.0.0, MPFR version 3.1.3-p4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=88 --param ggc-min-heapsize=110029 GNU C99 (GCC) version 5.2.0 (armv7l-unknown-linux-gnueabihf) compiled by GNU C version 5.2.0, GMP version 6.0.0, MPFR version 3.1.3-p4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=88 --param ggc-min-heapsize=110029 Compiler executable checksum: a180855a5eef4028f69bbf8deaf89c29 menu/menu_entry.c: In function 'menu_entry_pathdir_get_value': menu/menu_entry.c:243:6: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. If -fstack-check is removed the source compiles. 4.9.3 works with and without -fstack-check with the same source. gcc: gcc --version gcc (GCC) 5.2.0 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. gcc configured: --prefix=/usr \ --libdir=/usr/lib --libexecdir=/usr/lib \ --mandir=/usr/share/man --infodir=/usr/share/info \ --with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues \ --enable-languages=c,c++,fortran,go,lto,objc,obj-c++ \ --enable-shared --enable-threads=posix \ --with-system-zlib --with-isl --enable-__cxa_atexit \ --disable-libunwind-exceptions --enable-clocale=gnu \ --disable-libstdcxx-pch --disable-libssp \ --enable-gnu-unique-object --enable-linker-build-id \ --enable-lto --enable-plugin --enable-install-libiberty \ --with-linker-hash-style=gnu --enable-gnu-indirect-function \ --disable-multilib --disable-werror \ --enable-checking=release \ --with-default-libstdcxx-abi=gcc4-compatible \ --host=armv7l-unknown-linux-gnueabihf --build=armv7l-unknown-linux-gnueabihf --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 This is the distribution compiler on arch linux arm on a RPi2. Attached is the preproccessed source