* 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:
parent
c522b9078c
commit
0e5db0bfe8
|
@ -1,3 +1,10 @@
|
||||||
|
2003-07-07 Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2003-07-06 Christopher Faylor <cgf@redhat.com>
|
2003-07-06 Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
||||||
* newsym: Oops. Revert below change.
|
* newsym: Oops. Revert below change.
|
||||||
|
|
|
@ -1,22 +1,33 @@
|
||||||
#!/bin/sh -x
|
#!/bin/sh
|
||||||
lib=$1; shift
|
lib=$1; shift
|
||||||
as=$1; shift
|
as=$1; shift
|
||||||
ar=$1; shift
|
ar=$1; shift
|
||||||
ranlib=$1; shift
|
ranlib=$1; shift
|
||||||
rm -rf newsym.dir
|
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
|
mkdir newsym.dir
|
||||||
while [ -n "$1" ]; do
|
while [ -n "$1" ]; do
|
||||||
newsym=$1; shift
|
newsym=$1; shift
|
||||||
oldsym=$1; shift
|
oldsym=$1; shift
|
||||||
cat <<EOF > newsym.dir/$newsym.s
|
cat <<EOF > newsym.dir/$newsym.s
|
||||||
.section .idata$6
|
|
||||||
.extern __imp__$oldsym
|
|
||||||
.extern __head_cygwin1_dll
|
|
||||||
.section .text
|
.section .text
|
||||||
.global _$newsym
|
.global _$newsym
|
||||||
|
.global __imp__$newsym
|
||||||
_$newsym:
|
_$newsym:
|
||||||
jmp *__imp__$oldsym
|
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
|
EOF
|
||||||
$as -o newsym.dir/$newsym.o newsym.dir/$newsym.s
|
$as -o newsym.dir/$newsym.o newsym.dir/$newsym.s
|
||||||
done
|
done
|
||||||
|
|
|
@ -5,7 +5,7 @@ ar=$1; shift
|
||||||
ranlib=$1; shift
|
ranlib=$1; shift
|
||||||
grepit=`echo $* | sed 's/ /\$|__imp__/g'`
|
grepit=`echo $* | sed 's/ /\$|__imp__/g'`
|
||||||
[ -n "$grepit" ] && grepit="__imp__$grepit\$"
|
[ -n "$grepit" ] && grepit="__imp__$grepit\$"
|
||||||
objs=`$nm $lib | awk -F: '/^d[0-9]*.o:/ {obj=$1} '"/$grepit/"'{print obj}'`
|
objs=`$nm $lib | awk -F: '/^d*[0-9][0-9]*.o:/ {obj=$1} '"/$grepit/"'{print obj}'`
|
||||||
[ -n "$objs" ] || exit 1
|
[ -n "$objs" ] || exit 1
|
||||||
$ar d $lib $objs
|
$ar d $lib $objs
|
||||||
$ranlib $lib
|
$ranlib $lib
|
||||||
|
|
Loading…
Reference in New Issue