All of lore.kernel.org
 help / color / mirror / Atom feed
* Mass-building defconfigs: many fail with assembler errors
@ 2022-12-12 21:51 Jan-Benedict Glaw
  2022-12-13  0:26 ` Segher Boessenkool
  2022-12-13  3:49 ` Michael Ellerman
  0 siblings, 2 replies; 14+ messages in thread
From: Jan-Benedict Glaw @ 2022-12-12 21:51 UTC (permalink / raw)
  To: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 62565 bytes --]

Hi!

Is anybody else routinely building current Binutils + GCC, to try to
build all the Linux defconfigs?  For PPC, a good number of those fail,
and I probably don't understand PPC well enough to propose patches. Or
did I pick wrongly targeted toolchains? Most of the time, my suspicion
is that we're not giving the correct -m<cpu> flags in
./arch/powerpc/boot/?  (My setup for doing test builds is fairly automated, I
can easily throw in patches for testing.)

64-bit.config
	  powerpc64-linux-gcc -Wp,-MD,arch/powerpc/boot/.opal-calls.o.d -D__ASSEMBLY__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-64-bit.config/12/toolchain/bin/../lib/gcc/powerpc64-linux/13.0.0/include -mbig-endian -nostdinc -c -o arch/powerpc/boot/opal-calls.o arch/powerpc/boot/opal-calls.S
	arch/powerpc/boot/opal-calls.S: Assembler messages:
	arch/powerpc/boot/opal-calls.S:20: Error: unrecognized opcode: `ld'
	arch/powerpc/boot/opal-calls.S:21: Error: unrecognized opcode: `ld'
	arch/powerpc/boot/opal-calls.S:32: Error: unrecognized opcode: `std'
	arch/powerpc/boot/opal-calls.S:49: Error: unrecognized opcode: `ld'
	arch/powerpc/boot/opal-calls.S:50: Error: unrecognized opcode: `ld'
	arch/powerpc/boot/opal-calls.S:52: Error: unrecognized opcode: `hrfid'
	arch/powerpc/boot/opal-calls.S:55: Error: unrecognized opcode: `tdi'
	arch/powerpc/boot/opal-calls.S:58: Error: unrecognized opcode: `ld'
	make[1]: *** [arch/powerpc/boot/Makefile:232: arch/powerpc/boot/opal-calls.o] Error 1
	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

	==> Why "-m32 -mcpu=powerpc"? Binutils/GCC are for --target=powerpc64-linux

85xx-64bit.config
	  powerpc64-linux-gcc -Wp,-MMD,arch/powerpc/kernel/vdso/.gettimeofday-64.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -D__KERNEL__ -I ./arch/powerpc -DHAVE_AS_ATHIGH=1 -fmacro-prefix-map=./= -D__ASSEMBLY__ -fno-PIE -m64 -Wl,-a64 -mabi=elfv1 -Wa,-me500 -Wa,-me500mc -mabi=elfv1 -mbig-endian    -Wl,-soname=linux-vdso64.so.1 -D__VDSO64__ -s -c -o arch/powerpc/kernel/vdso/gettimeofday-64.o arch/powerpc/kernel/vdso/gettimeofday.S
	arch/powerpc/kernel/vdso/gettimeofday.S: Assembler messages:
	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `ld'
	make[1]: *** [arch/powerpc/kernel/vdso/Makefile:76: arch/powerpc/kernel/vdso/gettimeofday-64.o] Error 1
	make: *** [arch/powerpc/Makefile:387: vdso_prepare] Error 2

85xx-hw.config
	  powerpc-linux-gcc -Wp,-MMD,arch/powerpc/kernel/.epapr_hcalls.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -D__KERNEL__ -I ./arch/powerpc -fmacro-prefix-map=./= -D__ASSEMBLY__ -fno-PIE -m32 -Wl,-a32 -mcpu=powerpc -mbig-endian    -c -o arch/powerpc/kernel/epapr_hcalls.o arch/powerpc/kernel/epapr_hcalls.S 
	arch/powerpc/kernel/epapr_hcalls.S: Assembler messages:
	arch/powerpc/kernel/epapr_hcalls.S:24: Error: unrecognized opcode: `wrteei'
	make[3]: *** [scripts/Makefile.build:382: arch/powerpc/kernel/epapr_hcalls.o] Error 1
	make[2]: *** [scripts/Makefile.build:500: arch/powerpc/kernel] Error 2
	make[1]: *** [scripts/Makefile.build:500: arch/powerpc] Error 2
	make: *** [Makefile:1992: .] Error 2

asp8347_defconfig
	  powerpc-linux-gcc -Wp,-MMD,arch/powerpc/kernel/.pmc.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mbig-endian -m32 -msoft-float -pipe -ffixed-r2 -mmultiple -mno-readonly-in-sdata -mcpu=powerpc -mno-prefixed -mno-pcrel -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string -mbig-endian -mstack-protector-guard=tls -mstack-protector-guard-reg=r2 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -fomit-frame-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -mstack-protector-guard-offset=544 -Werror    -DKBUILD_MODFILE='"arch/powerpc/kernel/pmc"' -DKBUILD_BASENAME='"pmc"' -DKBUILD_MODNAME='"pmc"' -D__KBUILD_MODNAME=kmod_pmc -c -o arch/powerpc/kernel/pmc.o arch/powerpc/kernel/pmc.c  
	{standard input}: Assembler messages:
	{standard input}:26: Error: unrecognized opcode: `mfpmr'
	{standard input}:32: Error: unrecognized opcode: `mtpmr'
	make[3]: *** [scripts/Makefile.build:250: arch/powerpc/kernel/pmc.o] Error 1
	make[2]: *** [scripts/Makefile.build:500: arch/powerpc/kernel] Error 2
	make[1]: *** [scripts/Makefile.build:500: arch/powerpc] Error 2
	make: *** [Makefile:1992: .] Error 2

bamboo_defconfig
	  powerpc-linux-gcc -Wp,-MD,arch/powerpc/boot/.treeboot-akebono.o.d -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-bamboo_defconfig/12/toolchain/bin/../lib/gcc/powerpc-linux/13.0.0/include -mbig-endian -fno-stack-protector -include ./include/linux/compiler_attributes.h -I./arch/powerpc/boot -I./arch/powerpc/boot -mcpu=405 -c -o arch/powerpc/boot/treeboot-akebono.o arch/powerpc/boot/treeboot-akebono.c
	{standard input}: Assembler messages:
	{standard input}:94: Error: unrecognized opcode: `mtdcrx'
	{standard input}:101: Error: unrecognized opcode: `mfdcrx'
	{standard input}:107: Error: unrecognized opcode: `mtdcrx'
	{standard input}:306: Error: unrecognized opcode: `mfdcrx'
	make[1]: *** [arch/powerpc/boot/Makefile:229: arch/powerpc/boot/treeboot-akebono.o] Error 1
	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

cell_defconfig
	  powerpc64-linux-gcc -Wp,-MD,arch/powerpc/boot/.pseries-head.o.d -D__ASSEMBLY__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-cell_defconfig/12/toolchain/bin/../lib/gcc/powerpc64-linux/13.0.0/include -mbig-endian -nostdinc -c -o arch/powerpc/boot/pseries-head.o arch/powerpc/boot/pseries-head.S
	arch/powerpc/boot/pseries-head.S: Assembler messages:
	arch/powerpc/boot/pseries-head.S:8: Error: unrecognized opcode: `tdi'
	make[1]: *** [arch/powerpc/boot/Makefile:232: arch/powerpc/boot/pseries-head.o] Error 1
	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

ebony_defconfig
	  powerpc-linux-gcc -Wp,-MD,arch/powerpc/boot/.treeboot-akebono.o.d -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-ebony_defconfig/12/toolchain/bin/../lib/gcc/powerpc-linux/13.0.0/include -mbig-endian -fno-stack-protector -include ./include/linux/compiler_attributes.h -I./arch/powerpc/boot -I./arch/powerpc/boot -mcpu=405 -c -o arch/powerpc/boot/treeboot-akebono.o arch/powerpc/boot/treeboot-akebono.c
	{standard input}: Assembler messages:
	{standard input}:94: Error: unrecognized opcode: `mtdcrx'
	{standard input}:101: Error: unrecognized opcode: `mfdcrx'
	{standard input}:107: Error: unrecognized opcode: `mtdcrx'
	{standard input}:306: Error: unrecognized opcode: `mfdcrx'
	make[1]: *** [arch/powerpc/boot/Makefile:229: arch/powerpc/boot/treeboot-akebono.o] Error 1
	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

ge_imp3a_defconfig
	  powerpc-linux-gcc -Wp,-MMD,drivers/ata/.libahci.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mbig-endian -m32 -msoft-float -pipe -ffixed-r2 -mmultiple -mno-readonly-in-sdata -mcpu=8540 -mno-prefixed -mno-pcrel -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string -Wa,-me500 -mbig-endian -mstack-protector-guard=tls -mstack-protector-guard-reg=r2 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -fomit-frame-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -mstack-protector-guard-offset=792    -DKBUILD_MODFILE='"drivers/ata/libahci"' -DKBUILD_BASENAME='"libahci"' -DKBUILD_MODNAME='"libahci"' -D__KBUILD_MODNAME=kmod_libahci -c -o drivers/ata/libahci.o drivers/ata/libahci.c  
	In file included from <command-line>:
	drivers/ata/libahci.c: In function 'ahci_led_store':
	././include/linux/compiler_types.h:357:45: error: call to '__compiletime_assert_297' declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long)
	  357 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
	      |                                             ^
	././include/linux/compiler_types.h:338:25: note: in definition of macro '__compiletime_assert'
	  338 |                         prefix ## suffix();                             \
	      |                         ^~~~~~
	././include/linux/compiler_types.h:357:9: note: in expansion of macro '_compiletime_assert'
	  357 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
	      |         ^~~~~~~~~~~~~~~~~~~
	./include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
	   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
	      |                                     ^~~~~~~~~~~~~~~~~~
	./include/linux/build_bug.h:50:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
	   50 |         BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
	      |         ^~~~~~~~~~~~~~~~
	./include/linux/nospec.h:58:9: note: in expansion of macro 'BUILD_BUG_ON'
	   58 |         BUILD_BUG_ON(sizeof(_s) > sizeof(long));                        \
	      |         ^~~~~~~~~~~~
	drivers/ata/libahci.c:1198:23: note: in expansion of macro 'array_index_nospec'
	 1198 |                 pmp = array_index_nospec(pmp, EM_MAX_SLOTS);
	      |                       ^~~~~~~~~~~~~~~~~~
	make[3]: *** [scripts/Makefile.build:250: drivers/ata/libahci.o] Error 1
	make[2]: *** [scripts/Makefile.build:500: drivers/ata] Error 2
	make[1]: *** [scripts/Makefile.build:500: drivers] Error 2
	make: *** [Makefile:1992: .] Error 2

	==> That's probably an unrelated issue, seen similarly for other builds.

guest.config
	  powerpc-linux-gcc -Wp,-MMD,arch/powerpc/kernel/.epapr_hcalls.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -D__KERNEL__ -I ./arch/powerpc -fmacro-prefix-map=./= -D__ASSEMBLY__ -fno-PIE -m32 -Wl,-a32 -mcpu=powerpc -mbig-endian    -c -o arch/powerpc/kernel/epapr_hcalls.o arch/powerpc/kernel/epapr_hcalls.S 
	arch/powerpc/kernel/epapr_hcalls.S: Assembler messages:
	arch/powerpc/kernel/epapr_hcalls.S:24: Error: unrecognized opcode: `wrteei'
	make[3]: *** [scripts/Makefile.build:382: arch/powerpc/kernel/epapr_hcalls.o] Error 1
	make[2]: *** [scripts/Makefile.build:500: arch/powerpc/kernel] Error 2
	make[1]: *** [scripts/Makefile.build:500: arch/powerpc] Error 2
	make: *** [Makefile:1992: .] Error 2

