]> git.pld-linux.org Git - packages/crossppc-gcc.git/commitdiff
- obsolete
authorJakub Bogusz <qboosh@pld-linux.org>
Mon, 28 May 2007 15:43:52 +0000 (15:43 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    gcc-pr20218.patch -> 1.9

gcc-pr20218.patch [deleted file]

diff --git a/gcc-pr20218.patch b/gcc-pr20218.patch
deleted file mode 100644 (file)
index ecc9590..0000000
+++ /dev/null
@@ -1,319 +0,0 @@
-2006-12-07  H.J. Lu  <hongjiu.lu@intel.com>
-
-       Backport from mainline:
-       2006-12-11  H.J. Lu  <hongjiu.lu@intel.com>
-       PR middle-end/17982
-       PR middle-end/20218
-       * cgraphunit.c (cgraph_optimize): Remove call to
-       process_pending_assemble_externals.
-
-       * config/elfos.h (ASM_OUTPUT_EXTERNAL): New.
-
-       * config/ia64/hpux.h (TARGET_ASM_FILE_END): Removed.
-
-       * config/ia64/ia64.c (ia64_asm_output_external): Rewritten.
-       (ia64_hpux_add_extern_decl): Removed.
-       (ia64_hpux_file_end): Likewise.
-       (extern_func_list): Likewise.
-       (extern_func_head): Likewise.
-
-       * output.h (assemble_external): Update comments.
-       (default_elf_asm_output_external): New.
-       (maybe_assemble_visibility): New.
-
-       * toplev.c (compile_file): Update comment.
-
-       * varasm.c (assemble_external): Always put it on
-       pending_assemble_externals.
-       (maybe_assemble_visibility): Make it extern and return int.
-       (default_elf_asm_output_external): New.
-
---- gcc/cgraphunit.c.global    2006-12-07 05:45:18.000000000 -0800
-+++ gcc/cgraphunit.c   2006-12-07 05:47:22.000000000 -0800
-@@ -1536,8 +1536,6 @@ cgraph_optimize (void)
-       return;
-     }
--  process_pending_assemble_externals ();
--
-   /* Frontend may output common variables after the unit has been finalized.
-      It is safe to deal with them here as they are always zero initialized.  */
-   cgraph_varpool_analyze_pending_decls ();
---- gcc/config/elfos.h.global  2006-11-30 12:45:20.000000000 -0800
-+++ gcc/config/elfos.h 2006-12-07 05:47:22.000000000 -0800
-@@ -499,3 +499,13 @@ Boston, MA 02110-1301, USA.  */
-         fprintf ((FILE), "\"\n");                                     \
-     }                                                                 \
-   while (0)
-+
-+/* A C statement (sans semicolon) to output to the stdio stream STREAM
-+   any text necessary for declaring the name of an external symbol
-+   named NAME whch is referenced in this compilation but not defined.
-+   It is needed to properly support non-default visibility.  */
-+
-+#ifndef ASM_OUTPUT_EXTERNAL
-+#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \
-+  default_elf_asm_output_external (FILE, DECL, NAME)
-+#endif
---- gcc/config/ia64/hpux.h.global      2006-10-29 17:03:12.000000000 -0800
-+++ gcc/config/ia64/hpux.h     2006-12-07 05:47:22.000000000 -0800
-@@ -144,10 +144,6 @@ do {                                                              \
-    definitions, so do not use them in gthr-posix.h.  */
- #define GTHREAD_USE_WEAK 0
--/* Put out the needed function declarations at the end.  */
--
--#define TARGET_ASM_FILE_END ia64_hpux_file_end
--
- #undef CTORS_SECTION_ASM_OP
- #define CTORS_SECTION_ASM_OP  "\t.section\t.init_array,\t\"aw\",\"init_array\""
---- gcc/config/ia64/ia64.c.global      2006-12-07 05:45:17.000000000 -0800
-+++ gcc/config/ia64/ia64.c     2006-12-07 05:47:22.000000000 -0800
-@@ -255,10 +255,6 @@ static section *ia64_rwreloc_select_rtx_
-                                                unsigned HOST_WIDE_INT)
-      ATTRIBUTE_UNUSED;
- static unsigned int ia64_section_type_flags (tree, const char *, int);
--static void ia64_hpux_add_extern_decl (tree decl)
--     ATTRIBUTE_UNUSED;
--static void ia64_hpux_file_end (void)
--     ATTRIBUTE_UNUSED;
- static void ia64_init_libfuncs (void)
-      ATTRIBUTE_UNUSED;
- static void ia64_hpux_init_libfuncs (void)
-@@ -5021,49 +5017,6 @@ ia64_secondary_reload_class (enum reg_cl
- }
\f
--/* Emit text to declare externally defined variables and functions, because
--   the Intel assembler does not support undefined externals.  */
--
--void
--ia64_asm_output_external (FILE *file, tree decl, const char *name)
--{
--  int save_referenced;
--
--  /* GNU as does not need anything here, but the HP linker does need
--     something for external functions.  */
--
--  if (TARGET_GNU_AS
--      && (!TARGET_HPUX_LD
--        || TREE_CODE (decl) != FUNCTION_DECL
--        || strstr (name, "__builtin_") == name))
--    return;
--
--  /* ??? The Intel assembler creates a reference that needs to be satisfied by
--     the linker when we do this, so we need to be careful not to do this for
--     builtin functions which have no library equivalent.  Unfortunately, we
--     can't tell here whether or not a function will actually be called by
--     expand_expr, so we pull in library functions even if we may not need
--     them later.  */
--  if (! strcmp (name, "__builtin_next_arg")
--      || ! strcmp (name, "alloca")
--      || ! strcmp (name, "__builtin_constant_p")
--      || ! strcmp (name, "__builtin_args_info"))
--    return;
--
--  if (TARGET_HPUX_LD)
--    ia64_hpux_add_extern_decl (decl);
--  else
--    {
--      /* assemble_name will set TREE_SYMBOL_REFERENCED, so we must save and
--         restore it.  */
--      save_referenced = TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl));
--      if (TREE_CODE (decl) == FUNCTION_DECL)
--        ASM_OUTPUT_TYPE_DIRECTIVE (file, name, "function");
--      (*targetm.asm_out.globalize_label) (file, name);
--      TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) = save_referenced;
--    }
--}
--\f
- /* Parse the -mfixed-range= option string.  */
- static void
-@@ -9174,55 +9127,33 @@ ia64_hpux_function_arg_padding (enum mac
-    return DEFAULT_FUNCTION_ARG_PADDING (mode, type);
- }
--/* Linked list of all external functions that are to be emitted by GCC.
--   We output the name if and only if TREE_SYMBOL_REFERENCED is set in
--   order to avoid putting out names that are never really used.  */
--
--struct extern_func_list GTY(())
--{
--  struct extern_func_list *next;
--  tree decl;
--};
--
--static GTY(()) struct extern_func_list *extern_func_head;
--
--static void
--ia64_hpux_add_extern_decl (tree decl)
--{
--  struct extern_func_list *p = ggc_alloc (sizeof (struct extern_func_list));
--
--  p->decl = decl;
--  p->next = extern_func_head;
--  extern_func_head = p;
--}
--
--/* Print out the list of used global functions.  */
-+/* Emit text to declare externally defined variables and functions, because
-+   the Intel assembler does not support undefined externals.  */
--static void
--ia64_hpux_file_end (void)
-+void
-+ia64_asm_output_external (FILE *file, tree decl, const char *name)
- {
--  struct extern_func_list *p;
--
--  for (p = extern_func_head; p; p = p->next)
--    {
--      tree decl = p->decl;
--      tree id = DECL_ASSEMBLER_NAME (decl);
--
--      gcc_assert (id);
--
--      if (!TREE_ASM_WRITTEN (decl) && TREE_SYMBOL_REFERENCED (id))
--        {
--        const char *name = XSTR (XEXP (DECL_RTL (decl), 0), 0);
--
--        TREE_ASM_WRITTEN (decl) = 1;
--        (*targetm.asm_out.globalize_label) (asm_out_file, name);
--        fputs (TYPE_ASM_OP, asm_out_file);
--        assemble_name (asm_out_file, name);
--        fprintf (asm_out_file, "," TYPE_OPERAND_FMT "\n", "function");
--        }
-+  /* We output the name if and only if TREE_SYMBOL_REFERENCED is
-+     set in order to avoid putting out names that are never really
-+     used. */
-+  if (TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)))
-+    {
-+      /* maybe_assemble_visibility will return 1 if the assembler
-+       visibility directive is outputed.  */
-+      int need_visibility = ((*targetm.binds_local_p) (decl)
-+                           && maybe_assemble_visibility (decl));
-+
-+      /* GNU as does not need anything here, but the HP linker does
-+       need something for external functions.  */
-+      if ((TARGET_HPUX_LD || !TARGET_GNU_AS)
-+        && TREE_CODE (decl) == FUNCTION_DECL)
-+      {
-+        ASM_OUTPUT_TYPE_DIRECTIVE (file, name, "function");
-+        (*targetm.asm_out.globalize_label) (file, name);
-+      }
-+      else if (need_visibility && !TARGET_GNU_AS)
-+      (*targetm.asm_out.globalize_label) (file, name);
-     }
--
--  extern_func_head = 0;
- }
- /* Set SImode div/mod functions, init_integral_libfuncs only initializes
---- gcc/output.h.global        2006-10-21 13:45:54.000000000 -0700
-+++ gcc/output.h       2006-12-07 05:47:22.000000000 -0800
-@@ -204,9 +204,9 @@ extern void assemble_variable (tree, int
-    DONT_OUTPUT_DATA is from assemble_variable.  */
- extern void align_variable (tree decl, bool dont_output_data);
--/* Output something to declare an external symbol to the assembler.
--   (Most assemblers don't need this, so we normally output nothing.)
--   Do nothing if DECL is not external.  */
-+/* Queue for outputing something to declare an external symbol to the
-+   assembler.  (Most assemblers don't need this, so we normally output
-+   nothing.)  Do nothing if DECL is not external.  */
- extern void assemble_external (tree);
- /* Assemble code to leave SIZE bytes of zeros.  */
-@@ -619,6 +619,10 @@ extern void default_file_start (void);
- extern void file_end_indicate_exec_stack (void);
- extern bool default_valid_pointer_mode (enum machine_mode);
-+extern void default_elf_asm_output_external (FILE *file, tree,
-+                                           const char *);
-+extern int maybe_assemble_visibility (tree);
-+
- extern int default_address_cost (rtx);
- /* dbxout helper functions */
---- gcc/toplev.c.global        2006-12-07 05:45:18.000000000 -0800
-+++ gcc/toplev.c       2006-12-07 05:58:23.000000000 -0800
-@@ -1076,9 +1076,7 @@ compile_file (void)
-   dw2_output_indirect_constants ();
--  /* Flush any pending external directives.  cgraph did this for
--     assemble_external calls from the front end, but the RTL
--     expander can also generate them.  */
-+  /* Flush any pending external directives.  */
-   process_pending_assemble_externals ();
-   /* Attach a special .ident directive to the end of the file to identify
---- gcc/varasm.c.global        2006-12-07 05:45:18.000000000 -0800
-+++ gcc/varasm.c       2006-12-07 05:49:16.000000000 -0800
-@@ -126,7 +126,6 @@ static unsigned HOST_WIDE_INT array_size
- static unsigned min_align (unsigned, unsigned);
- static void output_constructor (tree, unsigned HOST_WIDE_INT, unsigned int);
- static void globalize_decl (tree);
--static void maybe_assemble_visibility (tree);
- #ifdef BSS_SECTION_ASM_OP
- #ifdef ASM_OUTPUT_BSS
- static void asm_output_bss (FILE *, tree, const char *,
-@@ -1964,11 +1963,10 @@ assemble_external (tree decl ATTRIBUTE_U
-   if (!DECL_P (decl) || !DECL_EXTERNAL (decl) || !TREE_PUBLIC (decl))
-     return;
--  if (flag_unit_at_a_time)
--    pending_assemble_externals = tree_cons (0, decl,
--                                          pending_assemble_externals);
--  else
--    assemble_external_real (decl);
-+  /* We want to output external symbols at very last to check if they
-+     are references or not.  */
-+  pending_assemble_externals = tree_cons (0, decl,
-+                                        pending_assemble_externals);
- #endif
- }
-@@ -5071,13 +5069,18 @@ default_assemble_visibility (tree decl, 
- /* A helper function to call assemble_visibility when needed for a decl.  */
--static void
-+int
- maybe_assemble_visibility (tree decl)
- {
-   enum symbol_visibility vis = DECL_VISIBILITY (decl);
-   if (vis != VISIBILITY_DEFAULT)
--    targetm.asm_out.visibility (decl, vis);
-+    {
-+      targetm.asm_out.visibility (decl, vis);
-+      return 1;
-+    }
-+  else
-+    return 0;
- }
- /* Returns 1 if the target configuration supports defining public symbols
-@@ -6327,4 +6330,19 @@ elf_record_gcc_switches (print_switch_ty
-   return 0;
- }
-+/* Emit text to declare externally defined symbols. It is needed to
-+   properly support non-default visibility.  */
-+void
-+default_elf_asm_output_external (FILE *file ATTRIBUTE_UNUSED,
-+                               tree decl,
-+                               const char *name ATTRIBUTE_UNUSED)
-+{
-+  /* We output the name if and only if TREE_SYMBOL_REFERENCED is
-+     set in order to avoid putting out names that are never really
-+     used. */
-+  if (TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl))
-+      && targetm.binds_local_p (decl))
-+    maybe_assemble_visibility (decl);
-+}
-+
- #include "gt-varasm.h"
This page took 0.040564 seconds and 4 git commands to generate.