arm.h (TARGET_SWITCHES): Add -m{no-}single-pic-base.
authorPhilip Blundell <pb@nexus.co.uk>
Fri, 23 Jul 1999 13:19:49 +0000 (13:19 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Fri, 23 Jul 1999 13:19:49 +0000 (13:19 +0000)
commited0e65302b574687298c6c1e947799c27e4d0b9b
tree19da1682a58ea729ccd498c477ae585bf6a6d7fe
parent59ba45cdbfbe0e667e38e24cf0935b6e060efef8
arm.h (TARGET_SWITCHES): Add -m{no-}single-pic-base.

* config/arm/arm.h (TARGET_SWITCHES): Add
-m{no-}single-pic-base.  Correct help string for -mshort-load-words.
(TARGET_OPTIONS): Add -mpic-register=.
(ARM_FLAG_SINGLE_PIC_BASE, TARGET_SINGLE_PIC_BASE): Define.
(arm_pic_register_string): Declare.
(NEED_PLT_GOT): Delete, replace with ...
(NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  New macros.
(OUTPUT_INT_ADDR_CONST): Replace NEED_PLT_GOT with NEED_GOT_RELOC.
(ASM_OUTPUT_MI_THUNK): Replace NEED_PLT_GOT with NEED_PLT_RELOC.
* config/arm/arm.c (arm_override_options): Add new option
-mpic-register=N.
(arm_pic_register_string): New variable.
(arm_finalize_pic): Respect TARGET_SINGLE_PIC_BASE.
(output_func_prologue): If TARGET_SINGLE_PIC_BASE, treat the PIC
register as never live.  Use NEED_PLT_RELOC not NEED_PLT_GOT.
(output_return_instruction): Likewise.
* config/arm/elf.h (NEED_PLT_GOT): Delete, replace with ...
(NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  Define to flag_pic.
* config/arm/arm.md: Use NEED_PLT_RELOC in place of NEED_PLT_GOT.

* invoke.texi (ARM Options): Fix spelling.  Remove duplicate
mention of -msched-prolog.  Document new options -msingle-pic-base
and -mpic-register=.

From-SVN: r28227
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/arm/arm.md
gcc/config/arm/elf.h
gcc/invoke.texi