aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sparc/sparc.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2007-05-10 11:15:07 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-05-10 11:15:07 +0000
commit1910440ea6f09731f4c475f8556c101e8944340c (patch)
tree6dd6c8dc5926e50ceabcd4e33f3edafd37e19c3c /gcc/config/sparc/sparc.h
parent31b40480a461ba486b17ad808fd0266546fabddf (diff)
downloadgcc-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.h3
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 (); \