* newsym: Create objects that are closer to those created by dlltool so as not
to confuse --export-all-symbols. * rmsym: Be a little more accepting of object filenames now that dlltool can create different format files.
This commit is contained in:
@ -1,22 +1,33 @@
|
||||
#!/bin/sh -x
|
||||
#!/bin/sh
|
||||
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
|
||||
# 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
|
||||
.global __imp__$newsym
|
||||
_$newsym:
|
||||
jmp *__imp__$oldsym
|
||||
|
||||
.section .idata\$7
|
||||
.long __head_cygwin1_dll
|
||||
|
||||
.section .idata\$5
|
||||
__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
|
||||
|
Reference in New Issue
Block a user