25 lines
		
	
	
		
			479 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			479 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
#!/bin/sh -x
 | 
						|
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
 | 
						|
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
 | 
						|
_$newsym:
 | 
						|
	jmp	*__imp__$oldsym
 | 
						|
EOF
 | 
						|
    $as -o newsym.dir/$newsym.o newsym.dir/$newsym.s
 | 
						|
done
 | 
						|
$ar cru $lib newsym.dir/*.o
 | 
						|
$ranlib $lib
 |