powerpc64 vs. Mesa-10.3.2: .libs/libmesa.a(builtin_functions.o)(.text+???): sibling call optimization to `_???' (various) does not allow automatic multiple TOCs
Mark Millard
markmi at dsl-only.net
Sun Nov 2 20:09:23 UTC 2014
Context: powerpc64/GENERIC64 variant. I list the details at the end of this note, including for "svnlite info /usr/ports" but it is recently svnlite update'd.
graphics/dri complained a lot about "automatic multiple TOCs" and reported needing to recompile with -minimal-toc or -fno-optimize-sibling-calls or to declare such things extern in work/Mesa-10.3.2/src/mesa/drivers/dri/ :
CXXLD mesa_dri_drivers.la
/usr/bin/ld: ../../.libs/libmesa.a(builtin_functions.o)(.text+0x18e0): sibling call optimization to `_ZN9exec_nodenwEmPv' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `_ZN9exec_nodenwEmPv' extern
/usr/bin/ld: ../../.libs/libmesa.a(builtin_functions.o)(.text+0x195c): sibling call optimization to `_ZN9exec_nodenwEmPv' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `_ZN9exec_nodenwEmPv' extern
... (It is a long list of these.)
/usr/bin/ld: ../../.libs/libmesa.a(builtin_functions.o)(.text+0x175b0): sibling call optimization to `_ZN9exec_nodenwEmPv' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `_ZN9exec_nodenwEmPv' extern
/usr/bin/ld: ../../.libs/libmesa.a(builtin_functions.o)(.text+0x17600): sibling call optimization to `_ZN11ir_function13add_signatureEP21ir_function_signature' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `_ZN11ir_function13add_signatureEP21ir_function_signature' extern
/usr/bin/ld: ../../.libs/libmesa.a(builtin_functions.o)(.text+0x26c14): sibling call optimization to `_ZN9exec_nodenwEmPv' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `_ZN9exec_nodenwEmPv' extern
/usr/bin/ld: final link failed: Bad value
Makefile:632: recipe for target 'mesa_dri_drivers.la' failed
gmake[7]: *** [mesa_dri_drivers.la] Error 1
gmake[7]: Leaving directory '/usr/obj/portswork/usr/ports/graphics/dri/work/Mesa-10.3.2/src/mesa/drivers/dri'
Makefile:718: recipe for target 'all-recursive' failed
gmake[6]: *** [all-recursive] Error 1
gmake[6]: Leaving directory '/usr/obj/portswork/usr/ports/graphics/dri/work/Mesa-10.3.2/src/mesa/drivers/dri'
Makefile:3967: recipe for target 'all-recursive' failed
gmake[5]: *** [all-recursive] Error 1
gmake[5]: Leaving directory '/usr/obj/portswork/usr/ports/graphics/dri/work/Mesa-10.3.2/src/mesa'
Makefile:1401: recipe for target 'all' failed
gmake[4]: *** [all] Error 2
gmake[4]: Leaving directory '/usr/obj/portswork/usr/ports/graphics/dri/work/Mesa-10.3.2/src/mesa'
Makefile:518: recipe for target 'all-recursive' failed
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory '/usr/obj/portswork/usr/ports/graphics/dri/work/Mesa-10.3.2/src'
Makefile:585: recipe for target 'all-recursive' failed
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory '/usr/obj/portswork/usr/ports/graphics/dri/work/Mesa-10.3.2'
===> Compilation failed unexpectedly.
Context details:
root at FBSDG5M1:~/fbsd_rebuild_materials # uname -a
FreeBSD FBSDG5M1 10.1-RC4 FreeBSD 10.1-RC4 #101 r273955M: Sat Nov 1 19:50:42 PDT 2014 root at FBSDG5M1:/usr/obj/usr/src/sys/GENERIC64 powerpc
root at FBSDG5M1:~/fbsd_rebuild_materials # svnlite info /usr/src
Path: /usr/src
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: 273955
Node Kind: directory
Schedule: normal
Last Changed Author: gjb
Last Changed Rev: 273874
Last Changed Date: 2014-10-30 15:21:12 -0700 (Thu, 30 Oct 2014)
root at FBSDG5M1:~/fbsd_rebuild_materials # svnlite info /usr/ports
Path: /usr/ports
Working Copy Root Path: /usr/ports
URL: https://svn0.us-west.freebsd.org/ports/head
Relative URL: ^/head
Repository Root: https://svn0.us-west.freebsd.org/ports
Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
Revision: 372060
Node Kind: directory
Schedule: normal
Last Changed Author: madpilot
Last Changed Rev: 372060
Last Changed Date: 2014-11-02 01:44:01 -0800 (Sun, 02 Nov 2014)
root at FBSDG5M1:~/fbsd_rebuild_materials # svnlite status /usr/src/sys
M /usr/src/sys/ddb/db_main.c
M /usr/src/sys/ddb/db_script.c
M /usr/src/sys/powerpc/conf/GENERIC64
M /usr/src/sys/powerpc/ofw/ofw_machdep.c
M /usr/src/sys/powerpc/ofw/ofwcall64.S
/usr/src/sys/powerpc/conf/GENERIC64
root at FBSDG5M1:~/fbsd_rebuild_materials # svnlite diff /usr/src/sys/powerpc/conf/GENERIC64
Index: /usr/src/sys/powerpc/conf/GENERIC64
===================================================================
--- /usr/src/sys/powerpc/conf/GENERIC64 (revision 273955)
+++ /usr/src/sys/powerpc/conf/GENERIC64 (working copy)
@@ -28,7 +28,7 @@
# Platform support
options POWERMAC #NewWorld Apple PowerMacs
-options PS3 #Sony Playstation 3
+#options PS3 #Sony Playstation 3 HACK!!! to allow sc
options MAMBO #IBM Mambo Full System Simulator
options PSERIES #PAPR-compliant systems (e.g. IBM p)
@@ -76,6 +76,12 @@
# Debugging support. Always need this:
options KDB # Enable kernel debugger support.
options KDB_TRACE # Print a stack trace for a panic.
+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
# Make an SMP-capable kernel by default
options SMP # Symmetric MultiProcessor Kernel
@@ -115,6 +121,14 @@
device vt # Core console driver
device kbdmux
+# HACK!!! to allow sc for 2560x1440 display on Radeon X1950 that vt mishandled
+# syscons is a console driver, resembling an SCO console
+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
+
# Serial (COM) ports
device scc
device uart
root at FBSDG5M1:~/fbsd_rebuild_materials # more /etc/make.conf
WITH_DEBUG_FILES=
WITHOUT_CLANG=
WRKDIRPREFIX=/usr/obj/portswork
WITH_DEBUG=
(Note: WITHOUT_CLANG is just because last I tried clang would not build for WITH_DEBUG. And powerpc64/GENERIC64 does not use clang for buildworld/buildkernel yet.)
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-ppc
mailing list