int g = 0;
static int func() {
return g;
}
struct S {
__typeof(&func) funcPtr;
__typeof(&func) funcPtr2;
int *p1;
__attribute__((aligned((16384)))) __typeof(&func) funcPtr3;
int *p2;
};
S s = { &func, &func, &g, &func, &g };
struct __attribute__((packed)) PackedS {
int i;
__typeof(&func) funcPtr; __typeof(&func) funcPtr2; int j;
int *p1; char k;
int *p2; };
__attribute__((aligned((16384))))
PackedS ps = { 0, &func, &func, 0, &g, 0, &g };
__asm(".code32; .text; .section __HIB, __text; .globl _foo; _foo: movl _foo, %esp; ret");
__attribute__((section(("__HIB, __text"))))
extern "C" int _start() {
return s.funcPtr() + s.funcPtr2() + s.funcPtr3() + ps.funcPtr();
}