On Thursday 03 January 2002 12:33 am, Bryan C. Warnock wrote:
> Looks like the chunk_base logic doesn't work on 64-bit Solaris. Every
> test failure I checked was centered around an inaccesable address coming
> out of STACK_CHUNK_BASE(*top) [line 85] . I'll dig deeper tomorrow. Er,
> today.
Passes on 64-bit Solaris. (And 32-bit Linux.) Probably more correct
regardless, as longs are almost always the same size as pointers, whereas
ints aren't.
--- ../parrot/Configure.pl Wed Jan 2 22:53:29 2002
+++ ./Configure.pl Wed Jan 2 22:53:29 2002
@@ -141,11 +141,11 @@
debugging => $opt_debugging,
rm_f => 'rm -f',
rm_rf => 'rm -rf',
- stacklow => '(~0xfff)U',
- intlow => '(~0xfff)U',
- numlow => '(~0xfff)U',
- strlow => '(~0xfff)U',
- pmclow => '(~0xfff)U',
+ stacklow => '(~0xfff)UL',
+ intlow => '(~0xfff)UL',
+ numlow => '(~0xfff)UL',
+ strlow => '(~0xfff)UL',
+ pmclow => '(~0xfff)UL',
make => $Config{make},
make_set_make => $Config{make_set_make},
@@ -701,7 +701,7 @@
my $vector = unpack("b*", pack("V", $_));
my $offset = rindex($vector, "1")+1;
my $mask = 2**$offset - 1;
- push @returns, "(~0x".sprintf("%x", $mask)."U)";
+ push @returns, "(~0x".sprintf("%x", $mask)."UL)";
}
return @returns;
--
Bryan C. Warnock
[EMAIL PROTECTED]