The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/scripts/makelst

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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) > $@
    8 #
    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>
   12 #
   13 
   14 # awk style field access
   15 field() {
   16   shift $1 ; echo $1
   17 }
   18 
   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))`
   29   fi
   30 fi
   31 $3 -r --source --adjust-vma=${t6:-0} $1

Cache object: 355ca864b9bdf6fea7b4076e9c173c47


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.