xref: /openbsd-src/gnu/usr.bin/perl/t/bigmem/stack_over.t (revision 5486feefcc8cb79b19e014ab332cc5dfd05b3b33)
1*5486feefSafresh1#!perl
2*5486feefSafresh1BEGIN {
3*5486feefSafresh1    chdir 't' if -d 't';
4*5486feefSafresh1    @INC = "../lib";
5*5486feefSafresh1    require './test.pl';
6*5486feefSafresh1}
7*5486feefSafresh1
8*5486feefSafresh1use strict;
9*5486feefSafresh1use Config qw(%Config);
10*5486feefSafresh1use XS::APItest;
11*5486feefSafresh1
12*5486feefSafresh1# memory usage checked with top
13*5486feefSafresh1$ENV{PERL_TEST_MEMORY} >= 17
14*5486feefSafresh1    or skip_all("Need ~17GB for this test");
15*5486feefSafresh1$Config{ptrsize} >= 8
16*5486feefSafresh1    or skip_all("Need 64-bit pointers for this test");
17*5486feefSafresh1# this tests what happens when we don't have wide marks
18*5486feefSafresh1XS::APItest::wide_marks()
19*5486feefSafresh1    and skip_all("Configured for SSize_t marks");
20*5486feefSafresh1
21*5486feefSafresh1my @x;
22*5486feefSafresh1$x[0x8000_0000] = "Hello";
23*5486feefSafresh1
24*5486feefSafresh1sub x { @x }
25*5486feefSafresh1
26*5486feefSafresh1ok(!eval { () = x(); 1 }, "stack overflow");
27*5486feefSafresh1done_testing();
28