katmai_defconfig
	  powerpc-linux-gcc -Wp,-MD,arch/powerpc/boot/.treeboot-akebono.o.d -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-katmai_defconfig/12/toolchain/bin/../lib/gcc/powerpc-linux/13.0.0/include -mbig-endian -fno-stack-protector -include ./include/linux/compiler_attributes.h -I./arch/powerpc/boot -I./arch/powerpc/boot -mcpu=405 -c -o arch/powerpc/boot/treeboot-akebono.o arch/powerpc/boot/treeboot-akebono.c
	{standard input}: Assembler messages:
	{standard input}:94: Error: unrecognized opcode: `mtdcrx'
	{standard input}:101: Error: unrecognized opcode: `mfdcrx'
	{standard input}:107: Error: unrecognized opcode: `mtdcrx'
	{standard input}:306: Error: unrecognized opcode: `mfdcrx'
	make[1]: *** [arch/powerpc/boot/Makefile:229: arch/powerpc/boot/treeboot-akebono.o] Error 1
	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

mvme5100_defconfig
	  powerpc-linux-gcc -Wp,-MMD,arch/powerpc/kernel/.epapr_hcalls.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -D__KERNEL__ -I ./arch/powerpc -fmacro-prefix-map=./= -D__ASSEMBLY__ -fno-PIE -m32 -Wl,-a32 -mcpu=powerpc -mbig-endian    -c -o arch/powerpc/kernel/epapr_hcalls.o arch/powerpc/kernel/epapr_hcalls.S 
	arch/powerpc/kernel/epapr_hcalls.S: Assembler messages:
	arch/powerpc/kernel/epapr_hcalls.S:24: Error: unrecognized opcode: `wrteei'
	make[3]: *** [scripts/Makefile.build:382: arch/powerpc/kernel/epapr_hcalls.o] Error 1
	make[2]: *** [scripts/Makefile.build:500: arch/powerpc/kernel] Error 2
	make[1]: *** [scripts/Makefile.build:500: arch/powerpc] Error 2
	make: *** [Makefile:1992: .] Error 2

powernv_defconfig
	  powerpc64-linux-gcc -Wp,-MMD,arch/powerpc/lib/.sstep.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc -DHAVE_AS_ATHIGH=1 -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mlittle-endian -m64 -msoft-float -pipe -mtraceback=no -mabi=elfv2 -mcmodel=medium -mno-pointers-to-nested-functions -mcpu=power8 -mtune=power10 -mno-prefixed -mno-pcrel -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string -Wa,-maltivec -Wa,-mpower4 -Wa,-many -mno-strict-align -mlittle-endian -mstack-protector-guard=tls -mstack-protector-guard-reg=r13 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -pg -mprofile-kernel -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -mstack-protector-guard-offset=3184 -Werror    -DKBUILD_MODFILE='"arch/powerpc/lib/sstep"' -DKBUILD_BASENAME='"sstep"' -DKBUILD_MODNAME='"sstep"' -D__KBUILD_MODNAME=kmod_sstep -c -o arch/powerpc/lib/sstep.o arch/powerpc/lib/sstep.c  
	In function 'do_byte_reverse',
	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
	arch/powerpc/lib/sstep.c:286:25: error: array subscript [3, 4] is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
	  286 |                 up[0] = byterev_8(up[3]);
	      |                         ^~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:708:11: note: at offset [24, 39] into object 'u' of size 16
	  708 |         } u;
	      |           ^
	In function 'do_byte_reverse',
	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
	arch/powerpc/lib/sstep.c:287:23: error: array subscript [3, 4] is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
	  287 |                 up[3] = tmp;
	      |                 ~~~~~~^~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:708:11: note: at offset [24, 39] into object 'u' of size 16
	  708 |         } u;
	      |           ^
	In function 'do_byte_reverse',
	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
	arch/powerpc/lib/sstep.c:288:23: error: array subscript 2 is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
	  288 |                 tmp = byterev_8(up[2]);
	      |                       ^~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:708:11: note: at offset 16 into object 'u' of size 16
	  708 |         } u;
	      |           ^
	In function 'do_byte_reverse',
	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
	arch/powerpc/lib/sstep.c:289:23: error: array subscript 2 is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
	  289 |                 up[2] = byterev_8(up[1]);
	      |                 ~~~~~~^~~~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:708:11: note: at offset 16 into object 'u' of size 16
	  708 |         } u;
	      |           ^
	In function 'do_byte_reverse',
	    inlined from 'do_vec_load' at arch/powerpc/lib/sstep.c:691:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3438:9:
	arch/powerpc/lib/sstep.c:286:25: error: array subscript [3, 4] is outside array bounds of 'u8[16]' {aka 'unsigned char[16]'} [-Werror=array-bounds=]
	  286 |                 up[0] = byterev_8(up[3]);
	      |                         ^~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	  681 |         } u = {};
	      |           ^
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	In function 'do_byte_reverse',
	    inlined from 'do_vec_load' at arch/powerpc/lib/sstep.c:691:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3438:9:
	arch/powerpc/lib/sstep.c:287:23: error: array subscript [3, 4] is outside array bounds of 'u8[16]' {aka 'unsigned char[16]'} [-Werror=array-bounds=]
	  287 |                 up[3] = tmp;
	      |                 ~~~~~~^~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	  681 |         } u = {};
	      |           ^
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	In function 'do_byte_reverse',
	    inlined from 'do_vec_load' at arch/powerpc/lib/sstep.c:691:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3438:9:
	arch/powerpc/lib/sstep.c:288:23: error: array subscript 2 is outside array bounds of 'u8[16]' {aka 'unsigned char[16]'} [-Werror=array-bounds=]
	  288 |                 tmp = byterev_8(up[2]);
	      |                       ^~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	  681 |         } u = {};
	      |           ^
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	In function 'do_byte_reverse',
	    inlined from 'do_vec_load' at arch/powerpc/lib/sstep.c:691:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3438:9:
	arch/powerpc/lib/sstep.c:289:23: error: array subscript 2 is outside array bounds of 'u8[16]' {aka 'unsigned char[16]'} [-Werror=array-bounds=]
	  289 |                 up[2] = byterev_8(up[1]);
	      |                 ~~~~~~^~~~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	  681 |         } u = {};
	      |           ^
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	cc1: all warnings being treated as errors
	make[3]: *** [scripts/Makefile.build:250: arch/powerpc/lib/sstep.o] Error 1
	make[2]: *** [scripts/Makefile.build:500: arch/powerpc/lib] Error 2
	make[1]: *** [scripts/Makefile.build:500: arch/powerpc] Error 2
	make: *** [Makefile:1992: .] Error 2

ppc44x_defconfig
	  powerpc-linux-gcc -Wp,-MD,arch/powerpc/boot/.treeboot-akebono.o.d -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-ppc44x_defconfig/12/toolchain/bin/../lib/gcc/powerpc-linux/13.0.0/include -mbig-endian -fno-stack-protector -include ./include/linux/compiler_attributes.h -I./arch/powerpc/boot -I./arch/powerpc/boot -mcpu=405 -c -o arch/powerpc/boot/treeboot-akebono.o arch/powerpc/boot/treeboot-akebono.c
	{standard input}: Assembler messages:
	{standard input}:94: Error: unrecognized opcode: `mtdcrx'
	{standard input}:101: Error: unrecognized opcode: `mfdcrx'
	{standard input}:107: Error: unrecognized opcode: `mtdcrx'
	{standard input}:306: Error: unrecognized opcode: `mfdcrx'
	make[1]: *** [arch/powerpc/boot/Makefile:229: arch/powerpc/boot/treeboot-akebono.o] Error 1
	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

ppc64_defconfig
	  powerpc64-linux-gcc -Wp,-MMD,arch/powerpc/lib/.sstep.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc -DHAVE_AS_ATHIGH=1 -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mbig-endian -m64 -msoft-float -pipe -mtraceback=no -mabi=elfv1 -mcall-aixdesc -mcmodel=medium -mno-pointers-to-nested-functions -mcpu=power4 -mtune=power10 -mno-prefixed -mno-pcrel -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string -Wa,-maltivec -Wa,-mpower4 -Wa,-many -mabi=elfv1 -mcall-aixdesc -mbig-endian -mstack-protector-guard=tls -mstack-protector-guard-reg=r13 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -pg -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -mstack-protector-guard-offset=3192 -Werror    -DKBUILD_MODFILE='"arch/powerpc/lib/sstep"' -DKBUILD_BASENAME='"sstep"' -DKBUILD_MODNAME='"sstep"' -D__KBUILD_MODNAME=kmod_sstep -c -o arch/powerpc/lib/sstep.o arch/powerpc/lib/sstep.c  
	In function 'do_byte_reverse',
	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
	arch/powerpc/lib/sstep.c:286:25: error: array subscript [3, 4] is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
	  286 |                 up[0] = byterev_8(up[3]);
	      |                         ^~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:708:11: note: at offset [24, 39] into object 'u' of size 16
	  708 |         } u;
	      |           ^
	In function 'do_byte_reverse',
	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
	arch/powerpc/lib/sstep.c:287:23: error: array subscript [3, 4] is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
	  287 |                 up[3] = tmp;
	      |                 ~~~~~~^~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:708:11: note: at offset [24, 39] into object 'u' of size 16
	  708 |         } u;
	      |           ^
	In function 'do_byte_reverse',
	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
	arch/powerpc/lib/sstep.c:288:23: error: array subscript 2 is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
	  288 |                 tmp = byterev_8(up[2]);
	      |                       ^~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:708:11: note: at offset 16 into object 'u' of size 16
	  708 |         } u;
	      |           ^
	In function 'do_byte_reverse',
	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
	arch/powerpc/lib/sstep.c:289:23: error: array subscript 2 is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
	  289 |                 up[2] = byterev_8(up[1]);
	      |                 ~~~~~~^~~~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:708:11: note: at offset 16 into object 'u' of size 16
	  708 |         } u;
	      |           ^
	In function 'do_byte_reverse',
	    inlined from 'do_vec_load' at arch/powerpc/lib/sstep.c:691:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3438:9:
	arch/powerpc/lib/sstep.c:286:25: error: array subscript [3, 4] is outside array bounds of 'u8[16]' {aka 'unsigned char[16]'} [-Werror=array-bounds=]
	  286 |                 up[0] = byterev_8(up[3]);
	      |                         ^~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	  681 |         } u = {};
	      |           ^
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	In function 'do_byte_reverse',
	    inlined from 'do_vec_load' at arch/powerpc/lib/sstep.c:691:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3438:9:
	arch/powerpc/lib/sstep.c:287:23: error: array subscript [3, 4] is outside array bounds of 'u8[16]' {aka 'unsigned char[16]'} [-Werror=array-bounds=]
	  287 |                 up[3] = tmp;
	      |                 ~~~~~~^~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	  681 |         } u = {};
	      |           ^
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	In function 'do_byte_reverse',
	    inlined from 'do_vec_load' at arch/powerpc/lib/sstep.c:691:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3438:9:
	arch/powerpc/lib/sstep.c:288:23: error: array subscript 2 is outside array bounds of 'u8[16]' {aka 'unsigned char[16]'} [-Werror=array-bounds=]
	  288 |                 tmp = byterev_8(up[2]);
	      |                       ^~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	  681 |         } u = {};
	      |           ^
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	In function 'do_byte_reverse',
	    inlined from 'do_vec_load' at arch/powerpc/lib/sstep.c:691:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3438:9:
	arch/powerpc/lib/sstep.c:289:23: error: array subscript 2 is outside array bounds of 'u8[16]' {aka 'unsigned char[16]'} [-Werror=array-bounds=]
	  289 |                 up[2] = byterev_8(up[1]);
	      |                 ~~~~~~^~~~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	  681 |         } u = {};
	      |           ^
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	cc1: all warnings being treated as errors
	make[3]: *** [scripts/Makefile.build:250: arch/powerpc/lib/sstep.o] Error 1
	make[2]: *** [scripts/Makefile.build:500: arch/powerpc/lib] Error 2
	make[1]: *** [scripts/Makefile.build:500: arch/powerpc] Error 2
	make: *** [Makefile:1992: .] Error 2

ppc64e_defconfig
	  powerpc64-linux-gcc -Wp,-MMD,arch/powerpc/kernel/vdso/.gettimeofday-64.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -D__KERNEL__ -I ./arch/powerpc -DHAVE_AS_ATHIGH=1 -fmacro-prefix-map=./= -D__ASSEMBLY__ -fno-PIE -m64 -Wl,-a64 -mabi=elfv1 -Wa,-me500 -Wa,-me500mc -mabi=elfv1 -mbig-endian    -Wl,-soname=linux-vdso64.so.1 -D__VDSO64__ -s -c -o arch/powerpc/kernel/vdso/gettimeofday-64.o arch/powerpc/kernel/vdso/gettimeofday.S
	arch/powerpc/kernel/vdso/gettimeofday.S: Assembler messages:
	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `stdu'
	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `std'
	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `ld'
	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `ld'
	make[1]: *** [arch/powerpc/kernel/vdso/Makefile:76: arch/powerpc/kernel/vdso/gettimeofday-64.o] Error 1
	make: *** [arch/powerpc/Makefile:387: vdso_prepare] Error 2

pseries_defconfig
	  powerpc64-linux-gcc -Wp,-MMD,arch/powerpc/lib/.sstep.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc -DHAVE_AS_ATHIGH=1 -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mbig-endian -m64 -msoft-float -pipe -mtraceback=no -mabi=elfv1 -mcall-aixdesc -mcmodel=medium -mno-pointers-to-nested-functions -mcpu=power4 -mtune=power10 -mno-prefixed -mno-pcrel -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string -Wa,-maltivec -Wa,-mpower4 -Wa,-many -mabi=elfv1 -mcall-aixdesc -mbig-endian -mstack-protector-guard=tls -mstack-protector-guard-reg=r13 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -pg -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -mstack-protector-guard-offset=3192 -Werror    -DKBUILD_MODFILE='"arch/powerpc/lib/sstep"' -DKBUILD_BASENAME='"sstep"' -DKBUILD_MODNAME='"sstep"' -D__KBUILD_MODNAME=kmod_sstep -c -o arch/powerpc/lib/sstep.o arch/powerpc/lib/sstep.c  
	In function 'do_byte_reverse',
	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
	arch/powerpc/lib/sstep.c:286:25: error: array subscript [3, 4] is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
	  286 |                 up[0] = byterev_8(up[3]);
	      |                         ^~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:708:11: note: at offset [24, 39] into object 'u' of size 16
	  708 |         } u;
	      |           ^
	In function 'do_byte_reverse',
	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
	arch/powerpc/lib/sstep.c:287:23: error: array subscript [3, 4] is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
	  287 |                 up[3] = tmp;
	      |                 ~~~~~~^~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:708:11: note: at offset [24, 39] into object 'u' of size 16
	  708 |         } u;
	      |           ^
	In function 'do_byte_reverse',
	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
	arch/powerpc/lib/sstep.c:288:23: error: array subscript 2 is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
	  288 |                 tmp = byterev_8(up[2]);
	      |                       ^~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:708:11: note: at offset 16 into object 'u' of size 16
	  708 |         } u;
	      |           ^
	In function 'do_byte_reverse',
	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
	arch/powerpc/lib/sstep.c:289:23: error: array subscript 2 is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
	  289 |                 up[2] = byterev_8(up[1]);
	      |                 ~~~~~~^~~~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:708:11: note: at offset 16 into object 'u' of size 16
	  708 |         } u;
	      |           ^
	In function 'do_byte_reverse',
	    inlined from 'do_vec_load' at arch/powerpc/lib/sstep.c:691:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3438:9:
	arch/powerpc/lib/sstep.c:286:25: error: array subscript [3, 4] is outside array bounds of 'u8[16]' {aka 'unsigned char[16]'} [-Werror=array-bounds=]
	  286 |                 up[0] = byterev_8(up[3]);
	      |                         ^~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	  681 |         } u = {};
	      |           ^
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	In function 'do_byte_reverse',
	    inlined from 'do_vec_load' at arch/powerpc/lib/sstep.c:691:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3438:9:
	arch/powerpc/lib/sstep.c:287:23: error: array subscript [3, 4] is outside array bounds of 'u8[16]' {aka 'unsigned char[16]'} [-Werror=array-bounds=]
	  287 |                 up[3] = tmp;
	      |                 ~~~~~~^~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	  681 |         } u = {};
	      |           ^
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset [24, 39] into object 'u' of size 16
	In function 'do_byte_reverse',
	    inlined from 'do_vec_load' at arch/powerpc/lib/sstep.c:691:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3438:9:
	arch/powerpc/lib/sstep.c:288:23: error: array subscript 2 is outside array bounds of 'u8[16]' {aka 'unsigned char[16]'} [-Werror=array-bounds=]
	  288 |                 tmp = byterev_8(up[2]);
	      |                       ^~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	  681 |         } u = {};
	      |           ^
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	In function 'do_byte_reverse',
	    inlined from 'do_vec_load' at arch/powerpc/lib/sstep.c:691:3,
	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3438:9:
	arch/powerpc/lib/sstep.c:289:23: error: array subscript 2 is outside array bounds of 'u8[16]' {aka 'unsigned char[16]'} [-Werror=array-bounds=]
	  289 |                 up[2] = byterev_8(up[1]);
	      |                 ~~~~~~^~~~~~~~~~~~~~~~~~
	arch/powerpc/lib/sstep.c: In function 'emulate_loadstore':
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	  681 |         } u = {};
	      |           ^
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	arch/powerpc/lib/sstep.c:681:11: note: at offset 16 into object 'u' of size 16
	cc1: all warnings being treated as errors
	make[3]: *** [scripts/Makefile.build:250: arch/powerpc/lib/sstep.o] Error 1
	make[2]: *** [scripts/Makefile.build:500: arch/powerpc/lib] Error 2
	make[1]: *** [scripts/Makefile.build:500: arch/powerpc] Error 2

adder875_defconfig
	  powerpc-linux-gcc -Wp,-MD,arch/powerpc/boot/.treeboot-akebono.o.d -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-rainier_defconfig/12/toolchain/bin/../lib/gcc/powerpc-linux/13.0.0/include -mbig-endian -fno-stack-protector -include ./include/linux/compiler_attributes.h -I./arch/powerpc/boot -I./arch/powerpc/boot -mcpu=405 -c -o arch/powerpc/boot/treeboot-akebono.o arch/powerpc/boot/treeboot-akebono.c
	{standard input}: Assembler messages:
	{standard input}:94: Error: unrecognized opcode: `mtdcrx'
	{standard input}:101: Error: unrecognized opcode: `mfdcrx'
	{standard input}:107: Error: unrecognized opcode: `mtdcrx'
	{standard input}:306: Error: unrecognized opcode: `mfdcrx'
	make[1]: *** [arch/powerpc/boot/Makefile:229: arch/powerpc/boot/treeboot-akebono.o] Error 1
	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

rainier_defconfig
	  powerpc-linux-gcc -Wp,-MD,arch/powerpc/boot/.treeboot-akebono.o.d -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-rainier_defconfig/12/toolchain/bin/../lib/gcc/powerpc-linux/13.0.0/include -mbig-endian -fno-stack-protector -include ./include/linux/compiler_attributes.h -I./arch/powerpc/boot -I./arch/powerpc/boot -mcpu=405 -c -o arch/powerpc/boot/treeboot-akebono.o arch/powerpc/boot/treeboot-akebono.c
	{standard input}: Assembler messages:
	{standard input}:94: Error: unrecognized opcode: `mtdcrx'
	{standard input}:101: Error: unrecognized opcode: `mfdcrx'
	{standard input}:107: Error: unrecognized opcode: `mtdcrx'
	{standard input}:306: Error: unrecognized opcode: `mfdcrx'
	make[1]: *** [arch/powerpc/boot/Makefile:229: arch/powerpc/boot/treeboot-akebono.o] Error 1
	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

sam440ep_defconfig
	  powerpc-linux-gcc -Wp,-MD,arch/powerpc/boot/.treeboot-akebono.o.d -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-sam440ep_defconfig/12/toolchain/bin/../lib/gcc/powerpc-linux/13.0.0/include -mbig-endian -fno-stack-protector -include ./include/linux/compiler_attributes.h -I./arch/powerpc/boot -I./arch/powerpc/boot -mcpu=405 -c -o arch/powerpc/boot/treeboot-akebono.o arch/powerpc/boot/treeboot-akebono.c
	{standard input}: Assembler messages:
	{standard input}:94: Error: unrecognized opcode: `mtdcrx'
	{standard input}:101: Error: unrecognized opcode: `mfdcrx'
	{standard input}:107: Error: unrecognized opcode: `mtdcrx'
	{standard input}:306: Error: unrecognized opcode: `mfdcrx'
	make[1]: *** [arch/powerpc/boot/Makefile:229: arch/powerpc/boot/treeboot-akebono.o] Error 1
	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

sequoia_defconfig
	  powerpc-linux-gcc -Wp,-MD,arch/powerpc/boot/.treeboot-akebono.o.d -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-sequoia_defconfig/12/toolchain/bin/../lib/gcc/powerpc-linux/13.0.0/include -mbig-endian -fno-stack-protector -include ./include/linux/compiler_attributes.h -I./arch/powerpc/boot -I./arch/powerpc/boot -mcpu=405 -c -o arch/powerpc/boot/treeboot-akebono.o arch/powerpc/boot/treeboot-akebono.c
	{standard input}: Assembler messages:
	{standard input}:94: Error: unrecognized opcode: `mtdcrx'
	{standard input}:101: Error: unrecognized opcode: `mfdcrx'
	{standard input}:107: Error: unrecognized opcode: `mtdcrx'
	{standard input}:306: Error: unrecognized opcode: `mfdcrx'
	make[1]: *** [arch/powerpc/boot/Makefile:229: arch/powerpc/boot/treeboot-akebono.o] Error 1
	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

taishan_defconfig
	  powerpc-linux-gcc -Wp,-MD,arch/powerpc/boot/.treeboot-akebono.o.d -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-taishan_defconfig/12/toolchain/bin/../lib/gcc/powerpc-linux/13.0.0/include -mbig-endian -fno-stack-protector -include ./include/linux/compiler_attributes.h -I./arch/powerpc/boot -I./arch/powerpc/boot -mcpu=405 -c -o arch/powerpc/boot/treeboot-akebono.o arch/powerpc/boot/treeboot-akebono.c
	{standard input}: Assembler messages:
	{standard input}:94: Error: unrecognized opcode: `mtdcrx'
	{standard input}:101: Error: unrecognized opcode: `mfdcrx'
	{standard input}:107: Error: unrecognized opcode: `mtdcrx'
	{standard input}:306: Error: unrecognized opcode: `mfdcrx'
	make[1]: *** [arch/powerpc/boot/Makefile:229: arch/powerpc/boot/treeboot-akebono.o] Error 1
	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

xes_mpc85xx_defconfig
	  powerpc-linux-gcc -Wp,-MMD,drivers/ata/.libahci.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mbig-endian -m32 -msoft-float -pipe -ffixed-r2 -mmultiple -mno-readonly-in-sdata -mcpu=8540 -mno-prefixed -mno-pcrel -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string -Wa,-me500 -mbig-endian -mstack-protector-guard=tls -mstack-protector-guard-reg=r2-fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -fomit-frame-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -mstack-protector-guard-offset=768    -DKBUILD_MODFILE='"drivers/ata/libahci"' -DKBUILD_BASENAME='"libahci"' -DKBUILD_MODNAME='"libahci"' -D__KBUILD_MODNAME=kmod_libahci -c -o drivers/ata/libahci.o drivers/ata/libahci.c  
	In file included from <command-line>:
	drivers/ata/libahci.c: In function 'ahci_led_store':
	././include/linux/compiler_types.h:357:45: error: call to '__compiletime_assert_295' declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long)
	  357 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
	      |                                             ^
	././include/linux/compiler_types.h:338:25: note: in definition of macro '__compiletime_assert'
	  338 |                         prefix ## suffix();                             \
	      |                         ^~~~~~
	././include/linux/compiler_types.h:357:9: note: in expansion of macro '_compiletime_assert'
	  357 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
	      |         ^~~~~~~~~~~~~~~~~~~
	./include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
	   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
	      |                                     ^~~~~~~~~~~~~~~~~~
	./include/linux/build_bug.h:50:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
	   50 |         BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
	      |         ^~~~~~~~~~~~~~~~
	./include/linux/nospec.h:58:9: note: in expansion of macro 'BUILD_BUG_ON'
	   58 |         BUILD_BUG_ON(sizeof(_s) > sizeof(long));                        \
	      |         ^~~~~~~~~~~~
	drivers/ata/libahci.c:1198:23: note: in expansion of macro 'array_index_nospec'
	 1198 |                 pmp = array_index_nospec(pmp, EM_MAX_SLOTS);
	      |                       ^~~~~~~~~~~~~~~~~~
	make[3]: *** [scripts/Makefile.build:250: drivers/ata/libahci.o] Error 1
	make[2]: *** [scripts/Makefile.build:500: drivers/ata] Error 2
	make[1]: *** [scripts/Makefile.build:500: drivers] Error 2
	make: *** [Makefile:1992: .] Error 2

currituck_defconfig
ep8248e_defconfig
ep88xc_defconfig
fsl-emb-nonhw.config
fsp2_defconfig
iss476-smp_defconfig
lite5200b_defconfig
mgcoge_defconfig
motionpro_defconfig
mpc5200_defconfig
mpc8272_ads_defconfig
mpc885_ads_defconfig
ppc6xx_defconfig
pq2fads_defconfig
ps3_defconfig
akebono_defconfig
tqm5200_defconfig
tqm8xx_defconfig
warp_defconfig
	Compiler ICEs (during GIMPLE pass: ccp) in align.c:

	  powerpc-linux-gcc -Wp,-MMD,arch/powerpc/kernel/.align.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mbig-endian -m32 -msoft-float -pipe -ffixed-r2 -mmultiple -mno-readonly-in-sdata -mcpu=440 -mno-prefixed -mno-pcrel -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string -Wa,-m440 -mbig-endian -mstack-protector-guard=tls -mstack-protector-guard-reg=r2 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -fomit-frame-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -g -mstack-protector-guard-offset=1080 -Werror    -DKBUILD_MODFILE='"arch/powerpc/kernel/align"' -DKBUILD_BASENAME='"align"' -DKBUILD_MODNAME='"align"' -D__KBUILD_MODNAME=kmod_align -c -o arch/powerpc/kernel/align.o arch/powerpc/kernel/align.c  
	during GIMPLE pass: ccp
	arch/powerpc/kernel/align.c: In function '__copy_inst_from_kernel_nofault':
	arch/powerpc/kernel/align.c:364:1: internal compiler error: in maybe_register_def, at tree-into-ssa.cc:1948
	  364 | }
	      | ^
	0x19d8886 internal_error(char const*, ...)
	   ???:0
	0x7bb4fe fancy_abort(char const*, int, char const*)
	   ???:0
	0x1791bfe dom_walker::walk(basic_block_def*)
	   ???:0
	0xe94ec0 update_ssa(unsigned int)
	   ???:0
	0x103d6b9 execute_update_addresses_taken()
	   ???:0
	Please submit a full bug report, with preprocessed source (by using -freport-bug).
	Please include the complete backtrace with any bug report.
	See <https://gcc.gnu.org/bugs/> for instructions.
	make[3]: *** [scripts/Makefile.build:250: arch/powerpc/kernel/align.o] Error 1
	make[2]: *** [scripts/Makefile.build:500: arch/powerpc/kernel] Error 2
	make[1]: *** [scripts/Makefile.build:500: arch/powerpc] Error 2
	make: *** [Makefile:1992: .] Error 2

	==> Should probably open a PR for this.

Thanks for any pointers!

MfG, JBG

-- 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-12 21:51 Mass-building defconfigs: many fail with assembler errors Jan-Benedict Glaw
@ 2022-12-13  0:26 ` Segher Boessenkool
  2022-12-13 10:00   ` Jan-Benedict Glaw
  2022-12-13  3:49 ` Michael Ellerman
  1 sibling, 1 reply; 14+ messages in thread
From: Segher Boessenkool @ 2022-12-13  0:26 UTC (permalink / raw)
  To: Jan-Benedict Glaw; +Cc: linuxppc-dev

Hi!

On Mon, Dec 12, 2022 at 10:51:17PM +0100, Jan-Benedict Glaw wrote:
> Is anybody else routinely building current Binutils + GCC, to try to
> build all the Linux defconfigs?

I do regularly build kernels for powerpc-linux, powerpc64-linux,
powerpc64le-linux; ppc6xx_defconfig and ppc64_defconfig and
ppc64le_defconfig.  Totally boring, but it frequently does not build.
Not as frequently as for the other Linux targets I build (32 total at
the moment).

> For PPC, a good number of those fail,
> and I probably don't understand PPC well enough to propose patches. Or
> did I pick wrongly targeted toolchains? Most of the time, my suspicion
> is that we're not giving the correct -m<cpu> flags in
> ./arch/powerpc/boot/?  (My setup for doing test builds is fairly automated, I
> can easily throw in patches for testing.)

Many of those use a 32-bit toolchain with a 64-bit kernel, or they
require some e500 specific config but not getting it (or the other way
around).

> 64-bit.config

> 	==> Why "-m32 -mcpu=powerpc"? Binutils/GCC are for --target=powerpc64-linux

Something in your config is forcing that.

> 85xx-64bit.config
> 	  powerpc64-linux-gcc -Wp,-MMD,arch/powerpc/kernel/vdso/.gettimeofday-64.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -D__KERNEL__ -I ./arch/powerpc -DHAVE_AS_ATHIGH=1 -fmacro-prefix-map=./= -D__ASSEMBLY__ -fno-PIE -m64 -Wl,-a64 -mabi=elfv1 -Wa,-me500 -Wa,-me500mc -mabi=elfv1 -mbig-endian    -Wl,-soname=linux-vdso64.so.1 -D__VDSO64__ -s -c -o arch/powerpc/kernel/vdso/gettimeofday-64.o arch/powerpc/kernel/vdso/gettimeofday.S

e500mc is a 32-bit core.  This cannot fly.

> 85xx-hw.config
> 	  powerpc-linux-gcc -Wp,-MMD,arch/powerpc/kernel/.epapr_hcalls.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -D__KERNEL__ -I ./arch/powerpc -fmacro-prefix-map=./= -D__ASSEMBLY__ -fno-PIE -m32 -Wl,-a32 -mcpu=powerpc -mbig-endian    -c -o arch/powerpc/kernel/epapr_hcalls.o arch/powerpc/kernel/epapr_hcalls.S 
> 	arch/powerpc/kernel/epapr_hcalls.S: Assembler messages:
> 	arch/powerpc/kernel/epapr_hcalls.S:24: Error: unrecognized opcode: `wrteei'

wrteei is a BookE instruction (not a PowerPC instruction), and something
specifically asked for just PowerPC.

> powernv_defconfig

> 	cc1: all warnings being treated as errors

Self-inflicted wound.  The warnings may reveal more, or they might show
something that GCC isn't as good at as you may want; all warnings have
false positives, that is why they are warnings and not errors.

> 	Compiler ICEs (during GIMPLE pass: ccp) in align.c:
> 
> 	  powerpc-linux-gcc -Wp,-MMD,arch/powerpc/kernel/.align.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mbig-endian -m32 -msoft-float -pipe -ffixed-r2 -mmultiple -mno-readonly-in-sdata -mcpu=440 -mno-prefixed -mno-pcrel -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string -Wa,-m440 -mbig-endian -mstack-protector-guard=tls -mstack-protector-guard-reg=r2 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -fomit-frame-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -g -mstack-protector-guard-offset=1080 -Werror    -DKBUILD_MODFILE='"arch/powerpc/kernel/align"' -DKBUILD_BASENAME='"align"' -DKBUILD_MODNAME='"align"' -D__KBUILD_MODNAME=kmod_align -c -o arch/powerpc/kernel/align.o arch/powerpc/kernel/align.c  
> 	during GIMPLE pass: ccp
> 	arch/powerpc/kernel/align.c: In function '__copy_inst_from_kernel_nofault':
> 	arch/powerpc/kernel/align.c:364:1: internal compiler error: in maybe_register_def, at tree-into-ssa.cc:1948
> 	  364 | }
> 	      | ^
> 	0x19d8886 internal_error(char const*, ...)
> 	   ???:0
> 	0x7bb4fe fancy_abort(char const*, int, char const*)
> 	   ???:0
> 	0x1791bfe dom_walker::walk(basic_block_def*)
> 	   ???:0
> 	0xe94ec0 update_ssa(unsigned int)
> 	   ???:0
> 	0x103d6b9 execute_update_addresses_taken()
> 	   ???:0
> 	Please submit a full bug report, with preprocessed source (by using -freport-bug).
> 	Please include the complete backtrace with any bug report.
> 	See <https://gcc.gnu.org/bugs/> for instructions.
> 	make[3]: *** [scripts/Makefile.build:250: arch/powerpc/kernel/align.o] Error 1
> 	make[2]: *** [scripts/Makefile.build:500: arch/powerpc/kernel] Error 2
> 	make[1]: *** [scripts/Makefile.build:500: arch/powerpc] Error 2
> 	make: *** [Makefile:1992: .] Error 2
> 
> 	==> Should probably open a PR for this.

Yes please!


Segher

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-12 21:51 Mass-building defconfigs: many fail with assembler errors Jan-Benedict Glaw
  2022-12-13  0:26 ` Segher Boessenkool
