diff options
author | Christopher Faylor <me@cgf.cx> | 2003-07-07 05:23:35 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2003-07-07 05:23:35 +0000 |
commit | 0e5db0bfe8f7c4260dbdf651b169c6d3a0f8773c (patch) | |
tree | 86263d53516bade69a1bdf3d51cbbc934c870af7 /winsup/cygwin/newsym | |
parent | c522b9078cb61dfd4fc2752f9b9f6a9e73d60575 (diff) | |
download | newlib-0e5db0bfe8f7c4260dbdf651b169c6d3a0f8773c.zip newlib-0e5db0bfe8f7c4260dbdf651b169c6d3a0f8773c.tar.gz newlib-0e5db0bfe8f7c4260dbdf651b169c6d3a0f8773c.tar.bz2 |
* 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.
Diffstat (limited to 'winsup/cygwin/newsym')
-rwxr-xr-x | winsup/cygwin/newsym | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/winsup/cygwin/newsym b/winsup/cygwin/newsym index 688a8c6..b0f68fe 100755 --- a/winsup/cygwin/newsym +++ b/winsup/cygwin/newsym @@ -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 |