#!/bin/bash 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 if [[ "$newsym" = *:d ]]; then newsym=${newsym%:d} else cat < newsym.dir/$newsym.s cat <> newsym.dir/$newsym.s .section .idata\$7 .long __head_cygwin1_dll .section .idata\$5 .global __imp__$newsym __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