X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsFlags.c;h=0ab13992ce9479b1bd6ae8d42e58cdcc3486a16f;hb=e552cfc427d2734b9a9629f2ab1d22f493e775f6;hp=47ad794a47f6cc8964cc9a0fe12fe58640b0fbc6;hpb=e1ddf51abb3a89392cc9da9a36b74f0d69f9a36b;p=ghc-hetmet.git diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c index 47ad794..0ab1399 100644 --- a/rts/RtsFlags.c +++ b/rts/RtsFlags.c @@ -150,6 +150,18 @@ void initRtsFlagsDefaults(void) #endif RtsFlags.GcFlags.idleGCDelayTime = 300; /* millisecs */ +#if osf3_HOST_OS +/* ToDo: Perhaps by adjusting this value we can make linking without + * -static work (i.e., not generate a core-dumping executable)? */ +# if SIZEOF_VOID_P == 8 + RtsFlags.GcFlags.heapBase = 0x180000000L; +# else +# error I have no idea where to begin the heap on a non-64-bit osf3 machine. +# endif +#else + RtsFlags.GcFlags.heapBase = 0; /* means don't care */ +#endif + #ifdef DEBUG RtsFlags.DebugFlags.scheduler = rtsFalse; RtsFlags.DebugFlags.interpreter = rtsFalse; @@ -1192,6 +1204,16 @@ error = rtsTrue; error = rtsTrue; break; + case 'b': /* heapBase in hex; undocumented */ + if (rts_argv[arg][3] != '\0') { + RtsFlags.GcFlags.heapBase + = strtol(rts_argv[arg]+3, (char **) NULL, 16); + } else { + errorBelch("-xb: requires argument"); + error = rtsTrue; + } + break; + case 'c': /* Debugging tool: show current cost centre on an exception */ PROFILING_BUILD_ONLY( RtsFlags.ProfFlags.showCCSOnException = rtsTrue;