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-ports mailing list