From: matthewc Date: Tue, 14 May 2002 08:15:49 +0000 (+0000) Subject: [project @ 2002-05-14 08:15:49 by matthewc] X-Git-Tag: Approx_11550_changesets_converted~2038 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=9dcd9e93b312eaf4c2ffc73f0bf8e528909e8a5a;p=ghc-hetmet.git [project @ 2002-05-14 08:15:49 by matthewc] IA64 only changes: * Place HEAP_BASE in an appropriate place * On IA64, use GCC "section" attribute to coax compiler into putting info tables in .text --- diff --git a/ghc/includes/InfoTables.h b/ghc/includes/InfoTables.h index e49ad33..1aff768 100644 --- a/ghc/includes/InfoTables.h +++ b/ghc/includes/InfoTables.h @@ -1,5 +1,5 @@ /* ---------------------------------------------------------------------------- - * $Id: InfoTables.h,v 1.26 2002/05/01 13:12:11 simonmar Exp $ + * $Id: InfoTables.h,v 1.27 2002/05/14 08:15:49 matthewc Exp $ * * (c) The GHC Team, 1998-1999 * @@ -248,7 +248,12 @@ typedef struct _StgInfoTable { * stack. We distinguish the two by checking whether the pointer is * into text-space or not. */ - + +#if ia64_TARGET_ARCH +/* We need to give the compiler a gentle hint to put it in text-space */ +#define INFO_TBL_CONST const __attribute__((section (".text"))) +#else #define INFO_TBL_CONST const +#endif #endif /* INFOTABLES_H */ diff --git a/ghc/rts/MBlock.h b/ghc/rts/MBlock.h index 4fac867..40461a0 100644 --- a/ghc/rts/MBlock.h +++ b/ghc/rts/MBlock.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: MBlock.h,v 1.13 2002/02/14 17:21:50 sof Exp $ + * $Id: MBlock.h,v 1.14 2002/05/14 08:15:49 matthewc Exp $ * * (c) The GHC Team, 1998-1999 * @@ -31,10 +31,18 @@ extern void * getMBlocks(nat n); #define HEAP_BASE 0x50000000 #elif openbsd_TARGET_OS #define HEAP_BASE 0x50000000 + #elif linux_TARGET_OS +#if ia64_TARGET_ARCH +/* Shared libraries are in region 1, text in region 2, data in region 3. + * Stack is at the top of region 4. We use the bottom. + */ +#define HEAP_BASE (4L<<61) +#else /* Any ideas? */ #define HEAP_BASE 0x50000000 +#endif #elif solaris2_TARGET_OS /* guess */