Age | Commit message (Collapse) | Author | Files | Lines |
|
possible break.
* configure: Rebuild.
|
|
* configure.in: Consistently use ${target_cpu_type} rather than
${cpu_type} after the loop.
* configure: Rebuild.
* Makefile.in (targ-cpu.o): Use @target_cpu_type@ rather than
@cpu_type@.
|
|
|
|
|
|
|
|
68ec020, 68ec030, 68ec040, and 68330.
(md_pseudo_table): Add chip and comline.
(m68k_init_after_args): Use strcasecmp when comparing default_cpu
against architectures.
(mri_chip, s_chip): New static functions.
|
|
* gas/mri/mri.exp: Run it.
|
|
* read.h (mri_comon_symbol): Declare.
(s_mri_common): Declare.
* read.c (mri_line_label): New static variable.
(mri_common_symbol): New global variable.
(potable): Add "common" and "common.s".
(read_a_source_file): In MRI mode, set mri_line_label for a label
at the start of a line.
(s_mri_common): New function.
(s_space): Handle mri_common_symbol.
* symbols.c (colon): Change return value from void to symbolS *,
and return new symbol. If mri_common_symbol is set, attach the
new symbol to it.
(resolve_symbol_value): Handle an sy_mri_common symbol.
* symbols.h (colon): Change return value in declaration.
* subsegs.c (subseg_set_rest): Clear mri_common_symbol.
(subseg_set (both versions)): Likewise.
* frags.c (frag_more): Warn if mri_common_symbol is not NULL.
* write.c (adjust_reloc_syms): Skip sy_mri_common symbols.
(write_object_file): Discard sy_mri_common symbols.
(fixup_segment): Change relocations against sy_mri_common symbols
to be against the common symbol itself.
* config/obj-coff.c (yank_symbols): Discard sy_mri_common symbols.
(fixup_segment): Change relocations against sy_mri_common symbols
to be against the common symbol itself.
* config/obj-aout.c (obj_crawl_symbol_chain): Discard
sy_mri_common symbols.
|
|
for Motorola syntax.
|
|
DISP, not BASE.
|
|
LINKER_RELAXING_SHRINKS_ONLY is defined.
* config/tc-i960.h (LINKER_RELAXING_SHRINKS_ONLY): Define it.
* doc/internals.texi (Relaxation): Write up some stuff on linker relaxing and
LINKER_RELAXING_SHRINKS_ONLY.
|
|
test.
|
|
truncated files, so that the tests pass.
|
|
|
|
constants, and expr.
|
|
on vxworks*, not just vxworks5.1.
|
|
(run_dump_test): Just call pass or fail.
|
|
* gas/m68k/op68000.d: New test.
* gas/m68k/cas.s, gas/m68k/cas.d: New test.
* gas/m68k/bitfield.s, gas/m68k/bitfield.d: New test.
* gas/m68k/schwab.d: Run objdump with -j .text. Adjust for
changes to disassembler.
* gas/m68k/all.exp: Run new tests. Run schwab test for
m68k-*-coff*.
|
|
including support for Motorola syntax.
* config/m68k-parse.h: New file; definitions shared between
m68k-parse.y and tc-m68k.c.
* config/tc-m68k.c: Include m68k-parse.h.
(enum operand_type): Move to m68k-parse.h, where it is named
m68k_operand_type. Rename all uses. Rearrange somewhat. Add
FPREG. Rename AOFF to DISP. Rename AINDX to BASE. Rename APODX
to POST. Rename APRDX to PRE. Remove AMIND. Rename MSCR to
CONTROL. Remove DINDR.
(struct m68k_exp): Move to m68k-parse.h. Remove e_beg, e_end and
e_seg fields. Rename e_exp to exp. Rename e_siz to size, and
change type to enum m68k_size. Change all uses.
(enum _register): Move to m68k-parse.h, where it is named
m68k_register. Rename all uses. Add ZDATA0-7 and ZADDR0-7.
(struct m68k_op): Move to m68k-parse.h. Change all fields.
(seg): Don't define.
(add_exp): Remove.
(FAIL, OK): Remove.
(m68k_reg_parse): Move to m68k-parse.y, and rewrite.
(SKIP_WHITE, SKIP_W): Remove.
(try_moto_index, try_index): Remove.
(m68k_ip_op): Move to m68k-parse.y, and rewrite to use grammar.
(main): Remove obsolete test function.
(m68k_ip): Extensive changes to use new grammar.
(get_regs): Remove.
(crack_operand): m68k_ip_op now returns 0 on success.
(init_table): Add ssp, zd0-7 and za0-7.
(md_assemble): Make er const. Correct loop over operands when
looking for error message.
(md_begin): Set alt_notend_table for '(' and '@'.
(get_num): Expression is already parsed. Don't set seg.
* configure.in: If cpu_type is m68k, put m68k-parse.o in
extra-objects.
* configure: Rebuild.
* Makefile.in (DISTSTUFF): Add m68k-parse.c.
(BISON): Use ../bison/bison if it exists.
(BISONFLAGS): Define as empty.
(TARG_CPU_DEP_m68k): Depend upon $(srcdir)/config/m68k-parse.h.
(m68k-parse.c, m68k-parse.o): New targets.
|
|
Sanitized away for now...
|
|
(get_specific): Handle new operand types.
Sanitized away for now.
|
|
(struct m68k_incant): Change m_operands field to be const.
(struct m68k_it): Change args field to be const.
(m68k_ip): Change local variable s to be const.
(opcode_ptr): Remove.
(md_begin): Use m68k_numopcodes, not numopcodes. Use
m68k_opcodes, not removed opcode_ptr. Use m68k_numaliases, not
numaliases.
|
|
|
|
"sfcr", and "dfcr" as synonyms for existing entries.
(md_begin): In MRI mode, force flag_reg_prefix_optional to 1.
(md_parse_option): Removed unused locals i and arch. Change type
of arch (another one) to unsigned long.
(tc_coff_sizemachdep): Add return after abort to avoid warning.
|
|
* as.h (flag_mri): Declare/define.
* as.c (show_usage): Mention -M and its synonym --mri.
(parse_args): Add 'M' to std_shortopts. Add "mri" to
std_longopts. Set flag_mri if -M is seen.
(main): Call parse_args before input_scrub_begin. Call
expr_begin.
* app.c (do_scrub_begin): Don't set lex for '"' or '\'' in MRI
mode. Do set lex for ';', '*', and '!' in MRI mode.
(do_scrub_next_char): Remove MRI ifdef in LEX_IS_WHITESPACE case.
In MRI mode, keep spaces between labels and colons. Remove MRI
ifndef around LEX_IS_ONECHAR_QUOTE case. In MRI mode, don't use
'!' or '*' as comment characters even if they are in
comment_chars.
* read.h (lex_type): No longer const.
* read.c: Include libiberty.h.
(lex_type): No longer const.
(read_begin): In MRI mode, set lex_type of '?' to 3.
(potable): Add dc, dc.b, dc.d, dc.l, dc.s, dc.w, dc.x, ds, ds.b,
ds.l, ds.w, and xdef.
(read_a_source_file): Change LABELS_WITHOUT_COLON ifdef to check
for MRI mode at runtime rather than compile time. Handle the EQU
pseudo-op in MRI mode. Remove bogus MRI ifdef around done_pseudo.
Change NO_PSEUDO_DOT ifdef to also take effect for MRI mode at
runtime.
(cons): In MRI mode, always call parse_mri_cons rather than
TC_PARSE_CONS_EXPRESSION.
(parse_mri_cons): Always compile, not just when MRI is defined.
Call TC_PARSE_CONS_EXPRESSION, not expression, when the input is
not a string constant. Handle A and E modifiers.
(float_cons): Accept :xxxx, where the x's are hex digits.
* expr.h (operatorT): Add O_eq, O_ne, O_lt, O_le, O_ge, O_gt.
(expr_begin): Declare.
* expr.c (integer_constant): In MRI mode, if the base was not
specified, look for a suffix on the number to set the base.
(mri_char_constant): New static function.
(operand): Remove MRI ifdef. In MRI mode, do various things: Pass
0 as the base when calling integer_constant if there was no
prefix. Check for a hex constant suffix if when a leading '0' is
seen. Don't accept 0x or 0b as a prefix. Check for E'chars' and
A'chars'. Handle MRI character constants. Treat '"' as the
unary bitwise not operator. Treat $ as the program counter, or as
the prefix for a hex constant. Treat % as the prefix for a binary
constant and @ as the prefix for an octal constant. Treat : as
the prefix for a hex constant.
(op_encoding): Set '"' to O_bit_not, '<' to O_lt, and '>' to O_gt.
(op_rank): No longer const. Change rank values.
(expr_begin): New function.
(operator): New static function.
(expr): Use operator. Don't bother to mention the operator in
warnings. Remove bogus #if 0 code. Handle new operatorT values.
* atof-generic.c (atof_generic): In MRI mode, accept underscores
around the exponent in floating point numbers.
* symbols.h (symbols_case_sensitive): Declare.
* symbols.c (symbols_case_sensitive): New global variable.
(symbol_create): Check symbols_case_sensitive.
(symbol_find_base): Likewise.
(resolve_symbol_value): Handle new operatorT values.
(print_expr_1): Likewise.
(S_IS_LOCAL): In MRI mode, names beginning with two '?' characters
are local.
|
|
|
|
* tc-sh.c (md_convert_frag): Make some error messages more
explict.
|
|
(do_include): Look through include list.
* gasp.c (change_base): Don't modify numbers in strings.
(pr7583)
* testsuite/gasp/*: New.
* testsuite/Makefile.in: Use gasp tests.
* testsuite/config/default.exp: Add gasp stuff.
|
|
* testsuite/config/default.exp: Add gasp stuff.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* testsuite/gas/gasp/*: New.
|
|
|
|
|
|
|
|
|
|
(s_uses): New static function.
(sh_coff_frob_file): New function.
(md_convert_frag): Call subseg_change before calling fix_new.
(sh_handle_align): New function.
(SWITCH_TABLE): Define.
(sh_force_relocation): New function.
(md_apply_fix): Handle R_SH_USES, R_SH_COUNT and R_SH_ALIGN.
(sh_coff_reloc_mangle): Likewise. Also handle switch table
entries.
* config/tc-sh.h (HANDLE_ALIGN): Define.
(sh_handle_align): Declare.
(TC_FORCE_RELOCATION): Define.
(sh_force_relocation): Declare.
(TC_COUNT_RELOC): Simplify; rely on TC_FORCE_RELOCATION instead.
(tc_frob_file): Define.
(sh_coff_frob_file): Declare.
* config/obj-coff.c (write_object_file): Call tc_frob_file if it
is defined.
(fixup_mdeps): Call HANDLE_ALIGN if it is defined.
(TC_FORCE_RELOCATION): Define if not defined.
(fixup_segment): Use TC_FORCE_RELOCATION to decide whether to
clear the symbol fields of fixP.
|
|
|
|
a macro name in this file.
|
|
* config/tc-arm.h (BYTE_ORDER): Delete.
(TARGET_FORMAT): Provide value for OBJ_COFF and TE_PE.
(ARM_BI_ENDIAN): Define if OBJ_COFF and TE_PE.
* config/tc-arm.c (byte_order): Delete.
(md_number_to_chars): Reference target_big_endian, not byte_order.
(md_chars_to_number): Likewise.
(md_longopts): Add -EB/-EL if ARM_BI_ENDIAN.
(md_parse_options): Recognize -EB/-EL.
(md_show_usage): List -EB/-EL.
|
|
upper case letter.
(whatcond): Likewise.
PR 7281.
|
|
Renamed all uses.
(insert): Pass a size of 2, not 4.
(build_relax): Remove unused len variable.
(md_show_usage): Mention -little option.
(md_convert_frag): Add segT argument. Rewrite to generate relocs
rather than to generate complete instructions here.
(md_apply_fix): Adjust and clarify R_SH_PCRELIMM8BY4 case for
changes in insert and md_pcrel_from. Add cases for R_SH_PCDISP
and R_SH_PCDISP8BY2.
(md_pcrel_from): Don't subtract 1, add 2.
(tc_coff_fix2rtype): Remove.
(sh_coff_reloc_mangle): New function.
* config/tc-sh.h (TC_COFF_FIX2RTYPE): Just return fx_r_type.
(sh_relax): Declare.
(TC_COUNT_RELOC): If relaxing, count PC relative relocs.
(TC_RELOC_MANGLE): Define.
(sh_coff_reloc_mangle): Declare.
(tc_coff_sizemachdep): Declare.
* tc.h (md_convert_frag): Add segT parameter to non BFD_ASSEMBLER
declaration.
* write.c (cvt_frag_to_fill): Add sec argument to non
BFD_ASSEMBLER version. Pass it to md_convert_frag.
(write_object_file): Pass SEG_TEXT to cvs_frag_to_fill.
* config/obj-coff.c (do_relocs_for): Pass segment info to
TC_RELOC_MANGLE.
(fixup_mdeps): Pass segment type to md_convert_frag.
* config/tc-a29k.c (md_convert_frag): Add segT argument.
* config/tc-h8300.c (md_convert_frag): Likewise.
* config/tc-h8500.c (md_convert_frag): Likewise.
* config/tc-i386.c (md_convert_frag): Likewise.
* config/tc-i860.c (md_convert_frag): Likewise.
* config/tc-i960.c (md_convert_frag): Likewise.
* config/tc-m68k.c (md_convert_frag): Likewise.
* config/tc-m88k.h (md_convert_frag): Likewise.
* config/tc-ns32k.c (md_convert_frag): Likewise.
* config/tc-rce.c (md_convert_frag): Likewise.
* config/tc-tahoe.c (md_convert_frag): Likewise.
* config/tc-vax.c (md_convert_frag): Likewise.
* config/tc-w65.c (md_convert_frag): Likewise.
* config/tc-z8k.c (md_convert_frag): Likewise.
* config/tc-h8300.h (TC_RELOC_MANGLE): Add segment argument.
* config/tc-h8500.h (TC_RELOC_MANGLE): Likewise.
* config/tc-rce.h (TC_RELOC_MANGLE): Likewise.
* config/tc-w65.h (TC_RELOC_MANGLE): Likewise.
* config/tc-z8k.h (TC_RELOC_MANGLE): Likewise.
|
|
|
|
|
|
* config/tc-sparc.h (sparc_pic_code): Always declare, not just
when OBJ_ELF.
(TC_RELOC_RTSYM_LOC_FIXUP): Define when OBJ_AOUT.
(tc_fix_adjustable): New definition for OBJ_AOUT.
* config/tc-sparc.c (sparc_pic_code): Always define, not just when
OBJ_ELF.
(md_apply_fix): Adjust reloc addend for OBJ_AOUT and PIC. In
BFD_RELOC_32_PCREL_S2 case, don't increment val for an external
symbol when PIC.
(tc_gen_reloc): Generate different PIC relocs when OBJ_AOUT, as
well as when OBJ_ELF.
(md_shortopts): If OBJ_AOUT, include `k'.
(md_parse_option): If OBJ_AOUT, handle 'k'.
(md_show_usage): Mention -k if OBJ_AOUT, and -KPIC if OBJ_ELF.
(md_pcrel_from): Don't add in size for an external symbol when
PIC.
|