2002-06-18 Dave Brolley <brolley@redhat.com>

From Catherine Moore, Michael Meissner, Richard Sandiford, Dave Brolley:
	* po/POTFILES.in: Add tc-frv.c, tc-frv.h.
	* configure.in: Support frv-*-*.
	* Makefile.am (CPU_TYPES): Add frv.
	(TARGET_CPU_CFILES): Add tc-frv.c.
	(TARGET_CPU_HFILES): Add tc-frv.h.
	(DEPTC_frv_coff): New variable.
	(DEPTC_frv_elf): New variable.
	(DEPOBJ_frv_coff): New variable.
	(DEPOBJ_frv_elf): New variable.
	(DEP_frv_coff): New variable.
	(DEP_frv_elf): New variable.
	* tc-frv.c: New file.
	* tc-frv.h: New file.
This commit is contained in:
Dave Brolley 2002-06-18 21:15:21 +00:00
parent af029d496f
commit 0ebb9a87eb
9 changed files with 1791 additions and 0 deletions

View file

@ -1,3 +1,20 @@
2002-06-18 Dave Brolley <brolley@redhat.com>
From Catherine Moore, Michael Meissner, Richard Sandiford, Dave Brolley:
* po/POTFILES.in: Add tc-frv.c, tc-frv.h.
* configure.in: Support frv-*-*.
* Makefile.am (CPU_TYPES): Add frv.
(TARGET_CPU_CFILES): Add tc-frv.c.
(TARGET_CPU_HFILES): Add tc-frv.h.
(DEPTC_frv_coff): New variable.
(DEPTC_frv_elf): New variable.
(DEPOBJ_frv_coff): New variable.
(DEPOBJ_frv_elf): New variable.
(DEP_frv_coff): New variable.
(DEP_frv_elf): New variable.
* tc-frv.c: New file.
* tc-frv.h: New file.
2002-06-17 Catherine Moore <clm@redhat.com>
* config/obj-elf.h (TARGET_SYMBOL_FIELDS): Conditionally define.

View file

