translate: fix non-32bit mul and add with carry
[ia32rtools.git] / run_imp.sh
CommitLineData
60f7539b 1#!/bin/sh
2
74cea048 3grep 'extrn ' $1 | awk '{print $2}' | awk -F: '{print $1}' > $2_implist
4extra_libs=`ls *.lib 2> /dev/null`
60f7539b 5
74cea048 6echo ".data" > $2
7echo ".align 4" >> $2
60f7539b 8
74cea048 9cat $2_implist | while read i; do
beb04e26 10 rm -f $2_tmpsym
60f7539b 11 case $i in
12 __imp_*)
13 si=`echo $i | cut -c 7-`
14 ;;
15 *)
16 si=$i
17 ;;
18 esac
19
74cea048 20 grep "\<_$si\>" /usr/i586-mingw32msvc/lib/lib* $extra_libs | awk '{print $3}' | \
60f7539b 21 while read f; do
22 sym=`i586-mingw32msvc-nm $f | grep "\<_$si\>" | grep ' T ' | awk '{print $3}'`
23 if test -n "$sym"; then
beb04e26 24 echo $sym > $2_tmpsym
60f7539b 25 break
26 fi
27 done
beb04e26 28 sym=`cat $2_tmpsym`
60f7539b 29 if test -z "$sym"; then
30 echo "no file/sym for $i, lf $f"
31 exit 1
32 fi
33
74cea048 34 echo ".globl $i" >> $2
35 echo "$i:" >> $2
36 echo " .long $sym" >> $2
37 echo >> $2
60f7539b 38done