* i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
authorRichard Henderson <rth@redhat.com>
Sat, 4 Aug 2001 16:46:00 +0000 (09:46 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Sat, 4 Aug 2001 16:46:00 +0000 (09:46 -0700)
From-SVN: r44638

gcc/ChangeLog
gcc/config/i386/i386.c

index 59a292b103d99b37423f92fa59d654999d03487c..9cd98e9767f3a9728d34db698570dab5d57545c6 100644 (file)
@@ -1,3 +1,7 @@
+2001-08-04  Richard Henderson  <rth@redhat.com>
+
+       * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
+
 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
 
        * cpphash.h (struct cpp_reader): New member directive_line.
index 2547ea40a5390a5b9ddc5177a8544384797ec5be..6508625dc78e5f2f7f81e5d02568d79816314757 100644 (file)
@@ -574,7 +574,6 @@ static HOST_WIDE_INT ix86_GOT_alias_set PARAMS ((void));
 static void ix86_adjust_counter PARAMS ((rtx, HOST_WIDE_INT));
 static rtx ix86_expand_aligntest PARAMS ((rtx, int));
 static void ix86_expand_strlensi_unroll_1 PARAMS ((rtx, rtx));
-static void ix86_output_main_function_alignment_hack PARAMS ((FILE *f, int));
 
 struct ix86_address
 {
@@ -640,10 +639,6 @@ static void sco_asm_named_section PARAMS ((const char *, unsigned int,
                                                          HOST_WIDE_INT));
 #  undef TARGET_ASM_FUNCTION_PROLOGUE
 #  define TARGET_ASM_FUNCTION_PROLOGUE ix86_osf_output_function_prologue
-#else
-#  undef TARGET_ASM_FUNCTION_PROLOGUE
-#  define TARGET_ASM_FUNCTION_PROLOGUE \
-   ix86_output_main_function_alignment_hack
 #endif
 
 #undef TARGET_ASM_OPEN_PAREN
@@ -10788,48 +10783,6 @@ ix86_memory_move_cost (mode, class, in)
     }
 }
 
-/* Most of current runtimes (Jul 2001) do not align stack properly when
-   entering main, so emit an wrapper to align stack before the real main
-   code is called.
-  
-   This can eventually go if we manage to fix the runtimes or teach gcc
-   to dynamically align stack in main automatically.
-
-   Adding check to configure is probably not good idea, as binarry can move
-   from one shared library to older.  */
-
-static void
-ix86_output_main_function_alignment_hack (file, size)
-     FILE *file;
-     int size ATTRIBUTE_UNUSED;
-{
-  rtx label;
-  char buf[256];
-  /* Check that we see main function with maximally 8 bytes of arguments.
-     if so, emit the hack to align stack for runtimes, where this constraint
-     is broken.  */
-  if (strcmp (cfun->name, "main"))
-    return;
-  if (cfun->pops_args || cfun->args_size > 12)
-    return;
-  if (PREFERRED_STACK_BOUNDARY <= 2)
-    return;
-  label = gen_label_rtx ();
-  fprintf (file, "\tpushl\t%%ebp\n");
-  fprintf (file, "\tmovl\t%%esp, %%ebp\n");
-  fprintf (file, "\tandl\t$0xfffffff0, %%esp\n");
-  fprintf (file, "\tpushl\t%%ebp\n");
-  fprintf (file, "\tpushl\t16(%%ebp)\n");
-  fprintf (file, "\tpushl\t12(%%ebp)\n");
-  fprintf (file, "\tpushl\t8(%%ebp)\n");
-  fprintf (file, "\tcall\t");
-  ASM_GENERATE_INTERNAL_LABEL (buf, "L", CODE_LABEL_NUMBER (label));
-  assemble_name (file, buf);
-  fprintf (file, "\n\tleave\n");
-  fprintf (file, "\tret\n");
-  ASM_OUTPUT_INTERNAL_LABEL (file, "L", CODE_LABEL_NUMBER (label));
-}
-
 #if defined(TARGET_ELF) && defined(TARGET_COFF)
 static void
 sco_asm_named_section (name, flags, align)