From bc827787f49d42c3d4146e524493d1fa590e76f2 Mon Sep 17 00:00:00 2001 From: Christian Helmuth Date: Thu, 9 Jul 2015 15:11:14 +0200 Subject: [PATCH] bender: unconditionally relocate all boot modules If just one multiboot kernel module was loaded after bender, the relocation was skipped before. This resulted in a corrupt binary image on ELF loading if the regions of the boot module and the final program overlap. Now, all modules are copied below 2 GiB (and out of the way) before ELF loading. Fixes #1624 Bender upstream issue is TUD-OS/morbo#4 --- tool/boot/bender | Bin 11701 -> 11554 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tool/boot/bender b/tool/boot/bender index 77fea7f3a6fb79ca3fa5bdceb78cfd732bf95b37..0c3569f4c4fab95ca482a0684076ef4449c22440 100755 GIT binary patch delta 6694 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 delta 6943 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