powerpc/178038: clang++ fails to produce a binary in powerpc64
Julio Merino
julio+host-g5-jmmv at meroh.net
Mon Apr 22 03:10:01 UTC 2013
>Number: 178038
>Category: powerpc
>Synopsis: clang++ fails to produce a binary in powerpc64
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ppc
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Apr 22 03:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: Julio Merino
>Release: FreeBSD 9.1-STABLE powerpc
>Organization:
>Environment:
System: FreeBSD g5.meroh.net 9.1-STABLE FreeBSD 9.1-STABLE #2 r249701M: Sat Apr 20 13:44:59 EDT 2013 root at g5.meroh.net:/usr/obj/usr/src/sys/GENERIC64 powerpc
>Description:
In my attempt to build Kyua on FreeBSD 9.1 powerpc64 with clang++,
I have encountered a problem that smells like a compiler or toolchain
issue. I don't know if this is a clang issue, or a clang issue only
on powerpc64, but I don't have access to any other FreeBSD system to
compare the results to. FWIW, building Kyua with GCC on this very
same installation works just fine.
I'm using Kyua sources from the upstream git repository, which can be
found on http://code.google.com/p/kyua . My FreeBSD 9.1 installation
is built from sources from yesterday (20130420).
The error I've got from the build is as follows, which I've tweaked
to use ld's -v flag for further details.
This problem if fully reproducible now, so please, if you need any
further details or intermediate files to debug this issue further, do
not hesitate to ask!
=====
make all-am
clang++ -v -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include -I/usr/local/i
nclude/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include/lua51 -I/home/jmmv/os/local/include -I/usr/local/include -O2 -D_FORTIFY_SOURCE=2 -Wall -Wcast-qual -Wextra -Wpointer-arith -Wredundant-decls -Wreturn-type -Wshadow -Wsign-compare -Wswitch -Wwrite-strings -Werror -Wabi -Wctor-dtor-privacy -Wno-deprecated -Wnon-virtual-dtor -Woverloaded-virtual -Wreorder -Wsign-promo -Wsynth -Wl,-R/home/jmmv/os/local/lib -o kyua kyua-main.o libcli.a libengine.a libstore.a libengine.a libutils.a -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib -lsqlite3 libutils.a -
L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -l!
lutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib -lsqlite3 libstore.a libengine.a libutils.a -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib -lsqlite3 libutils.a -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib -lsqlite3 libengine.a libstore.a libengine.a libutils.a -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib -lsqlite3 libutils.a -L/usr/local/lib/lua51 -llua -lm
-L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib -lsqlite3 libutils.a -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib/lua51 -llua -lm -L/home/jmmv/os/local/lib -llutok -L/usr/local/lib -lsqlite3
FreeBSD clang version 3.2 (tags/RELEASE_32/final 170710) 20121221
Target: powerpc64-unknown-freebsd9.1
Thread model: posix
"/usr/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --enable-new-dtags -o kyua /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib -L/usr/local/lib/lua51 -
L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib/lua51 -L/home/jmmv/os/local/lib -L/usr/local/lib -L/usr/lib -R/home/jmmv/os/local/lib kyua-main.o libcli.a libengine.a libstore.a libengine.a libutils.a -llua -lm -llutok -llua -lm -llutok -llua -lm -llutok -lsqlite3 libutils.a -llua -lm -llutok -llua -lm -llutok -llua -lm -llutok -lsqlite3 libstore.a libengine.a libutils.a -llua -lm -llutok -llua -lm -llutok -llua -lm -llutok -lsqlite3 libutils.a -llua -lm -llutok -llua -lm -llutok -llua -lm -llutok -lsqlite3 libengine.a libstore.a libengine.a libutils.a -llua -lm -llutok -llua -lm -llutok -llua -lm -llutok -lsqlite3 libutils.a -llua -lm -llutok -llua -lm -llutok -llua -lm -llutok -lsqlite3 libutils.a -llua -lm -llutok -llua -lm -llutok -llua -lm -llutok -lsqlite3 -lstdc++
-lm -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-!
needed -lgcc_s --no-as-needed /usr/lib/crtend.o /usr/lib/crtn.o
/usr/bin/ld: kyua: section `.got' can't be allocated in segment 3
/usr/bin/ld: final link failed: Bad value
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
*** [kyua] Error code 1
Stop in /home/jmmv/os/kyua/src.
*** [all] Error code 1
Stop in /home/jmmv/os/kyua/src.
=====
>How-To-Repeat:
Supposedly:
1) Fetch Kyua git sources from upstream.
2) Set CC=clang CXX=clang++ CPP=clang-cpp .
3) Configure and attempt to build the package. You'll get the error
above at the very end of the process, during linking.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ppc
mailing list