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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 pRdW@Kp`nq<Oyoslg*GdD3kb@CORhX6G&nlS(X delta 6943 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