------- Comment #46 from developer at sandoe-acoustics dot co dot uk 2009-09-26 17:28 ------- Created an attachment (id=18657) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18657&action=view) much simplified version of the ext patch
OK. Jack made a Good Catch there... There is a much simpler way of doing this; using the -R option on strip one can make an "ext" lib that refers to all the symbols not in the 10.X.dylib (using the ver files that generate those stub libs). So I now generate two new stub libs (_ext.10.X.dylib) that contain the set of missing symbols. The stub files refer to the newly built libgcc_s.1.dylib installed along with gcc. I don't know that "scalable" is exactly the right term - but this is '0 maintenance' unless a new version of 10.5 or 10.4 libgcc_s is made (unlikely at this stage). bootstrapped on i686-apple-darwin9, and x86_64-apple-darwin10 (reg-testing on both). more than 20 lines... but not too too much. Log: *libgcc/configure.ac: Make sure the the rpath is correct in build tree libraries when using --enable-version-specific-runtime-libs. *libgcc/configure: Regenerated. *libgcc/config/t-slibgcc-darwin: Don't make the _s.10X.dylib stubs unless we're building for /usr/lib. Build libgcc_ext.10.X.dylib containing newer symbols *gcc/config/darwin.opt: Add muse-shared-libgcc-ext to hide behind for testing. *gcc/config/darwin.h: use libgcc_ext.10.X to provide newer gcc functionality to older systems there are NO new files needed. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39888