File: diff.sh

package info (click to toggle)
linksem 0.8%2Bdfsg3-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 5,376 kB
  • sloc: asm: 9,188; ansic: 5,856; ml: 2,918; yacc: 1,310; lex: 721; sh: 119; makefile: 63
file content (45 lines) | stat: -rwxr-xr-x 1,521 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash

# useful vars:
# EXT       -- ".opt" or ""
# DEBUGGER  -- e.g. "gdb --args" or "ocamldebug"

EXT="${EXT:-.opt}"

export OCAMLRUNPARAM=b

get_basename () {
 dir="$( dirname "$0" )"
 echo "dir is $dir" 1>&2
 basename "$( case "$dir" in (.) pwd ;; (*) echo "$dir" ;; esac)" | sed 's/-.*//'
}

basename="$(get_basename)"
echo "basename is $basename" 1>&2

outfile=`mktemp`
errfile=`mktemp`
echo "outfile is $outfile" 1>&2
echo "errfile is $errfile" 1>&2

( $(dirname "$0")/run.sh 3>&1 1>&2 2>&3 ) 2>"$outfile" | tee "$errfile"

diff -u <( cat "$outfile" | \
sed -n '/^Archive member included/,/Allocating common symbols/ p' | sort | cut -c1-36  ) \
<( cat "$(dirname "$0")"/"$basename".map | \
sed -n '/^Archive member included/,/Allocating common symbols/ p' | sort | cut -c1-36 )

diff -u <( cat "$outfile" | \
sed -n '/^Allocating common symbols/,/Discarded input sections/ p' | sort | cut -c1-38 ) \
<( cat "$(dirname "$0")"/"$basename".map | \
sed -n '/^Allocating common symbols/,/Discarded input sections/ p' | sort | cut -c1-38 )

diff -u <( cat "$outfile" | \
sed -n '/^Discarded input sections/,/Memory Configuration/ p' | sort ) \
<( cat "$(dirname "$0")"/"$basename".map | \
sed -n '/^Discarded input sections/,/Memory Configuration/ p' | sort )

diff -u <( cat "$outfile" | \
sed -n '/^\(Linker script and m\|M\)emory map/,/OUTPUT/ p' ) \
<( cat "$(dirname "$0")"/"$basename".map | "$(dirname "$( readlink -f "$0" )" )"/bfd-filter.sh | \
sed -n '/^\(Linker script and m\|M\)emory map/,/OUTPUT/ p' )