[Bug libstdc++/58638] New: libstdc++ builds as non-PIC when --with-pic is specified
skunk at iskunk dot org
gcc-bugzilla@gcc.gnu.org
Sun Oct 6 03:40:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58638
Bug ID: 58638
Summary: libstdc++ builds as non-PIC when --with-pic is
specified
Product: gcc
Version: 4.8.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: skunk at iskunk dot org
Host: x86_64-unknown-linux-gnu
Target: x86_64-unknown-linux-gnu
Build: x86_64-unknown-linux-gnu
I built GCC 4.8.1 with "--disable-shared --with-pic" so that I can statically
link libgcc/libstdc++ into executables, including shared-library builds.
However, when I attempted to build a C++ shared object on Linux/amd64 using the
new compiler, I got this:
libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/../lib64/crti.o
/opt/tg-opt/gcc--4.8.1--linux64/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.1/crtbeginS.o
.libs/Dqa_wrap.o .libs/dqa_func.o [...]
-L/opt/tg-opt/gcc--4.8.1--linux64/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.1/../../../../lib64
-L/lib/../lib64 -L/usr/lib/../lib64
-L/opt/tg-opt/gcc--4.8.1--linux64/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.1/../../..
/opt/tg/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/libstdc++.a -lm -lc -lgcc
/opt/tg-opt/gcc--4.8.1--linux64/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.1/crtendS.o
/usr/lib/../lib64/crtn.o -march=opteron -mno-3dnow -O0 -pthread -Wl,-soname
-Wl,libdqa_swig_interface.so -o .libs/libdqa_swig_interface.so
/usr/bin/ld:
/opt/tg/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/libstdc++.a(eh_throw.o):
relocation R_X86_64_32S against `a local symbol' can not be used when making a
shared object; recompile with -fPIC
/opt/tg/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/libstdc++.a: could not read
symbols: Bad value
collect2: error: ld returned 1 exit status
make[6]: *** [libdqa_swig_interface.la] Error 1
This is a regression from 4.7.x, when --with-pic correctly caused all (static)
runtime libraries to be built with PIC code.
More information about the Gcc-bugs
mailing list