Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Feb 2016 05:52:44 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 207148] powerpc 11.0-CURRENT: error: 'P_KPROC' undeclared (from wrong include path so old proc.h file used)
Message-ID:  <bug-207148-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D207148

            Bug ID: 207148
           Summary: powerpc 11.0-CURRENT: error: 'P_KPROC' undeclared
                    (from wrong include path so old proc.h file used)
           Product: Base System
           Version: 11.0-CURRENT
          Hardware: ppc
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: markmi@dsl-only.net

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 t=
he
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-ar=
ith
-Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parame=
ter
-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 t=
his
function)
/usr/src/bin/pkill/pkill.c:353: error: (Each undeclared identifier is repor=
ted
only once
/usr/src/bin/pkill/pkill.c:353: error: for each function it appears in.)
*** [pkill.o] Error code 1

make[4]: stopped in /usr/src/bin/pkill
1 error

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
/usr/obj/gcc421/powerpc.powerpc/usr/src/tmp/usr/include/sys/proc.h has P_KP=
ROC

The buildworld processing used /usr/include/sys/proc.h instead of using
/usr/obj/gcc421/powerpc.powerpc/usr/src/tmp/usr/include/sys/proc.h (or an
equivalent).

/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 =C2=
=A06
13:54:57 PST 2016 =C2=A0=C2=A0=C2=A0
root@FBSDG4C0:/usr/obj/gcc421/powerpc.powerpc/usr/src/sys/GENERICvtsc-NODEB=
UG=20
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.)

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-207148-8>