This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/41605] Static linking of libgcc/libgfortran/libstdc++ can cause inconsistent symbol resolution.
- From: "developer at sandoe-acoustics dot co dot uk" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Oct 2009 15:56:49 -0000
- Subject: [Bug target/41605] Static linking of libgcc/libgfortran/libstdc++ can cause inconsistent symbol resolution.
- References: <bug-41605-17110@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from developer at sandoe-acoustics dot co dot uk 2009-10-06 15:56 -------
Created an attachment (id=18727)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18727&action=view)
make sure that static linking of libraries is consistent
this patch provides:
(a) new spec with direct resolution for libgomp that provides a static version
LINK_COMMAND_SPECS for darwin and darwin9+
(b) file replacement specs for libstdc++.
dependencies:
if static libgcc => link libgomp, libgfortran, libstdc++ statically
if static libstdc++ || libgfortran || libgcc link libgomp statically.
bootstrapped on powerpc-apple-darwin8, i686-apple-darwin9.
object checked by hand with otool for correct library refs, reg-tested for
check-target-libgomp {m32,m64}{-static-libgcc,
static-libgfortran,static-libstdc++,}
Note static-libstdc++ will not work without changes on PR4194/PR4196
log:
*gcc/config/darwin.h(LINK_COMMAND_SPEC): Resolve fopenmp specifically
for target
(LINK_SPEC): replace dynamic libraries by static equivalents where
necessary
*gcc/config/darwin9.h(LINK_COMMAND_SPEC): Resolve fopenmp specifically
for target
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41605