cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

makelst (808B)


      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) > $@
      9#
     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>
     13#
     14
     15# awk style field access
     16field() {
     17  shift $1 ; echo $1
     18}
     19
     20t1=`$3 --syms $1 | grep .text | grep -m1 " F "`
     21if [ -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))`
     30  fi
     31fi
     32$3 -r --source --adjust-vma=${t6:-0} $1