mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-18 20:39:33 +08:00
* 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>
|
||||
|
||||
* newsym: Oops. Revert below change.
|
||||
|
@ -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
|
||||
|
@ -5,7 +5,7 @@ ar=$1; shift
|
||||
ranlib=$1; shift
|
||||
grepit=`echo $* | sed 's/ /\$|__imp__/g'`
|
||||
[ -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
|
||||
$ar d $lib $objs
|
||||
$ranlib $lib
|
||||
|
Loading…
x
Reference in New Issue
Block a user