diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1996-11-04 15:33:01 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1996-11-04 15:33:01 +0000 |
commit | 461422d5b6136889dd97e15c4d69cec2bf3427b9 (patch) | |
tree | 110424ae17e769a41a7b8a86fd00774b401a12a5 /gcc | |
parent | 4f3397ae26e52899a70424d7bba802b19fc14355 (diff) | |
download | gcc-461422d5b6136889dd97e15c4d69cec2bf3427b9.zip gcc-461422d5b6136889dd97e15c4d69cec2bf3427b9.tar.gz gcc-461422d5b6136889dd97e15c4d69cec2bf3427b9.tar.bz2 |
Fix -fpic problems; fix typo in cygwin
From-SVN: r13093
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/rs6000/cygwin32.h | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 3 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 1 |
3 files changed, 5 insertions, 1 deletions
diff --git a/gcc/config/rs6000/cygwin32.h b/gcc/config/rs6000/cygwin32.h index e89026e..557b301 100644 --- a/gcc/config/rs6000/cygwin32.h +++ b/gcc/config/rs6000/cygwin32.h @@ -49,7 +49,7 @@ Boston, MA 02111-1307, USA. */ #define LINK_SPEC "%{v:-V}" #undef STARTFILE_SPEC -#define STARTFILE_SPEC "crti%O%s %{!:crt0%O%s}" +#define STARTFILE_SPEC "crti%O%s crt0%O%s" #undef ENDFILE_SPEC #define ENDFILE_SPEC "crtn%O%s" diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index e17c5a6..b3517f2 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -1767,6 +1767,7 @@ typedef struct rs6000_args #define LEGITIMATE_SMALL_DATA_P(MODE, X) \ ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) \ + && !flag_pic && !TARGET_RELOCATABLE \ && (GET_CODE (X) == SYMBOL_REF || GET_CODE (X) == CONST) \ && small_data_operand (X, MODE)) @@ -1803,6 +1804,7 @@ typedef struct rs6000_args #define LEGITIMATE_LO_SUM_ADDRESS_P(MODE, X) \ (TARGET_ELF \ + && !flag_pic && !TARGET_RELOCATABLE \ && (MODE) != DImode \ && (MODE) != TImode \ && (TARGET_HARD_FLOAT || (MODE) != DFmode) \ @@ -1881,6 +1883,7 @@ typedef struct rs6000_args goto WIN; \ } \ else if (TARGET_ELF && TARGET_32BIT && TARGET_NO_TOC \ + && !flag_pic \ && GET_CODE (X) != CONST_INT \ && GET_CODE (X) != CONST_DOUBLE && CONSTANT_P (X) \ && (TARGET_HARD_FLOAT || (MODE) != DFmode) \ diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 382a0a7..480e0ba 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -5084,6 +5084,7 @@ } if (TARGET_ELF && TARGET_NO_TOC && !TARGET_64BIT + && !flag_pic && CONSTANT_P (operands[1]) && GET_CODE (operands[1]) != HIGH && GET_CODE (operands[1]) != CONST_INT) |