Just FYI: powerpc64 10.1-RELEASE WITH_DEBUG_FILES= vs. building clang during buildworld: unknown relocation type <NUMBER> for symbol *UND*
Mark Millard
markmi at dsl-only.net
Mon Nov 24 21:20:25 UTC 2014
Just FYI: The powerpc64 10.1-RELEASE status of attempting to build clang during buildworld when WITH_DEBUG_FILES is defined is as follows:
/usr/obj/usr/home/markmi/src_10_1_stable/tmp/usr/bin/ld: /usr/obj/usr/home/markmi/src_10_1_stable/usr.bin/clang/clang/../../../lib/clang/libclangstaticanalyzercheckers/libclangstaticanalyzercheckers.a(MallocOverflowSecurityChecker.o): unknown relocation type 206831616 for symbol *UND*
/usr/obj/usr/home/markmi/src_10_1_stable/tmp/usr/bin/ld: /usr/obj/usr/home/markmi/src_10_1_stable/usr.bin/clang/clang/../../../lib/clang/libclangstaticanalyzercheckers/libclangstaticanalyzercheckers.a(MallocOverflowSecurityChecker.o): unknown relocation type 203948032 for symbol *UND*
/usr/obj/usr/home/markmi/src_10_1_stable/tmp/usr/bin/ld: /usr/obj/usr/home/markmi/src_10_1_stable/usr.bin/clang/clang/../../../lib/clang/libclangstaticanalyzercheckers/libclangstaticanalyzercheckers.a(MallocOverflowSecurityChecker.o): unknown relocation type 204210176 for symbol *UND*
...
Context:
I produced the above via the following from booting a 10.1-RELEASE variant that had WITHOUT_CLANG and WITH_DEBUG_FILES. First I'll list the failing build's information then later then 10.1-RELEASE information.
Failing build's information...
root at FBSDG5M1:~markmi/src_10_1_stable # make buildworld kernel KERNCONF=GENERIC64vtsc INSTKERNNAME=kernel10.1S
(-j 8 failed but hid the above messages so I re-ran as above.) I used building 10.1-STABLE as a basis for the experiment:
root at FBSDG5M1:~markmi/src_10_1_stable # svnlite info
Path: .
Working Copy Root Path: /usr/home/markmi/src_10_1_stable
URL: https://svn0.us-west.freebsd.org/base/stable/10
Relative URL: ^/stable/10
Repository Root: https://svn0.us-west.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 274942
Node Kind: directory
Schedule: normal
Last Changed Author: grehan
Last Changed Rev: 274942
Last Changed Date: 2014-11-23 17:25:19 -0800 (Sun, 23 Nov 2014)
src.conf was not my normal one but was an experiment for seeing if I could omit WITHOUT_CLANG despite using WITH_DEBUG_FILES:
root at FBSDG5M1:~markmi/src_10_1_stable # more /etc/src.conf
WITH_DEBUG_FILES=
root at FBSDG5M1:~markmi/src_10_1_stable # more /etc/make.conf
WRKDIRPREFIX=/usr/obj/portswork
WITH_DEBUG=
root at FBSDG5M1:~markmi/src_10_1_stable # more sys/powerpc/conf/GENERIC64vtsc
include GENERIC64
ident GENERIC64vtsc
nooptions PS3 #Sony Playstation 3 HACK!!! to allow sc
options DDB # HACK!!! to dump early crash info
options GDB # HACK!!! ...
#options KTR
#options KTR_MASK=KTR_TRAP
#options KTR_CPUMASK=0xF
#options KTR_VERBOSE
# HACK!!! to allow sc for 2560x1440 display on Radeon X1950 that vt historically mishandled during booting
device sc
#device kbdmux # HACK: already listed by vt
options SC_OFWFB # OFW frame buffer
options SC_DFLT_FONT # compile font in
makeoptions SC_DFLT_FONT=cp437
root at FBSDG5M1:~markmi/src_10_1_stable # svnlite status
M sys/ddb/db_main.c
M sys/ddb/db_script.c
M sys/powerpc/ofw/ofw_machdep.c
M sys/powerpc/ofw/ofwcall64.S
This was attempted from a previously built 10.1-RELEASE context documented below...
(Note that freebsd-version reports on /boot/kernel even if I use "boot KERNELNAME" at the open firmware prompt to pick an alternate kernel, such as "boot kernel10.1S" for /boot/kernel10.1S . But in this case I did not and /boot/kernel -k is accurate. One seems to need to careful with reporting freebsd-version output only when it is appropriate/accurate.)
root at FBSDG5M1:/usr/src # freebsd-version -ku
10.1-RELEASE
10.1-RELEASE
root at FBSDG5M1:/usr/src # svnlite info
Path: .
Working Copy Root Path: /usr/src
URL: https://svn0.us-west.freebsd.org/base/releng/10.1
Relative URL: ^/releng/10.1
Repository Root: https://svn0.us-west.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 274401
Node Kind: directory
Schedule: normal
Last Changed Author: gjb
Last Changed Rev: 274401
Last Changed Date: 2014-11-11 11:52:24 -0800 (Tue, 11 Nov 2014)
I was originally not specific about 274401 when I svnlite switch'd to releng/10.1 and the "Revision" showed a later number but Last Changed Rev showed 274401. I "fixed" that to produce the above with:
root at FBSDG5M1:/usr/src # svnlite switch ^/releng/10.1 -r 274401
At revision 274401.
and then the Revision in svnlite info also started to show 274401. The original (too large) Revision also seems to have shown up in the uname -a output when teh kernel was built with such a mis-matched status instead of uname -a showing the Last Changed Rev figure. (I would have expected Last Changed Rev given the overall behavior of things.) I omit uname -a but show svnlite status for /usr/src and my GENERIC64 variant (GENERIC64vtsc) instead.
root at FBSDG5M1:/usr/src # svnlite status
? .snap
? restoresymtable
M sys/ddb/db_main.c
M sys/ddb/db_script.c
M sys/powerpc/ofw/ofw_machdep.c
M sys/powerpc/ofw/ofwcall64.S
root at FBSDG5M1:/usr/src # more sys/powerpc/conf/GENERIC64vtsc
include GENERIC64
ident GENERIC64vtsc
nooptions PS3 #Sony Playstation 3 HACK!!! to allow sc
options DDB # HACK!!! to dump early crash info
options GDB # HACK!!! ...
#options KTR
#options KTR_MASK=KTR_TRAP
#options KTR_CPUMASK=0xF
#options KTR_VERBOSE
# HACK!!! to allow sc for 2560x1440 display on Radeon X1950 that vt historically mishandled during booting
device sc
#device kbdmux # HACK: already listed by vt
options SC_OFWFB # OFW frame buffer
options SC_DFLT_FONT # compile font in
makeoptions SC_DFLT_FONT=cp437
Here are src.conf and make.conf copies of as they were when I built 10.1-RELEASE (before the 10.1-STABLE experiment from/with ~markmi/src_10_1_stable):
root at FBSDG5M1:~/fbsd_init_materials # more etc_src.conf_debug_gcc
WITH_DEBUG_FILES=
WITHOUT_CLANG=
root at FBSDG5M1:~/fbsd_init_materials # more etc_make.conf_debug_gcc
WRKDIRPREFIX=/usr/obj/portswork
WITH_DEBUG=
The 10.1-RELEASE build was done with the sequence:
root at FBSDG5M1:/usr/src # make -j 8 buildworld kernel KERNCONF=GENERIC64vtsc; make installworld
Note added later: I have since rebuilt my 10.1-RELEASE /boot/kernel so that uname -a reports the accurate 274401M status based on svnlite info's Revision now being accurate:
$ uname -a
FreeBSD FBSDG5M1 10.1-RELEASE FreeBSD 10.1-RELEASE #1 r274401M: Mon Nov 24 12:24:29 PST 2014 markmi at FBSDG5M1:/usr/obj/usr/src/sys/GENERIC64vtsc powerpc
To do that build I put /etc/src.conf back to listing WITHOUT_CLANG= and used:
root at FBSDG5M1:/usr/src # make -j 8 kernel KERNCONF=GENERIC64vtsc
to do the build.
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-ppc
mailing list