This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/41605] Static linking of libgcc/libgfortran/libstdc++ can cause inconsistent symbol resolution.



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]