@ -47,6 +47,7 @@ CPU_TYPES = \
d30v \
dlx \
fr30 \
frv \
h8300 \
h8500 \
hppa \
@ -236,6 +237,7 @@ TARGET_CPU_CFILES = \
config/tc-d30v.c \
config/tc-dlx.c \
config/tc-fr30.c \
config/tc-frv.c \
config/tc-h8300.c \
config/tc-h8500.c \
config/tc-hppa.c \
@ -284,6 +286,7 @@ TARGET_CPU_HFILES = \
config/tc-d30v.h \
config/tc-dlx.h \
config/tc-fr30.h \
config/tc-frv.h \
config/tc-h8300.h \
config/tc-h8500.h \
config/tc-hppa.h \
@ -1067,6 +1070,18 @@ DEPTC_fr30_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
$(srcdir)/../opcodes/fr30-desc.h $(INCDIR)/opcode/cgen.h \
$(srcdir)/../opcodes/fr30-opc.h cgen.h
DEPTC_frv_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(srcdir)/config/tc-frv.h $(INCDIR)/coff/internal.h \
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \
subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/frv-desc.h \
$(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/frv-opc.h \
cgen.h
DEPTC_frv_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-frv.h \
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
$(srcdir)/../opcodes/frv-desc.h $(INCDIR)/opcode/cgen.h \
$(srcdir)/../opcodes/frv-opc.h cgen.h
DEPTC_h8300_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(srcdir)/config/tc-h8300.h $(INCDIR)/coff/internal.h \
$(INCDIR)/coff/h8300.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \
@ -1577,6 +1592,15 @@ DEPOBJ_fr30_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-fr30.h \
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
struc-symbol.h $(INCDIR)/aout/aout64.h
DEPOBJ_frv_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(srcdir)/config/tc-frv.h $(INCDIR)/coff/internal.h \
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \
subsegs.h
DEPOBJ_frv_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-frv.h \
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
struc-symbol.h $(INCDIR)/aout/aout64.h
DEPOBJ_h8300_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(srcdir)/config/tc-h8300.h $(INCDIR)/coff/internal.h \
$(INCDIR)/coff/h8300.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \
@ -2015,6 +2039,12 @@ DEP_fr30_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-fr30.h \
DEP_fr30_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/symcat.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-fr30.h
DEP_frv_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-frv.h \
$(INCDIR)/symcat.h $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h \
$(INCDIR)/bfdlink.h
DEP_frv_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/symcat.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-frv.h
DEP_h8300_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8300.h \
$(INCDIR)/symcat.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h \
$(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h

View file

@ -158,6 +158,7 @@ CPU_TYPES = \
d30v \
dlx \
fr30 \
frv \
h8300 \
h8500 \
hppa \
@ -353,6 +354,7 @@ TARGET_CPU_CFILES = \
config/tc-d30v.c \
config/tc-dlx.c \
config/tc-fr30.c \
config/tc-frv.c \
config/tc-h8300.c \
config/tc-h8500.c \
config/tc-hppa.c \
@ -402,6 +404,7 @@ TARGET_CPU_HFILES = \
config/tc-d30v.h \
config/tc-dlx.h \
config/tc-fr30.h \
config/tc-frv.h \
config/tc-h8300.h \
config/tc-h8500.h \
config/tc-hppa.h \
@ -795,6 +798,20 @@ DEPTC_fr30_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(srcdir)/../opcodes/fr30-desc.h $(INCDIR)/opcode/cgen.h \
$(srcdir)/../opcodes/fr30-opc.h cgen.h
DEPTC_frv_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(srcdir)/config/tc-frv.h $(INCDIR)/coff/internal.h \
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \
subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/frv-desc.h \
$(INCDIR)/opcode/cgen.h $(srcdir)/../opcodes/frv-opc.h \
cgen.h
DEPTC_frv_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-frv.h \
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
$(srcdir)/../opcodes/frv-desc.h $(INCDIR)/opcode/cgen.h \
$(srcdir)/../opcodes/frv-opc.h cgen.h
DEPTC_h8300_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(srcdir)/config/tc-h8300.h $(INCDIR)/coff/internal.h \
$(INCDIR)/coff/h8300.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \
@ -1414,6 +1431,17 @@ DEPOBJ_fr30_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
struc-symbol.h $(INCDIR)/aout/aout64.h
DEPOBJ_frv_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(srcdir)/config/tc-frv.h $(INCDIR)/coff/internal.h \
$(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \
subsegs.h
DEPOBJ_frv_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-frv.h \
$(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
struc-symbol.h $(INCDIR)/aout/aout64.h
DEPOBJ_h8300_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \
$(srcdir)/config/tc-h8300.h $(INCDIR)/coff/internal.h \
$(INCDIR)/coff/h8300.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \
@ -1961,6 +1989,14 @@ DEP_fr30_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/symcat.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-fr30.h
DEP_frv_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-frv.h \
$(INCDIR)/symcat.h $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h \
$(INCDIR)/bfdlink.h
DEP_frv_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/symcat.h \
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-frv.h
DEP_h8300_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-h8300.h \
$(INCDIR)/symcat.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/h8300.h \
$(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h

View file

@ -1,4 +1,7 @@
-*- text -*-
Support for the Fujitsu FRV architecture added by Red Hat. Models for FR400 and
FR500 included.
Support for DLX processor added.
GASP has now been deprecated and will be removed in a future release. Use the

1606
gas/config/tc-frv.c Normal file

File diff suppressed because it is too large Load diff

89
gas/config/tc-frv.h Normal file
View file

@ -0,0 +1,89 @@
/* tc-frv.h -- Header file for tc-frv.c.
Copyright (C) 2002 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GAS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GAS; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#define TC_FRV
#ifndef BFD_ASSEMBLER
/* leading space so will compile with cc */
#error FRV support requires BFD_ASSEMBLER
#endif
#define LISTING_HEADER "FRV GAS "
/* The target BFD architecture. */
#define TARGET_ARCH bfd_arch_frv
#define TARGET_FORMAT "elf32-frv"
#define TARGET_BYTES_BIG_ENDIAN 1
/* call md_pcrel_from_section, not md_pcrel_from */
long md_pcrel_from_section PARAMS ((struct fix *, segT));
#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section (FIXP, SEC)
/* Permit temporary numeric labels. */
#define LOCAL_LABELS_FB 1
#define DIFF_EXPR_OK /* .-foo gets turned into PC relative relocs */
/* We don't need to handle .word strangely. */
#define WORKING_DOT_WORD
#define md_apply_fix3 gas_cgen_md_apply_fix3
extern void frv_tomcat_workaround PARAMS ((void));
#define md_cleanup frv_tomcat_workaround
#define md_number_to_chars frv_md_number_to_chars
extern long frv_relax_frag PARAMS ((fragS *, long));
#define md_relax_frag(segment, fragP, stretch) frv_relax_frag(fragP, stretch)
#define obj_fix_adjustable(fixP) frv_fix_adjustable (fixP)
extern boolean frv_fix_adjustable PARAMS ((struct fix *));
#ifdef OBJ_ELF
/* This arranges for gas/write.c to not apply a relocation if
obj_fix_adjustable() says it is not adjustable. */
#define TC_FIX_ADJUSTABLE(fixP) obj_fix_adjustable (fixP)
#endif
/* When relaxing, we need to emit various relocs we otherwise wouldn't. */
#define TC_FORCE_RELOCATION(fix) frv_force_relocation (fix)
extern int frv_force_relocation PARAMS ((struct fix *));
#undef GAS_CGEN_MAX_FIXUPS
#define GAS_CGEN_MAX_FIXUPS 1
void frv_frob_label PARAMS ((symbolS *));
#define tc_frob_label(sym) frv_frob_label(sym)
#define tc_gen_reloc gas_cgen_tc_gen_reloc
#define md_cgen_record_fixup_exp frv_cgen_record_fixup_exp
/* Call md_pcrel_from_section(), not md_pcrel_from(). */
#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section (FIXP, SEC)
extern long md_pcrel_from_section PARAMS ((struct fix *, segT));
/* After all of the symbols have been adjusted, go over the file looking
for any relocations that pic won't support. */
#define tc_frob_file() frv_frob_file ()
extern void frv_frob_file PARAMS ((void));

4
gas/configure vendored
View file

@ -2378,6 +2378,7 @@ for this_target in $target $canon_targets ; do
fr30-*-*) fmt=elf bfd_gas=yes ;;
frv-*-*) fmt=elf bfd_gas=yes ;;
hppa-*-linux-gnu*) case ${cpu} in
hppa*64*)
@ -2742,6 +2743,9 @@ EOF
using_cgen=yes
;;
frv)
using_cgen=yes
;;
m68k)
case ${extra_objects} in
*m68k-parse.o*) ;;

View file

@ -217,6 +217,7 @@ changequote([,])dnl
fr30-*-*) fmt=elf bfd_gas=yes ;;
frv-*-*) fmt=elf bfd_gas=yes ;;
hppa-*-linux-gnu*) case ${cpu} in
hppa*64*)
@ -574,6 +575,9 @@ changequote([,])dnl
using_cgen=yes
;;
frv)
using_cgen=yes
;;
m68k)
case ${extra_objects} in
*m68k-parse.o*) ;;

View file

@ -60,6 +60,8 @@ config/tc-dlx.c
config/tc-dlx.h
config/tc-fr30.c
config/tc-fr30.h
config/tc-frv.c
config/tc-frv.h
config/tc-h8300.c
config/tc-h8300.h
config/tc-h8500.c