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