From d974312d077aeccd53b6a042d40f6e1789b6efb7 Mon Sep 17 00:00:00 2001
From: Dale Johannesen <dalej@apple.com>
Date: Tue, 3 Aug 2004 18:23:35 +0000
Subject: [PATCH] rs6000.c (machopic_output_stub): Align Darwin stubs.

2004-08-03  Dale Johannesen  <dalej@apple.com>

	* config/rs6000/rs6000.c (machopic_output_stub):  Align Darwin stubs.
	* c-common.c: Include opts.h.
	(c_common_get_alias_set): Fix check for a single input file.
	* toplev.c: Remove current_file_decl.
	* tree.h: Ditto.

From-SVN: r85492
---
 gcc/ChangeLog              |  8 ++++++++
 gcc/c-common.c             |  3 ++-
 gcc/config/rs6000/rs6000.c | 26 ++++++++++++++++----------
 gcc/toplev.c               |  5 -----
 gcc/tree.h                 |  5 -----
 5 files changed, 26 insertions(+), 21 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 61a30ba405c8..35d137afe42c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2004-08-03  Dale Johannesen  <dalej@apple.com>
+
+	* config/rs6000/rs6000.c (machopic_output_stub):  Align Darwin stubs.
+	* c-common.c: Include opts.h.
+	(c_common_get_alias_set): Fix check for a single input file. 
+	* toplev.c: Remove current_file_decl.
+	* tree.h: Ditto.
+
 2004-08-03  Mark Mitchell  <mark@codesourcery.com>
 
 	* config.gcc (arm*-*-symbianelf*): New target.
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 31b8dd91daf7..30d96e6223ba 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -45,6 +45,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #include "tree-iterator.h"
 #include "hashtab.h"
 #include "tree-mudflap.h"
+#include "opts.h"
 
 cpp_reader *parse_in;		/* Declared in c-pragma.h.  */
 
@@ -2672,7 +2673,7 @@ c_common_get_alias_set (tree t)
     return -1;
 
   /* Save time if there's only one input file.  */
-  if (!current_file_decl || TREE_CHAIN (current_file_decl) == NULL_TREE)
+  if (num_in_fnames == 1)
     return -1;
 
   /* Pointers need special handling if they point to any type that
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 1a9cf8d1fe21..b5710946eb3f 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -16076,13 +16076,14 @@ machopic_output_stub (FILE *file, const char *symb, const char *stub)
     machopic_picsymbol_stub1_section ();
   else
     machopic_symbol_stub1_section ();
-  fprintf (file, "\t.align 2\n");
-
-  fprintf (file, "%s:\n", stub);
-  fprintf (file, "\t.indirect_symbol %s\n", symbol_name);
 
   if (flag_pic == 2)
     {
+      fprintf (file, "\t.align 5\n");
+
+      fprintf (file, "%s:\n", stub);
+      fprintf (file, "\t.indirect_symbol %s\n", symbol_name);
+
       label++;
       local_label_0 = alloca (sizeof("\"L0000000000$spb\""));
       sprintf (local_label_0, "\"L%011d$spb\"", label);
@@ -16099,12 +16100,17 @@ machopic_output_stub (FILE *file, const char *symb, const char *stub)
       fprintf (file, "\tbctr\n");
     }
   else
-   {
-     fprintf (file, "\tlis r11,ha16(%s)\n", lazy_ptr_name);
-     fprintf (file, "\tlwzu r12,lo16(%s)(r11)\n", lazy_ptr_name);
-     fprintf (file, "\tmtctr r12\n");
-     fprintf (file, "\tbctr\n");
-   }
+    {
+      fprintf (file, "\t.align 4\n");
+
+      fprintf (file, "%s:\n", stub);
+      fprintf (file, "\t.indirect_symbol %s\n", symbol_name);
+
+      fprintf (file, "\tlis r11,ha16(%s)\n", lazy_ptr_name);
+      fprintf (file, "\tlwzu r12,lo16(%s)(r11)\n", lazy_ptr_name);
+      fprintf (file, "\tmtctr r12\n");
+      fprintf (file, "\tbctr\n");
+    }
   
   machopic_lazy_symbol_ptr_section ();
   fprintf (file, "%s:\n", lazy_ptr_name);
diff --git a/gcc/toplev.c b/gcc/toplev.c
index f0c18cb2e45f..5df0155adc12 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -225,11 +225,6 @@ tree current_function_decl;
    if none.  */
 tree current_function_func_begin_label;
 
-/* A DECL for the current file-scope context.  When using IMA, this heads a
-   chain of FILE_DECLs; currently only C uses it.  */
-
-tree current_file_decl;
-
 /* Temporarily suppress certain warnings.
    This is set while reading code from a system header file.  */
 
diff --git a/gcc/tree.h b/gcc/tree.h
index 3e672e38878f..92e9a55d8025 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -3318,11 +3318,6 @@ extern GTY(()) tree current_function_decl;
 
 /* Nonzero means a FUNC_BEGIN label was emitted.  */
 extern GTY(()) tree current_function_func_begin_label;
-
-/* A DECL for the current file-scope context.  When using IMA, this heads a
-   chain of FILE_DECLs; currently only C uses it.  */
-
-extern GTY(()) tree current_file_decl;
 
 /* In tree.c */
 extern unsigned crc32_string (unsigned, const char *);
-- 
GitLab