8528ecbde8
* pipe.cc (fhandler_pipe::init): Move more intelligence here. (fhandler_pipe::create): Simplify based on above change. * tty.cc (tty_list::allocate): Remove non-NT code.
40 lines
680 B
Bash
Executable File
40 lines
680 B
Bash
Executable File
#!/bin/bash
|
|
lib=$1; shift
|
|
as=$1; shift
|
|
ar=$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
|
|
if [[ "$newsym" = *:d ]]; then
|
|
newsym=${newsym%:d}
|
|
else
|
|
cat <<EOF
|
|
.text
|
|
.global _$newsym
|
|
_$newsym:
|
|
jmp *__imp__$oldsym
|
|
EOF
|
|
fi > newsym.dir/$newsym.s
|
|
|
|
cat <<EOF >> newsym.dir/$newsym.s
|
|
.section .idata\$7
|
|
.long __head_cygwin1_dll
|
|
|
|
.section .idata\$5
|
|
.global __imp__$newsym
|
|
__imp__$newsym: .rva 1f
|
|
|
|
.section .idata\$4
|
|
.rva 1f
|
|
|
|
.section .idata\$6
|
|
1: .short 2
|
|
.asciz "$oldsym"
|
|
EOF
|
|
$as -o newsym.dir/$newsym.o newsym.dir/$newsym.s
|
|
done
|
|
$ar crus $lib newsym.dir/*.o
|