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/sparc/sparc.h | |
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/sparc/sparc.h')
-rw-r--r-- | gcc/config/sparc/sparc.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index db0e34e..1a4805b 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -22,6 +22,8 @@ along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +#include "config/vxworks-dummy.h" + /* Note that some other tm.h files include this one and then override whatever definitions are necessary. */ @@ -2409,6 +2411,7 @@ extern int sparc_indent_opcode; else if (GET_CODE (index) == REG) \ fprintf (FILE, "+%s", reg_names[REGNO (index)]); \ else if (GET_CODE (index) == SYMBOL_REF \ + || GET_CODE (index) == LABEL_REF \ || GET_CODE (index) == CONST) \ fputc ('+', FILE), output_addr_const (FILE, index); \ else gcc_unreachable (); \ |