Date: Fri, 12 Feb 2016 21:59:36 -0800 From: Mark Millard <markmi@dsl-only.net> To: Konstantin Belousov <kib@freebsd.org>, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org> Subject: I've submitted bug 207148 for buildworld using the old /usr/include/sys/proc.h (so 'P_KPROC' undeclared) Message-ID: <6076DED9-14B4-4DC1-AB21-7C6CA8FF3CF6@dsl-only.net>
next in thread | raw e-mail | index | archive | help
A minor variation on what I wrote in the bug description is: This traces back to the build using /usr/include instead of (in my = context) /usr/obj/gcc421/powerpc.powerpc/usr/src/tmp/usr/include (or an = equivalent) and so picking up an old sys/proc.h file. The detailed = evidence follows. Note the lack of any -I or -isysroot or other such in = the cc command below. svnlite update -r295453 /usr/src (for an ^/head context) then a = buildworld buildkernel got: > --- all_subdir_bin --- > --- pkill.o --- > cc -O2 -pipe -g -MD -MP -MF.depend.pkill.o -MTpkill.o -std=3Dgnu99 = -fstack-protector-strong -Wsystem-headers -Wall -Wno-format-y2k -W = -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes = -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch = -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline = -Wnested-externs -Wredundant-decls -Wold-style-definition = -Wno-pointer-sign -c /usr/src/bin/pkill/pkill.c -o pkill.o > . . . > --- all_subdir_bin --- > /usr/src/bin/pkill/pkill.c: In function 'main': > /usr/src/bin/pkill/pkill.c:353: error: 'P_KPROC' undeclared (first use = in this function) > /usr/src/bin/pkill/pkill.c:353: error: (Each undeclared identifier is = reported only once > /usr/src/bin/pkill/pkill.c:353: error: for each function it appears = in.) > *** [pkill.o] Error code 1 >=20 > make[4]: stopped in /usr/src/bin/pkill > 1 error >=20 > make[4]: stopped in /usr/src/bin/pkill > *** [all_subdir_pkill] Error code 2 What is happening is: /usr/include/sys/proc.h still has P_KTHREAD (buildworld used this) /usr/obj/gcc421/powerpc.powerpc/usr/src/tmp/usr/include/sys/proc.h has = P_KPROC /usr/src/bin/pkill/Makefile has no CFLAGS+=3D SOMETHING_FOR_INCLUDE_PATH = . So it depends completely on context for directing where to find the = file for: > #include <sys/proc.h> but that context ends up contributing nothing and so pure default path = rules are used --which picks up the still-old /usr/include/sys/proc.h = file. Stop reading here unless you want more context details. src.conf content (make.conf empty): > TO_TYPE=3Dpowerpc > KERNCONF=3DGENERICvtsc-NODEBUG > TARGET=3Dpowerpc > .if ${.MAKE.LEVEL} =3D=3D 0 > TARGET_ARCH=3D${TO_TYPE} > .export TARGET_ARCH > .endif > WITH_FAST_DEPEND=3D > WITH_LIB32=3D > WITH_BOOT=3D > COMPILER_TYPE=3Dgcc > WITHOUT_GCC_BOOTSTRAP=3D > WITH_GCC=3D > WITH_GCC_IS_CC=3D > WITH_GNUCXX=3D > WITHOUT_LIBCPLUSPLUS=3D > WITHOUT_CLANG_BOOTSTRAP=3D > WITHOUT_CLANG=3D > WITHOUT_CLANG_IS_CC=3D > WITHOUT_CLANG_FULL=3D > WITHOUT_CLANG_EXTRAS=3D > NO_WERROR=3D > MALLOC_PRODUCTION=3D > WITH_DEBUG_FILES=3D > # freebsd-version -ku; uname -aKU > 11.0-CURRENT > 11.0-CURRENT > FreeBSD FBSDG4C0 11.0-CURRENT FreeBSD 11.0-CURRENT #6 r295350M: Sat = Feb 6 13:54:57 PST 2016 = root@FBSDG4C0:/usr/obj/gcc421/powerpc.powerpc/usr/src/sys/GENERICvtsc-NODE= BUG powerpc 1100097 1100097 Command used to buildworld buildkernel: > env __MAKE_CONF=3D/root/src.configs/make.conf = SRC_ENV_CONF=3D/root/src.configs/src.conf.powerpc-gcc421.powerpc-host = MAKEOBJDIRPREFIX=3D/usr/obj/gcc421/powerpc.powerpc make -j 6 buildworld = buildkernel (This is a classic self-hosted gcc 4.2.1 TARGET_ARCH=3Dpowerpc context, = not a clang 3.8.0 based experiment and not a cross build.) =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6076DED9-14B4-4DC1-AB21-7C6CA8FF3CF6>