Date: Mon, 14 Jun 2021 16:26:51 -0700 From: Mark Millard via freebsd-ppc <freebsd-ppc@freebsd.org> To: al@familysafeinternet.com Cc: freebsd-ppc@freebsd.org Subject: Re: compiling error Message-ID: <531AC187-0031-4273-879C-516C5284396D@yahoo.com> In-Reply-To: <77ae252f-a06e-07e0-8d8f-d8ec87d2689e@datazap.net> References: <77ae252f-a06e-07e0-8d8f-d8ec87d2689e@datazap.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Jun-14, at 15:05, al at familysafeinternet.com wrote: > I hope that someone can help me. I broke my install of FreeBSD and I = went back to my G3 and tried to compile a new kernel so that I would not = need the serial console anymore, but even if I try to compile the old = kernel it still stops with: >=20 > -------------------------------------------------------------- > >>> stage 3.1: building everything > -------------------------------------------------------------- > cd /usr/obj/usr/src/powerpc.powerpc64/sys/AMIGAX5000; = MACHINE_ARCH=3Dpowerpc64 MACHINE=3Dpowerpc CPUTYPE=3D CC=3D"cc = --sysroot=3D/usr/obj/usr/src/powerpc.powerpc64/tmp = -B/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/bin" CXX=3D"c++ = --sysroot=3D/usr/obj/usr/src/powerpc.powerpc64/tmp = -B/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/bin" CPP=3D"cpp = --sysroot=3D/usr/obj/usr/src/powerpc.powerpc64/tmp = -B/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/bin" AS=3D"as" AR=3D"ar" = LD=3D"ld" LLVM_LINK=3D"" NM=3Dnm OBJCOPY=3D"objcopy" RANLIB=3Dranlib = STRINGS=3D SIZE=3D"size" INSTALL=3D"sh /usr/src/tools/install.sh" = PATH=3D/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/sbin:/usr/obj/usr/src/po= werpc.powerpc64/tmp/usr/bin:/usr/obj/usr/src/powerpc.powerpc64/tmp/legacy/= usr/sbin:/usr/obj/usr/src/powerpc.powerpc64/tmp/legacy/usr/bin:/usr/obj/us= r/src/powerpc.powerpc64/tmp/legacy/bin::/sbin:/bin:/usr/sbin:/usr/bin = make -m /usr/src/share/mk KERNEL=3Dkernel all -DNO_MODULES_OBJ > machine -> /usr/src/sys/powerpc/include > cc --sysroot=3D/usr/obj/usr/src/powerpc.powerpc64/tmp = -B/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/bin -c -O -pipe -g = -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include = -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS = -include opt_global.h -msoft-float -fPIC -fno-omit-frame-pointer -MD = -MF.depend.genoffset.o -MTgenoffset.o -mno-altivec -msoft-float = -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall = -Wredundant-decls -Wnested-externs -Wstrict-prototypes = -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef = -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs = -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-uninitialized = -Wno-format-zero-length -fms-extensions -finline-limit=3D15000 --param = inline-unit-growth=3D100 --param large-function-growth=3D1000 = -fms-extensions -Wa,-many -mcall-aixdesc -std=3Diso9899:1999 = /usr/src/sys/kern/genoffset.c > /usr/src/sys/kern/genoffset.c:1: error: -fPIC and -mcall-aixdesc are = incompatible > *** Error code 1 >=20 > Stop. > make[2]: stopped in /usr/obj/usr/src/powerpc.powerpc64/sys/AMIGAX5000 > *** Error code 1 >=20 > Stop. > make[1]: stopped in /usr/src > *** Error code 1 >=20 > Stop. > make: stopped in /usr/src >=20 > I am using source from before we switched to clang. >=20 > The issue is with the offset, but I don't know why it is suddenly a = problem, because it compiled before. Any thoughts? >=20 You make no mention of what svn or git branch and version of the FreeBSD source is being compiled, no output from svnlite or git indicating such. You do not show anything like the "uname -apKU" output for the context doing the build. Looks to me like ${MACHINE_CPUARCH} =3D=3D "powerpc" got -fPIC in sys/conf/kmod.mk in svn path=3D/head/; revision=3D356114=20 at 2019-12-27 04:07:51 +0000. -mcall-aixdesc is older then that if I understand right. But a G3 means 32-bit powerpc is doing the build while you are targeting something under: /usr/obj/usr/src/powerpc.powerpc64/ So it is a form of cross-build (not even a self-hosted limiting condition one: one that produces incompatible code). You give no details of how you set up the cross-build. My guess is the cross-build attempt is using compiler option combinations that would work in a native powerpc64 environment but not with the 32-bit powerpc toolchain that is in use. Or: the build might have mixed the 32-bit context options and the powerpc64 context options by having some tests that incorrectly tests host context vs. target context for choosing options. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?531AC187-0031-4273-879C-516C5284396D>