@ 2022-12-13  3:49 ` Michael Ellerman
  2022-12-13  8:41   ` Jan-Benedict Glaw
  2022-12-14 14:45   ` Jan-Benedict Glaw
  1 sibling, 2 replies; 14+ messages in thread
From: Michael Ellerman @ 2022-12-13  3:49 UTC (permalink / raw)
  To: Jan-Benedict Glaw, linuxppc-dev

Jan-Benedict Glaw <jbglaw@lug-owl.de> writes:
> Hi!
>
> Is anybody else routinely building current Binutils + GCC, to try to
> build all the Linux defconfigs?

I did for several years, but eventually stopped because it was taking
too much time I needed to spend on other things.

> For PPC, a good number of those fail,
> and I probably don't understand PPC well enough to propose patches. Or
> did I pick wrongly targeted toolchains? Most of the time, my suspicion
> is that we're not giving the correct -m<cpu> flags in
> ./arch/powerpc/boot/?  (My setup for doing test builds is fairly automated, I
> can easily throw in patches for testing.)

All the results against <something>.config are invalid or at least
dubious. Those files are not standalone defconfigs, they're fragments of
defconfigs that are assembled together by arch/powerpc/Makefile using
merge_config.sh.

So your script should exclude all files that end in ".config".

To find the names of the generated configs you can use something like:

 $ awk '/PHONY \+= .*config/ {print $3}' arch/powerpc/Makefile

> 64-bit.config
> 	  powerpc64-linux-gcc -Wp,-MD,arch/powerpc/boot/.opal-calls.o.d -D__ASSEMBLY__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-64-bit.config/12/toolchain/bin/../lib/gcc/powerpc64-linux/13.0.0/include -mbig-endian -nostdinc -c -o arch/powerpc/boot/opal-calls.o arch/powerpc/boot/opal-calls.S
> 	arch/powerpc/boot/opal-calls.S: Assembler messages:
> 	arch/powerpc/boot/opal-calls.S:20: Error: unrecognized opcode: `ld'
> 	arch/powerpc/boot/opal-calls.S:21: Error: unrecognized opcode: `ld'
> 	arch/powerpc/boot/opal-calls.S:32: Error: unrecognized opcode: `std'
> 	arch/powerpc/boot/opal-calls.S:49: Error: unrecognized opcode: `ld'
> 	arch/powerpc/boot/opal-calls.S:50: Error: unrecognized opcode: `ld'
> 	arch/powerpc/boot/opal-calls.S:52: Error: unrecognized opcode: `hrfid'
> 	arch/powerpc/boot/opal-calls.S:55: Error: unrecognized opcode: `tdi'
> 	arch/powerpc/boot/opal-calls.S:58: Error: unrecognized opcode: `ld'
> 	make[1]: *** [arch/powerpc/boot/Makefile:232: arch/powerpc/boot/opal-calls.o] Error 1
> 	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

...

> bamboo_defconfig
> 	  powerpc-linux-gcc -Wp,-MD,arch/powerpc/boot/.treeboot-akebono.o.d -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-bamboo_defconfig/12/toolchain/bin/../lib/gcc/powerpc-linux/13.0.0/include -mbig-endian -fno-stack-protector -include ./include/linux/compiler_attributes.h -I./arch/powerpc/boot -I./arch/powerpc/boot -mcpu=405 -c -o arch/powerpc/boot/treeboot-akebono.o arch/powerpc/boot/treeboot-akebono.c
> 	{standard input}: Assembler messages:
> 	{standard input}:94: Error: unrecognized opcode: `mtdcrx'
> 	{standard input}:101: Error: unrecognized opcode: `mfdcrx'
> 	{standard input}:107: Error: unrecognized opcode: `mtdcrx'
> 	{standard input}:306: Error: unrecognized opcode: `mfdcrx'
> 	make[1]: *** [arch/powerpc/boot/Makefile:229: arch/powerpc/boot/treeboot-akebono.o] Error 1
> 	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

Both treeboot-akebono.c and treeboot-currituck.c are for 476 so should
probably be built with -mcpu=476. eg:

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index d32d95aea5d6..acb6eddace8f 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -88,8 +88,8 @@ $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=440
 $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=440
 $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
 $(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
-$(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=405
-$(obj)/treeboot-akebono.o: BOOTCFLAGS += -mcpu=405
+$(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=476
+$(obj)/treeboot-akebono.o: BOOTCFLAGS += -mcpu=476
 
 # The pre-boot decompressors pull in a lot of kernel headers and other source
 # files. This creates a bit of a dependency headache since we need to copy


> cell_defconfig
> 	  powerpc64-linux-gcc -Wp,-MD,arch/powerpc/boot/.pseries-head.o.d -D__ASSEMBLY__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-cell_defconfig/12/toolchain/bin/../lib/gcc/powerpc64-linux/13.0.0/include -mbig-endian -nostdinc -c -o arch/powerpc/boot/pseries-head.o arch/powerpc/boot/pseries-head.S
> 	arch/powerpc/boot/pseries-head.S: Assembler messages:
> 	arch/powerpc/boot/pseries-head.S:8: Error: unrecognized opcode: `tdi'
> 	make[1]: *** [arch/powerpc/boot/Makefile:232: arch/powerpc/boot/pseries-head.o] Error 1
> 	make: *** [arch/powerpc/Makefile:247: zImage] Error 2

I guess it's complaining about tdi in 32-bit code.

Except that tdi is in the FIXUP_ENDIAN macro. Not sure how we fix that.

> powernv_defconfig
> 	  powerpc64-linux-gcc -Wp,-MMD,arch/powerpc/lib/.sstep.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc -DHAVE_AS_ATHIGH=1 -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mlittle-endian -m64 -msoft-float -pipe -mtraceback=no -mabi=elfv2 -mcmodel=medium -mno-pointers-to-nested-functions -mcpu=power8 -mtune=power10 -mno-prefixed -mno-pcrel -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string -Wa,-maltivec -Wa,-mpower4 -Wa,-many -mno-strict-align -mlittle-endian -mstack-protector-guard=tls -mstack-protector-guard-reg=r13 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -pg -mprofile-kernel -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -mstack-protector-guard-offset=3184 -Werror    -DKBUILD_MODFILE='"arch/powerpc/lib/sstep"' -DKBUILD_BASENAME='"sstep"' -DKBUILD_MODNAME='"sstep"' -D__KBUILD_MODNAME=kmod_sstep -c -o arch/powerpc/lib/sstep.o arch/powerpc/lib/sstep.c  
> 	In function 'do_byte_reverse',
> 	    inlined from 'do_vec_store' at arch/powerpc/lib/sstep.c:722:3,
> 	    inlined from 'emulate_loadstore' at arch/powerpc/lib/sstep.c:3509:9:
> 	arch/powerpc/lib/sstep.c:286:25: error: array subscript [3, 4] is outside array bounds of 'union <anonymous>[1]' [-Werror=array-bounds=]
> 	  286 |                 up[0] = byterev_8(up[3]);
> 	      |                         ^~~~~~~~~~~~~~~~

I've seen this one before, prior to array-bounds being disabled upstream.

The code is not actually buggy AFAICS, but it is quite complicated and relies on
the caller passing the correct size array to match the nb argument,
which is fairly fragile.

I'd be happy for it to be rewritten.

> ppc64e_defconfig
> 	  powerpc64-linux-gcc -Wp,-MMD,arch/powerpc/kernel/vdso/.gettimeofday-64.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -D__KERNEL__ -I ./arch/powerpc -DHAVE_AS_ATHIGH=1 -fmacro-prefix-map=./= -D__ASSEMBLY__ -fno-PIE -m64 -Wl,-a64 -mabi=elfv1 -Wa,-me500 -Wa,-me500mc -mabi=elfv1 -mbig-endian    -Wl,-soname=linux-vdso64.so.1 -D__VDSO64__ -s -c -o arch/powerpc/kernel/vdso/gettimeofday-64.o arch/powerpc/kernel/vdso/gettimeofday.S
> 	arch/powerpc/kernel/vdso/gettimeofday.S: Assembler messages:
> 	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `stdu'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `stdu'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `std'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `std'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `ld'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:72: Error: unrecognized opcode: `ld'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `stdu'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `stdu'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `std'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `std'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `ld'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:82: Error: unrecognized opcode: `ld'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `stdu'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `stdu'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `std'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `std'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `ld'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:104: Error: unrecognized opcode: `ld'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `stdu'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `stdu'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `std'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `std'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `ld'
> 	arch/powerpc/kernel/vdso/gettimeofday.S:115: Error: unrecognized opcode: `ld'
> 	make[1]: *** [arch/powerpc/kernel/vdso/Makefile:76: arch/powerpc/kernel/vdso/gettimeofday-64.o] Error 1
> 	make: *** [arch/powerpc/Makefile:387: vdso_prepare] Error 2


I'm guessing but possibly fixed by:
  http://patchwork.ozlabs.org/project/linuxppc-dev/patch/3fd60c2d8a28668a42b766b18362a526ef47e757.1670420281.git.christophe.leroy@csgroup.eu/

cheers

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-13  3:49 ` Michael Ellerman
@ 2022-12-13  8:41   ` Jan-Benedict Glaw
  2022-12-13 12:23     ` Segher Boessenkool
  2022-12-14 14:45   ` Jan-Benedict Glaw
  1 sibling, 1 reply; 14+ messages in thread
From: Jan-Benedict Glaw @ 2022-12-13  8:41 UTC (permalink / raw)
  To: Michael Ellerman; +Cc: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 5394 bytes --]

Hi Michael,

On Tue, 2022-12-13 14:49:20 +1100, Michael Ellerman <mpe@ellerman.id.au> wrote:
> Jan-Benedict Glaw <jbglaw@lug-owl.de> writes:
> > Is anybody else routinely building current Binutils + GCC, to try to
> > build all the Linux defconfigs?
> 
> I did for several years, but eventually stopped because it was taking
> too much time I needed to spend on other things.

I've got one system at my hands to let it build stuff all day. So I'm
trying to extend that as far as possible.

> > For PPC, a good number of those fail,
> > and I probably don't understand PPC well enough to propose patches. Or
> > did I pick wrongly targeted toolchains? Most of the time, my suspicion
> > is that we're not giving the correct -m<cpu> flags in
> > ./arch/powerpc/boot/?  (My setup for doing test builds is fairly automated, I
> > can easily throw in patches for testing.)
> 
> All the results against <something>.config are invalid or at least
> dubious. Those files are not standalone defconfigs, they're fragments of
> defconfigs that are assembled together by arch/powerpc/Makefile using
> merge_config.sh.
> 
> So your script should exclude all files that end in ".config".

Thanks!  Will just drop those.

> To find the names of the generated configs you can use something like:
> 
>  $ awk '/PHONY \+= .*config/ {print $3}' arch/powerpc/Makefile

...and integrate these instead. Thanks a lot!

> > 64-bit.config
> > 	  powerpc64-linux-gcc -Wp,-MD,arch/powerpc/boot/.opal-calls.o.d -D__ASSEMBLY__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-64-bit.config/12/toolchain/bin/../lib/gcc/powerpc64-linux/13.0.0/include -mbig-endian -nostdinc -c -o arch/powerpc/boot/opal-calls.o arch/powerpc/boot/opal-calls.S
> > 	arch/powerpc/boot/opal-calls.S: Assembler messages:
> > 	arch/powerpc/boot/opal-calls.S:20: Error: unrecognized opcode: `ld'
> > 	arch/powerpc/boot/opal-calls.S:21: Error: unrecognized opcode: `ld'
> > 	arch/powerpc/boot/opal-calls.S:32: Error: unrecognized opcode: `std'
> > 	arch/powerpc/boot/opal-calls.S:49: Error: unrecognized opcode: `ld'
> > 	arch/powerpc/boot/opal-calls.S:50: Error: unrecognized opcode: `ld'
> > 	arch/powerpc/boot/opal-calls.S:52: Error: unrecognized opcode: `hrfid'
> > 	arch/powerpc/boot/opal-calls.S:55: Error: unrecognized opcode: `tdi'
> > 	arch/powerpc/boot/opal-calls.S:58: Error: unrecognized opcode: `ld'
> > 	make[1]: *** [arch/powerpc/boot/Makefile:232: arch/powerpc/boot/opal-calls.o] Error 1
> > 	make: *** [arch/powerpc/Makefile:247: zImage] Error 2
> 
> ...
> 
> > bamboo_defconfig
> > 	  powerpc-linux-gcc -Wp,-MD,arch/powerpc/boot/.treeboot-akebono.o.d -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx   -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -m32 -mcpu=powerpc -isystem /var/lib/laminar/run/linux-powerpc-bamboo_defconfig/12/toolchain/bin/../lib/gcc/powerpc-linux/13.0.0/include -mbig-endian -fno-stack-protector -include ./include/linux/compiler_attributes.h -I./arch/powerpc/boot -I./arch/powerpc/boot -mcpu=405 -c -o arch/powerpc/boot/treeboot-akebono.o arch/powerpc/boot/treeboot-akebono.c
> > 	{standard input}: Assembler messages:
> > 	{standard input}:94: Error: unrecognized opcode: `mtdcrx'
> > 	{standard input}:101: Error: unrecognized opcode: `mfdcrx'
> > 	{standard input}:107: Error: unrecognized opcode: `mtdcrx'
> > 	{standard input}:306: Error: unrecognized opcode: `mfdcrx'
> > 	make[1]: *** [arch/powerpc/boot/Makefile:229: arch/powerpc/boot/treeboot-akebono.o] Error 1
> > 	make: *** [arch/powerpc/Makefile:247: zImage] Error 2
> 
> Both treeboot-akebono.c and treeboot-currituck.c are for 476 so should
> probably be built with -mcpu=476. eg:
> 
> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> index d32d95aea5d6..acb6eddace8f 100644
> --- a/arch/powerpc/boot/Makefile
> +++ b/arch/powerpc/boot/Makefile
> @@ -88,8 +88,8 @@ $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=440
>  $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=440
>  $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
>  $(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
> -$(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=405
> -$(obj)/treeboot-akebono.o: BOOTCFLAGS += -mcpu=405
> +$(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=476
> +$(obj)/treeboot-akebono.o: BOOTCFLAGS += -mcpu=476
>  
>  # The pre-boot decompressors pull in a lot of kernel headers and other source
>  # files. This creates a bit of a dependency headache since we need to copy

I'll update my scripts to pick up this different config set and drop
in this patch.

MfG, JBG

-- 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-13  0:26 ` Segher Boessenkool
@ 2022-12-13 10:00   ` Jan-Benedict Glaw
  2022-12-14  9:00     ` Jan-Benedict Glaw
  0 siblings, 1 reply; 14+ messages in thread
