libc/winsup/cygwin/newsym

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