1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
static unsigned int buffer1[256] __attribute((used)); static unsigned int buffer2[256] __attribute((used)) = { 1 }; unsigned int foo __attribute__((section(".foo"))); extern char __foo_start; extern char __foo_end; int main (void) { if (&__foo_end - &__foo_start != sizeof(foo)) return 1; if (&__foo_start != (char *)&foo) return 2; return 0; }