summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>2011-12-29 21:13:10 +0000
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>2011-12-29 21:13:10 +0000
commitf4d0df467ff2a61fae25a2f6ff6595a599bf98a6 (patch)
treeb520bd30cc20f696425874343ab9db364a6751da /gcc
parent55370ee1b33a681ab853bfd0f6670e2f81e7bf32 (diff)
downloadgcc-f4d0df467ff2a61fae25a2f6ff6595a599bf98a6.tar.gz
Update PR 51623, to eliminate checks against being in the text section.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182731 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/rs6000/rs6000.c9
2 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8b7c11e6bc3..ce5276c1224 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index d61f14cc071..872b757fe70 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -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