chiark / gitweb /
[PATCH] klibc: version 0.214
[elogind.git] / klibc / klcc.in
index bdd03e73b3399642fd7cba15e273d5330f64d4e5..d8721c9a6bacda613cc19cff9c52dd83c0643b62 100644 (file)
@@ -77,6 +77,11 @@ sub mysystem(@) {
     return system(@_);
 }
 
+#
+# Initialization
+# 
+open(NULL, '+<', '/dev/null') or die "$0: cannot open /dev/null\n";
+
 #
 # Begin parsing options.
 #
@@ -191,10 +196,17 @@ if ( $operation ne '' ) {
        }
     }
 
+    # Get the libgcc pathname for the *current* gcc
+    open(LIBGCC, '-|', $CC, @ccopt, '-print-libgcc-file-name')
+       or die "$0: cannot get libgcc filename\n";
+    $libgcc = <LIBGCC>;
+    chomp $libgcc;
+    close(LIBGCC);
+
     if ( $shared ) {
-       $rv = mysystem($LD, @LDFLAGS, @sharedopt, @ldopt, @outopt, @objs, @sharedlib);
+       $rv = mysystem($LD, @LDFLAGS, @sharedopt, @ldopt, @outopt, @objs, @sharedlib, $libgcc);
     } else {
-       $rv = mysystem($LD, @LDFLAGS, @staticopt, @ldopt, @outopt, @objs, @staticlib);
+       $rv = mysystem($LD, @LDFLAGS, @staticopt, @ldopt, @outopt, @objs, @staticlib, $libgcc);
     }
 
     unlink(@rmobjs);