aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Meissner <meissner@gcc.gnu.org>1996-04-27 14:31:22 +0000
committerMichael Meissner <meissner@gcc.gnu.org>1996-04-27 14:31:22 +0000
commit670866a572640e83ba32f29c1e0ef1f8ce895801 (patch)
tree945e75d94c8178122e73dcc668ca4a5844282d71 /gcc
parentc7690c684f4d173ec2ea3a6a1cc40af7a3fbe1f5 (diff)
downloadgcc-670866a572640e83ba32f29c1e0ef1f8ce895801.zip
gcc-670866a572640e83ba32f29c1e0ef1f8ce895801.tar.gz
gcc-670866a572640e83ba32f29c1e0ef1f8ce895801.tar.bz2
-mrelocatable needs -meabi
From-SVN: r11899
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/rs6000/sysv4.h11
-rw-r--r--gcc/config/rs6000/t-ppcgas2
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 1d29c60..8b0ff15 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -134,7 +134,10 @@ do { \
target_flags |= MASK_EABI; \
} \
else if (!strcmp (rs6000_abi_name, "aix")) \
- rs6000_current_abi = ABI_AIX_NODESC; \
+ { \
+ rs6000_current_abi = ABI_AIX_NODESC; \
+ target_flags |= MASK_EABI; \
+ } \
else if (!strcmp (rs6000_abi_name, "aixdesc")) \
rs6000_current_abi = ABI_AIX; \
else if (!strcmp (rs6000_abi_name, "nt")) \
@@ -160,6 +163,12 @@ do { \
error ("-mrelocatable and -msdata are incompatible."); \
} \
\
+ if (TARGET_RELOCATABLE && !TARGET_EABI) \
+ { \
+ target_flags |= ~MASK_EABI; \
+ error ("-mrelocatable and -mno-eabi are incompatible."); \
+ } \
+ \
if (TARGET_SDATA && DEFAULT_ABI != ABI_V4 \
&& DEFAULT_ABI != ABI_SOLARIS) \
{ \
diff --git a/gcc/config/rs6000/t-ppcgas b/gcc/config/rs6000/t-ppcgas
index 9984d89e..107ace9 100644
--- a/gcc/config/rs6000/t-ppcgas
+++ b/gcc/config/rs6000/t-ppcgas
@@ -45,7 +45,7 @@ MULTILIB_MATCHES = mlittle=mlittle-endian \
mcall-sysv-eabi=meabi \
mcall-sysv-noeabi=mno-eabi
-MULTILIB_EXCEPTIONS =
+MULTILIB_EXCEPTIONS = *mrelocatable*/*mcall-sysv-noeabi*
LIBGCC = stmp-multilib stmp-crt
INSTALL_LIBGCC = install-multilib install-crt