[Bug target/115800] PowerPC GCC cannot build a little endian compile if --with-cpu=power5 is used
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115800 --- Comment #7 from Andreas Schwab --- It is generally assumed that powerpc64le-*-* implies POWER7+ (glibc even requires POWER8+). This is independent of the older -mlittle support (which doesn't have a separate config triple).
[Bug target/115800] PowerPC GCC cannot build a little endian compile if --with-cpu=power5 is used
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115800 --- Comment #6 from Michael Meissner --- Of course it would also apply if you are building a BE compiler that has little endian multilibs, you would run into the same situation.
[Bug target/115800] PowerPC GCC cannot build a little endian compile if --with-cpu=power5 is used
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115800 --- Comment #5 from Michael Meissner --- And libstdc++-v3 errors are similar: mkdir -p ./powerpc64le-unknown-linux-gnu/bits/stdc++.h.gch /home/meissner/fsf-build-ppc64le/work171-p5/./gcc/xgcc -shared-libgcc -B/home/meissner/fsf-build-ppc64le/work171-p5/./gcc -nostdinc++ -L/home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/src -L/home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/src/.libs -L/home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -B/home/meissner/fsf-install-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/bin/ -B/home/meissner/fsf-install-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/lib/ -isystem /home/meissner/fsf-install-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/include -isystem /home/meissner/fsf-install-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/sys-include -x c++-header -nostdinc++ -g -O2 -D_GNU_SOURCE -I/home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/powerpc64le-unknown-linux-gnu -I/home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/include -I/home/meissner/fsf-src/work171/libstdc++-v3/libsupc++ -O2 -g /home/meissner/fsf-src/work171/libstdc++-v3/include/precompiled/stdc++.h -o powerpc64le-unknown-linux-gnu/bits/stdc++.h.gch/O2g.gch In file included from /home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/stl_algobase.h:63, from /home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/algorithm:60, from /home/meissner/fsf-src/work171/libstdc++-v3/include/precompiled/stdc++.h:51: /home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/ext/numeric_traits.h:224:38: error: ‘__ieee128’ was not declared in this scope; did you mean ‘__int128’? 224 | struct __numeric_traits_floating<__ieee128> | ^ | __int128 /home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/ext/numeric_traits.h:224:47: error: template argument 1 is invalid 224 | struct __numeric_traits_floating<__ieee128> | ^ /home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/ext/numeric_traits.h:232:29: error: ‘__ieee128’ was not declared in this scope; did you mean ‘__int128’? 232 | struct __numeric_traits<__ieee128> | ^ | __int128 /home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/ext/numeric_traits.h:232:38: error: template argument 1 is invalid 232 | struct __numeric_traits<__ieee128> | ^ /home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/ext/numeric_traits.h:233:40: error: ‘__ieee128’ was not declared in this scope; did you mean ‘__int128’? 233 | : public __numeric_traits_floating<__ieee128> |^ |__int128 /home/meissner/fsf-build-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/ext/numeric_traits.h:233:49: error: template argument 1 is invalid 233 | : public __numeric_traits_floating<__ieee128> | ^
[Bug target/115800] PowerPC GCC cannot build a little endian compile if --with-cpu=power5 is used
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115800 --- Comment #4 from Michael Meissner --- Libgfortran gives various errors that _Float128 is not supported on this target. libtool: compile: /home/meissner/fsf-build-ppc64le/work171-p5/./gcc/xgcc -B/home/meissner/fsf-build-ppc64le/work171-p5/./gcc/ -B/home/meissner/fsf-install-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/bin/ -B/home/meissner/fsf-install-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/lib/ -isystem /home/meissner/fsf-ins tall-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/include -isystem /home/meissner/fsf-install-ppc64le/work171-p5/powerpc64le-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I/home/meissner/fsf-src/work171/libgfortran -iquote/home/meissner/fsf-src/work171/libgfortran/io -I/home/meissner/fsf-src/work171/libgfortran/.. /gcc -I/home/meissner/fsf-src/work171/libgfortran/../gcc/config -I../.././gcc -I/home/meissner/fsf-src/work171/libgfortran/../libgcc -I../libgcc -I/home/meissner/fsf-src/work171/libgfortran/../libbacktrace -I../libbacktrace -I../libbacktrace -std=gnu11 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition - Wextra -Wwrite-strings -Werror=implicit-function-declaration -Werror=vla -mabi=ibmlongdouble -mno-gnu-attribute -fcx-fortran-rules -ffunction-sections -fdata-sections -g -O2 -MT caf/single.lo -MD -MP -MF caf/.deps/single.Tpo -c /home/meissner/fsf-src/work171/libgfortran/caf/single.c -fPIC -DPIC -o caf/.libs/single.o In file included from ./kinds.h:69, from /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:263, from /home/meissner/fsf-src/work171/libgfortran/caf/libcaf.h:32, from /home/meissner/fsf-src/work171/libgfortran/caf/single.c:26: /home/meissner/fsf-src/work171/libgfortran/kinds-override.h:34:9: error: ‘_Float128’ is not supported on this target 34 | typedef _Float128 GFC_REAL_17; | ^ /home/meissner/fsf-src/work171/libgfortran/kinds-override.h:35:18: error: ‘_Float128’ is not supported on this target 35 | typedef _Complex _Float128 GFC_COMPLEX_17; | ^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1963:8: error: ‘_Float128’ is not supported on this target 1963 | extern _Float128 __acoshieee128 (_Float128) |^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1963:34: error: ‘_Float128’ is not supported on this target 1963 | extern _Float128 __acoshieee128 (_Float128) | ^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1965:8: error: ‘_Float128’ is not supported on this target 1965 | extern _Float128 __acosieee128 (_Float128) |^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1965:33: error: ‘_Float128’ is not supported on this target 1965 | extern _Float128 __acosieee128 (_Float128) | ^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1967:8: error: ‘_Float128’ is not supported on this target 1967 | extern _Float128 __asinhieee128 (_Float128) |^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1967:34: error: ‘_Float128’ is not supported on this target 1967 | extern _Float128 __asinhieee128 (_Float128) | ^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1969:8: error: ‘_Float128’ is not supported on this target 1969 | extern _Float128 __asinieee128 (_Float128) |^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1969:33: error: ‘_Float128’ is not supported on this target 1969 | extern _Float128 __asinieee128 (_Float128) | ^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1971:8: error: ‘_Float128’ is not supported on this target 1971 | extern _Float128 __atan2ieee128 (_Float128) |^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1971:34: error: ‘_Float128’ is not supported on this target 1971 | extern _Float128 __atan2ieee128 (_Float128) | ^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1973:8: error: ‘_Float128’ is not supported on this target 1973 | extern _Float128 __atanhieee128 (_Float128) |^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1973:34: error: ‘_Float128’ is not supported on this target 1973 | extern _Float128 __atanhieee128 (_Float128) | ^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1975:8: error: ‘_Float128’ is not supported on this target 1975 | extern _Float128 __atanieee128 (_Float128) |^ /home/meissner/fsf-src/work171/libgfortran/libgfortran.h:1975:33: error: ‘_Float128’ is not supported on this target 1975 | extern _Float128 __atanieee128 (_Float128) |
[Bug target/115800] PowerPC GCC cannot build a little endian compile if --with-cpu=power5 is used
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115800 --- Comment #3 from Segher Boessenkool --- Note that we *should* support ieee128 with *any* configuration, to avoid nonsense like this (and many more). But, alas.
[Bug target/115800] PowerPC GCC cannot build a little endian compile if --with-cpu=power5 is used
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115800 --- Comment #2 from Segher Boessenkool --- (In reply to Segher Boessenkool from comment #1) > "If you build a little-endian compiler". What does that mean? A > cpu=powerpc76le* compiler? Or something else? > > Note that *any* compiler can be used as little-endian, by just using > -mlittle. > Nothing more, nothing less. It should work no matter what is the default. powerpc64le-* of course, I cannot type.
[Bug target/115800] PowerPC GCC cannot build a little endian compile if --with-cpu=power5 is used
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115800 --- Comment #1 from Segher Boessenkool --- "If you build a little-endian compiler". What does that mean? A cpu=powerpc76le* compiler? Or something else? Note that *any* compiler can be used as little-endian, by just using -mlittle. Nothing more, nothing less. It should work no matter what is the default.