From f4d0df467ff2a61fae25a2f6ff6595a599bf98a6 Mon Sep 17 00:00:00 2001 From: meissner Date: Thu, 29 Dec 2011 21:13:10 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 9 ++++++++- gcc/config/rs6000/rs6000.c | 9 +++++---- 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 + + 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 * 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 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 -- 2.11.0