25 lines
479 B
Plaintext
25 lines
479 B
Plaintext
|
#!/bin/sh -x
|
||
|
lib=$1; shift
|
||
|
as=$1; shift
|
||
|
ar=$1; shift
|
||
|
ranlib=$1; shift
|
||
|
rm -rf newsym.dir
|
||
|
trap "rm -rf newsym.dir" 0 1 2 15
|
||
|
mkdir newsym.dir
|
||
|
while [ -n "$1" ]; do
|
||
|
newsym=$1; shift
|
||
|
oldsym=$1; shift
|
||
|
cat <<EOF > newsym.dir/$newsym.s
|
||
|
.section .idata$6
|
||
|
.extern __imp__$oldsym
|
||
|
.extern __head_cygwin1_dll
|
||
|
.section .text
|
||
|
.global _$newsym
|
||
|
_$newsym:
|
||
|
jmp *__imp__$oldsym
|
||
|
EOF
|
||
|
$as -o newsym.dir/$newsym.o newsym.dir/$newsym.s
|
||
|
done
|
||
|
$ar cru $lib newsym.dir/*.o
|
||
|
$ranlib $lib
|