diff options
author | Richard Sandiford <richard@codesourcery.com> | 2007-05-10 11:15:07 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2007-05-10 11:15:07 +0000 |
commit | 1910440ea6f09731f4c475f8556c101e8944340c (patch) | |
tree | 6dd6c8dc5926e50ceabcd4e33f3edafd37e19c3c /gcc/config.gcc | |
parent | 31b40480a461ba486b17ad808fd0266546fabddf (diff) | |
download | gcc-1910440ea6f09731f4c475f8556c101e8944340c.zip gcc-1910440ea6f09731f4c475f8556c101e8944340c.tar.gz gcc-1910440ea6f09731f4c475f8556c101e8944340c.tar.bz2 |
config.gcc (sparc-wrs-vxworks): New target.
gcc/
* config.gcc (sparc-wrs-vxworks): New target.
* config/sparc/vxworks.h, config/sparc/t-vxworks: New files.
* config/sparc/sparc-protos.h (sparc_emit_call_insn): Declare.
* config/sparc/sparc.h: Include vxworks-dummy.h.
(PRINT_OPERAND_ADDRESS): Extend SYMBOL_REF handling to
include LABEL_REFs too.
* config/sparc/sparc.c (sparc_expand_move): Don't assume that
_GLOBAL_OFFSET_TABLE_ - label_ref is a link-time constant on
VxWorks.
(legitimize_pic_address): Handle LABEL_REFs like SYMBOL_REFs
on VxWorks.
(load_pic_register): Use gen_vxworks_load_got for VxWorks.
(sparc_emit_call_insn): New function.
(sparc_function_ok_for_sibcall): Restrict sibcalls to locally-binding
functions when generating VxWorks PIC.
* config/sparc/sparc.md (vxworks_load_got): New pattern.
(call, call_value): Use sparc_emit_call_insn instead of
emit_call_insn.
libgcc/
* config.host (sparc-wrs-vxworks): New target.
From-SVN: r124595
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 31b10d4..a26f3dd 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -2370,6 +2370,10 @@ sparc-*-sysv4*) extra_parts="crtbegin.o crtend.o" use_fixproto=yes ;; +sparc-wrs-vxworks) + tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h" + tmake_file="${tmake_file} sparc/t-vxworks" + ;; sparc64-*-elf*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h" extra_options="${extra_options} sparc/little-endian.opt" |