]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - arch/arc/Makefile
arc: introduce "mdbtrick" target
[people/ms/u-boot.git] / arch / arc / Makefile
index de25cc99217857fbd6d0584897da8c1978ee1001..03ea6dbae0d73d8a61e327af0e9e132b70c7028c 100644 (file)
@@ -6,3 +6,18 @@ head-y := arch/arc/cpu/$(CPU)/start.o
 
 libs-y += arch/arc/cpu/$(CPU)/
 libs-y += arch/arc/lib/
+
+# MetaWare debugger doesn't support PIE (position-independent executable)
+# so the only way to load U-Boot in MDB is to fake it by:
+#   1. Reset PIE flag in ELF header
+#   2. Strip all debug information from elf
+ifdef CONFIG_SYS_LITTLE_ENDIAN
+       EXEC_TYPE_OFFSET=16
+else
+       EXEC_TYPE_OFFSET=17
+endif
+
+mdbtrick: u-boot
+       $(Q)printf '\x02' | dd of=u-boot bs=1 seek=$(EXEC_TYPE_OFFSET) count=1 \
+               conv=notrunc &> /dev/null
+       $(Q)$(CROSS_COMPILE)strip -g u-boot