Full support for Ginger Console
[linux-ginger.git] / scripts / makelst
blobe6581496d820741fe3a80d0de3c4ac57498a2e4f
1 #!/bin/sh
2 # A script to dump mixed source code & assembly
3 # with correct relocations from System.map
4 # Requires the following lines in makefile:
5 #%.lst: %.c
6 # $(CC) $(c_flags) -g -c -o $*.o $< &&
7 # $(srctree)/scripts/makelst $*.o System.map $(OBJDUMP) > $@
9 # Copyright (C) 2000 IBM Corporation
10 # Author(s): DJ Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com)
11 # William Stearns <wstearns@pobox.com>
14 # awk style field access
15 field() {
16 shift $1 ; echo $1
19 t1=`$3 --syms $1 | grep .text | grep -m1 " F "`
20 if [ -n "$t1" ]; then
21 t2=`field 6 $t1`
22 if [ ! -r $2 ]; then
23 echo "No System.map" >&2
24 else
25 t3=`grep $t2 $2`
26 t4=`field 1 $t3`
27 t5=`field 1 $t1`
28 t6=`printf "%lu" $((0x$t4 - 0x$t5))`
31 $3 -r --source --adjust-vma=${t6:-0} $1