From: Ian Lynagh Date: Wed, 20 May 2009 22:36:10 +0000 (+0000) Subject: OS X / amd64 fixes X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=aaf192c3fba95ba4adf3e128551b7cb579890ad1;hp=5fcfdb3b853b5fd751e4552e1f774cb74d933c50;p=ghc-hetmet.git OS X / amd64 fixes --- diff --git a/rts/Adjustor.c b/rts/Adjustor.c index e021487..e93f361 100644 --- a/rts/Adjustor.c +++ b/rts/Adjustor.c @@ -294,7 +294,7 @@ typedef struct AdjustorStub { } AdjustorStub; #endif -#if defined(darwin_HOST_OS) || defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH) +#if (defined(i386_HOST_ARCH) && defined(darwin_HOST_OS)) || defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH) static int totalArgumentSize(char *typeString) { int sz = 0; diff --git a/rts/Linker.c b/rts/Linker.c index 6d7b66a..347bfa6 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -205,7 +205,7 @@ static void machoInitSymbolsWithoutUnderscore( void ); #define MMAP_32BIT_BASE_DEFAULT 0x40000000 #endif -static void *mmap_32bit_base = MMAP_32BIT_BASE_DEFAULT; +static void *mmap_32bit_base = (void *)MMAP_32BIT_BASE_DEFAULT; #endif /* MAP_ANONYMOUS is MAP_ANON on some systems, e.g. OpenBSD */ @@ -4098,7 +4098,9 @@ static int relocateSection( char *thingPtr = image + sect->offset + reloc->r_address; uint64_t thing; - uint64_t value; + /* We shouldn't need to initialise this, but gcc on OS X 64 bit + complains that it may be used uninitialized if we don't */ + uint64_t value = 0; uint64_t baseValue; int type = reloc->r_type;