From: Jan-Benedict Glaw @ 2022-12-13 10:00 UTC (permalink / raw)
  To: Segher Boessenkool; +Cc: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 4555 bytes --]

Hi Segher!

On Mon, 2022-12-12 18:26:13 -0600, Segher Boessenkool <segher@kernel.crashing.org> wrote:
> On Mon, Dec 12, 2022 at 10:51:17PM +0100, Jan-Benedict Glaw wrote:
[...]
> > For PPC, a good number of those fail,
> > and I probably don't understand PPC well enough to propose patches. Or
> > did I pick wrongly targeted toolchains? Most of the time, my suspicion
> > is that we're not giving the correct -m<cpu> flags in
> > ./arch/powerpc/boot/?  (My setup for doing test builds is fairly automated, I
> > can easily throw in patches for testing.)
> 
> Many of those use a 32-bit toolchain with a 64-bit kernel, or they
> require some e500 specific config but not getting it (or the other way
> around).
> 
> > 64-bit.config
> 
> > 	==> Why "-m32 -mcpu=powerpc"? Binutils/GCC are for --target=powerpc64-linux
> 
> Something in your config is forcing that.

That's a configuration that should not have been built. As Michael
wrote, it's just a fragment for a defconfig, I queued it for a build
but that was plain wrong. (As well as other *.config files.)

> > 	Compiler ICEs (during GIMPLE pass: ccp) in align.c:
> > 
> > 	  powerpc-linux-gcc -Wp,-MMD,arch/powerpc/kernel/.align.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mbig-endian -m32 -msoft-float -pipe -ffixed-r2 -mmultiple -mno-readonly-in-sdata -mcpu=440 -mno-prefixed -mno-pcrel -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string -Wa,-m440 -mbig-endian -mstack-protector-guard=tls -mstack-protector-guard-reg=r2 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -fomit-frame-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -g -mstack-protector-guard-offset=1080 -Werror    -DKBUILD_MODFILE='"arch/powerpc/kernel/align"' -DKBUILD_BASENAME='"align"' -DKBUILD_MODNAME='"align"' -D__KBUILD_MODNAME=kmod_align -c -o arch/powerpc/kernel/align.o arch/powerpc/kernel/align.c  
> > 	during GIMPLE pass: ccp
> > 	arch/powerpc/kernel/align.c: In function '__copy_inst_from_kernel_nofault':
> > 	arch/powerpc/kernel/align.c:364:1: internal compiler error: in maybe_register_def, at tree-into-ssa.cc:1948
> > 	  364 | }
> > 	      | ^
> > 	0x19d8886 internal_error(char const*, ...)
> > 	   ???:0
> > 	0x7bb4fe fancy_abort(char const*, int, char const*)
> > 	   ???:0
> > 	0x1791bfe dom_walker::walk(basic_block_def*)
> > 	   ???:0
> > 	0xe94ec0 update_ssa(unsigned int)
> > 	   ???:0
> > 	0x103d6b9 execute_update_addresses_taken()
> > 	   ???:0
> > 	Please submit a full bug report, with preprocessed source (by using -freport-bug).
> > 	Please include the complete backtrace with any bug report.
> > 	See <https://gcc.gnu.org/bugs/> for instructions.
> > 	make[3]: *** [scripts/Makefile.build:250: arch/powerpc/kernel/align.o] Error 1
> > 	make[2]: *** [scripts/Makefile.build:500: arch/powerpc/kernel] Error 2
> > 	make[1]: *** [scripts/Makefile.build:500: arch/powerpc] Error 2
> > 	make: *** [Makefile:1992: .] Error 2
> > 
> > 	==> Should probably open a PR for this.
> 
> Yes please!

I'll wait until the current build loop finishes. Looking at
__copy_inst_from_kernel_nofault(), it uses an asm goto, which I had
issues with and there was already a fix for it
(7676235f690e624b7ed41a22b22ce8ccfac1492f,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107997) which might fix
all of those.

Thanks,
  Jan-Benedict

-- 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-13  8:41   ` Jan-Benedict Glaw
@ 2022-12-13 12:23     ` Segher Boessenkool
  0 siblings, 0 replies; 14+ messages in thread
From: Segher Boessenkool @ 2022-12-13 12:23 UTC (permalink / raw)
  To: Jan-Benedict Glaw; +Cc: linuxppc-dev

On Tue, Dec 13, 2022 at 09:41:59AM +0100, Jan-Benedict Glaw wrote:
> On Tue, 2022-12-13 14:49:20 +1100, Michael Ellerman <mpe@ellerman.id.au> wrote:
> > So your script should exclude all files that end in ".config".
> 
> Thanks!  Will just drop those.
> 
> > To find the names of the generated configs you can use something like:
> > 
> >  $ awk '/PHONY \+= .*config/ {print $3}' arch/powerpc/Makefile
> 
> ...and integrate these instead. Thanks a lot!

You can also pretend you are a simple user and use the targets
"make help" and "make help-boards" suggest :-)


Segher

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-13 10:00   ` Jan-Benedict Glaw
@ 2022-12-14  9:00     ` Jan-Benedict Glaw
  2022-12-14 18:36       ` Jan-Benedict Glaw
  2022-12-15  8:47       ` Jan-Benedict Glaw
  0 siblings, 2 replies; 14+ messages in thread
From: Jan-Benedict Glaw @ 2022-12-14  9:00 UTC (permalink / raw)
  To: Segher Boessenkool; +Cc: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 3885 bytes --]

Hi Segher!

On Tue, 2022-12-13 11:00:45 +0100, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote:
> On Mon, 2022-12-12 18:26:13 -0600, Segher Boessenkool <segher@kernel.crashing.org> wrote:
> > On Mon, Dec 12, 2022 at 10:51:17PM +0100, Jan-Benedict Glaw wrote:
> > > 	Compiler ICEs (during GIMPLE pass: ccp) in align.c:
> > > 
> > > 	  powerpc-linux-gcc -Wp,-MMD,arch/powerpc/kernel/.align.o.d -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  -I./include -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu11 -mbig-endian -m32 -msoft-float -pipe -ffixed-r2 -mmultiple -mno-readonly-in-sdata -mcpu=440 -mno-prefixed -mno-pcrel -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string -Wa,-m440 -mbig-endian -mstack-protector-guard=tls -mstack-protector-guard-reg=r2 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -fomit-frame-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -g -mstack-protector-guard-offset=1080 -Werror    -DKBUILD_MODFILE='"arch/powerpc/kernel/align"' -DKBUILD_BASENAME='"align"' -DKBUILD_MODNAME='"align"' -D__KBUILD_MODNAME=kmod_align -c -o arch/powerpc/kernel/align.o arch/powerpc/kernel/align.c  
> > > 	during GIMPLE pass: ccp
> > > 	arch/powerpc/kernel/align.c: In function '__copy_inst_from_kernel_nofault':
> > > 	arch/powerpc/kernel/align.c:364:1: internal compiler error: in maybe_register_def, at tree-into-ssa.cc:1948
> > > 	  364 | }
> > > 	      | ^
> > > 	0x19d8886 internal_error(char const*, ...)
> > > 	   ???:0
> > > 	0x7bb4fe fancy_abort(char const*, int, char const*)
> > > 	   ???:0
> > > 	0x1791bfe dom_walker::walk(basic_block_def*)
> > > 	   ???:0
> > > 	0xe94ec0 update_ssa(unsigned int)
> > > 	   ???:0
> > > 	0x103d6b9 execute_update_addresses_taken()
> > > 	   ???:0
> > > 	Please submit a full bug report, with preprocessed source (by using -freport-bug).
> > > 	Please include the complete backtrace with any bug report.
> > > 	See <https://gcc.gnu.org/bugs/> for instructions.
> > > 	make[3]: *** [scripts/Makefile.build:250: arch/powerpc/kernel/align.o] Error 1
> > > 	make[2]: *** [scripts/Makefile.build:500: arch/powerpc/kernel] Error 2
> > > 	make[1]: *** [scripts/Makefile.build:500: arch/powerpc] Error 2
> > > 	make: *** [Makefile:1992: .] Error 2
> > > 
> > > 	==> Should probably open a PR for this.
> > 
> > Yes please!

Submitted as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108095:

typedef unsigned u32;
int __copy_inst_from_kernel_nofault_inst;
__copy_inst_from_kernel_nofault() {
  unsigned suffix;
  asm goto("" : "=r"(*(u32 *)&suffix) : : : Efault);
  __copy_inst_from_kernel_nofault_inst = 0;
Efault:
}

ICEs with: `powerpc64-linux-gcc -Os -g -c -o align.o align.i` (Both
`-Os` and `-g` are needed to produce the ICE.)

MfG, JBG

-- 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-13  3:49 ` Michael Ellerman
  2022-12-13  8:41   ` Jan-Benedict Glaw
