The following program causes Segmentation fault being compiled with
gcc (GCC) 4.0.1 (Debian 4.0.1-2)
#include <stdio.h>
int main() {
char A[ 1UL << 24 ];
A[0] = 0;
puts("OK");
return 0;
}
$ gcc test.c
$ ./a.out
Segmentation fault
If array of the same size (16M) is dinamically allocated (e.g., via malloc())
everything works as expected.
debian-amd64 with 4G physical memory here.
--
Summary: Segmentation fault when large static array is declared
Product: gcc
Version: 4.0.1
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: relf at os2 dot ru
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23054