Do generic rs_machine_dependent relaxation only if TC_GENERIC_RELAX_TABLE is
defined. Use its value as the base of the table, so the actual declaration
can be cpu-specific (and const or not as appropriate). For other cpus where
this isn't done (the majority), delete md_relax_table altogether.
For machines with WORKING_DOT_WORD, delete md_{short,long}_jump_size.
(md_relax_table): No longer const. Add PCINDEX entries.
(m68k_ip): For AINDX with simple symbol operand, generate a PCINDEX frag if PC
is used, or do normal non-AINDX processing for address register.
(m68k_init_after_args): If cpu is 68000 or 68010, fix md_relax_table to prevent
relaxation of PCINDEX/BYTE mode to SHORT, since they don't support that mode.
(md_convert_frag_1, case PCLEA/LONG): Add 4 to offset, not 2. Add support for
new PCINDEX modes.
(md_estimate_size_before_relax): Process PCINDEX/SZ_UNDEF mode.
(md_convert_frag_1, case PCLEA/SHORT): Add 2 to offset.
(m68k_ip, case most punctuation/AOFF): If using PC, call add_frag using PCLEA.
(nopic_need_relax): New static function, split out from
md_estimate_size_before_relax.
(md_estimate_size_before_relax): Call it.
(load_address, macro): In NO_PIC branches, if nopic_need_relax returns nonzero,
don't attempt GP optimization.
comments.
(struct m68k_cpu): New type.
(archs, n_archs): New variables, with single list of name/enum mapping and
aliases.
(m68k_ip): Delete the table here.
(m68k_init_after_args): Use the new table here instead of open-coding it.
(md_parse_option, case 'm'): Ditto.
fill-column in local-variables section. Change subheadings to subsections so
they can be cross-referenced. Describe broken words, frags, frag chains,
generic relaxation, relax table, m68k relaxation, m68k addressing modes, test
suite code. Add a few words about various file formats.
(run_dump_test): Note passing or failing of each phase of this test, instead of
failure of phases or passing of complete test. Ensure test file name is in
reported message.
Always resolve testcase status before returning.
If `slurp_options' fails, return and don't do test.
(slurp_options): Fix "can't open" error message.
Return -1 to indicate error.
(init_opcode_tables): Delete cpu_type_map, call
arc_get_opcode_mach instead.
(arc_common): Delete non-ELF stuff. Require leading '.' in .data.
(md_apply_fix): Delete non-ELF stuff.
Disable special handling of limm values, treat them normally.
(get_arc_exp_reloc_type): New argument `data_p'. Callers updated.
(md_assemble): All limm operands must be output by gas, the opcode
insertion routines cannot be used (they don't do anything and we're
using implicit addends now so we need to output something).
* config/tc-arc.h (FAKE_LABEL_NAME): Define.
unsigned seemingly negative number. Don't bother shifting a zero
value.
(mips_ip): For case 'j', if there are more alternatives, and the
ISA level is at least 3, don't accept an unsigned seemingly
negative number.
(fixup_segment): If linkrelax is set, just return.
(write_object_file): Don't treat h8300 and z8k specially with regard to fixups.
* config/tc-h8300.c (md_begin): Set linkrelax.
* config/tc-z8k.c (md_begin): Ditto.
whether there should be trailing bytes in the output file.
* gas/h8300/ffxx1.d: Adjust reloc values to permit an addend value of
0x00000000ffffffff on 64-bit hosts. (I'm not sure if this is correct.) End
with "..." to match trailing zero bytes.
Tue Jan 10 13:34:14 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
* config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
specially with regard to fixups.