summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorJuergen Beisert <jbe@pengutronix.de>2010-01-12 11:15:36 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2010-01-14 10:06:15 +0100
commitae2afbb2db231ffda34a269a27581fa516af30e0 (patch)
tree50971599355992cd8d4db324feb73445a82a5917 /Makefile
parent5d591e14ef15f28779a9c5aba08549129a29a550 (diff)
downloadbarebox-ae2afbb2db231ffda34a269a27581fa516af30e0.tar.gz
barebox-ae2afbb2db231ffda34a269a27581fa516af30e0.tar.xz
Consider real and protected mode in the dump file
On x86 'objdump' does not know which parts of the image are 16 bit code and 32 bit. As the default is 32 bit, it will output garbage from the 16 bit parts (due to 16/32 bit ops are sharing the same opcodes). Signed-off-by: Juergen Beisert <jbe@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile23
1 files changed, 23 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 0c00829905..953f942686 100644
--- a/Makefile
+++ b/Makefile
@@ -643,7 +643,30 @@ endef
barebox.bin: barebox
$(Q)$(OBJCOPY) -O binary barebox barebox.bin
+ifdef CONFIG_X86
+ifdef CONFIG_X86_HDBOOT
+ @echo "-------------------------------------------------" > barebox.S
+ @echo " * MBR content" >> barebox.S
+ $(Q)$(OBJDUMP) -j .bootsector -mi8086 -d barebox >> barebox.S
+ @echo "-------------------------------------------------" >> barebox.S
+ @echo " * Boot loader content" >> barebox.S
+ $(Q)$(OBJDUMP) -j .bootstrapping -mi8086 -d barebox >> barebox.S
+endif
+ @echo "-------------------------------------------------" >> barebox.S
+ @echo " * Regular Text content" >> barebox.S
+ $(Q)$(OBJDUMP) -j .text -d barebox >> barebox.S
+ @echo "-------------------------------------------------" >> barebox.S
+ @echo " * Regular Data content" >> barebox.S
+ $(Q)$(OBJDUMP) -j .data -d barebox >> barebox.S
+ @echo "-------------------------------------------------" >> barebox.S
+ @echo " * Commands content" >> barebox.S
+ $(Q)$(OBJDUMP) -j .barebox_cmd -d barebox >> barebox.S
+ @echo "-------------------------------------------------" >> barebox.S
+ @echo " * Init Calls content" >> barebox.S
+ $(Q)$(OBJDUMP) -j .barebox_initcalls -d barebox >> barebox.S
+else
$(Q)$(OBJDUMP) -d barebox > barebox.S
+endif
# barebox image
barebox: $(barebox-lds) $(barebox-head) $(barebox-common) $(kallsyms.o) FORCE