@ 2022-12-14 14:45   ` Jan-Benedict Glaw
  2022-12-15  6:49     ` Christophe Leroy
  2022-12-15 12:47     ` Michael Ellerman
  1 sibling, 2 replies; 14+ messages in thread
From: Jan-Benedict Glaw @ 2022-12-14 14:45 UTC (permalink / raw)
  To: Michael Ellerman; +Cc: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 1736 bytes --]

On Tue, 2022-12-13 14:49:20 +1100, Michael Ellerman <mpe@ellerman.id.au> wrote:
[...]
> Both treeboot-akebono.c and treeboot-currituck.c are for 476 so should
> probably be built with -mcpu=476. eg:
> 
> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> index d32d95aea5d6..acb6eddace8f 100644
> --- a/arch/powerpc/boot/Makefile
> +++ b/arch/powerpc/boot/Makefile
> @@ -88,8 +88,8 @@ $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=440
>  $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=440
>  $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
>  $(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
> -$(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=405
> -$(obj)/treeboot-akebono.o: BOOTCFLAGS += -mcpu=405
> +$(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=476
> +$(obj)/treeboot-akebono.o: BOOTCFLAGS += -mcpu=476
>  
>  # The pre-boot decompressors pull in a lot of kernel headers and other source
>  # files. This creates a bit of a dependency headache since we need to copy

With this patch applied, it seems this fixes these asm-related builds:

linux-powerpc-bamboo_defconfig
linux-powerpc-cell_defconfig
linux-powerpc-ebony_defconfig
linux-powerpc-katmai_defconfig
linux-powerpc-ppc44x_defconfig
linux-powerpc-rainier_defconfig
linux-powerpc-sam440ep_defconfig
linux-powerpc-sequoia_defconfig
linux-powerpc-taishan_defconfig

...while three remain unresolved:

linux-powerpc-asp8347_defconfig
linux-powerpc-mvme5100_defconfig
linux-powerpc-ppc64e_defconfig

Of course I cannot verify the resulting kernel binaries, but I guess
you'd push this patch.

  The PR for the ICE is being actively worked on, just started a GCC
build with the suggested patch.

MfG, JBG

-- 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-14  9:00     ` Jan-Benedict Glaw
@ 2022-12-14 18:36       ` Jan-Benedict Glaw
  2022-12-14 20:08         ` Segher Boessenkool
  2022-12-15  8:47       ` Jan-Benedict Glaw
  1 sibling, 1 reply; 14+ messages in thread
From: Jan-Benedict Glaw @ 2022-12-14 18:36 UTC (permalink / raw)
  To: Segher Boessenkool; +Cc: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 3268 bytes --]

Hi Segher!

On Wed, 2022-12-14 10:00:25 +0100, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote:
> On Tue, 2022-12-13 11:00:45 +0100, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote:
> > On Mon, 2022-12-12 18:26:13 -0600, Segher Boessenkool <segher@kernel.crashing.org> wrote:
> > > On Mon, Dec 12, 2022 at 10:51:17PM +0100, Jan-Benedict Glaw wrote:
> > > > 	Compiler ICEs (during GIMPLE pass: ccp) in align.c:
[...]
> Submitted as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108095:
[...]

Jakub's patch seems to work (though I cannot *verify* the kernel
images on real hardware), so that will presumably fix these
configations (from the ICE point of view):

linux-powerpc-adder875_defconfig
linux-powerpc-akebono_defconfig
linux-powerpc-lite5200b_defconfig
linux-powerpc-mgcoge_defconfig
linux-powerpc-motionpro_defconfig
linux-powerpc-mpc5200_defconfig
linux-powerpc-mpc8272_ads_defconfig
linux-powerpc-ppc6xx_defconfig
linux-powerpc-tqm5200_defconfig
linux-powerpc-tqm8xx_defconfig
linux-powerpc-warp_defconfig
linux-powerpc-pq2fads_defconfig
linux-powerpc-ps3_defconfig
linux-powerpc-mpc885_ads_defconfig
linux-powerpc-ep8248e_defconfig
linux-powerpc-ep88xc_defconfig
linux-powerpc-iss476-smp_defconfig
linux-powerpc-fsp2_defconfig
linux-powerpc-currituck_defconfig


So we have these remaining build issues:

linux-powerpc-cell_defconfig           bad asm (arch/powerpc/boot/pseries-head.S)
linux-powerpc-mvme5100_defconfig       bad asm (arch/powerpc/kernel/epapr_hcalls.S)
linux-powerpc-asp8347_defconfig        bad asm (arch/powerpc/kernel/pmc.c)
linux-powerpc-ppc6xx_defconfig         bad asm (arch/powerpc/kernel/pmc.c)
linux-powerpc-ppc64e_defconfig         bad asm (arch/powerpc/kernel/vdso/gettimeofday.S)
linux-powerpc-corenet64_smp_defconfig  bad asm (arch/powerpc/kernel/vdso/gettimeofday.S)

I do *not* have CROSS32_COMPILE=... set for my builds. Maybe that
could cure at least the issues within the ./boot and ./kernel/vdso
directories? Let's try that...  But I guess that won't help for the
other two remaining files (arch/powerpc/kernel/{epapr_hcalls.S,pmc.c).


linux-powerpc-pseries_defconfig         sstep (out of array bounds)
linux-powerpc-powernv_defconfig         sstep
linux-powerpc-ppc64_defconfig           sstep
linux-powerpc-pseries_le_defconfig      sstep
linux-powerpc-ppc64le_defconfig         sstep
linux-powerpc-ppc64le_guest_defconfig   sstep
linux-powerpc-ppc64_guest_defconfig     sstep
linux-powerpc-powernv_be_defconfig      sstep

My first guess on these is that it's a wrong warning. The union's
`u8 b[2 * sizeof(double)]` seems to be large enough.


linux-powerpc-akebono_defconfig         ahci (BUILD_BUG_ON failed: sizeof(_s) > sizeof(long))
linux-powerpc-xes_mpc85xx_defconfig     ahci
linux-powerpc-ge_imp3a_defconfig        ahci
linux-powerpc-mpc85xx_defconfig         ahci
linux-powerpc-mpc85xx_smp_defconfig     ahci
linux-powerpc-corenet32_smp_defconfig   ahci
linux-powerpc-mpc86xx_defconfig         ahci
linux-powerpc-mpc86xx_smp_defconfig     ahci

I've seen the AHCI issue on other (non-powerpc) builds as well,
haven't looked into this so I won't guess about whether this is a real
bug or a compiler issue.

Thanks,
  Jan-Benedict

-- 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-14 18:36       ` Jan-Benedict Glaw
@ 2022-12-14 20:08         ` Segher Boessenkool
  0 siblings, 0 replies; 14+ messages in thread
From: Segher Boessenkool @ 2022-12-14 20:08 UTC (permalink / raw)
  To: Jan-Benedict Glaw; +Cc: linuxppc-dev

Hi!

On Wed, Dec 14, 2022 at 07:36:32PM +0100, Jan-Benedict Glaw wrote:
> So we have these remaining build issues:
> 
> linux-powerpc-cell_defconfig           bad asm (arch/powerpc/boot/pseries-head.S)
> linux-powerpc-mvme5100_defconfig       bad asm (arch/powerpc/kernel/epapr_hcalls.S)
> linux-powerpc-asp8347_defconfig        bad asm (arch/powerpc/kernel/pmc.c)
> linux-powerpc-ppc6xx_defconfig         bad asm (arch/powerpc/kernel/pmc.c)
> linux-powerpc-ppc64e_defconfig         bad asm (arch/powerpc/kernel/vdso/gettimeofday.S)
> linux-powerpc-corenet64_smp_defconfig  bad asm (arch/powerpc/kernel/vdso/gettimeofday.S)
> 
> I do *not* have CROSS32_COMPILE=... set for my builds. Maybe that
> could cure at least the issues within the ./boot and ./kernel/vdso
> directories?

I never set that, -m32 does the trick, every powerpc compiler is
biarch :-)

> Let's try that...  But I guess that won't help for the
> other two remaining files (arch/powerpc/kernel/{epapr_hcalls.S,pmc.c).

Not likely no.  Can you show the error of those again?

> linux-powerpc-pseries_defconfig         sstep (out of array bounds)
> linux-powerpc-powernv_defconfig         sstep
> linux-powerpc-ppc64_defconfig           sstep
> linux-powerpc-pseries_le_defconfig      sstep
> linux-powerpc-ppc64le_defconfig         sstep
> linux-powerpc-ppc64le_guest_defconfig   sstep
> linux-powerpc-ppc64_guest_defconfig     sstep
> linux-powerpc-powernv_be_defconfig      sstep
> 
> My first guess on these is that it's a wrong warning. The union's
> `u8 b[2 * sizeof(double)]` seems to be large enough.

A false positive, yes.  Which is *not* wrong.  What is wrong is using
-Werror in any unknown environment.  I have a stack of patches I use for
all my kernel builds, and half of those are eradicating harmful -Werror
instances.

> linux-powerpc-akebono_defconfig         ahci (BUILD_BUG_ON failed: sizeof(_s) > sizeof(long))
> linux-powerpc-xes_mpc85xx_defconfig     ahci
> linux-powerpc-ge_imp3a_defconfig        ahci
> linux-powerpc-mpc85xx_defconfig         ahci
> linux-powerpc-mpc85xx_smp_defconfig     ahci
> linux-powerpc-corenet32_smp_defconfig   ahci
> linux-powerpc-mpc86xx_defconfig         ahci
> linux-powerpc-mpc86xx_smp_defconfig     ahci
> 
> I've seen the AHCI issue on other (non-powerpc) builds as well,
> haven't looked into this so I won't guess about whether this is a real
> bug or a compiler issue.

It is a real bug afaics.


Segher

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-14 14:45   ` Jan-Benedict Glaw
@ 2022-12-15  6:49     ` Christophe Leroy
  2022-12-15  6:55       ` Christophe Leroy
  2022-12-15 12:47     ` Michael Ellerman
  1 sibling, 1 reply; 14+ messages in thread
From: Christophe Leroy @ 2022-12-15  6:49 UTC (permalink / raw)
  To: Jan-Benedict Glaw, Michael Ellerman; +Cc: linuxppc-dev



Le 14/12/2022 à 15:45, Jan-Benedict Glaw a écrit :
> On Tue, 2022-12-13 14:49:20 +1100, Michael Ellerman <mpe@ellerman.id.au> wrote:
> [...]
>> Both treeboot-akebono.c and treeboot-currituck.c are for 476 so should
>> probably be built with -mcpu=476. eg:
>>
>> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
>> index d32d95aea5d6..acb6eddace8f 100644
>> --- a/arch/powerpc/boot/Makefile
>> +++ b/arch/powerpc/boot/Makefile
>> @@ -88,8 +88,8 @@ $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=440
>>   $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=440
>>   $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
>>   $(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
>> -$(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=405
>> -$(obj)/treeboot-akebono.o: BOOTCFLAGS += -mcpu=405
>> +$(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=476
>> +$(obj)/treeboot-akebono.o: BOOTCFLAGS += -mcpu=476
>>   
>>   # The pre-boot decompressors pull in a lot of kernel headers and other source
>>   # files. This creates a bit of a dependency headache since we need to copy
> 
> With this patch applied, it seems this fixes these asm-related builds:
> 
> linux-powerpc-bamboo_defconfig
> linux-powerpc-cell_defconfig
> linux-powerpc-ebony_defconfig
> linux-powerpc-katmai_defconfig
> linux-powerpc-ppc44x_defconfig
> linux-powerpc-rainier_defconfig
> linux-powerpc-sam440ep_defconfig
> linux-powerpc-sequoia_defconfig
> linux-powerpc-taishan_defconfig
> 
> ...while three remain unresolved:
> 
> linux-powerpc-asp8347_defconfig
> linux-powerpc-mvme5100_defconfig
> linux-powerpc-ppc64e_defconfig
> 

Can you try with below changes (you may have to apply manually as I'm 
not sure my mail client preserves text integrity):

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index bf5f0a998273..3245eec95627 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -201,18 +201,15 @@ KBUILD_CFLAGS += -fno-asynchronous-unwind-tables
  # often slow when they are implemented at all
  KBUILD_CFLAGS		+= $(call cc-option,-mno-string)

-cpu-as-$(CONFIG_40x)		+= -Wa,-m405
-cpu-as-$(CONFIG_44x)		+= -Wa,-m440
  cpu-as-$(CONFIG_ALTIVEC)	+= $(call as-option,-Wa$(comma)-maltivec)
-cpu-as-$(CONFIG_PPC_E500)		+= -Wa,-me500
+cpu-as-$(CONFIG_TARGET_CPU_BOOL)	+= -Wa,-m$(CONFIG_TARGET_CPU)

  # When using '-many -mpower4' gas will first try and find a matching 
power4
  # mnemonic and failing that it will allow any valid mnemonic that GAS 
knows
  # about. GCC will pass -many to GAS when assembling, clang does not.
  # LLVM IAS doesn't understand either flag: 
https://github.com/ClangBuiltLinux/linux/issues/675
  # but LLVM IAS only supports ISA >= 2.06 for Book3S 64 anyway...
-cpu-as-$(CONFIG_PPC_BOOK3S_64)	+= $(call as-option,-Wa$(comma)-mpower4) 
$(call as-option,-Wa$(comma)-many)
-cpu-as-$(CONFIG_PPC_E500MC)	+= $(call as-option,-Wa$(comma)-me500mc)
+cpu-as-$(CONFIG_PPC_BOOK3S_64)	+= $(call as-option,-Wa$(comma)-many)

  KBUILD_AFLAGS += $(cpu-as-y)
  KBUILD_CFLAGS += $(cpu-as-y)


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-15  6:49     ` Christophe Leroy
@ 2022-12-15  6:55       ` Christophe Leroy
  0 siblings, 0 replies; 14+ messages in thread
From: Christophe Leroy @ 2022-12-15  6:55 UTC (permalink / raw)
  To: Jan-Benedict Glaw, Michael Ellerman; +Cc: linuxppc-dev



Le 15/12/2022 à 07:49, Christophe Leroy a écrit :
> 
> 
> Le 14/12/2022 à 15:45, Jan-Benedict Glaw a écrit :
>> On Tue, 2022-12-13 14:49:20 +1100, Michael Ellerman 
>> <mpe@ellerman.id.au> wrote:
>> [...]
>>> Both treeboot-akebono.c and treeboot-currituck.c are for 476 so should
>>> probably be built with -mcpu=476. eg:
>>>
>>> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
>>> index d32d95aea5d6..acb6eddace8f 100644
>>> --- a/arch/powerpc/boot/Makefile
>>> +++ b/arch/powerpc/boot/Makefile
>>> @@ -88,8 +88,8 @@ $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=440
>>>   $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=440
>>>   $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
>>>   $(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
>>> -$(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=405
>>> -$(obj)/treeboot-akebono.o: BOOTCFLAGS += -mcpu=405
>>> +$(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=476
>>> +$(obj)/treeboot-akebono.o: BOOTCFLAGS += -mcpu=476
>>>   # The pre-boot decompressors pull in a lot of kernel headers and 
>>> other source
>>>   # files. This creates a bit of a dependency headache since we need 
>>> to copy
>>
>> With this patch applied, it seems this fixes these asm-related builds:
>>
>> linux-powerpc-bamboo_defconfig
>> linux-powerpc-cell_defconfig
>> linux-powerpc-ebony_defconfig
>> linux-powerpc-katmai_defconfig
>> linux-powerpc-ppc44x_defconfig
>> linux-powerpc-rainier_defconfig
>> linux-powerpc-sam440ep_defconfig
>> linux-powerpc-sequoia_defconfig
>> linux-powerpc-taishan_defconfig
>>
>> ...while three remain unresolved:
>>
>> linux-powerpc-asp8347_defconfig
>> linux-powerpc-mvme5100_defconfig
>> linux-powerpc-ppc64e_defconfig
>>
> 
> Can you try with below changes (you may have to apply manually as I'm 
> not sure my mail client preserves text integrity):
> 
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index bf5f0a998273..3245eec95627 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -201,18 +201,15 @@ KBUILD_CFLAGS += -fno-asynchronous-unwind-tables
>   # often slow when they are implemented at all
>   KBUILD_CFLAGS        += $(call cc-option,-mno-string)
> 
> -cpu-as-$(CONFIG_40x)        += -Wa,-m405
> -cpu-as-$(CONFIG_44x)        += -Wa,-m440
>   cpu-as-$(CONFIG_ALTIVEC)    += $(call as-option,-Wa$(comma)-maltivec)
> -cpu-as-$(CONFIG_PPC_E500)        += -Wa,-me500
> +cpu-as-$(CONFIG_TARGET_CPU_BOOL)    += -Wa,-m$(CONFIG_TARGET_CPU)
> 
>   # When using '-many -mpower4' gas will first try and find a matching 
> power4
>   # mnemonic and failing that it will allow any valid mnemonic that GAS 
> knows
>   # about. GCC will pass -many to GAS when assembling, clang does not.
>   # LLVM IAS doesn't understand either flag: 
> https://github.com/ClangBuiltLinux/linux/issues/675
>   # but LLVM IAS only supports ISA >= 2.06 for Book3S 64 anyway...
> -cpu-as-$(CONFIG_PPC_BOOK3S_64)    += $(call 
> as-option,-Wa$(comma)-mpower4) $(call as-option,-Wa$(comma)-many)
> -cpu-as-$(CONFIG_PPC_E500MC)    += $(call as-option,-Wa$(comma)-me500mc)
> +cpu-as-$(CONFIG_PPC_BOOK3S_64)    += $(call as-option,-Wa$(comma)-many)
> 
>   KBUILD_AFLAGS += $(cpu-as-y)
>   KBUILD_CFLAGS += $(cpu-as-y)
> 


For ppc64e_defconfig, also make sure you have the fix that is on top of 
powerpc/next-test branch : 
https://github.com/linuxppc/linux/commits/next-test


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-14  9:00     ` Jan-Benedict Glaw
  2022-12-14 18:36       ` Jan-Benedict Glaw
@ 2022-12-15  8:47       ` Jan-Benedict Glaw
  1 sibling, 0 replies; 14+ messages in thread
