--- /dev/null
+
+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; // aligned to 4
+ __typeof(&func) funcPtr2; // aligned to 4
+ int j;
+ int *p1; // aligned to 8
+ char k;
+ int *p2; // aligned to 1
+};
+
+__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();
+}
\ No newline at end of file