From ae8cc32e169e8d958f257714c1ae727e1a56a5e0 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Fri, 23 Jul 2010 20:08:22 +0000 Subject: [PATCH] Add some error belchs to the linker, when we find bad magic numbers --- rts/Linker.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/rts/Linker.c b/rts/Linker.c index 7a321dc..beaf19e 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -4039,11 +4039,17 @@ static int ocVerifyImage_MachO(ObjectCode* oc) struct mach_header *header = (struct mach_header*) image; #if x86_64_HOST_ARCH || powerpc64_HOST_ARCH - if(header->magic != MH_MAGIC_64) + if(header->magic != MH_MAGIC_64) { + errorBelch("%s: Bad magic. Expected: %08x, got: %08x.\n", + oc->fileName, MH_MAGIC_64, header->magic); return 0; + } #else - if(header->magic != MH_MAGIC) + if(header->magic != MH_MAGIC) { + errorBelch("%s: Bad magic. Expected: %08x, got: %08x.\n", + oc->fileName, MH_MAGIC, header->magic); return 0; + } #endif // FIXME: do some more verifying here return 1; @@ -4830,11 +4836,17 @@ static int machoGetMisalignment( FILE * f ) rewind(f); #if x86_64_HOST_ARCH || powerpc64_HOST_ARCH - if(header.magic != MH_MAGIC_64) + if(header.magic != MH_MAGIC_64) { + errorBelch("Bad magic. Expected: %08x, got: %08x.\n", + MH_MAGIC_64, header->magic); return 0; + } #else - if(header.magic != MH_MAGIC) + if(header.magic != MH_MAGIC) { + errorBelch("Bad magic. Expected: %08x, got: %08x.\n", + MH_MAGIC, header->magic); return 0; + } #endif misalignment = (header.sizeofcmds + sizeof(header)) -- 1.7.10.4