Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Nov 2014 13:20:15 -0800
From:      Mark Millard <markmi@dsl-only.net>
To:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   Just FYI: powerpc64 10.1-RELEASE WITH_DEBUG_FILES= vs. building clang during buildworld: unknown relocation type <NUMBER> for symbol *UND*
Message-ID:  <A7D52E73-1C17-448D-B4C5-5FF7C856A2CB@dsl-only.net>

next in thread | raw e-mail | index | archive | help
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(Mall=
ocOverflowSecurityChecker.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(Mall=
ocOverflowSecurityChecker.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(Mall=
ocOverflowSecurityChecker.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@FBSDG5M1:~markmi/src_10_1_stable # make buildworld kernel =
KERNCONF=3DGENERIC64vtsc INSTKERNNAME=3Dkernel10.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@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@FBSDG5M1:~markmi/src_10_1_stable # more /etc/src.conf
WITH_DEBUG_FILES=3D

root@FBSDG5M1:~markmi/src_10_1_stable # more /etc/make.conf
WRKDIRPREFIX=3D/usr/obj/portswork
WITH_DEBUG=3D

root@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=3DKTR_TRAP
#options        KTR_CPUMASK=3D0xF
#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=3Dcp437

root@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@FBSDG5M1:/usr/src # freebsd-version -ku
10.1-RELEASE
10.1-RELEASE

root@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@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@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@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=3DKTR_TRAP
#options        KTR_CPUMASK=3D0xF
#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=3Dcp437

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@FBSDG5M1:~/fbsd_init_materials # more etc_src.conf_debug_gcc
WITH_DEBUG_FILES=3D
WITHOUT_CLANG=3D

root@FBSDG5M1:~/fbsd_init_materials # more etc_make.conf_debug_gcc
WRKDIRPREFIX=3D/usr/obj/portswork
WITH_DEBUG=3D

The 10.1-RELEASE build was done with the sequence:

root@FBSDG5M1:/usr/src # make -j 8 buildworld kernel =
KERNCONF=3DGENERIC64vtsc; 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@FBSDG5M1:/usr/obj/usr/src/sys/GENERIC64vtsc  powerpc

To do that build I put /etc/src.conf back to listing WITHOUT_CLANG=3D =
and used:

root@FBSDG5M1:/usr/src # make -j 8 kernel KERNCONF=3DGENERIC64vtsc

to do the 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?A7D52E73-1C17-448D-B4C5-5FF7C856A2CB>