aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips/mips.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/mips/mips.h')
-rw-r--r--gcc/config/mips/mips.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 46f1165d188..7360e1b5d64 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -3224,7 +3224,11 @@ do \
SYMBOL_REF_FLAG (XEXP (DECL_RTL (DECL), 0)) = 1; \
} \
\
- else if (TARGET_GP_OPT && TREE_CODE (DECL) == VAR_DECL) \
+ /* We can not perform GP optimizations on variables which are in \
+ specific sections, except for .sdata and .sbss which are \
+ handled above. */ \
+ else if (TARGET_GP_OPT && TREE_CODE (DECL) == VAR_DECL \
+ && DECL_SECTION_NAME (DECL) == NULL_TREE) \
{ \
int size = int_size_in_bytes (TREE_TYPE (DECL)); \
\