From d6c702a6ec26fe981c4f2c17e8a30a2636e0ad6c Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Tue, 20 Feb 2018 14:24:54 +0000 Subject: [PATCH] From: Tormod Volden Signed-off-by: Tormod Volden --- Kernel/platform-dragon-nx32/Makefile | 1 + Kernel/tools/lw-checkmap | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Kernel/platform-dragon-nx32/Makefile b/Kernel/platform-dragon-nx32/Makefile index efea7ab..8a40526 100644 --- a/Kernel/platform-dragon-nx32/Makefile +++ b/Kernel/platform-dragon-nx32/Makefile @@ -60,3 +60,4 @@ image: devsd.o devsd_discard.o spi.o devscsi.o devscsi_discard.o \ scsi_tc3.o discard.o ../tools/pad256 ../fuzix.bin + ../tools/lw-checkmap ../fuzix.map diff --git a/Kernel/tools/lw-checkmap b/Kernel/tools/lw-checkmap index f98a552..9402b2f 100755 --- a/Kernel/tools/lw-checkmap +++ b/Kernel/tools/lw-checkmap @@ -1,8 +1,14 @@ : # Simple check of map file generated by lwlink (LWTOOLS) -grep ^Section "$1" | sort -k5 | awk '{ +grep ^Section "$1" | sort -k5 | awk ' + BEGIN{ errs=0 } + + { st=strtonum("0x"$6); if (enst) {printf "overlap at 0x%x-0x%x!\n",st,en}; + if (en>st) {printf "overlap at 0x%x-0x%x!\n",st,en; errs++}; en=st+strtonum("0x"$8); -}' + } + + END{ if (errs>0) {exit 1}; } +' -- 2.7.4 --- Kernel/platform-dragon-nx32/Makefile | 1 + Kernel/tools/lw-checkmap | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Kernel/platform-dragon-nx32/Makefile b/Kernel/platform-dragon-nx32/Makefile index efea7aba..8a40526d 100644 --- a/Kernel/platform-dragon-nx32/Makefile +++ b/Kernel/platform-dragon-nx32/Makefile @@ -60,3 +60,4 @@ image: devsd.o devsd_discard.o spi.o devscsi.o devscsi_discard.o \ scsi_tc3.o discard.o ../tools/pad256 ../fuzix.bin + ../tools/lw-checkmap ../fuzix.map diff --git a/Kernel/tools/lw-checkmap b/Kernel/tools/lw-checkmap index f98a5521..9402b2f1 100755 --- a/Kernel/tools/lw-checkmap +++ b/Kernel/tools/lw-checkmap @@ -1,8 +1,14 @@ : # Simple check of map file generated by lwlink (LWTOOLS) -grep ^Section "$1" | sort -k5 | awk '{ +grep ^Section "$1" | sort -k5 | awk ' + BEGIN{ errs=0 } + + { st=strtonum("0x"$6); if (enst) {printf "overlap at 0x%x-0x%x!\n",st,en}; + if (en>st) {printf "overlap at 0x%x-0x%x!\n",st,en; errs++}; en=st+strtonum("0x"$8); -}' + } + + END{ if (errs>0) {exit 1}; } +' -- 2.34.1