* 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