]> git.pld-linux.org Git - packages/gcc.git/commitdiff
- synced with gcc-3.4-comdat-10.patch.
authorPaweł Sikora <pluto@pld-linux.org>
Sat, 4 Dec 2004 14:54:02 +0000 (14:54 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    gcc-pr16276.patch -> 1.3

gcc-pr16276.patch

index 8b5c800e07df70577ac1e0daf23a9c8967b91157..2d68a39955a6e664317f80c4765e45c319a0da80 100644 (file)
@@ -1,4 +1,4 @@
-2004-07-09  H.J. Lu  <hongjiu.lu@intel.com>
+2004-12-03  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR c++/16276
        * configure.ac: Check if assembler supports COMDAT group. 
@@ -21,8 +21,8 @@
        * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Define only
        if HAVE_GAS_COMDAT_GROUP is not defined.
 
---- gcc/config.in.comdat       2004-07-09 17:37:29.000000000 -0700
-+++ gcc/config.in      2004-07-09 17:37:29.000000000 -0700
+--- gcc/config.in.comdat       2004-12-03 09:15:49.000000000 -0800
++++ gcc/config.in      2004-12-03 09:15:50.000000000 -0800
 @@ -252,6 +252,9 @@
  /* Define if your assembler supports .balign and .p2align. */
  #undef HAVE_GAS_BALIGN_AND_P2ALIGN
@@ -34,7 +34,7 @@
  #undef HAVE_GAS_FILDS_FISTS
  
 --- gcc/config/arm/arm.c.comdat        2004-04-30 10:36:39.000000000 -0700
-+++ gcc/config/arm/arm.c       2004-07-09 17:37:29.000000000 -0700
++++ gcc/config/arm/arm.c       2004-12-03 09:15:50.000000000 -0800
 @@ -13156,12 +13156,15 @@ static void
  arm_elf_asm_named_section (const char *name, unsigned int flags)
  {
@@ -81,7 +81,7 @@
  }
  #endif
 --- gcc/config/sparc/sysv4.h.comdat    2003-06-17 17:03:32.000000000 -0700
-+++ gcc/config/sparc/sysv4.h   2004-07-09 17:37:29.000000000 -0700
++++ gcc/config/sparc/sysv4.h   2004-12-03 09:15:50.000000000 -0800
 @@ -150,9 +150,13 @@ do { ASM_OUTPUT_ALIGN ((FILE), Pmode == 
  #undef DTORS_SECTION_ASM_OP
  #define DTORS_SECTION_ASM_OP    "\t.section\t\".dtors\",#alloc,#write"
  
  #undef ASM_OUTPUT_ALIGNED_BSS
  #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
---- gcc/configure.ac.comdat    2004-07-09 17:37:29.000000000 -0700
-+++ gcc/configure.ac   2004-07-09 17:37:29.000000000 -0700
-@@ -2070,6 +2070,13 @@ AC_DEFINE_UNQUOTED(HAVE_GAS_SHF_MERGE,
+--- gcc/configure.ac.comdat    2004-12-03 09:15:49.000000000 -0800
++++ gcc/configure.ac   2004-12-03 09:22:29.000000000 -0800
+@@ -1913,8 +1913,12 @@ changequote(,)dnl
+       -e 's,^.*[       ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)$,\1,p' \
+       -e 's,^.*[       ]\([0-9][0-9]*\.[0-9][0-9]*\)[  ].*$,\1,p' \
+       -e 's,^.*[       ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[     ].*$,\1,p' \
+-      -e 's,^.*[       ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[        ].*$,\1,p'`
++      -e 's,^.*[       ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[       ].*$,\1,p' \
++      -e 's,^.*[       ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[   ].*$,\1,p'`
+     ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
++    ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
++    ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
++    ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
+     if test 0"$ld_date" -lt 20020404; then
+       if test -n "$ld_date"; then
+       # If there was date string, but was earlier than 2002-04-04, fail
+@@ -1923,9 +1927,6 @@ changequote(,)dnl
+       # If there was no date string nor ld version number, something is wrong
+       gcc_cv_ld_hidden=no
+       else
+-      ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
+-      ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
+-      ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
+       test -z "$ld_vers_patch" && ld_vers_patch=0
+       if test "$ld_vers_major" -lt 2; then
+         gcc_cv_ld_hidden=no
+@@ -2060,6 +2061,39 @@ AC_DEFINE_UNQUOTED(HAVE_GAS_SHF_MERGE,
    [`if test $gcc_cv_as_shf_merge = yes; then echo 1; else echo 0; fi`],
  [Define 0/1 if your assembler supports marking sections with SHF_MERGE flag.])
  
 +gcc_GAS_CHECK_FEATURE(COMDAT group support, gcc_cv_as_comdat_group,
-+ [elf,2,15,91], [--fatal-warnings],
++ [elf,2,15,92], [--fatal-warnings],
 + [.section .text,"axG",@progbits,.foo,comdat])
++if test $gcc_cv_as_comdat_group = yes; then
++  gcc_cv_as_comdat_group_percent=no
++else
++ gcc_GAS_CHECK_FEATURE(COMDAT group support, gcc_cv_as_comdat_group_percent,
++   [elf,2,15,92], [--fatal-warnings],
++   [.section .text,"axG",%progbits,.foo,comdat])
++fi
++if test $in_tree_ld != yes && test x"$ld_vers" != x; then
++  comdat_group=yes
++  if test 0"$ld_date" -lt 20040727; then
++    if test -n "$ld_date"; then
++      # If there was date string, but was earlier than 2002-07-27, fail
++      comdat_group=no
++    elif test "$ld_vers_major" -lt 2; then
++      comdat_group=no
++    elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 15; then
++      comdat_group=no
++    elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -eq 15 -a "$ld_vers_patch" -lt 92; then
++      comdat_group=no
++    fi
++  fi
++  if test $comdat_group = no; then
++    gcc_cv_as_comdat_group=no
++    gcc_cv_as_comdat_group_percent=no
++  fi
++fi
 +AC_DEFINE_UNQUOTED(HAVE_GAS_COMDAT_GROUP,
-+  [`if test $gcc_cv_as_comdat_group = yes; then echo 1; else echo 0; fi`],
++  [`if test $gcc_cv_as_comdat_group = yes || test $gcc_cv_as_comdat_group_percent = yes; then echo 1; else echo 0; fi`],
 +[Define 0/1 if your assembler supports COMDAT group.])
 +
  # Thread-local storage - the check is heavily parametrized.
  conftest_s=
  tls_first_major=
 --- gcc/final.c.comdat 2004-02-23 13:24:09.000000000 -0800
-+++ gcc/final.c        2004-07-09 17:38:25.000000000 -0700
++++ gcc/final.c        2004-12-03 09:15:50.000000000 -0800
 @@ -1881,7 +1881,12 @@ final_scan_insn (rtx insn, FILE *file, i
                {
                  int log_align;
  #ifdef ADDR_VEC_ALIGN
                  log_align = ADDR_VEC_ALIGN (NEXT_INSN (insn));
 --- gcc/output.h.comdat        2004-03-26 09:25:41.000000000 -0800
-+++ gcc/output.h       2004-07-09 17:37:29.771404795 -0700
++++ gcc/output.h       2004-12-03 09:15:50.000000000 -0800
 @@ -475,6 +475,9 @@ extern void no_asm_to_stream (FILE *);
  #define SECTION_NOTYPE         0x80000        /* don't output @progbits */
  #define SECTION_MACH_DEP 0x100000     /* subsequent bits reserved for target */
  extern unsigned int get_named_section_flags (const char *);
  extern bool set_named_section_flags (const char *, unsigned int);
  extern void named_section_flags (const char *, unsigned int);
---- gcc/varasm.c.comdat        2004-04-16 16:59:51.000000000 -0700
-+++ gcc/varasm.c       2004-07-09 18:12:27.804157508 -0700
+--- gcc/varasm.c.comdat        2004-11-01 14:04:58.000000000 -0800
++++ gcc/varasm.c       2004-12-03 09:30:54.005496029 -0800
 @@ -259,6 +259,35 @@ data_section (void)
      }
  }
  /* Tell assembler to switch to read-only data section.  This is normally
     the text section.  */
  
-@@ -4650,16 +4679,97 @@ default_no_named_section (const char *na
+@@ -4651,16 +4680,97 @@ default_no_named_section (const char *na
    abort ();
  }
  
 +      sec = one [p [0] - 'b'];
 +
 +      if (sec)
-+      *group = p + 1;
++      *group = p + 2;
 +    }
 +  else if (p [2] == '.')
 +    {
 +      sec = ".debug_info";
 +
 +      if (sec)
-+      *group = p + 2;
++      *group = p + 3;
 +    }
 +  else if (strncmp (p, "sb2.", 4) == 0)
 +    {
 +      sec = ".sbss2";
-+      *group = p + 3;
++      *group = p + 4;
 +    }
 +
 +  if (sec)
  
    if (!(flags & SECTION_DEBUG))
      *f++ = 'a';
-@@ -4675,9 +4785,17 @@ default_elf_asm_named_section (const cha
+@@ -4676,9 +4786,17 @@ default_elf_asm_named_section (const cha
      *f++ = 'S';
    if (flags & SECTION_TLS)
      *f++ = 'T';
  
    if (!(flags & SECTION_NOTYPE))
      {
-@@ -4694,6 +4812,9 @@ default_elf_asm_named_section (const cha
+@@ -4695,6 +4813,9 @@ default_elf_asm_named_section (const cha
        fprintf (asm_out_file, ",%d", flags & SECTION_ENTSIZE);
      }
  
This page took 0.055296 seconds and 4 git commands to generate.