Update PR 51623, to eliminate checks against being in the text section.
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Dec 2011 21:13:10 +0000 (21:13 +0000)
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Dec 2011 21:13:10 +0000 (21:13 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182731 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 8b7c11e..ce5276c 100644 (file)
@@ -1,3 +1,10 @@
+2011-12-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/51623
+       * config/rs6000/rs6000.c (rs6000_assemble_integer): Delete check
+       for an initialized pointer being in a text section with
+       -mrelocatable, since it should never happen.
+
 2011-12-29  Michael Eager  <eager@eagercon.com>
 
        * config/microblaze/microblaze.md: Add expander for simple_return,
@@ -7,7 +14,7 @@
 
        * config/sh/sh.h (BRANCH_COST): Use sh_branch_cost variable.
        * config/sh/sh.c (sh_option_override): Simplify sh_branch_cost
-        expression.    
+        expression.
 
 2011-12-28  Ian Lance Taylor  <iant@google.com>
 
index d61f14c..872b757 100644 (file)
@@ -15456,12 +15456,13 @@ rs6000_assemble_integer (rtx x, unsigned int size, int aligned_p)
     {
       static int recurse = 0;
 
-      /* For -mrelocatable, we mark all addresses that need to be fixed up
-        in the .fixup section.  */
+      /* For -mrelocatable, we mark all addresses that need to be fixed up in
+        the .fixup section.  Since the TOC section is already relocated, we
+        don't need to mark it here.  We used to skip the text section, but it
+        should never be valid for relocated addresses to be placed in the text
+        section.  */
       if (TARGET_RELOCATABLE
          && in_section != toc_section
-         && in_section != text_section
-         && (in_section && (in_section->common.flags & SECTION_CODE)) == 0
          && !recurse
          && GET_CODE (x) != CONST_INT
          && GET_CODE (x) != CONST_DOUBLE