25 lines
479 B
Bash
Executable File
25 lines
479 B
Bash
Executable File
#!/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
|