1*1da177e4SLinus Torvalds#!/bin/bash 2*1da177e4SLinus Torvalds# A script to dump mixed source code & assembly 3*1da177e4SLinus Torvalds# with correct relocations from System.map 4*1da177e4SLinus Torvalds# Requires the following lines in Rules.make. 5*1da177e4SLinus Torvalds# Author(s): DJ Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) 6*1da177e4SLinus Torvalds# William Stearns <wstearns@pobox.com> 7*1da177e4SLinus Torvalds#%.lst: %.c 8*1da177e4SLinus Torvalds# $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@) -g -c -o $*.o $< 9*1da177e4SLinus Torvalds# $(TOPDIR)/scripts/makelst $*.o $(TOPDIR)/System.map $(OBJDUMP) 10*1da177e4SLinus Torvalds# 11*1da177e4SLinus Torvalds# Copyright (C) 2000 IBM Corporation 12*1da177e4SLinus Torvalds# Author(s): DJ Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) 13*1da177e4SLinus Torvalds# 14*1da177e4SLinus Torvalds 15*1da177e4SLinus Torvaldst1=`$3 --syms $1 | grep .text | grep " F " | head -n 1` 16*1da177e4SLinus Torvaldsif [ -n "$t1" ]; then 17*1da177e4SLinus Torvalds t2=`echo $t1 | gawk '{ print $6 }'` 18*1da177e4SLinus Torvalds if [ ! -r $2 ]; then 19*1da177e4SLinus Torvalds echo "No System.map" >&2 20*1da177e4SLinus Torvalds t7=0 21*1da177e4SLinus Torvalds else 22*1da177e4SLinus Torvalds t3=`grep $t2 $2` 23*1da177e4SLinus Torvalds t4=`echo $t3 | gawk '{ print $1 }'` 24*1da177e4SLinus Torvalds t5=`echo $t1 | gawk '{ print $1 }'` 25*1da177e4SLinus Torvalds t6=`echo $t4 - $t5 | tr a-f A-F` 26*1da177e4SLinus Torvalds t7=`( echo ibase=16 ; echo $t6 ) | bc` 27*1da177e4SLinus Torvalds fi 28*1da177e4SLinus Torvaldselse 29*1da177e4SLinus Torvalds t7=0 30*1da177e4SLinus Torvaldsfi 31*1da177e4SLinus Torvalds$3 -r --source --adjust-vma=$t7 $1 32