diff options
Diffstat (limited to 'gas/config')
33 files changed, 91 insertions, 39 deletions
diff --git a/gas/config/alpha-opcode.h b/gas/config/alpha-opcode.h index 6431f20..c2e562e 100644 --- a/gas/config/alpha-opcode.h +++ b/gas/config/alpha-opcode.h @@ -50,7 +50,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GAS or GDB; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #if !defined(__STDC__) && !defined(const) #define const diff --git a/gas/config/m88k-opcode.h b/gas/config/m88k-opcode.h index 9f4cb34..27464bc 100644 --- a/gas/config/m88k-opcode.h +++ b/gas/config/m88k-opcode.h @@ -17,7 +17,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #if !defined(__STDC__) && !defined(const) #define const diff --git a/gas/config/obj-bout.c b/gas/config/obj-bout.c index 9e8d97b..ba7cadc 100644 --- a/gas/config/obj-bout.c +++ b/gas/config/obj-bout.c @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "as.h" #include "obstack.h" diff --git a/gas/config/obj-bout.h b/gas/config/obj-bout.h index 27d085f..936ab89 100644 --- a/gas/config/obj-bout.h +++ b/gas/config/obj-bout.h @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA + to the Free Software Foundation, 59 Temple Place - Suite 330, Cambridge, MA 02139, USA. */ /* diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index c82e135..c1093a0 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c @@ -16,7 +16,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "as.h" #include "obstack.h" diff --git a/gas/config/obj-generic.c b/gas/config/obj-generic.c index 2f69ce4..69fc3d1 100644 --- a/gas/config/obj-generic.c +++ b/gas/config/obj-generic.c @@ -17,7 +17,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Chars that can be used to separate mant from exp in floating point nums */ char EXP_CHARS[] = "eE"; diff --git a/gas/config/obj-generic.h b/gas/config/obj-generic.h index ff46957..dc18e43 100644 --- a/gas/config/obj-generic.h +++ b/gas/config/obj-generic.h @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* * This file is obj-generic.h and is intended to be a template for diff --git a/gas/config/obj-hp300.c b/gas/config/obj-hp300.c index ca546dd..6e9cc53 100644 --- a/gas/config/obj-hp300.c +++ b/gas/config/obj-hp300.c @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "config/obj-aout.c" diff --git a/gas/config/obj-hp300.h b/gas/config/obj-hp300.h index 797aa9d..ff4006b 100644 --- a/gas/config/obj-hp300.h +++ b/gas/config/obj-hp300.h @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define __STRUCT_EXEC_OVERRIDE__ diff --git a/gas/config/obj-ieee.c b/gas/config/obj-ieee.c index 4cd1794..c4217d1 100644 --- a/gas/config/obj-ieee.c +++ b/gas/config/obj-ieee.c @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* diff --git a/gas/config/obj-ieee.h b/gas/config/obj-ieee.h index a5cdbf6..4a0f126 100644 --- a/gas/config/obj-ieee.h +++ b/gas/config/obj-ieee.h @@ -16,7 +16,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define BFD 1 diff --git a/gas/config/obj-vms.c b/gas/config/obj-vms.c index 4479ec7..e3d81cf 100644 --- a/gas/config/obj-vms.c +++ b/gas/config/obj-vms.c @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Written by David L. Kashtan */ /* Modified by Eric Youngdale to write VMS debug records for program diff --git a/gas/config/obj-vms.h b/gas/config/obj-vms.h index c0582e3..34aa4a2 100644 --- a/gas/config/obj-vms.h +++ b/gas/config/obj-vms.h @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ +to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Tag to validate a.out object file format processing */ #define OBJ_VMS 1 diff --git a/gas/config/tc-a29k.c b/gas/config/tc-a29k.c index 286b73b..4aa5933 100644 --- a/gas/config/tc-a29k.c +++ b/gas/config/tc-a29k.c @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* John Gilmore has reorganized this module somewhat, to make it easier to convert it to new machines' assemblers as desired. There was too diff --git a/gas/config/tc-a29k.h b/gas/config/tc-a29k.h index 2096098..7701a61 100644 --- a/gas/config/tc-a29k.h +++ b/gas/config/tc-a29k.h @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define TC_A29K diff --git a/gas/config/tc-arc.h b/gas/config/tc-arc.h index edd190b..1230662 100644 --- a/gas/config/tc-arc.h +++ b/gas/config/tc-arc.h @@ -16,21 +16,45 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define TC_ARC 1 -#define LOCAL_LABELS_FB +#define LOCAL_LABELS_FB 1 #define TARGET_ARCH bfd_arch_arc -#define TARGET_FORMAT "elf32-arc" + +#define LITTLE_ENDIAN 1234 +#define BIG_ENDIAN 4321 + +/* The endianness of the target format may change based on command + line arguments. */ +extern const char *arc_target_format; +#define DEFAULT_TARGET_FORMAT "elf32-littlearc" +#define TARGET_FORMAT arc_target_format +#define DEFAULT_BYTE_ORDER LITTLE_ENDIAN + #define LOCAL_LABEL(name) ((name)[0] == '.' && (name)[1] == 'L') +#define FAKE_LABEL_NAME ".L0\001" + #define WORKING_DOT_WORD #define LISTING_HEADER "ARC GAS " #define TC_HANDLES_FX_DONE +#define MD_APPLY_FIX3 + +/* The ARC needs to parse reloc specifiers in .word. */ + +extern void arc_parse_cons_expression (); +#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) \ +arc_parse_cons_expression (EXP, NBYTES) + +extern void arc_cons_fix_new (); +#define TC_CONS_FIX_NEW(FRAG, WHERE, NBYTES, EXP) \ +arc_cons_fix_new (FRAG, WHERE, NBYTES, EXP) + #if 0 /* Extra stuff that we need to keep track of for each symbol. */ struct arc_tc_sy diff --git a/gas/config/tc-h8500.c b/gas/config/tc-h8500.c index 7b45680..866da9a 100644 --- a/gas/config/tc-h8500.c +++ b/gas/config/tc-h8500.c @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Written By Steve Chamberlain diff --git a/gas/config/tc-h8500.h b/gas/config/tc-h8500.h index 551c9ea..28f5da6 100644 --- a/gas/config/tc-h8500.h +++ b/gas/config/tc-h8500.h @@ -16,7 +16,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define TC_H8500 diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 29c6b50..741a4ec 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Intel 80386 machine specific gas. diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h index 041ef79..85fc584 100644 --- a/gas/config/tc-i386.h +++ b/gas/config/tc-i386.h @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef TC_I386 #define TC_I386 1 @@ -100,7 +100,7 @@ extern int tc_coff_sizemachdep PARAMS ((fragS *frag)); /* Need this for PIC relocations */ #define NEED_FX_R_TYPE -#define AOUT_MACHTYPE /* 100 */ 0 +#define AOUT_MACHTYPE 100 #undef REVERSE_SORT_RELOCS #endif /* ! BFD_ASSEMBLER */ @@ -118,7 +118,7 @@ extern int tc_coff_sizemachdep PARAMS ((fragS *frag)); && (name[1] == 'L' || name[1] == 'X' || name[1] == '.')) #define FAKE_LABEL_NAME ".L0\001" #endif -#define LOCAL_LABELS_FB +#define LOCAL_LABELS_FB 1 #define tc_aout_pre_write_hook(x) {;} /* not used */ #define tc_crawl_symbol_chain(a) {;} /* not used */ @@ -360,4 +360,7 @@ void i386_validate_fix (); #define md_operand(x) +extern const struct relax_type md_relax_table[]; +#define TC_GENERIC_RELAX_TABLE md_relax_table + /* end of tc-i386.h */ diff --git a/gas/config/tc-m88k.c b/gas/config/tc-m88k.c index 2bf2255..586e274 100644 --- a/gas/config/tc-m88k.c +++ b/gas/config/tc-m88k.c @@ -17,7 +17,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include <ctype.h> #include "as.h" diff --git a/gas/config/tc-m88k.h b/gas/config/tc-m88k.h index ce36f58..afffbb1 100644 --- a/gas/config/tc-m88k.h +++ b/gas/config/tc-m88k.h @@ -18,7 +18,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define TC_M88K diff --git a/gas/config/tc-mips.h b/gas/config/tc-mips.h index 1783f8a..a701e76 100644 --- a/gas/config/tc-mips.h +++ b/gas/config/tc-mips.h @@ -18,7 +18,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef TC_MIPS diff --git a/gas/config/tc-rce.c b/gas/config/tc-rce.c index 71b2dc3..63452e8 100644 --- a/gas/config/tc-rce.c +++ b/gas/config/tc-rce.c @@ -16,7 +16,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Adapted from the SH assember diff --git a/gas/config/tc-rce.h b/gas/config/tc-rce.h index 0b90c13..bf2cfbe 100644 --- a/gas/config/tc-rce.h +++ b/gas/config/tc-rce.h @@ -16,7 +16,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef TC_RCE #define TC_RCE 1 diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c index 3d07a63..faf2988 100644 --- a/gas/config/tc-sparc.c +++ b/gas/config/tc-sparc.c @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include <stdio.h> #include <ctype.h> diff --git a/gas/config/tc-sparc.h b/gas/config/tc-sparc.h index f43f1f2..4b13ff9 100644 --- a/gas/config/tc-sparc.h +++ b/gas/config/tc-sparc.h @@ -15,16 +15,20 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define TC_SPARC 1 -#define LOCAL_LABELS_FB +#define LOCAL_LABELS_FB 1 #define TARGET_ARCH bfd_arch_sparc #ifdef OBJ_AOUT +#ifdef TE_NetBSD +#define TARGET_FORMAT "a.out-sparc-netbsd" +#else #define TARGET_FORMAT "a.out-sunos-big" #endif +#endif #ifdef OBJ_BOUT #define TARGET_FORMAT "b.out.big" #endif @@ -35,7 +39,7 @@ #define TARGET_FORMAT "elf64-sparc" /* v9 */ #define ENV64 /* v9 */ #endif /* sparcv9 */ -#define LOCAL_LABEL(name) ((name)[0] == '.' || !strncmp ((name), "_.L_", 4)) +#define LOCAL_LABEL(name) (((name)[0] == '.' && (name)[1] == 'L') || !strncmp ((name), "_.L_", 4)) #endif #define WORKING_DOT_WORD @@ -48,4 +52,25 @@ void tc_aout_pre_write_hook (); #define LISTING_HEADER "SPARC GAS " +/* I know that "call 0" fails in sparc-coff if this doesn't return 1. I + don't know about other relocation types, or other formats, yet. */ +#ifdef OBJ_COFF +#define TC_FORCE_RELOCATION(FIXP) \ + ((FIXP)->fx_r_type == BFD_RELOC_32_PCREL_S2 \ + && ((FIXP)->fx_addsy == 0 \ + || S_GET_SEGMENT ((FIXP)->fx_addsy) == absolute_section)) +#define RELOC_REQUIRES_SYMBOL +#endif + +#define TC_HANDLES_FX_DONE + +#ifdef OBJ_ELF +/* Keep relocations against global symbols. Don't turn them into + relocations against sections. This is required for the dynamic + linker to operate properly. */ +#define tc_fix_adjustable(FIX) (! S_IS_EXTERN ((FIX)->fx_addsy)) +#endif + +#define md_operand(x) + /* end of tc-sparc.h */ diff --git a/gas/config/tc-tahoe.h b/gas/config/tc-tahoe.h index 9e95986..87cdf65 100644 --- a/gas/config/tc-tahoe.h +++ b/gas/config/tc-tahoe.h @@ -16,7 +16,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define TC_TAHOE 1 diff --git a/gas/config/tc-w65.c b/gas/config/tc-w65.c index bd802e5..ef3f863 100644 --- a/gas/config/tc-w65.c +++ b/gas/config/tc-w65.c @@ -16,7 +16,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Written By Steve Chamberlain diff --git a/gas/config/tc-w65.h b/gas/config/tc-w65.h index 969fa09..1638f8b 100644 --- a/gas/config/tc-w65.h +++ b/gas/config/tc-w65.h @@ -16,7 +16,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define TC_W65 diff --git a/gas/config/te-hp300.h b/gas/config/te-hp300.h index 7b053f7..8e94ab4 100644 --- a/gas/config/te-hp300.h +++ b/gas/config/te-hp300.h @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define LOCAL_LABELS_DOLLAR 1 #define LOCAL_LABELS_FB 1 diff --git a/gas/config/te-ic960.h b/gas/config/te-ic960.h index 2678aa1..76b0873 100644 --- a/gas/config/te-ic960.h +++ b/gas/config/te-ic960.h @@ -16,7 +16,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* * This file is te-ic960.h and is intended to define ic960 environment diff --git a/gas/config/te-ppcnw.h b/gas/config/te-ppcnw.h index 189dba1..2ddf050 100644 --- a/gas/config/te-ppcnw.h +++ b/gas/config/te-ppcnw.h @@ -15,7 +15,7 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Added these, because if we don't know what we're targetting we may need an assembler version of libgcc, and that will use local |