1 #!/bin/sh !! 1 #!/bin/bash 2 # SPDX-License-Identifier: GPL-2.0 << 3 # A script to dump mixed source code & assembl 2 # A script to dump mixed source code & assembly 4 # with correct relocations from System.map 3 # with correct relocations from System.map 5 # Requires the following lines in makefile: !! 4 # Requires the following lines in Rules.make. >> 5 # Author(s): DJ Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) >> 6 # William Stearns <wstearns@pobox.com> 6 #%.lst: %.c 7 #%.lst: %.c 7 # $(CC) $(c_flags) -g -c -o $*.o $< && !! 8 # $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@) -g -c -o $*.o $< 8 # $(srctree)/scripts/makelst $*.o System !! 9 # $(TOPDIR)/scripts/makelst $* $(TOPDIR) $(OBJDUMP) 9 # 10 # 10 # Copyright (C) 2000 IBM Corporation !! 11 # Copyright (C) 2000 IBM Corporation 11 # Author(s): DJ Barrow (djbarrow@de.ibm.com,ba !! 12 # Author(s): DJ Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) 12 # William Stearns <wstearns@pobox.co << 13 # 13 # 14 14 15 # awk style field access !! 15 t1=`$3 --syms $2/$1.o | grep .text | grep " F " | head -n 1` 16 field() { !! 16 t2=`echo $t1 | gawk '{ print $6 }'` 17 shift $1 ; echo $1 !! 17 t3=`grep $t2 $2/System.map` 18 } !! 18 t4=`echo $t3 | gawk '{ print $1 }'` 19 !! 19 t5=`echo $t1 | gawk '{ print $1 }'` 20 t1=`$3 --syms $1 | grep .text | grep -m1 " F " !! 20 t6=`echo $t4 - $t5 | sed -e s/a/A/g -e s/b/B/g -e s/c/C/g -e s/d/D/g -e s/e/E/g -e s/f/F/g` 21 if [ -n "$t1" ]; then !! 21 t7=`( echo ibase=16 ; echo $t6 ) | bc` 22 t2=`field 6 $t1` !! 22 $3 --source --adjust-vma=$t7 $2/$1.o > $2/$1.lst 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))` << 30 fi << 31 fi << 32 $3 -r --source --adjust-vma=${t6:-0} $1 <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.