https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68028
Bug ID: 68028 Summary: Compilation error "lto1: error: target attribute or pragma changes single precision floating point", with "-flto" on different variant of powerpc like -mcpu=e6500, 8540, 8548, e500mc, e500mc64, e5500. With gcc-5.2.0 while with 4.9.3 it is working fine. Product: gcc Version: 5.2.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: ranjan.amit8 at gmail dot com Target Milestone: --- Created attachment 36547 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36547&action=edit gdb debug log (LOG5gdb-6-error) Test-Case:- $cat test.c #include<stdio.h> int main() { printf("Good\n"); return 0; } $ ./powerpc-pc-linux-gcc -flto test.c -mcpu=e6500 In function âmainâ: lto1: warning: compilation : main_target_opt = 1 lto1: error: target attribute or pragma changes single precision floating point lto1: error: target attribute or pragma changes double precision floating point lto-wrapper: fatal error: ./powerpc-pc-linux-gcc returned 1 exit status compilation terminated. /opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/bin/ld: lto-wrapper failed collect2: error: ld returned 1 exit status Complete :- $ ./powerpc-pc-linux-gcc -flto test.c -mcpu=e6500 --save-temps -v Using built-in specs. COLLECT_GCC=./powerpc-pc-linux-gcc COLLECT_LTO_WRAPPER=/opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/lto-wrapper Target: powerpc-pc-linux Configured with: ../gcc-5.2.0/configure --prefix=/opt/2cross --build=x86_64-pc-linux --host=x86_64-pc-linux --target=powerpc-pc-linux --disable-silent-rules --disable-dependency-tracking --program-prefix=powerpc-pc-linux- --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --without-local-prefix --enable-lto --enable-libssp --disable-bootstrap --disable-libmudflap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --with-long-double-128 --enable-poison-system-directories --enable-nls --enable-__cxa_atexit : (reconfigured) ../gcc-5.2.0/configure --prefix=/opt/2cross --build=x86_64-pc-linux --host=x86_64-pc-linux --target=powerpc-pc-linux --disable-silent-rules --disable-dependency-tracking --program-prefix=powerpc-pc-linux- --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --without-local-prefix --enable-lto --enable-libssp --disable-bootstrap --disable-libmudflap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --with-long-double-128 --enable-poison-system-directories --enable-nls --enable-__cxa_atexit Thread model: posix gcc version 5.2.0 (GCC) COLLECT_GCC_OPTIONS='-flto' '-mcpu=e6500' '-save-temps' '-v' /opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/cc1 -E -quiet -v -imultilib . -imultiarch powerpc-linux-gnu -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux -Asystem=linux -Asystem=unix -Asystem=posix test.c -mcpu=e6500 -flto -fpch-preprocess -o test.i ignoring nonexistent directory "/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/sys-include" #include "..." search starts here: #include <...> search starts here: /opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/include /opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/include-fixed /opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/include End of search list. COLLECT_GCC_OPTIONS='-flto' '-mcpu=e6500' '-save-temps' '-v' /opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/cc1 -fpreprocessed test.i -quiet -dumpbase test.c -mcpu=e6500 -auxbase test -version -flto -o test.s GNU C11 (GCC) version 5.2.0 (powerpc-pc-linux) compiled by GNU C version 4.8.3 20140911 (Red Hat 4.8.3-7), GMP version 6.0.0, MPFR version 3.1.3, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU C11 (GCC) version 5.2.0 (powerpc-pc-linux) compiled by GNU C version 4.8.3 20140911 (Red Hat 4.8.3-7), GMP version 6.0.0, MPFR version 3.1.3, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: a731f13b92b5f0a8db41dce6b3a414e5 COLLECT_GCC_OPTIONS='-flto' '-mcpu=e6500' '-save-temps' '-v' /opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/bin/as -v -me6500 -many -mbig -o test.o test.s GNU assembler version 2.24 (powerpc-pc-linux) using BFD version (GNU Binutils) 2.24 COMPILER_PATH=/opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/:/opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/:/opt/2cross/libexec/gcc/powerpc-pc-linux/:/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/:/opt/2cross/lib/gcc/powerpc-pc-linux/:/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/bin/ LIBRARY_PATH=/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/:/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/lib/ COLLECT_GCC_OPTIONS='-flto' '-mcpu=e6500' '-save-temps' '-v' /opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/collect2 -plugin /opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/liblto_plugin.so -plugin-opt=/opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/lto-wrapper -plugin-opt=-fresolution=test.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -flto --build-id --eh-frame-hdr --hash-style=gnu -V -m elf32ppclinux -dynamic-linker /lib/ld.so.1 /opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/lib/crt1.o /opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/lib/crti.o /opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/crtbegin.o -L/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0 -L/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/lib test.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/crtend.o /opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/lib/crtn.o GNU ld (GNU Binutils) 2.24 Supported emulations: elf32ppclinux elf32ppc elf32ppcsim elf64ppc ./powerpc-pc-linux-gcc @/tmp/ccDYN3RI Using built-in specs. COLLECT_GCC=./powerpc-pc-linux-gcc Target: powerpc-pc-linux Configured with: ../gcc-5.2.0/configure --prefix=/opt/2cross --build=x86_64-pc-linux --host=x86_64-pc-linux --target=powerpc-pc-linux --disable-silent-rules --disable-dependency-tracking --program-prefix=powerpc-pc-linux- --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --without-local-prefix --enable-lto --enable-libssp --disable-bootstrap --disable-libmudflap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --with-long-double-128 --enable-poison-system-directories --enable-nls --enable-__cxa_atexit : (reconfigured) ../gcc-5.2.0/configure --prefix=/opt/2cross --build=x86_64-pc-linux --host=x86_64-pc-linux --target=powerpc-pc-linux --disable-silent-rules --disable-dependency-tracking --program-prefix=powerpc-pc-linux- --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --without-local-prefix --enable-lto --enable-libssp --disable-bootstrap --disable-libmudflap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --with-long-double-128 --enable-poison-system-directories --enable-nls --enable-__cxa_atexit Thread model: posix gcc version 5.2.0 (GCC) COLLECT_GCC_OPTIONS='-c' '-fmath-errno' '-fsigned-zeros' '-ftrapping-math' '-fno-trapv' '-fno-strict-overflow' '-fno-openmp' '-fno-openacc' '-mcpu=e6500' '-mcpu=e6500' '-save-temps' '-v' '-fltrans-output-list=/tmp/cctzqXsp.ltrans.out' '-fwpa' '-fresolution=test.res' /opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/lto1 -quiet -dumpbase test.o -mcpu=e6500 -mcpu=e6500 -auxbase test -version -fmath-errno -fsigned-zeros -ftrapping-math -fno-trapv -fno-strict-overflow -fno-openmp -fno-openacc -fltrans-output-list=/tmp/cctzqXsp.ltrans.out -fwpa -fresolution=test.res @/tmp/cccUVo0o GNU GIMPLE (GCC) version 5.2.0 (powerpc-pc-linux) compiled by GNU C version 4.8.3 20140911 (Red Hat 4.8.3-7), GMP version 6.0.0, MPFR version 3.1.3, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU GIMPLE (GCC) version 5.2.0 (powerpc-pc-linux) compiled by GNU C version 4.8.3 20140911 (Red Hat 4.8.3-7), GMP version 6.0.0, MPFR version 3.1.3, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 COMPILER_PATH=/opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/:/opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/:/opt/2cross/libexec/gcc/powerpc-pc-linux/:/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/:/opt/2cross/lib/gcc/powerpc-pc-linux/:/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/bin/:/opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/:/opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/:/opt/2cross/libexec/gcc/powerpc-pc-linux/:/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/:/opt/2cross/lib/gcc/powerpc-pc-linux/:/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/bin/ LIBRARY_PATH=/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/:/opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/lib/ COLLECT_GCC_OPTIONS='-c' '-fmath-errno' '-fsigned-zeros' '-ftrapping-math' '-fno-trapv' '-fno-strict-overflow' '-fno-openmp' '-fno-openacc' '-mcpu=e6500' '-mcpu=e6500' '-save-temps' '-v' '-fltrans-output-list=/tmp/cctzqXsp.ltrans.out' '-fwpa' '-fresolution=test.res' [Leaving LTRANS /tmp/cctzqXsp.ltrans.out] ./powerpc-pc-linux-gcc @/tmp/cc5niuo2 Using built-in specs. COLLECT_GCC=./powerpc-pc-linux-gcc Target: powerpc-pc-linux Configured with: ../gcc-5.2.0/configure --prefix=/opt/2cross --build=x86_64-pc-linux --host=x86_64-pc-linux --target=powerpc-pc-linux --disable-silent-rules --disable-dependency-tracking --program-prefix=powerpc-pc-linux- --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --without-local-prefix --enable-lto --enable-libssp --disable-bootstrap --disable-libmudflap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --with-long-double-128 --enable-poison-system-directories --enable-nls --enable-__cxa_atexit : (reconfigured) ../gcc-5.2.0/configure --prefix=/opt/2cross --build=x86_64-pc-linux --host=x86_64-pc-linux --target=powerpc-pc-linux --disable-silent-rules --disable-dependency-tracking --program-prefix=powerpc-pc-linux- --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --without-local-prefix --enable-lto --enable-libssp --disable-bootstrap --disable-libmudflap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --with-long-double-128 --enable-poison-system-directories --enable-nls --enable-__cxa_atexit Thread model: posix gcc version 5.2.0 (GCC) COLLECT_GCC_OPTIONS='-c' '-fmath-errno' '-fsigned-zeros' '-ftrapping-math' '-fno-trapv' '-fno-strict-overflow' '-fno-openmp' '-fno-openacc' '-mcpu=e6500' '-mcpu=e6500' '-save-temps' '-v' '-fltrans-output-list=/tmp/cctzqXsp.ltrans.out' '-fltrans' '-o' '/tmp/cctzqXsp.ltrans0.ltrans.o' /opt/2cross/libexec/gcc/powerpc-pc-linux/5.2.0/lto1 -quiet -dumpbase cctzqXsp.ltrans0.o -mcpu=e6500 -mcpu=e6500 -auxbase-strip /tmp/cctzqXsp.ltrans0.ltrans.o -version -fmath-errno -fsigned-zeros -ftrapping-math -fno-trapv -fno-strict-overflow -fno-openmp -fno-openacc -fltrans-output-list=/tmp/cctzqXsp.ltrans.out -fltrans @/tmp/ccWS3nIr -o cctzqXsp.ltrans0.s GNU GIMPLE (GCC) version 5.2.0 (powerpc-pc-linux) compiled by GNU C version 4.8.3 20140911 (Red Hat 4.8.3-7), GMP version 6.0.0, MPFR version 3.1.3, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU GIMPLE (GCC) version 5.2.0 (powerpc-pc-linux) compiled by GNU C version 4.8.3 20140911 (Red Hat 4.8.3-7), GMP version 6.0.0, MPFR version 3.1.3, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 In function âmainâ: lto1: error: target attribute or pragma changes single precision floating point lto1: error: target attribute or pragma changes double precision floating point lto-wrapper: fatal error: ./powerpc-pc-linux-gcc returned 1 exit status compilation terminated. [Leaving LTRANS /tmp/cc5niuo2] [Leaving LTRANS /tmp/cctzqXsp.ltrans0.o] /opt/2cross/lib/gcc/powerpc-pc-linux/5.2.0/../../../../powerpc-pc-linux/bin/ld: lto-wrapper failed collect2: error: ld returned 1 exit status