34 lines
		
	
	
		
			590 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			590 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
lib=$1; shift
 | 
						|
as=$1; shift
 | 
						|
ar=$1; shift
 | 
						|
rm -rf newsym.dir
 | 
						|
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 .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
 | 
						|
$ar crus $lib newsym.dir/*.o
 |