From: Jan-Benedict Glaw @ 2022-12-15  8:47 UTC (permalink / raw)
  To: Segher Boessenkool; +Cc: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

On Wed, 2022-12-14 10:00:25 +0100, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote:
> On Tue, 2022-12-13 11:00:45 +0100, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote:
> > On Mon, 2022-12-12 18:26:13 -0600, Segher Boessenkool <segher@kernel.crashing.org> wrote:
> > > On Mon, Dec 12, 2022 at 10:51:17PM +0100, Jan-Benedict Glaw wrote:
> > > > 	Compiler ICEs (during GIMPLE pass: ccp) in align.c:
> Submitted as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108095:

...and already fixed upstream by Jakub Jelinek:
https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=bf3ce6f84a7a994a0fc87419b383b9ce4efed442

That's the second asm goto related bug I submitted (initially found
while looking at powerpc builds) and I'm actually surprised about the
speed both of them got fixed.  That's phantastic work!

MfG, JBG

-- 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Mass-building defconfigs: many fail with assembler errors
  2022-12-14 14:45   ` Jan-Benedict Glaw
  2022-12-15  6:49     ` Christophe Leroy
@ 2022-12-15 12:47     ` Michael Ellerman
  1 sibling, 0 replies; 14+ messages in thread
From: Michael Ellerman @ 2022-12-15 12:47 UTC (permalink / raw)
  To: Jan-Benedict Glaw; +Cc: linuxppc-dev

Jan-Benedict Glaw <jbglaw@lug-owl.de> writes:
> On Tue, 2022-12-13 14:49:20 +1100, Michael Ellerman <mpe@ellerman.id.au> wrote:
> [...]
>> Both treeboot-akebono.c and treeboot-currituck.c are for 476 so should
>> probably be built with -mcpu=476. eg:
>> 
>> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
>> index d32d95aea5d6..acb6eddace8f 100644
>> --- a/arch/powerpc/boot/Makefile
>> +++ b/arch/powerpc/boot/Makefile
>> @@ -88,8 +88,8 @@ $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=440
>>  $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=440
>>  $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
>>  $(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
>> -$(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=405
>> -$(obj)/treeboot-akebono.o: BOOTCFLAGS += -mcpu=405
>> +$(obj)/treeboot-currituck.o: BOOTCFLAGS += -mcpu=476
>> +$(obj)/treeboot-akebono.o: BOOTCFLAGS += -mcpu=476
>>  
>>  # The pre-boot decompressors pull in a lot of kernel headers and other source
>>  # files. This creates a bit of a dependency headache since we need to copy
>
> With this patch applied, it seems this fixes these asm-related builds:
>
> linux-powerpc-bamboo_defconfig
> linux-powerpc-cell_defconfig
> linux-powerpc-ebony_defconfig
> linux-powerpc-katmai_defconfig
> linux-powerpc-ppc44x_defconfig
> linux-powerpc-rainier_defconfig
> linux-powerpc-sam440ep_defconfig
> linux-powerpc-sequoia_defconfig
> linux-powerpc-taishan_defconfig

Thanks.

> ...while three remain unresolved:
>
> linux-powerpc-asp8347_defconfig

OK. Patch below which I believe fixes that.

diff --git a/arch/powerpc/include/asm/reg_fsl_emb.h b/arch/powerpc/include/asm/reg_fsl_emb.h
index a21f529c43d9..8359c06d92d9 100644
--- a/arch/powerpc/include/asm/reg_fsl_emb.h
+++ b/arch/powerpc/include/asm/reg_fsl_emb.h
@@ -12,9 +12,16 @@
 #ifndef __ASSEMBLY__
 /* Performance Monitor Registers */
 #define mfpmr(rn)	({unsigned int rval; \
-			asm volatile("mfpmr %0," __stringify(rn) \
+			asm volatile(".machine push; " \
+				     ".machine e300; " \
+				     "mfpmr %0," __stringify(rn) ";" \
+				     ".machine pop; " \
 				     : "=r" (rval)); rval;})
-#define mtpmr(rn, v)	asm volatile("mtpmr " __stringify(rn) ",%0" : : "r" (v))
+#define mtpmr(rn, v)	asm volatile(".machine push; " \
+				     ".machine e300; " \
+				     "mtpmr " __stringify(rn) ",%0; " \
+				     ".machine pop; " \
+				     : : "r" (v))
 #endif /* __ASSEMBLY__ */
 
 /* Freescale Book E Performance Monitor APU Registers */

> linux-powerpc-mvme5100_defconfig

And another:

diff --git a/arch/powerpc/kernel/epapr_hcalls.S b/arch/powerpc/kernel/epapr_hcalls.S
index 69a912550577..1ed73ab30288 100644
--- a/arch/powerpc/kernel/epapr_hcalls.S
+++ b/arch/powerpc/kernel/epapr_hcalls.S
@@ -21,7 +21,10 @@ _GLOBAL(epapr_ev_idle)
 	ori	r4, r4,_TLF_NAPPING	/* so when we take an exception */
 	PPC_STL	r4, TI_LOCAL_FLAGS(r2)	/* it will return to our caller */
 
+	.machine push
+	.machine booke
 	wrteei	1
+	.machine pop
 
 idle_loop:
 	LOAD_REG_IMMEDIATE(r11, EV_HCALL_TOKEN(EV_IDLE))


Not sure if that's the best solution, but it will at least unblock you
and allow you to actually test GCC which is I assume your goal.

> linux-powerpc-ppc64e_defconfig

TBD.

> Of course I cannot verify the resulting kernel binaries, but I guess
> you'd push this patch.

I don't have the hardware for most of these old boards, but I'll test
what I can, and yes I'd take the patch.

cheers

^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-12-15 12:48 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-12 21:51 Mass-building defconfigs: many fail with assembler errors Jan-Benedict Glaw
2022-12-13  0:26 ` Segher Boessenkool
2022-12-13 10:00   ` Jan-Benedict Glaw
2022-12-14  9:00     ` Jan-Benedict Glaw
2022-12-14 18:36       ` Jan-Benedict Glaw
2022-12-14 20:08         ` Segher Boessenkool
2022-12-15  8:47       ` Jan-Benedict Glaw
2022-12-13  3:49 ` Michael Ellerman
2022-12-13  8:41   ` Jan-Benedict Glaw
2022-12-13 12:23     ` Segher Boessenkool
2022-12-14 14:45   ` Jan-Benedict Glaw
2022-12-15  6:49     ` Christophe Leroy
2022-12-15  6:55       ` Christophe Leroy
2022-12-15 12:47     ` Michael Ellerman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.