aboutsummaryrefslogtreecommitdiff
path: root/binutils-1.9/libconvert
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-1.9/libconvert')
-rwxr-xr-xbinutils-1.9/libconvert46
1 files changed, 46 insertions, 0 deletions
diff --git a/binutils-1.9/libconvert b/binutils-1.9/libconvert
new file mode 100755
index 0000000..4b3bda9
--- /dev/null
+++ b/binutils-1.9/libconvert
@@ -0,0 +1,46 @@
+#! /bin/sh
+
+if [ $# != 2 ]
+then
+ echo 'usage: libconvert from.a to.a'
+ exit 1
+fi
+
+fromlib=$1
+tolib=$2
+
+#
+# Convert coff libc to a coff-encapsulated libc
+# suitable for linking with the GNU linker.
+#
+# Extract all members of /lib/libc.a (using coff ar).
+# Convert each using robotussin.
+# Create new libc (using gnu ar) with members in the same order as coff libc.
+
+# set -e makes this script exit if any command gets an error
+set -e
+
+case $fromlib in
+/*) rel_fromlib=$fromlib ;;
+*) rel_fromlib=../$fromlib ;;
+esac
+
+case $tolib in
+/*) rel_tolib=$tolib ;;
+*) rel_tolib=../$tolib ;;
+esac
+
+rm -rf libconvert-tmp
+mkdir libconvert-tmp
+cd libconvert-tmp
+/bin/ar x $rel_fromlib
+for i in *
+do
+ echo $i
+ ../robotussin $i x
+ mv x $i
+done
+rm -f $rel_tolib
+../ar rs $rel_tolib `/bin/ar t $rel_fromlib`
+cd ..
+rm -rf libconvert-tmp