Re: drivers/media/pci/solo6x10 fails to crosscompile from 32-bit gcc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 09, 2023 at 09:36:02PM +0300, Andrew Randrianasulu wrote:
> ===
> 
> make ARCH=x86_64 CROSS_COMPILE=x86_64-unknown-linux-gnu- -j8
> mkdir -p /dev/shm/linux-2.6/tools/objtool && make O=/dev/shm/linux-2.6
> subdir=tools/objtool --no-print-directory -C objtool
>   INSTALL libsubcmd_headers
>   CALL    scripts/checksyscalls.sh
>   CC [M]  drivers/media/pci/solo6x10/solo6x10-p2m.o
>   CHK     kernel/kheaders_data.tar.xz
>   CC [M]  drivers/media/pci/solo6x10/solo6x10-enc.o
> 
> cc1: out of memory allocating 301930784 bytes after a total of 149139456 bytes

We got the same error since v6.6.16 on 32-bit architectures (i586 and armv7hf),
native compilation with gcc 13.2.1. With the same toolchain on Linux v6.6.15
solo6x10-p2m.c compiles quickly and w/o problems.

Thanks,

ps. Compile log excerpt:

[i586]    gcc-13 -Wp,-MMD,drivers/media/pci/solo6x10/.solo6x10-p2m.o.d -nostdinc -I./arch/x86/include -I./arch/x86/include/generated  -I./include
-I./arch/x86/include/uapi -I./arch/x86/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__ -fmacro-prefix-map=./= -std=gnu11 -fshort-wchar -funsigned-char -fno-common
-fno-PIE -fno-strict-aliasing -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic
-mpreferred-stack-boundary=2 -march=i686 -Wa,-mtune=generic32 -ffreestanding -mstack-protector-guard-reg=fs -mstack-protector-guard-symbol=__stack_chk_guard
-Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -fno-jump-tables
-fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fno-omit-frame-pointer -fno-optimize-sibling-calls
-fno-stack-clash-protection -fzero-call-used-regs=used-gpr -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -falign-functions=4 -fstrict-flex-arrays=3
-fno-strict-overflow -fno-stack-check -fconserve-stack -Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type
-Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wframe-larger-than=2048 -Wno-main
-Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-array-bounds
-Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion
-Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-restrict -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation
-Wno-stringop-overflow -Wno-stringop-truncation -Wno-missing-field-initializers -Wno-type-limits -Wno-shift-negative-value -Wno-maybe-uninitialized
-Wno-sign-compare -g  -DMODULE  -DKBUILD_BASENAME='"solo6x10_p2m"' -DKBUILD_MODNAME='"solo6x10"' -D__KBUILD_MODNAME=kmod_solo6x10 -c -o
drivers/media/pci/solo6x10/solo6x10-p2m.o drivers/media/pci/solo6x10/solo6x10-p2m.c
[i586] cc1: out of memory allocating 135266296 bytes after a total of 235556864 bytes

> make[6]: *** [scripts/Makefile.build:243:
> drivers/media/pci/solo6x10/solo6x10-p2m.o] Ошибка 1
> make[6]: *** Ожидание завершения заданий…
> virtual memory exhausted: Невозможно выделить память
> make[6]: *** [scripts/Makefile.build:243:
> drivers/media/pci/solo6x10/solo6x10-enc.o] Ошибка 1
> make[5]: *** [scripts/Makefile.build:480: drivers/media/pci/solo6x10] Ошибка 2
> make[4]: *** [scripts/Makefile.build:480: drivers/media/pci] Ошибка 2
> make[3]: *** [scripts/Makefile.build:480: drivers/media] Ошибка 2
> make[2]: *** [scripts/Makefile.build:480: drivers] Ошибка 2
> make[1]: *** [/dev/shm/linux-2.6/Makefile:1911: .] Ошибка 2
> make: *** [Makefile:234: __sub-make] Ошибка 2
> 
> ===
> 
> kernel git 6bc986ab839c844e78a2333a02e55f02c9e57935
> 
> cross-gcc
> 
> x86_64-unknown-linux-gnu-gcc --version
> x86_64-unknown-linux-gnu-gcc (GCC) 11.4.0
> 
> cmd line
> 
> make ARCH=x86_64 CROSS_COMPILE=x86_64-unknown-linux-gnu- -j8
> 
> for now I think I'll just disable this driver




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux