OSDN Git Service

Make -fPIC the same as -mrelocatable-lib
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Aug 1996 15:48:47 +0000 (15:48 +0000)
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Aug 1996 15:48:47 +0000 (15:48 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12670 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/rs6000/sol2.h
gcc/config/rs6000/sysv4.h

index 00c90f1..f75ad2b 100644 (file)
@@ -26,7 +26,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define RS6000_ABI_NAME "solaris"
 
 #undef ASM_CPU_SPEC
-#define ASM_CPU_SPEC "%{fpic:-K PIC} %{fPIC:-K PIC} -le -s"
+#define ASM_CPU_SPEC "-le -s"
 
 #undef TARGET_DEFAULT
 #define TARGET_DEFAULT (MASK_POWERPC | \
index 17da1c8..6954ed7 100644 (file)
@@ -244,6 +244,14 @@ do {                                                                       \
             rs6000_abi_name);                                          \
     }                                                                  \
                                                                        \
+  if (flag_pic > 1 &&                                                  \
+      (rs6000_current_abi == ABI_AIX || rs6000_current_abi == ABI_NT)) \
+    {                                                                  \
+      flag_pic = 0;                                                    \
+      error ("-fPIC and -mcall-%s are incompatible.",                  \
+            rs6000_abi_name);                                          \
+    }                                                                  \
+                                                                       \
   if (rs6000_current_abi == ABI_AIX && TARGET_LITTLE_ENDIAN)           \
     {                                                                  \
       target_flags &= ~MASK_LITTLE_ENDIAN;                             \
@@ -258,7 +266,7 @@ do {                                                                        \
                                                                        \
   /* Treat -fPIC the same as -mrelocatable */                          \
   if (flag_pic > 1)                                                    \
-    target_flags |= MASK_RELOCATABLE;                                  \
+    target_flags |= MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC; \
                                                                        \
   else if (TARGET_RELOCATABLE)                                         \
     flag_pic = 2;                                                      \
@@ -954,7 +962,7 @@ do {                                                                        \
 #undef ASM_SPEC
 #define ASM_SPEC "%(asm_cpu) %{mregnames} %{mno-regnames} \
 %{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \
-%{mrelocatable} %{mrelocatable-lib} \
+%{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} \
 %{memb} %{!memb: %{msdata: -memb} %{msdata=eabi: -memb}} \
 %{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian} \
 %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \