* gcc.target/i386/pr9771-1.c (main): Rename to...
(real_main): ... this. Add __asm name "main".
(ASMNAME, ASMNAME2, STRING): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206679
138bc75d-0d04-0410-961f-
82ee72b054a4
+2014-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/54694
+ * gcc.target/i386/pr9771-1.c (main): Rename to...
+ (real_main): ... this. Add __asm name "main".
+ (ASMNAME, ASMNAME2, STRING): Define.
+
2014-01-16 Nick Clifton <nickc@redhat.com>
PR middle-end/28865
exit(0);
}
-int main()
+/* main usually performs dynamic realignment of the stack in case
+ _start would fail to properly align the stack, but for dynamic
+ stack realignment we need frame pointer which is incompatible
+ with -ffixed-ebp and the global register var. So, cheat here
+ and hide from the compiler that main is really main. */
+#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+#define ASMNAME2(prefix, cname) STRING (prefix) cname
+#define STRING(x) #x
+int real_main() __asm (ASMNAME ("main"));
+
+int real_main()
{
test();
return 0;