2000-09-25 Kazu Hirata <kazu@hxi.com>
* config/tc-cris.c: Fix formatting. * config/tc-d10v.h: Likewise. * config/tc-d30v.c: Likewise. * config/tc-d30v.h: Likewise. * config/tc-fr30.c: Likewise. * config/tc-fr30.h: Likewise. * config/tc-m68k.c: Likewise. * config/tc-m68k.h: Likewise. * config/tc-pj.h: Likewise. * config/tc-ppc.c: Likewise. * config/tc-ppc.h: Likewise. * config/tc-sh.c: Likewise. * config/tc-sh.h: Likewise. * config/tc-sparc.c: Likewise. * config/tc-v850.h: Likewise. * config/tc-vax.h: Likewise. * config/tc-w65.h: Likewise. * config/tc-z8k.h: Likewise.
This commit is contained in:
parent
697ec6c4a5
commit
81d4177baa
|
@ -1,3 +1,24 @@
|
|||
2000-09-25 Kazu Hirata <kazu@hxi.com>
|
||||
|
||||
* config/tc-cris.c: Fix formatting.
|
||||
* config/tc-d10v.h: Likewise.
|
||||
* config/tc-d30v.c: Likewise.
|
||||
* config/tc-d30v.h: Likewise.
|
||||
* config/tc-fr30.c: Likewise.
|
||||
* config/tc-fr30.h: Likewise.
|
||||
* config/tc-m68k.c: Likewise.
|
||||
* config/tc-m68k.h: Likewise.
|
||||
* config/tc-pj.h: Likewise.
|
||||
* config/tc-ppc.c: Likewise.
|
||||
* config/tc-ppc.h: Likewise.
|
||||
* config/tc-sh.c: Likewise.
|
||||
* config/tc-sh.h: Likewise.
|
||||
* config/tc-sparc.c: Likewise.
|
||||
* config/tc-v850.h: Likewise.
|
||||
* config/tc-vax.h: Likewise.
|
||||
* config/tc-w65.h: Likewise.
|
||||
* config/tc-z8k.h: Likewise.
|
||||
|
||||
2000-09-23 Alan Modra <alan@linuxcare.com.au>
|
||||
|
||||
* config/tc-hppa.c (hppa_fix_adjustable): Do the external and weak
|
||||
|
|
|
@ -1199,7 +1199,7 @@ cris_process_instruction (insn_text, out_insnp, prefixp)
|
|||
prefix.
|
||||
|
||||
The difference to 's' is that this does not allow an
|
||||
"immediate" expression. */
|
||||
"immediate" expression. */
|
||||
if (! get_autoinc_prefix_or_indir_op (&s, prefixp,
|
||||
&mode, ®no,
|
||||
&imm_expr_found,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* tc-d10v.h -- Header file for tc-d10v.c.
|
||||
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
Written by Martin Hunt, Cygnus Support.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
|
@ -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, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
02111-1307, USA. */
|
||||
|
||||
#include "write.h" /* For the definition of fixS. */
|
||||
|
||||
|
@ -37,7 +37,7 @@
|
|||
#define MD_APPLY_FIX3
|
||||
|
||||
/* call md_pcrel_from_section, not md_pcrel_from */
|
||||
#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section(FIXP, SEC)
|
||||
#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section(FIXP, SEC)
|
||||
long md_pcrel_from_section PARAMS ((fixS *, segT));
|
||||
|
||||
/* Permit temporary numeric labels. */
|
||||
|
|
|
@ -434,7 +434,7 @@ postfix (p)
|
|||
*p = ' ';
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
if (*p == '+')
|
||||
{
|
||||
*p = ' ';
|
||||
|
@ -502,7 +502,7 @@ get_operands (exp, cmp_hack)
|
|||
{
|
||||
while (*p == ' ' || *p == '\t' || *p == ',')
|
||||
p++;
|
||||
|
||||
|
||||
if (*p == 0 || *p == '\n' || *p == '\r')
|
||||
break;
|
||||
|
||||
|
@ -571,7 +571,7 @@ get_operands (exp, cmp_hack)
|
|||
}
|
||||
|
||||
exp[numops].X_op = 0;
|
||||
|
||||
|
||||
return numops;
|
||||
}
|
||||
|
||||
|
@ -669,7 +669,7 @@ build_insn (opcode, opers)
|
|||
else
|
||||
insn |= number << shift;
|
||||
}
|
||||
|
||||
|
||||
return insn;
|
||||
}
|
||||
|
||||
|
@ -700,7 +700,7 @@ write_long (opcode, insn, fx)
|
|||
fx->fix[i].reloc);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fx->fc = 0;
|
||||
}
|
||||
|
||||
|
@ -765,7 +765,7 @@ write_1_short (opcode, insn, fx, use_sequential)
|
|||
fx->fix[i].reloc);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fx->fc = 0;
|
||||
}
|
||||
|
||||
|
@ -1017,7 +1017,7 @@ parallel_ok (op1, insn1, op2, insn2, exec_type)
|
|||
ecc = op2->ecc;
|
||||
ins = insn2;
|
||||
}
|
||||
|
||||
|
||||
flag_reg[j] = 0;
|
||||
mod_reg[j][0] = mod_reg[j][1] = 0;
|
||||
used_reg[j][0] = used_reg[j][1] = 0;
|
||||
|
@ -1274,7 +1274,7 @@ md_assemble (str)
|
|||
extype = EXEC_REVSEQ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* STR2 points to the separator, if one. */
|
||||
if (str2)
|
||||
{
|
||||
|
@ -1975,9 +1975,9 @@ md_apply_fix3 (fixp, valuep, seg)
|
|||
|
||||
case BFD_RELOC_D30V_32_PCREL:
|
||||
insn2 = bfd_getb32 ((unsigned char *) where + 4);
|
||||
insn |= (value >> 26) & 0x3F; /* Top 6 bits. */
|
||||
insn2 |= ((value & 0x03FC0000) << 2); /* Next 8 bits. */
|
||||
insn2 |= value & 0x0003FFFF; /* Bottom 18 bits. */
|
||||
insn |= (value >> 26) & 0x3F; /* Top 6 bits. */
|
||||
insn2 |= ((value & 0x03FC0000) << 2); /* Next 8 bits. */
|
||||
insn2 |= value & 0x0003FFFF; /* Bottom 18 bits. */
|
||||
bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
|
||||
bfd_putb32 ((bfd_vma) insn2, (unsigned char *) where + 4);
|
||||
break;
|
||||
|
@ -2019,7 +2019,7 @@ d30v_cleanup (use_sequential)
|
|||
if (use_sequential)
|
||||
prev_mul32_p = false;
|
||||
}
|
||||
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* tc-310v.h -- Header file for tc-d30v.c.
|
||||
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
Written by Martin Hunt, Cygnus Support.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
|
@ -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, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
02111-1307, USA. */
|
||||
|
||||
#include "write.h" /* For the definition of fixS. */
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
|||
/* call md_pcrel_from_section, not md_pcrel_from */
|
||||
|
||||
extern long md_pcrel_from_section PARAMS ((fixS *fixp, segT sec));
|
||||
#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section(FIXP, SEC)
|
||||
#define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section(FIXP, SEC)
|
||||
|
||||
/* Permit temporary numeric labels. */
|
||||
#define LOCAL_LABELS_FB 1
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* tc-fr30.c -- Assembler for the Fujitsu FR30.
|
||||
Copyright (C) 1998, 1999 Free Software Foundation.
|
||||
Copyright (C) 1998, 1999, 2000 Free Software Foundation.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
|||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include "as.h"
|
||||
#include "subsegs.h"
|
||||
#include "subsegs.h"
|
||||
#include "symcat.h"
|
||||
#include "opcodes/fr30-desc.h"
|
||||
#include "opcodes/fr30-opc.h"
|
||||
|
@ -82,7 +82,7 @@ md_show_usage (stream)
|
|||
FILE * stream;
|
||||
{
|
||||
fprintf (stream, _(" FR30 specific command line options:\n"));
|
||||
}
|
||||
}
|
||||
|
||||
/* The target specific pseudo-ops which we support. */
|
||||
const pseudo_typeS md_pseudo_table[] =
|
||||
|
@ -100,7 +100,7 @@ md_begin ()
|
|||
subsegT subseg;
|
||||
|
||||
/* Initialize the `cgen' interface. */
|
||||
|
||||
|
||||
/* Set the machine number and endian. */
|
||||
gas_cgen_cpu_desc = fr30_cgen_cpu_open (CGEN_CPU_OPEN_MACHS, 0,
|
||||
CGEN_CPU_OPEN_ENDIAN,
|
||||
|
@ -126,7 +126,7 @@ md_assemble (str)
|
|||
|
||||
insn.insn = fr30_cgen_assemble_insn
|
||||
(gas_cgen_cpu_desc, str, & insn.fields, insn.buffer, & errmsg);
|
||||
|
||||
|
||||
if (!insn.insn)
|
||||
{
|
||||
as_bad (errmsg);
|
||||
|
@ -150,7 +150,7 @@ md_assemble (str)
|
|||
/* The syntax in the manual says constants begin with '#'.
|
||||
We just ignore it. */
|
||||
|
||||
void
|
||||
void
|
||||
md_operand (expressionP)
|
||||
expressionS * expressionP;
|
||||
{
|
||||
|
@ -279,7 +279,7 @@ md_estimate_size_before_relax (fragP, segment)
|
|||
all further handling to md_convert_frag. */
|
||||
fragP->fr_subtype = 2;
|
||||
|
||||
#if 0 /* Can't use this, but leave in for illustration. */
|
||||
#if 0 /* Can't use this, but leave in for illustration. */
|
||||
/* Change 16 bit insn to 32 bit insn. */
|
||||
fragP->fr_opcode[0] |= 0x80;
|
||||
|
||||
|
@ -323,7 +323,7 @@ md_estimate_size_before_relax (fragP, segment)
|
|||
}
|
||||
|
||||
return (fragP->fr_var + fragP->fr_fix - old_fr_fix);
|
||||
}
|
||||
}
|
||||
|
||||
/* *fragP has been relaxed to its final size, and now needs to have
|
||||
the bytes inside it modified to conform to the new size.
|
||||
|
@ -549,7 +549,7 @@ md_atof (type, litP, sizeP)
|
|||
sizeof (LITTLENUM_TYPE));
|
||||
litP += sizeof (LITTLENUM_TYPE);
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -559,14 +559,14 @@ restore_colon (advance_i_l_p_by)
|
|||
int advance_i_l_p_by;
|
||||
{
|
||||
char c;
|
||||
|
||||
|
||||
/* Restore the colon, and advance input_line_pointer to
|
||||
the end of the new symbol. */
|
||||
* input_line_pointer = ':';
|
||||
input_line_pointer += advance_i_l_p_by;
|
||||
c = * input_line_pointer;
|
||||
* input_line_pointer = 0;
|
||||
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
|
@ -610,11 +610,11 @@ fr30_is_colon_insn (start)
|
|||
|
||||
if (start [len] != 0)
|
||||
continue;
|
||||
|
||||
|
||||
while (len --)
|
||||
if (tolower (start [len]) != insn [len])
|
||||
break;
|
||||
|
||||
|
||||
if (len == -1)
|
||||
return restore_colon (1);
|
||||
}
|
||||
|
@ -645,16 +645,16 @@ fr30_fix_adjustable (fixP)
|
|||
{
|
||||
if (fixP->fx_addsy == NULL)
|
||||
return 1;
|
||||
|
||||
#if 0
|
||||
/* Prevent all adjustments to global symbols. */
|
||||
|
||||
#if 0
|
||||
/* Prevent all adjustments to global symbols. */
|
||||
if (S_IS_EXTERN (fixP->fx_addsy))
|
||||
return 0;
|
||||
|
||||
|
||||
if (S_IS_WEAK (fixP->fx_addsy))
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
|
||||
/* We need the symbol name for the VTABLE entries */
|
||||
if ( fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT
|
||||
|| fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* tc-fr30.h -- Header file for tc-fr30.c.
|
||||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
|
||||
|
@ -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, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define TC_FR30
|
||||
|
||||
|
|
|
@ -2545,7 +2545,7 @@ m68k_ip (instring)
|
|||
case 'L':
|
||||
long_branch:
|
||||
if (! HAVE_LONG_BRANCH (current_architecture))
|
||||
as_warn (_("Can't use long branches on 68000/68010/5200"));
|
||||
as_warn (_("Can't use long branches on 68000/68010/5200"));
|
||||
the_ins.opcode[0] |= 0xff;
|
||||
add_fix ('l', &opP->disp, 1, 0);
|
||||
addword (0);
|
||||
|
@ -4683,7 +4683,7 @@ md_estimate_size_before_relax (fragP, segment)
|
|||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case TAB (PCINDEX, SZ_UNDEF):
|
||||
if ((S_GET_SEGMENT (fragP->fr_symbol) == segment
|
||||
&& relaxable_symbol (fragP->fr_symbol)))
|
||||
|
@ -7135,4 +7135,3 @@ void m68k_elf_final_processing()
|
|||
elf_elfheader (stdoutput)->e_flags |= EF_CPU32;
|
||||
}
|
||||
#endif
|
||||
/* end of tc-m68k.c */
|
||||
|
|
|
@ -119,7 +119,7 @@ extern const char *m68k_comment_chars;
|
|||
/* On the Delta, `%' can occur within a label name, but not as the
|
||||
initial character. */
|
||||
#define LEX_PCT LEX_NAME
|
||||
/* On the Delta, `~' can start a label name, but is converted to '.'. */
|
||||
/* On the Delta, `~' can start a label name, but is converted to '.'. */
|
||||
#define LEX_TILDE LEX_BEGIN_NAME
|
||||
#define tc_canonicalize_symbol_name(s) ((*(s) == '~' ? *(s) = '.' : '.'), s)
|
||||
/* On the Delta, dots are not required before pseudo-ops. */
|
||||
|
@ -220,5 +220,3 @@ extern struct relax_type md_relax_table[];
|
|||
if (aim==0 && this_state== 4) { /* hard encoded from tc-m68k.c */ \
|
||||
aim=this_type->rlx_forward+1; /* Force relaxation into word mode */ \
|
||||
}
|
||||
|
||||
/* end of tc-m68k.h */
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
/*-This file is tc-pj.h
|
||||
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
/* This file is tc-pj.h
|
||||
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Steve Chamberlain of Transmeta, sac@pobox.com
|
||||
|
||||
|
@ -21,8 +20,7 @@
|
|||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
|
||||
/* Contributed by Steve Chamberlain, of Transmeta. sac@pobox.com. */
|
||||
/* Contributed by Steve Chamberlain, of Transmeta. sac@pobox.com. */
|
||||
|
||||
#define WORKING_DOT_WORD
|
||||
#define IGNORE_NONSTANDARD_ESCAPES
|
||||
|
@ -33,7 +31,6 @@
|
|||
? "Pico Java GAS Big Endian" \
|
||||
: "Pico Java GAS Little Endian")
|
||||
|
||||
|
||||
void pj_cons_fix_new_pj PARAMS ((struct frag *, int, int, expressionS *));
|
||||
arelent *tc_gen_reloc PARAMS((asection *section, struct fix *fixp));
|
||||
|
||||
|
@ -42,17 +39,16 @@ arelent *tc_gen_reloc PARAMS((asection *section, struct fix *fixp));
|
|||
#define md_estimate_size_before_relax(A, B) (as_fatal (_("estimate size\n")),0)
|
||||
#define md_undefined_symbol(NAME) 0
|
||||
|
||||
/* PC relative operands are relative to the start of the opcode, and the operand
|
||||
is always one byte into the opcode. */
|
||||
/* PC relative operands are relative to the start of the opcode, and
|
||||
the operand is always one byte into the opcode. */
|
||||
|
||||
#define md_pcrel_from(FIXP) \
|
||||
((FIXP)->fx_where + (FIXP)->fx_frag->fr_address - 1)
|
||||
|
||||
|
||||
#define TC_CONS_FIX_NEW(FRAG, WHERE, NBYTES, EXP) \
|
||||
pj_cons_fix_new_pj(FRAG, WHERE, NBYTES, EXP)
|
||||
|
||||
/* Always leave vtable relocs untouched in the output. */
|
||||
/* Always leave vtable relocs untouched in the output. */
|
||||
#define TC_FORCE_RELOCATION(FIX) \
|
||||
((FIX)->fx_r_type == BFD_RELOC_VTABLE_INHERIT \
|
||||
|| (FIX)->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* tc-ppc.c -- Assemble for the PowerPC or POWER (RS/6000)
|
||||
Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
||||
Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
||||
Free Software Foundation, Inc.
|
||||
Written by Ian Lance Taylor, Cygnus Support.
|
||||
|
||||
|
@ -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, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
02111-1307, USA. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
|
@ -266,7 +266,7 @@ struct pd_reg
|
|||
srr0 has the value 26
|
||||
srr1 has the value 27
|
||||
|
||||
The table is sorted. Suitable for searching by a binary search. */
|
||||
The table is sorted. Suitable for searching by a binary search. */
|
||||
|
||||
static const struct pd_reg pre_defined_registers[] =
|
||||
{
|
||||
|
@ -295,70 +295,70 @@ static const struct pd_reg pre_defined_registers[] =
|
|||
{ "dsisr", 18 }, /* Data Storage Interrupt Status Register */
|
||||
|
||||
{ "f.0", 0 }, /* Floating point registers */
|
||||
{ "f.1", 1 },
|
||||
{ "f.10", 10 },
|
||||
{ "f.11", 11 },
|
||||
{ "f.12", 12 },
|
||||
{ "f.13", 13 },
|
||||
{ "f.14", 14 },
|
||||
{ "f.15", 15 },
|
||||
{ "f.16", 16 },
|
||||
{ "f.17", 17 },
|
||||
{ "f.18", 18 },
|
||||
{ "f.19", 19 },
|
||||
{ "f.2", 2 },
|
||||
{ "f.20", 20 },
|
||||
{ "f.21", 21 },
|
||||
{ "f.22", 22 },
|
||||
{ "f.23", 23 },
|
||||
{ "f.24", 24 },
|
||||
{ "f.25", 25 },
|
||||
{ "f.26", 26 },
|
||||
{ "f.27", 27 },
|
||||
{ "f.28", 28 },
|
||||
{ "f.29", 29 },
|
||||
{ "f.3", 3 },
|
||||
{ "f.1", 1 },
|
||||
{ "f.10", 10 },
|
||||
{ "f.11", 11 },
|
||||
{ "f.12", 12 },
|
||||
{ "f.13", 13 },
|
||||
{ "f.14", 14 },
|
||||
{ "f.15", 15 },
|
||||
{ "f.16", 16 },
|
||||
{ "f.17", 17 },
|
||||
{ "f.18", 18 },
|
||||
{ "f.19", 19 },
|
||||
{ "f.2", 2 },
|
||||
{ "f.20", 20 },
|
||||
{ "f.21", 21 },
|
||||
{ "f.22", 22 },
|
||||
{ "f.23", 23 },
|
||||
{ "f.24", 24 },
|
||||
{ "f.25", 25 },
|
||||
{ "f.26", 26 },
|
||||
{ "f.27", 27 },
|
||||
{ "f.28", 28 },
|
||||
{ "f.29", 29 },
|
||||
{ "f.3", 3 },
|
||||
{ "f.30", 30 },
|
||||
{ "f.31", 31 },
|
||||
{ "f.4", 4 },
|
||||
{ "f.5", 5 },
|
||||
{ "f.6", 6 },
|
||||
{ "f.7", 7 },
|
||||
{ "f.8", 8 },
|
||||
{ "f.9", 9 },
|
||||
{ "f.4", 4 },
|
||||
{ "f.5", 5 },
|
||||
{ "f.6", 6 },
|
||||
{ "f.7", 7 },
|
||||
{ "f.8", 8 },
|
||||
{ "f.9", 9 },
|
||||
|
||||
{ "f0", 0 },
|
||||
{ "f1", 1 },
|
||||
{ "f10", 10 },
|
||||
{ "f11", 11 },
|
||||
{ "f12", 12 },
|
||||
{ "f13", 13 },
|
||||
{ "f14", 14 },
|
||||
{ "f15", 15 },
|
||||
{ "f16", 16 },
|
||||
{ "f17", 17 },
|
||||
{ "f18", 18 },
|
||||
{ "f19", 19 },
|
||||
{ "f2", 2 },
|
||||
{ "f20", 20 },
|
||||
{ "f21", 21 },
|
||||
{ "f22", 22 },
|
||||
{ "f23", 23 },
|
||||
{ "f24", 24 },
|
||||
{ "f25", 25 },
|
||||
{ "f26", 26 },
|
||||
{ "f27", 27 },
|
||||
{ "f28", 28 },
|
||||
{ "f29", 29 },
|
||||
{ "f3", 3 },
|
||||
{ "f0", 0 },
|
||||
{ "f1", 1 },
|
||||
{ "f10", 10 },
|
||||
{ "f11", 11 },
|
||||
{ "f12", 12 },
|
||||
{ "f13", 13 },
|
||||
{ "f14", 14 },
|
||||
{ "f15", 15 },
|
||||
{ "f16", 16 },
|
||||
{ "f17", 17 },
|
||||
{ "f18", 18 },
|
||||
{ "f19", 19 },
|
||||
{ "f2", 2 },
|
||||
{ "f20", 20 },
|
||||
{ "f21", 21 },
|
||||
{ "f22", 22 },
|
||||
{ "f23", 23 },
|
||||
{ "f24", 24 },
|
||||
{ "f25", 25 },
|
||||
{ "f26", 26 },
|
||||
{ "f27", 27 },
|
||||
{ "f28", 28 },
|
||||
{ "f29", 29 },
|
||||
{ "f3", 3 },
|
||||
{ "f30", 30 },
|
||||
{ "f31", 31 },
|
||||
{ "f4", 4 },
|
||||
{ "f5", 5 },
|
||||
{ "f6", 6 },
|
||||
{ "f7", 7 },
|
||||
{ "f8", 8 },
|
||||
{ "f9", 9 },
|
||||
{ "f4", 4 },
|
||||
{ "f5", 5 },
|
||||
{ "f6", 6 },
|
||||
{ "f7", 7 },
|
||||
{ "f8", 8 },
|
||||
{ "f9", 9 },
|
||||
|
||||
{ "fpscr", 0 },
|
||||
|
||||
|
@ -444,71 +444,71 @@ static const struct pd_reg pre_defined_registers[] =
|
|||
|
||||
{ "srr0", 26 }, /* Machine Status Save/Restore Register 0 */
|
||||
{ "srr1", 27 }, /* Machine Status Save/Restore Register 1 */
|
||||
|
||||
|
||||
{ "v.0", 0 }, /* Vector registers */
|
||||
{ "v.1", 1 },
|
||||
{ "v.10", 10 },
|
||||
{ "v.11", 11 },
|
||||
{ "v.12", 12 },
|
||||
{ "v.13", 13 },
|
||||
{ "v.14", 14 },
|
||||
{ "v.15", 15 },
|
||||
{ "v.16", 16 },
|
||||
{ "v.17", 17 },
|
||||
{ "v.18", 18 },
|
||||
{ "v.19", 19 },
|
||||
{ "v.2", 2 },
|
||||
{ "v.20", 20 },
|
||||
{ "v.21", 21 },
|
||||
{ "v.22", 22 },
|
||||
{ "v.23", 23 },
|
||||
{ "v.24", 24 },
|
||||
{ "v.25", 25 },
|
||||
{ "v.26", 26 },
|
||||
{ "v.27", 27 },
|
||||
{ "v.28", 28 },
|
||||
{ "v.29", 29 },
|
||||
{ "v.3", 3 },
|
||||
{ "v.1", 1 },
|
||||
{ "v.10", 10 },
|
||||
{ "v.11", 11 },
|
||||
{ "v.12", 12 },
|
||||
{ "v.13", 13 },
|
||||
{ "v.14", 14 },
|
||||
{ "v.15", 15 },
|
||||
{ "v.16", 16 },
|
||||
{ "v.17", 17 },
|
||||
{ "v.18", 18 },
|
||||
{ "v.19", 19 },
|
||||
{ "v.2", 2 },
|
||||
{ "v.20", 20 },
|
||||
{ "v.21", 21 },
|
||||
{ "v.22", 22 },
|
||||
{ "v.23", 23 },
|
||||
{ "v.24", 24 },
|
||||
{ "v.25", 25 },
|
||||
{ "v.26", 26 },
|
||||
{ "v.27", 27 },
|
||||
{ "v.28", 28 },
|
||||
{ "v.29", 29 },
|
||||
{ "v.3", 3 },
|
||||
{ "v.30", 30 },
|
||||
{ "v.31", 31 },
|
||||
{ "v.4", 4 },
|
||||
{ "v.5", 5 },
|
||||
{ "v.6", 6 },
|
||||
{ "v.7", 7 },
|
||||
{ "v.8", 8 },
|
||||
{ "v.9", 9 },
|
||||
{ "v.4", 4 },
|
||||
{ "v.5", 5 },
|
||||
{ "v.6", 6 },
|
||||
{ "v.7", 7 },
|
||||
{ "v.8", 8 },
|
||||
{ "v.9", 9 },
|
||||
|
||||
{ "v0", 0 },
|
||||
{ "v1", 1 },
|
||||
{ "v10", 10 },
|
||||
{ "v11", 11 },
|
||||
{ "v12", 12 },
|
||||
{ "v13", 13 },
|
||||
{ "v14", 14 },
|
||||
{ "v15", 15 },
|
||||
{ "v16", 16 },
|
||||
{ "v17", 17 },
|
||||
{ "v18", 18 },
|
||||
{ "v19", 19 },
|
||||
{ "v2", 2 },
|
||||
{ "v20", 20 },
|
||||
{ "v21", 21 },
|
||||
{ "v22", 22 },
|
||||
{ "v23", 23 },
|
||||
{ "v24", 24 },
|
||||
{ "v25", 25 },
|
||||
{ "v26", 26 },
|
||||
{ "v27", 27 },
|
||||
{ "v28", 28 },
|
||||
{ "v29", 29 },
|
||||
{ "v3", 3 },
|
||||
{ "v1", 1 },
|
||||
{ "v10", 10 },
|
||||
{ "v11", 11 },
|
||||
{ "v12", 12 },
|
||||
{ "v13", 13 },
|
||||
{ "v14", 14 },
|
||||
{ "v15", 15 },
|
||||
{ "v16", 16 },
|
||||
{ "v17", 17 },
|
||||
{ "v18", 18 },
|
||||
{ "v19", 19 },
|
||||
{ "v2", 2 },
|
||||
{ "v20", 20 },
|
||||
{ "v21", 21 },
|
||||
{ "v22", 22 },
|
||||
{ "v23", 23 },
|
||||
{ "v24", 24 },
|
||||
{ "v25", 25 },
|
||||
{ "v26", 26 },
|
||||
{ "v27", 27 },
|
||||
{ "v28", 28 },
|
||||
{ "v29", 29 },
|
||||
{ "v3", 3 },
|
||||
{ "v30", 30 },
|
||||
{ "v31", 31 },
|
||||
{ "v4", 4 },
|
||||
{ "v5", 5 },
|
||||
{ "v6", 6 },
|
||||
{ "v7", 7 },
|
||||
{ "v8", 8 },
|
||||
{ "v4", 4 },
|
||||
{ "v5", 5 },
|
||||
{ "v6", 6 },
|
||||
{ "v7", 7 },
|
||||
{ "v8", 8 },
|
||||
{ "v9", 9 },
|
||||
|
||||
{ "xer", 1 },
|
||||
|
@ -584,11 +584,11 @@ register_name (expressionP)
|
|||
reg_number = reg_name_search (pre_defined_registers, REG_NAME_CNT, name);
|
||||
|
||||
/* look to see if it's in the register table */
|
||||
if (reg_number >= 0)
|
||||
if (reg_number >= 0)
|
||||
{
|
||||
expressionP->X_op = O_register;
|
||||
expressionP->X_add_number = reg_number;
|
||||
|
||||
|
||||
/* make the rest nice */
|
||||
expressionP->X_add_symbol = NULL;
|
||||
expressionP->X_op_symbol = NULL;
|
||||
|
@ -745,7 +745,7 @@ static segT reldata_section;
|
|||
static segT rdata_section;
|
||||
static segT tocdata_section;
|
||||
|
||||
/* The current section and the previous section. See ppc_previous. */
|
||||
/* The current section and the previous section. See ppc_previous. */
|
||||
static segT ppc_previous_section;
|
||||
static segT ppc_current_section;
|
||||
|
||||
|
@ -824,7 +824,7 @@ md_parse_option (c, arg)
|
|||
else
|
||||
return 0;
|
||||
break;
|
||||
|
||||
|
||||
case 'm':
|
||||
/* -mpwrx and -mpwr2 mean to assemble for the IBM POWER/2
|
||||
(RIOS2). */
|
||||
|
@ -834,7 +834,7 @@ md_parse_option (c, arg)
|
|||
else if (strcmp (arg, "pwr") == 0)
|
||||
ppc_cpu = PPC_OPCODE_POWER;
|
||||
/* -m601 means to assemble for the Motorola PowerPC 601, which includes
|
||||
instructions that are holdovers from the Power. */
|
||||
instructions that are holdovers from the Power. */
|
||||
else if (strcmp (arg, "601") == 0)
|
||||
ppc_cpu = PPC_OPCODE_PPC | PPC_OPCODE_601;
|
||||
/* -mppc, -mppc32, -m603, and -m604 mean to assemble for the
|
||||
|
@ -1048,7 +1048,7 @@ ppc_subseg_align()
|
|||
return (ppc_xcoff64) ? 3 : 2;
|
||||
}
|
||||
|
||||
extern char*
|
||||
extern char*
|
||||
ppc_target_format()
|
||||
{
|
||||
#ifdef OBJ_COFF
|
||||
|
@ -1083,7 +1083,7 @@ md_begin ()
|
|||
ppc_set_cpu ();
|
||||
|
||||
#ifdef OBJ_ELF
|
||||
/* Set the ELF flags if desired. */
|
||||
/* Set the ELF flags if desired. */
|
||||
if (ppc_flags && !msolaris)
|
||||
bfd_set_private_flags (stdoutput, ppc_flags);
|
||||
#endif
|
||||
|
@ -1161,7 +1161,7 @@ md_begin ()
|
|||
#ifdef TE_PE
|
||||
|
||||
ppc_current_section = text_section;
|
||||
ppc_previous_section = 0;
|
||||
ppc_previous_section = 0;
|
||||
|
||||
#endif
|
||||
}
|
||||
|
@ -1367,9 +1367,9 @@ ppc_elf_suffix (str_p, exp_p)
|
|||
return BFD_RELOC_UNUSED;
|
||||
}
|
||||
|
||||
/* Like normal .long/.short/.word, except support @got, etc. */
|
||||
/* Like normal .long/.short/.word, except support @got, etc. */
|
||||
/* clobbers input_line_pointer, checks */
|
||||
/* end-of-line. */
|
||||
/* end-of-line. */
|
||||
static void
|
||||
ppc_elf_cons (nbytes)
|
||||
register int nbytes; /* 1=.byte, 2=.word, 4=.long */
|
||||
|
@ -1409,7 +1409,7 @@ ppc_elf_cons (nbytes)
|
|||
}
|
||||
while (*input_line_pointer++ == ',');
|
||||
|
||||
input_line_pointer--; /* Put terminator back into stream. */
|
||||
input_line_pointer--; /* Put terminator back into stream. */
|
||||
demand_empty_rest_of_line ();
|
||||
}
|
||||
|
||||
|
@ -1595,7 +1595,7 @@ ppc_elf_validate_fix (fixp, seg)
|
|||
*
|
||||
* Anything else is an error of one kind or another.
|
||||
*
|
||||
* out:
|
||||
* out:
|
||||
* return value: success or failure
|
||||
* toc_kind: kind of toc reference
|
||||
* input_line_pointer:
|
||||
|
@ -1611,8 +1611,8 @@ ppc_elf_validate_fix (fixp, seg)
|
|||
*
|
||||
*/
|
||||
|
||||
enum toc_size_qualifier
|
||||
{
|
||||
enum toc_size_qualifier
|
||||
{
|
||||
default_toc, /* The toc cell constructed should be the system default size */
|
||||
data_in_toc, /* This is a direct reference to a toc cell */
|
||||
must_be_32, /* The toc cell constructed must be 32 bits wide */
|
||||
|
@ -1634,24 +1634,24 @@ parse_toc_entry(toc_kind)
|
|||
/* skip over the '[' , and whitespace */
|
||||
++input_line_pointer;
|
||||
SKIP_WHITESPACE ();
|
||||
|
||||
|
||||
/* find the spelling of the operand */
|
||||
toc_spec = input_line_pointer;
|
||||
c = get_symbol_end ();
|
||||
|
||||
if (strcmp(toc_spec, "toc") == 0)
|
||||
if (strcmp(toc_spec, "toc") == 0)
|
||||
{
|
||||
t = default_toc;
|
||||
}
|
||||
else if (strcmp(toc_spec, "tocv") == 0)
|
||||
else if (strcmp(toc_spec, "tocv") == 0)
|
||||
{
|
||||
t = data_in_toc;
|
||||
}
|
||||
else if (strcmp(toc_spec, "toc32") == 0)
|
||||
else if (strcmp(toc_spec, "toc32") == 0)
|
||||
{
|
||||
t = must_be_32;
|
||||
}
|
||||
else if (strcmp(toc_spec, "toc64") == 0)
|
||||
else if (strcmp(toc_spec, "toc64") == 0)
|
||||
{
|
||||
t = must_be_64;
|
||||
}
|
||||
|
@ -1666,8 +1666,8 @@ parse_toc_entry(toc_kind)
|
|||
/* now find the ']' */
|
||||
*input_line_pointer = c; /* put back the delimiting char */
|
||||
|
||||
SKIP_WHITESPACE (); /* leading whitespace could be there. */
|
||||
c = *input_line_pointer++; /* input_line_pointer->past char in c. */
|
||||
SKIP_WHITESPACE (); /* leading whitespace could be there. */
|
||||
c = *input_line_pointer++; /* input_line_pointer->past char in c. */
|
||||
|
||||
if (c != ']')
|
||||
{
|
||||
|
@ -1840,13 +1840,13 @@ md_assemble (str)
|
|||
input_line_pointer = str;
|
||||
|
||||
#ifdef TE_PE
|
||||
if (*input_line_pointer == '[')
|
||||
if (*input_line_pointer == '[')
|
||||
{
|
||||
/* We are expecting something like the second argument here:
|
||||
|
||||
lwz r4,[toc].GS.0.static_int(rtoc)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
The argument following the `]' must be a symbol name, and the
|
||||
The argument following the `]' must be a symbol name, and the
|
||||
register must be the toc register: 'rtoc' or '2'
|
||||
|
||||
The effect is to 0 as the displacement field
|
||||
|
@ -1874,7 +1874,7 @@ md_assemble (str)
|
|||
/* go parse off the [tocXX] part */
|
||||
valid_toc = parse_toc_entry(&toc_kind);
|
||||
|
||||
if (!valid_toc)
|
||||
if (!valid_toc)
|
||||
{
|
||||
/* Note: message has already been issued. */
|
||||
/* FIXME: what sort of recovery should we do? */
|
||||
|
@ -1900,8 +1900,8 @@ md_assemble (str)
|
|||
/* FIXME: It's a little confusing what the tocv qualifier can */
|
||||
/* be used for. At the very least, I've seen three */
|
||||
/* uses, only one of which I'm sure I can explain. */
|
||||
if (ex.X_op == O_symbol)
|
||||
{
|
||||
if (ex.X_op == O_symbol)
|
||||
{
|
||||
assert (ex.X_add_symbol != NULL);
|
||||
if (symbol_get_bfdsym (ex.X_add_symbol)->section
|
||||
!= tocdata_section)
|
||||
|
@ -1925,7 +1925,7 @@ md_assemble (str)
|
|||
as_bad (_("Unimplemented toc64 expression modifier"));
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr,
|
||||
fprintf(stderr,
|
||||
_("Unexpected return value [%d] from parse_toc_entry!\n"),
|
||||
toc_kind);
|
||||
abort();
|
||||
|
@ -1977,7 +1977,7 @@ md_assemble (str)
|
|||
else if (ex.X_op == O_constant)
|
||||
{
|
||||
#ifdef OBJ_ELF
|
||||
/* Allow @HA, @L, @H on constants. */
|
||||
/* Allow @HA, @L, @H on constants. */
|
||||
char *orig_str = str;
|
||||
|
||||
if ((reloc = ppc_elf_suffix (&str, &ex)) != BFD_RELOC_UNUSED)
|
||||
|
@ -2183,7 +2183,7 @@ ppc_macro (str, macro)
|
|||
if (s == (char *) NULL)
|
||||
break;
|
||||
*s++ = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
if (count != macro->operands)
|
||||
{
|
||||
|
@ -2230,7 +2230,7 @@ ppc_macro (str, macro)
|
|||
|
||||
/* Assemble the constructed instruction. */
|
||||
md_assemble (complete);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef OBJ_ELF
|
||||
/* For ELF, add support for SHF_EXCLUDE and SHT_ORDERED */
|
||||
|
@ -2415,7 +2415,7 @@ ppc_comm (lcomm)
|
|||
|
||||
lcomm_name = input_line_pointer;
|
||||
lcomm_endc = get_symbol_end ();
|
||||
|
||||
|
||||
lcomm_sym = symbol_find_or_make (lcomm_name);
|
||||
|
||||
*input_line_pointer = lcomm_endc;
|
||||
|
@ -2432,9 +2432,9 @@ ppc_comm (lcomm)
|
|||
ignore_rest_of_line ();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
record_alignment (bss_section, align);
|
||||
|
||||
|
||||
if (! lcomm
|
||||
|| ! S_IS_DEFINED (lcomm_sym))
|
||||
{
|
||||
|
@ -2456,7 +2456,7 @@ ppc_comm (lcomm)
|
|||
|
||||
subseg_set (bss_section, 1);
|
||||
frag_align (align, 0, 0);
|
||||
|
||||
|
||||
symbol_set_frag (def_sym, frag_now);
|
||||
pfrag = frag_var (rs_org, 1, 1, (relax_substateT) 0, def_sym,
|
||||
def_size, (char *) NULL);
|
||||
|
@ -2504,7 +2504,7 @@ ppc_csect (ignore)
|
|||
|
||||
name = input_line_pointer;
|
||||
endc = get_symbol_end ();
|
||||
|
||||
|
||||
sym = symbol_find_or_make (name);
|
||||
|
||||
*input_line_pointer = endc;
|
||||
|
@ -2600,13 +2600,13 @@ ppc_change_csect (sym)
|
|||
symbol_get_tc (sym)->align = (ppc_xcoff64) ? 3 : 2;
|
||||
symbol_get_tc (sym)->output = 1;
|
||||
symbol_get_tc (sym)->within = sym;
|
||||
|
||||
|
||||
for (list = *list_ptr;
|
||||
symbol_get_tc (list)->next != (symbolS *) NULL;
|
||||
list = symbol_get_tc (list)->next)
|
||||
;
|
||||
symbol_get_tc (list)->next = sym;
|
||||
|
||||
|
||||
symbol_remove (sym, &symbol_rootP, &symbol_lastP);
|
||||
symbol_append (sym, symbol_get_tc (list)->within, &symbol_rootP,
|
||||
&symbol_lastP);
|
||||
|
@ -3034,7 +3034,7 @@ ppc_biei (ei)
|
|||
|
||||
S_SET_STORAGE_CLASS (sym, ei ? C_EINCL : C_BINCL);
|
||||
symbol_get_tc (sym)->output = 1;
|
||||
|
||||
|
||||
for (look = last_biei ? last_biei : symbol_rootP;
|
||||
(look != (symbolS *) NULL
|
||||
&& (S_GET_STORAGE_CLASS (look) == C_FILE
|
||||
|
@ -3223,7 +3223,7 @@ ppc_toc (ignore)
|
|||
subsegT subseg;
|
||||
symbolS *sym;
|
||||
symbolS *list;
|
||||
|
||||
|
||||
subseg = ppc_data_subsegment;
|
||||
++ppc_data_subsegment;
|
||||
|
||||
|
@ -3239,7 +3239,7 @@ ppc_toc (ignore)
|
|||
symbol_get_tc (sym)->within = sym;
|
||||
|
||||
ppc_toc_csect = sym;
|
||||
|
||||
|
||||
for (list = ppc_data_csects;
|
||||
symbol_get_tc (list)->next != (symbolS *) NULL;
|
||||
list = symbol_get_tc (list)->next)
|
||||
|
@ -3269,7 +3269,7 @@ ppc_xcoff_cons (log_size)
|
|||
}
|
||||
|
||||
static void
|
||||
ppc_machine(dummy)
|
||||
ppc_machine(dummy)
|
||||
int dummy ATTRIBUTE_UNUSED;
|
||||
{
|
||||
discard_rest_of_line();
|
||||
|
@ -3424,7 +3424,7 @@ ppc_previous(ignore)
|
|||
{
|
||||
symbolS *tmp;
|
||||
|
||||
if (ppc_previous_section == NULL)
|
||||
if (ppc_previous_section == NULL)
|
||||
{
|
||||
as_warn(_("No previous section to return to. Directive ignored."));
|
||||
return;
|
||||
|
@ -3455,14 +3455,14 @@ static void
|
|||
ppc_pdata(ignore)
|
||||
int ignore ATTRIBUTE_UNUSED;
|
||||
{
|
||||
if (pdata_section == 0)
|
||||
if (pdata_section == 0)
|
||||
{
|
||||
pdata_section = subseg_new (".pdata", 0);
|
||||
|
||||
|
||||
bfd_set_section_flags (stdoutput, pdata_section,
|
||||
(SEC_ALLOC | SEC_LOAD | SEC_RELOC
|
||||
| SEC_READONLY | SEC_DATA ));
|
||||
|
||||
|
||||
bfd_set_section_alignment (stdoutput, pdata_section, 2);
|
||||
}
|
||||
else
|
||||
|
@ -3490,7 +3490,7 @@ static void
|
|||
ppc_ydata(ignore)
|
||||
int ignore ATTRIBUTE_UNUSED;
|
||||
{
|
||||
if (ydata_section == 0)
|
||||
if (ydata_section == 0)
|
||||
{
|
||||
ydata_section = subseg_new (".ydata", 0);
|
||||
bfd_set_section_flags (stdoutput, ydata_section,
|
||||
|
@ -3532,7 +3532,7 @@ ppc_reldata(ignore)
|
|||
reldata_section = subseg_new (".reldata", 0);
|
||||
|
||||
bfd_set_section_flags (stdoutput, reldata_section,
|
||||
( SEC_ALLOC | SEC_LOAD | SEC_RELOC
|
||||
( SEC_ALLOC | SEC_LOAD | SEC_RELOC
|
||||
| SEC_DATA ));
|
||||
|
||||
bfd_set_section_alignment (stdoutput, reldata_section, 2);
|
||||
|
@ -3575,7 +3575,7 @@ ppc_rdata(ignore)
|
|||
}
|
||||
|
||||
/* pseudo-op: .ualong
|
||||
behaviour: much like .int, with the exception that no alignment is
|
||||
behaviour: much like .int, with the exception that no alignment is
|
||||
performed.
|
||||
FIXME: test the alignment statement
|
||||
errors: None
|
||||
|
@ -3646,10 +3646,10 @@ ppc_znop(ignore)
|
|||
|
||||
}
|
||||
|
||||
/* pseudo-op:
|
||||
behaviour:
|
||||
errors:
|
||||
warnings:
|
||||
/* pseudo-op:
|
||||
behaviour:
|
||||
errors:
|
||||
warnings:
|
||||
*/
|
||||
static void
|
||||
ppc_pe_comm(lcomm)
|
||||
|
@ -3749,7 +3749,7 @@ ppc_pe_comm(lcomm)
|
|||
* additions/changes for the moto-pas assembler support. There are three
|
||||
* categories:
|
||||
*
|
||||
* FIXME: I just noticed this. This doesn't work at all really. It it
|
||||
* FIXME: I just noticed this. This doesn't work at all really. It it
|
||||
* setting bits that bfd probably neither understands or uses. The
|
||||
* correct approach (?) will have to incorporate extra fields attached
|
||||
* to the section to hold the system specific stuff. (krk)
|
||||
|
@ -3848,7 +3848,7 @@ ppc_pe_section (ignore)
|
|||
as_bad (_("Unsupported section attribute -- 'a'"));
|
||||
break;
|
||||
case 'c': /* code section */
|
||||
flags |= SEC_CODE;
|
||||
flags |= SEC_CODE;
|
||||
break;
|
||||
case 'd': /* section has initialized data */
|
||||
flags |= SEC_DATA;
|
||||
|
@ -3864,7 +3864,7 @@ ppc_pe_section (ignore)
|
|||
flags |= SEC_HAS_CONTENTS;
|
||||
break;
|
||||
case 'n': /* section can be discarded */
|
||||
flags &=~ SEC_LOAD;
|
||||
flags &=~ SEC_LOAD;
|
||||
break;
|
||||
case 'R': /* Remove section at link time */
|
||||
flags |= SEC_NEVER_LOAD;
|
||||
|
@ -4372,7 +4372,7 @@ ppc_frob_symbol (sym)
|
|||
}
|
||||
a->x_csect.x_smtyp = XTY_LD;
|
||||
}
|
||||
|
||||
|
||||
a->x_csect.x_parmhash = 0;
|
||||
a->x_csect.x_snhash = 0;
|
||||
if (symbol_get_tc (sym)->class == -1)
|
||||
|
@ -4533,7 +4533,7 @@ md_atof (type, litp, sizep)
|
|||
litp += 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -4982,7 +4982,7 @@ md_apply_fix3 (fixp, valuep, seg)
|
|||
case BFD_RELOC_64_PCREL:
|
||||
md_number_to_chars (fixp->fx_frag->fr_literal + fixp->fx_where,
|
||||
value, 8);
|
||||
break;
|
||||
break;
|
||||
case BFD_RELOC_LO16:
|
||||
case BFD_RELOC_16:
|
||||
case BFD_RELOC_GPREL16:
|
||||
|
@ -5068,7 +5068,7 @@ md_apply_fix3 (fixp, valuep, seg)
|
|||
{
|
||||
char *where;
|
||||
unsigned long insn;
|
||||
|
||||
|
||||
/* Fetch the instruction, insert the fully resolved operand
|
||||
value, and stuff the instruction back again. */
|
||||
where = fixp->fx_frag->fr_literal + fixp->fx_where;
|
||||
|
|
|
@ -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, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
02111-1307, USA. */
|
||||
|
||||
#define TC_PPC
|
||||
|
||||
|
@ -186,7 +186,6 @@ do { \
|
|||
symbol_get_tc (dest)->within = symbol_get_tc (src)->within; \
|
||||
} while (0)
|
||||
|
||||
|
||||
#endif /* OBJ_XCOFF */
|
||||
|
||||
#ifdef OBJ_ELF
|
||||
|
@ -232,7 +231,7 @@ extern int ppc_section_flags PARAMS ((int, int, int));
|
|||
#define tc_comment_chars ppc_comment_chars
|
||||
extern const char *ppc_comment_chars;
|
||||
|
||||
/* Keep relocations relative to the GOT, or non-PC relative. */
|
||||
/* Keep relocations relative to the GOT, or non-PC relative. */
|
||||
#define tc_fix_adjustable(FIX) \
|
||||
((FIX)->fx_r_type != BFD_RELOC_16_GOTOFF \
|
||||
&& (FIX)->fx_r_type != BFD_RELOC_LO16_GOTOFF \
|
||||
|
@ -272,4 +271,3 @@ extern long md_pcrel_from_section PARAMS ((struct fix *, segT));
|
|||
extern int ppc_parse_name PARAMS ((const char *, struct expressionS *));
|
||||
|
||||
#define md_operand(x)
|
||||
|
||||
|
|
|
@ -215,7 +215,7 @@ static struct hash_control *opcode_hash_control; /* Opcode mnemonics */
|
|||
|
||||
|
||||
#ifdef OBJ_ELF
|
||||
/* Parse @got, etc. and return the desired relocation.
|
||||
/* Parse @got, etc. and return the desired relocation.
|
||||
If we have additional arithmetic expression, then we fill in new_exp_p. */
|
||||
static bfd_reloc_code_real_type
|
||||
sh_elf_suffix (str_p, exp_p, new_exp_p)
|
||||
|
@ -377,7 +377,7 @@ sh_elf_cons (nbytes)
|
|||
|
||||
fix_new_exp (frag_now, p - frag_now->fr_literal + offset, size,
|
||||
&exp, 0, reloc);
|
||||
if (new_exp.X_op != O_absent)
|
||||
if (new_exp.X_op != O_absent)
|
||||
fix_new_exp (frag_now, p - frag_now->fr_literal + offset, size,
|
||||
&new_exp, 0, BFD_RELOC_32);
|
||||
}
|
||||
|
@ -387,7 +387,7 @@ sh_elf_cons (nbytes)
|
|||
}
|
||||
while (*input_line_pointer++ == ',');
|
||||
|
||||
input_line_pointer--; /* Put terminator back into stream. */
|
||||
input_line_pointer--; /* Put terminator back into stream. */
|
||||
if (*input_line_pointer == '#' || *input_line_pointer == '!')
|
||||
{
|
||||
while (! is_end_of_line[*input_line_pointer++]);
|
||||
|
@ -1930,19 +1930,17 @@ md_assemble (str)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (debug_type == DEBUG_DWARF2)
|
||||
{
|
||||
bfd_vma addr;
|
||||
|
||||
|
||||
/* First update the notion of the current source line. */
|
||||
dwarf2_where (&debug_line);
|
||||
|
||||
/* We want the offset of the start of this instruction within the
|
||||
the current frag. may be used later */
|
||||
addr = frag_now->fr_address + frag_now_fix () - size;
|
||||
|
||||
|
||||
/* And record the information. */
|
||||
dwarf2_gen_line_info (addr, &debug_line);
|
||||
|
@ -2002,15 +2000,15 @@ md_undefined_symbol (name)
|
|||
{
|
||||
if (symbol_find (name))
|
||||
as_bad ("GOT already in the symbol table");
|
||||
|
||||
|
||||
GOT_symbol = symbol_new (name, undefined_section,
|
||||
(valueT)0, & zero_address_frag);
|
||||
}
|
||||
|
||||
|
||||
return GOT_symbol;
|
||||
}
|
||||
#endif /* OBJ_ELF */
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -2857,7 +2855,7 @@ md_apply_fix (fixP, val)
|
|||
case BFD_RELOC_16:
|
||||
bfd_set_error (bfd_error_bad_value);
|
||||
return false;
|
||||
|
||||
|
||||
case BFD_RELOC_8:
|
||||
bfd_set_error (bfd_error_bad_value);
|
||||
return false;
|
||||
|
@ -3010,7 +3008,7 @@ md_apply_fix (fixP, val)
|
|||
#ifdef OBJ_ELF
|
||||
case BFD_RELOC_32_PLT_PCREL:
|
||||
/* Make the jump instruction point to the address of the operand. At
|
||||
runtime we merely add the offset to the actual PLT entry. */
|
||||
runtime we merely add the offset to the actual PLT entry. */
|
||||
*valp = 0xfffffffc;
|
||||
break;
|
||||
|
||||
|
@ -3021,9 +3019,9 @@ md_apply_fix (fixP, val)
|
|||
and it is strongly preferable from a performance point of
|
||||
view to avoid using a runtime relocation for this. There are
|
||||
cases where you have something like:
|
||||
|
||||
|
||||
.long _GLOBAL_OFFSET_TABLE_+[.-.L66]
|
||||
|
||||
|
||||
and here no correction would be required. Internally in the
|
||||
assembler we treat operands of this form as not being pcrel
|
||||
since the '.' is explicitly mentioned, and I wonder whether
|
||||
|
|
|
@ -172,7 +172,7 @@ extern void sh_elf_final_processing PARAMS ((void));
|
|||
#define DIFF_EXPR_OK /* foo-. gets turned into PC relative relocs */
|
||||
|
||||
#define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_"
|
||||
|
||||
|
||||
/* This is the relocation type for direct references to
|
||||
GLOBAL_OFFSET_TABLE. It comes up in complicated expressions such
|
||||
as _GLOBAL_OFFSET_TABLE_+[.-.L284], which cannot be expressed
|
||||
|
@ -209,5 +209,3 @@ extern void sh_elf_final_processing PARAMS ((void));
|
|||
|
||||
#define md_end() sh_finalize ()
|
||||
void sh_finalize PARAMS ((void));
|
||||
|
||||
/* end of tc-sh.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, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
|
@ -2841,7 +2841,7 @@ md_number_to_chars (buf, val, n)
|
|||
}
|
||||
|
||||
/* Apply a fixS to the frags, now that we know the value it ought to
|
||||
hold. */
|
||||
hold. */
|
||||
|
||||
int
|
||||
md_apply_fix3 (fixP, value, segment)
|
||||
|
|
|
@ -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, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
02111-1307, USA. */
|
||||
|
||||
#define TC_V850
|
||||
|
||||
|
@ -57,7 +57,7 @@ extern int v850_force_relocation PARAMS ((struct fix *));
|
|||
#define WORKING_DOT_WORD
|
||||
|
||||
#define md_number_to_chars number_to_chars_littleendian
|
||||
|
||||
|
||||
/* We need to handle lo(), hi(), etc etc in .hword, .word, etc
|
||||
directives, so we have to parse "cons" expressions ourselves. */
|
||||
#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) parse_cons_expression_v850 (EXP)
|
||||
|
@ -65,7 +65,6 @@ extern int v850_force_relocation PARAMS ((struct fix *));
|
|||
extern const struct relax_type md_relax_table[];
|
||||
#define TC_GENERIC_RELAX_TABLE md_relax_table
|
||||
|
||||
|
||||
/* This section must be in the small data area (pointed to by GP). */
|
||||
#define SHF_V850_GPREL 0x10000000
|
||||
/* This section must be in the tiny data area (pointed to by EP). */
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/* tc-vax.h -- Header file for tc-vax.c.
|
||||
Copyright (C) 1987, 91, 92, 93, 95, 96, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987, 91, 92, 93, 95, 96, 97, 2000
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
|
||||
|
@ -16,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, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
02111-1307, USA. */
|
||||
|
||||
#define TC_VAX 1
|
||||
|
||||
|
@ -41,5 +42,3 @@ extern const struct relax_type md_relax_table[];
|
|||
* fill-column: 131
|
||||
* End:
|
||||
*/
|
||||
|
||||
/* end of tc-vax.h */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* This file is tc-w65.h
|
||||
Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
|
||||
|
@ -18,7 +18,6 @@
|
|||
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
|
||||
|
||||
#define TC_W65
|
||||
|
||||
#define TARGET_BYTES_BIG_ENDIAN 0
|
||||
|
@ -57,5 +56,3 @@ int tc_cons_reloc;
|
|||
|
||||
extern struct relax_type md_relax_table[];
|
||||
#define TC_GENERIC_RELAX_TABLE md_relax_table
|
||||
|
||||
/* end of tc-w65.h */
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/* This file is tc-z8k.h
|
||||
Copyright (C) 1987-1992, 93, 95, 97, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987-1992, 93, 95, 97, 98, 2000
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
|
||||
|
@ -18,7 +19,6 @@
|
|||
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
|
||||
|
||||
#define TC_Z8K
|
||||
#define TARGET_BYTES_BIG_ENDIAN 1
|
||||
|
||||
|
@ -50,5 +50,3 @@ extern void tc_reloc_mangle
|
|||
#define RELOC_32 1234
|
||||
|
||||
#define md_operand(x)
|
||||
|
||||
/* end of tc-z8k.h */
|
||||
|
|
Loading…
Reference in New Issue