diff options
Diffstat (limited to 'binutils-1.9/libconvert')
| -rwxr-xr-x | binutils-1.9/libconvert | 46 |
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 |
