]> git.pld-linux.org Git - packages/crossppc-gcc.git/commitdiff
- updated from http://gcc.gnu.org/ml/gcc-patches/2007-01/msg00671.html auto/th/gcc-4_2_0-0_20070207_1 auto/th/gcc-4_2_0-0_20070207_2 auto/th/gcc-4_2_0-0_20070214_1 auto/th/gcc-4_2_0-0_20070221_1 auto/th/gcc-4_2_0-0_20070228_1 auto/th/gcc-4_2_0-0_20070307_1 auto/th/gcc-4_2_0-0_20070316_1 auto/th/gcc-4_2_0-0_20070316_2 auto/th/gcc-4_2_0-0_20070403_r123448_1 auto/th/gcc-4_2_0-0_3_20070316_3
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Fri, 9 Feb 2007 23:42:51 +0000 (23:42 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    gcc-pr20218.patch -> 1.8

gcc-pr20218.patch

index 24d677ed15fb958c0ff1960a04ade68f5de21c76..ecc9590707baafc4ffd450dafe9e8fe011250c1e 100644 (file)
@@ -1,9 +1,11 @@
-2006-12-06  H.J. Lu  <hongjiu.lu@intel.com>
+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): Don't call
-       process_pending_assemble_externals for ELF targets.
+       * cgraphunit.c (cgraph_optimize): Remove call to
+       process_pending_assemble_externals.
 
        * config/elfos.h (ASM_OUTPUT_EXTERNAL): New.
 
        (default_elf_asm_output_external): New.
        (maybe_assemble_visibility): New.
 
-       * varasm.c (maybe_assemble_visibility): Make it extern and
-       return int.
+       * 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-02 09:32:10.000000000 -0800
-+++ gcc/cgraphunit.c   2006-12-06 06:10:58.000000000 -0800
-@@ -1536,7 +1536,12 @@ cgraph_optimize (void)
+--- 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;
      }
  
-+  /* FIXME: For ELF targets, we want to process undefined symbols later
-+     so that we can check if they are referenced or not.  Should we do
-+     the same for all targets?  */
-+#ifndef OBJECT_FORMAT_ELF
-   process_pending_assemble_externals ();
-+#endif
+-  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.  */
---- gcc/config/elfos.h.global  2006-12-02 09:32:10.000000000 -0800
-+++ gcc/config/elfos.h 2006-12-05 15:16:22.000000000 -0800
+   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");                                     \
      }                                                                 \
@@ -54,8 +55,8 @@
 +#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \
 +  default_elf_asm_output_external (FILE, DECL, NAME)
 +#endif
---- gcc/config/ia64/hpux.h.global      2006-10-27 10:09:07.000000000 -0700
-+++ gcc/config/ia64/hpux.h     2006-12-05 15:16:22.000000000 -0800
+--- 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
@@ -67,8 +68,8 @@
  #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-11-16 09:57:21.000000000 -0800
-+++ gcc/config/ia64/ia64.c     2006-12-05 15:16:22.000000000 -0800
+--- 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;
  }
  
  /* Set SImode div/mod functions, init_integral_libfuncs only initializes
---- gcc/output.h.global        2006-10-17 07:32:38.000000000 -0700
-+++ gcc/output.h       2006-12-05 15:16:22.000000000 -0800
+--- 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);
  extern int default_address_cost (rtx);
  
  /* dbxout helper functions */
---- gcc/varasm.c.global        2006-10-17 07:32:38.000000000 -0700
-+++ gcc/varasm.c       2006-12-06 06:05:43.000000000 -0800
+--- 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);
  #ifdef BSS_SECTION_ASM_OP
  #ifdef ASM_OUTPUT_BSS
  static void asm_output_bss (FILE *, tree, const char *,
-@@ -5071,13 +5070,18 @@ default_assemble_visibility (tree decl, 
+@@ -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.  */
  
  }
  
  /* Returns 1 if the target configuration supports defining public symbols
-@@ -6226,4 +6230,19 @@ output_object_blocks (void)
-   htab_traverse (object_block_htab, output_object_block_htab, NULL);
+@@ -6327,4 +6330,19 @@ elf_record_gcc_switches (print_switch_ty
+   return 0;
  }
  
 +/* Emit text to declare externally defined symbols. It is needed to
This page took 0.052926 seconds and 4 git commands to generate.