Ian Lance Taylor
b0c0b41ab1
* gas/mips/mips16.d: Update for change in disassembly output.
1997-02-11 20:47:25 +00:00
Gavin Romig-Koch
276c2d7dc8
Add r5900
1997-02-11 13:26:34 +00:00
Dawn Perchik
a7f081a5be
* gas/mips/itbl-test.c: Add copyright message and fix indentation.
1997-02-11 08:22:27 +00:00
Dawn Perchik
c674507349
* itbl-ops.c, itbl-lex.l, itbl-parse.y, itbl-ops.h,
...
config/itbl-mips.h: Add copyright message and fix indentation.
1997-02-11 08:11:03 +00:00
Dawn Perchik
8e5c905e99
* itbl-ops.c: New file. Add support for dynamically read
...
instruction registers, opcodes and formats. Build internal table
for new instructions and provide callbacks for assembler and
disassembler.
* itbl-lex.l, itbl-parse.y: Lex and yacc parsers for instruction
spec table.
* itbl-ops.h: New file. Header file for itbl support.
* config/itbl-mips.h: New file. Mips specific definitions for
itbl support.
1997-02-11 02:07:57 +00:00
Dawn Perchik
242ce3d857
* itbl-test.c: New file. Stand-alone assembler and dissassembler for
...
itbl support.
1997-02-11 01:57:34 +00:00
Dawn Perchik
a3c2c0f44e
* gas/mips/itbl: New file. Instruction Spec for testing --itbl option.
...
* gas/mips/itbl.s: New file. Assembly with ne2w instructions specified
in itbl.
1997-02-11 01:21:14 +00:00
Fred Fish
ba35784cc8
Add tic80 directory to keep_these_too or lose_these_too.
1997-02-10 17:36:26 +00:00
Bob Manson
dfe6379731
Changes to replace references to "prune_system_crud" with
...
"prune_warnings".
1997-02-08 01:03:37 +00:00
Jeff Law
a7355c4d87
* config/tc-mn10200.c (md_assemble): If a constant operand won't
...
fit into the constant field of a relaxable operand, then it does
not match.
Fixes mn10200/other.s failures due to new relaxing code.
1997-02-07 16:54:05 +00:00
Jeff Law
e58035e374
* config/tc-mn10200.c (md_estimate_size_before_relax): Treat
...
a jsr target in a different section just like a jsr to
an undefined target.
Bug triggerd by c++ tests.
1997-02-07 03:09:52 +00:00
Ian Lance Taylor
6927c24d3c
* config/tc-mips.c (mips_fix_adjustable): Don't adjust relocations
...
against any mips16 symbols, not just externally visible ones.
(md_apply_fix): Corresponding change.
1997-02-06 21:54:07 +00:00
Ian Lance Taylor
c916764078
* config/tc-mips.c (mips16_ip): Accept floating point registers in
...
the operand of the exit instruction.
1997-02-05 16:12:04 +00:00
Ian Lance Taylor
2dffd20a0c
fix spacing error
1997-02-04 21:35:47 +00:00
Ian Lance Taylor
76801700d7
* symbols.c (resolve_symbol_value): If we leave an equated symbol
...
as O_symbol, copy over the segment.
1997-02-04 19:13:11 +00:00
Ian Lance Taylor
7b43bcb28c
* gas/arm/inst.d, gas/arm/arm7t.d: Pass --prefix-addresses to
...
objdump. Update for current relocation printing style.
1997-02-03 20:46:51 +00:00
Ian Lance Taylor
1748b9d8f0
* config/tc-mips.c (md_apply_fix): If we aren't adjusting this
...
fixup to be against the section symbol, adjust the value
accordingly.
1997-02-03 17:56:00 +00:00
Ian Lance Taylor
3569064fb5
* symbols.c (resolve_symbol_value): Don't change X_add_number for
...
an equated symbol.
* write.c (write_relocs): Avoid looping on equated symbols.
Adjust fx_offset by X_add_number for each symbol.
* config/obj-coff.c (do_relocs_for): Avoid looping on equated
symbols.
(fixup_segment): Add a loop to track down equated symbols and
adjust fx_offset appropriately.
1997-02-03 17:38:41 +00:00
Jeff Law
f5d7f6fb53
* config/tc-mn10200.c (md_relax_table): Add entries to allow
...
jmp -> bra relaxing.
(md_convert_frag): Handle jmp->bra relaxing.
(md_assemble): Handle jmp->bra relaxing.
(md_estimate_size_before_relax): Likewise.
1997-01-31 22:23:10 +00:00
Ian Lance Taylor
2b063e6d64
* config/tc-sparc.c (enforce_aligned_data): New static variable.
...
(sparc_cons_align): Don't do anything unless enforce_aligned_data
is set.
(md_longopts): Add "enforce-aligned-data".
(md_show_usage): Mention --enforce-aligned-data.
* doc/c-sparc.texi (Sparc-Aligned-Data): New node; document
enforce-aligned-data.
1997-01-31 20:34:22 +00:00
Ian Lance Taylor
fbd929fd05
* config/tc-ppc.c (md_pseudo_table): If OBJ_XCOFF, add "long",
...
"word", and "short".
(ppc_xcoff_cons): New static function.
1997-01-31 19:57:31 +00:00
Ian Lance Taylor
fb50cd4ef2
Fri Jan 31 13:15:05 1997 Alan Modra <alan@spri.levels.unisa.edu.au>
...
* config/tc-i386.c (i386_align_code): Add comments explaining the
nop instructions.
1997-01-31 18:16:15 +00:00
Ian Lance Taylor
a75abb6f0a
* write.c (relax_segment): Give an error if a .space symbol is
...
common or undefined.
* read.c (read_a_source_file): Don't handle mri_pending_align if
the handler is s_globl or s_ignore.
1997-01-31 15:47:41 +00:00
Ian Lance Taylor
0d7f9025b9
* config/tc-mips.c (mips_fix_adjustable): New function.
...
* config/tc-mips.h (tc_fix_adjustable): Call mips_fix_adjustable.
(mips_fix_adjustable): Declare.
1997-01-30 21:19:36 +00:00
Fred Fish
f1ce6af4fe
* config/tc-d10v.c (find_opcode): Remove unused variable "numops".
...
* config/tc-tic80.c: Many additions to previous placeholder file.
* config/tc-tic80.h: Ditto.
1997-01-30 20:35:02 +00:00
Ian Lance Taylor
0b476c533b
Thu Jan 30 12:28:18 1997 Alan Modra <alan@spri.levels.unisa.edu.au>
...
* config/tc-i386.c (i386_align_code): Improve the nop patterns.
1997-01-30 17:29:28 +00:00
Ian Lance Taylor
a6b200da04
Ideas from Srinivas Addagarla <srinivas@cdotd.ernet.in>:
...
* read.c (read_a_source_file): After doing an mri_pending_align,
adjust the line_label if there is one.
(s_space): Set mri_pending_align if an odd number of bytes were
output.
1997-01-30 17:10:28 +00:00
Ian Lance Taylor
bcc4cbcef3
* gas/mips/mips16.d: Update for disassembler changes.
1997-01-30 16:57:54 +00:00
Martin Hunt
9073144e40
Wed Jan 29 15:31:12 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* tc-d10v.h (md_do_align): Add this hook to call
d10v_cleanup() when a ".align" is detected. Fixes PR11487.
* tc-d10v.c (find_opcode): Correctly calculate
branch displacement when .aligns are present.
1997-01-29 23:36:25 +00:00
Martin Hunt
daa04fa206
Wed Jan 29 15:31:12 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* config/tc-d10v.h (md_do_align): Add this hook to call
d10v_cleanup() when a ".align" is detected. Fixes PR11487.
* config/tc-d10v.c (find_opcode): Correctly calculate
branch displacement when .aligns are present.
1997-01-29 23:36:06 +00:00
Jeff Law
33a4c28dc0
* config/tc-mn10200.c (md_relax_table): Define.
...
(md_convert_frag): Implement.
(md_assemble): Handle relaxable operands/instructions correctly.
(md_estimate_size_before_relax): Implement.
* config/tc-mn10200.h (TC_GENERIC_RELAX_TABLE): Define.
Some simple branch relaxing.
1997-01-29 16:46:31 +00:00
Bob Manson
787f622077
Major revision to testsuites for cross-testing and DOS testing support.
1997-01-29 09:40:31 +00:00
Ian Lance Taylor
39bb58e0ad
* config/tc-mips.c (append_insn): Give an error for jumps to a
...
misaligned address.
1997-01-28 21:14:37 +00:00
Ian Lance Taylor
3b320c48cf
* config/tc-mips.c (md_apply_fix): Make a branch to an odd address
...
an error rather than a warning.
1997-01-28 21:09:52 +00:00
Ian Lance Taylor
31a2c6ffd7
* config/tc-mips.c (md_convert_frag): If the user explicitly
...
requested an extended opcode, pass warn as true to mips16_immed.
1997-01-28 20:37:27 +00:00
Ian Lance Taylor
645cb4dc28
* config/tc-mips.c (mips16_ip): Handle a missing expression like
...
an explicit 0, so that explicitly extended instructions work
correctly.
1997-01-28 20:28:18 +00:00
Ian Lance Taylor
0192b099bd
* ecoff.c (ecoff_build_symbols): Don't generate a local ECOFF
...
symbol for a common symbol.
1997-01-27 22:41:43 +00:00
Angela Marie Thomas
b48daf747b
handle all 4100/4300, not just elf
1997-01-23 11:15:19 +00:00
David Edelsohn
f7ab94418c
Patch presumed to have been checked in awhile ago but wasn't.
...
Mon Nov 25 10:45:14 1996 Doug Evans <dje@seba.cygnus.com>
* write.c: Delete "ifndef md_relax_frag" around is_dnrange.
(relax_segment, case rs_org): Move code inside braces. Move locals
target,after inside too.
(relax_segment, case rs_machine_dependent): Guts moved to ...
(relax_frag): New function.
Call md_prepare_relax_scan if defined.
1997-01-22 18:41:50 +00:00
Ian Lance Taylor
b3a64736a1
* config/tc-mips.c (md_begin): Don't set SEC_ALLOC or SEC_LOAD for
...
the .reginfo or .MIPS.options section if configured for an
embedded target.
1997-01-20 19:27:11 +00:00
J.T. Conklin
0ce48081b2
* config/tc-m68k.c (m68k_ip): Reject pc-relative addresses for the
...
'p' operand specifier.
1997-01-20 19:00:03 +00:00
J.T. Conklin
ffecfc8b60
* config/tc-m68k.c (HAVE_LONG_BRANCH): New macro, returns true for
...
m68k family cpus which support long branch addressing modes.
(m68k_ip, md_convert_frag_1, md_estimate_size_before_relax,
md_create_long_jump): Use it.
1997-01-20 18:47:48 +00:00
Ian Lance Taylor
c36a90ef65
* config/tc-mips.c (md_begin): Don't set interlocks for
...
mips_4650.
PR 11507.
1997-01-20 17:43:43 +00:00
Ian Lance Taylor
ad423373db
* read.c (read_a_source_file): Make sure the symbol ends with
...
whitespace before checking whether the next character is '='.
PR 11461.
1997-01-15 18:52:53 +00:00
Ian Lance Taylor
03b240371f
* config/tc-i386.c (sco_id): Moved from here...
...
* config/obj-elf.c (sco_id): ...to here. Adding the identifier
really is an SCO ELF specific thing, not just a SCO x86 specific
thing.
1997-01-14 20:08:43 +00:00
Michael Meissner
4af93ad0dc
Allow tic80-*-*, not just tic80-*-coff
1997-01-14 03:45:03 +00:00
Ian Lance Taylor
6468dabdec
* read.c (emit_expr): Check for overflow of a negative value
...
correctly.
* write.c (fixup_segment): Likewise.
* config/obj-coff.c (fixup_segment): Likewise.
PR 11411.
1997-01-09 19:13:42 +00:00
Ian Lance Taylor
d703b5a783
* config/tc-m68k.c (struct label_line): Define.
...
(labels, current_label): New static variables.
(md_assemble): Mark current_label as text, and clear it.
(m68k_frob_label): New function.
(m68k_flush_pending_output): New function.
(m68k_frob_symbol): New function.
* config/tc-m68k.h (tc_frob_label): Define.
(md_flush_pending_output): Define.
(tc_frob_symbol): Don't warn, just call m68k_frob_symbol.
(tc_frob_coff_symbol): Likewise.
PR 11417.
1997-01-09 18:18:01 +00:00
Ian Lance Taylor
8ff750011b
* read.c (read_a_source_file): When defining a macro in MRI mode,
...
don't add the symbol to the symbol table.
PR 11423.
1997-01-09 17:10:09 +00:00
Jeff Law
7899862954
* config/tc-mn10300.c (tc_gen_reloc): Handle sym1-sym2 fixups
...
here since fixup_segment doesn't (linkrelax is set).
* config/tc-mn10200.c (tc_gen_reloc): Likewise.
Should fix line # stabs & block scope stabs.
1997-01-07 18:27:20 +00:00
Jeff Law
62b2acbabf
* config/tc-mn10200.c (md_assemble): Tweak fx_offset for pc-relative
...
relocs.
Relocs for the mn10200.
1997-01-06 22:25:05 +00:00
Jeff Law
feb5b33137
Fix copyrights.
1997-01-03 23:56:40 +00:00
Jeff Law
ac866582d9
* config/tc-hppa.c (struct hppa_fix_struct): Steak fx_r_field's type
...
to avoid warnings with the native HP compiler.
(fix_new_hppa): Similarly for the r_type argument.
(pa_build_unwind_subspace, hppa_elf_mark_end_of_function): Enclose
in an #if OBJ_ELF to keep gcc -Wall quiet.
(md_apply_fix): Always initialize "result".
Minor maintenance.
* config/tc-mn10200.c (md_assemble): Generate relocations.
mn10200 has relocs now!
1997-01-03 23:55:22 +00:00
Ian Lance Taylor
79811f6f41
Fri Jan 3 18:17:23 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
...
* config/tc-m68k.c (s_even): Adjust the alignment of the current
section.
1997-01-03 23:20:21 +00:00
Ian Lance Taylor
3df036e9d2
tipo
1997-01-03 23:15:44 +00:00
Ian Lance Taylor
9f94df3847
* config/obj-coff.c (yank_symbols): If tc_frob_coff_symbol is
...
defined, call it.
* config/tc-m68k.c (tc_frob_symbol): Check whether text label is
aligned to odd boundary.
(tc_frob_coff_symbol): Define.
1997-01-03 22:41:26 +00:00
Ian Lance Taylor
8185fc28bd
revert last patch
1997-01-03 22:27:24 +00:00
Ian Lance Taylor
ba8f9c0955
Fri Jan 3 17:10:33 1997 Richard Henderson <rth@tamu.edu>
...
* config/obj-elf.c (elf_file_symbol): When using ECOFF debugging,
pass on the new file hook.
* config/tc-alpha.c (alpha_fix_adjustable): Not quite the same as
!alpha_force_relocation, as local LITERALs can be adjusted to be
relative to the section.
1997-01-03 22:13:05 +00:00
Ian Lance Taylor
039d5a6040
* doc/as.texinfo (Set): Change parenthesized @xref to @pxref.
1997-01-03 18:02:55 +00:00
Ian Lance Taylor
de9df5fa1d
* config/tc-m68k.h (tc_frob_label): Define to warn about a
...
misaligned text label. Based on patch from Ronald F. Guilmette
<rfg@monkeys.com>.
1997-01-03 17:50:06 +00:00
Ian Lance Taylor
7b0688dff7
* macro.c (macro_expand_body): In MRI mode, just copy a single &.
1997-01-03 17:40:43 +00:00
Ian Lance Taylor
2156d0d747
* config/tc-m68k.c (m68k_ip): Call frag_grow before adding a
...
PCINDEX frag. From Ronald F. Guilmette <rfg@monkeys.com>.
1997-01-03 17:22:34 +00:00
Ian Lance Taylor
a78bc55196
* config/tc-m68k.c (m68k_ip): Accept 'B' as a size for an
...
immediate value.
(md_assemble): If the size is 'B', set fx_signed.
(md_apply_fix_2): Use fx_signed when checking for overflow.
* write.h (struct fix): Add fx_signed field.
* write.c (fix_new_internal): Initialize fx_no_overflow and
fx_signed fields.
(fixup_segment): Use fx_signed when checking for overflow.
* config/obj-coff.c (fixup_segment): Check fx_no_overflow and
fx_signed when checking for overflow.
1997-01-03 17:14:02 +00:00
Ian Lance Taylor
0abdf2800c
* NOTES, NOTES.config: Removed. These are rarely, if ever,
...
updated, and all the useful information is in doc/internals.texi.
1997-01-03 03:13:47 +00:00
Ian Lance Taylor
a986926b11
Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
...
* read.c (read_a_source_file): Check for conditional operators
before doing an MRI pending alignment.
* config/tc-m68k.h (m68k_conditional_pseudoop): Declare.
(tc_conditional_pseudop): Define.
* config/tc-m68k.c (m68k_conditional_pseudop): New function.
* doc/internals.texi (CPU backend): Describe
tc_conditional_pseudoop.
1997-01-03 03:07:01 +00:00
Ian Lance Taylor
924160b0d6
Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
...
* config/tc-m68k.c (m68k_rel32_from_cmdline): New static
variable.
(md_begin): Check m68k_rel32_from_cmdline before setting
m68k_rel32.
(m68k_mri_mode_change): Likewise.
(md_longopts): Add --disp-size-default-16 and
--disp-size-default-32.
(md_parse_option): Handle new options.
(md_show_usage): Mention new options.
* doc/c-m68k.texi (M68K-Opts): Document new options.
1997-01-03 00:03:28 +00:00
Ian Lance Taylor
b4d51f3dd4
Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
...
* config/tc-m68k.c (m68k_index_width_default): New static
variable.
(m68k_ip): Use m68k_index_width_default to set the size of a base
register whose size was not given.
(md_longopts): Add --base-size-default-16 and
--base-size-default-32.
(md_parse_option): Handle new options.
(md_show_usage): Mention new options.
* doc/c-m68k.texi (M68K-Opts): Document new options.
1997-01-02 23:48:20 +00:00
Ian Lance Taylor
4d32706e4a
fix copyright
1997-01-02 23:44:47 +00:00
Ian Lance Taylor
103e1158ca
* doc/c-mips.texi: Mention ISA level 4, and the -mips16 option.
1997-01-02 23:07:09 +00:00
Ian Lance Taylor
e16b9537c1
* configure.in: Recognize mips-*-linux* target.
...
* configure: Rebuild.
1997-01-02 21:53:52 +00:00
Ian Lance Taylor
a162a49000
* config/tc-mips.c (load_register): Rewrite 64 bit handling to
...
work if valueT is only 32 bits.
1997-01-02 21:51:58 +00:00
Ian Lance Taylor
d899ee85b4
* gas/mips/mips16.s, gas/mips/mips16.d: New test.
...
* gas/mips/mips.exp: Run mips16 test.
* gas/mips/mips.exp: Run dli test unconditionally.
* gas/mips/dli.s: Add text symbol. Add nops to round to 16 byte
boundary.
* gas/mips/dli.d: Corresponding changes.
1997-01-02 21:51:31 +00:00
Ian Lance Taylor
b9129c6fcd
* config/tc-mips.c: Throughout, check target_big_endian rather
...
than byte_order.
(byte_order): Remove.
(mips_init_after_args): Remove.
* config/tc-mips.h (LITTLE_ENDIAN, BIG_ENDIAN): Don't define.
(mips_init_after_args): Don't declare.
(tc_init_after_args): Don't define.
* config/tc-mips.h (tc_frob_after_relocs): Define if
OBJ_MAYBE_ELF.
(mips_elf_final_processing): Likewise.
(ELF_TC_SPECIAL_SECTIONS): Likewise.
1997-01-02 20:13:05 +00:00
Ian Lance Taylor
20868ec647
* read.c (read_a_source_file): Check mri_pending_align after
...
checking for a macro. From Ronald F. Guilmette
<rfg@monkeys.com>.
1996-12-31 22:11:23 +00:00
Ian Lance Taylor
6ded661565
* Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE.
1996-12-31 20:43:28 +00:00
Michael Meissner
6e7d54625f
Fix relocatable tda offsets with non-zero addends
1996-12-31 20:14:21 +00:00
Ian Lance Taylor
3421c0cc29
improve format
1996-12-31 19:23:32 +00:00
Ian Lance Taylor
4f1da13f33
* gas/sparc/synth.d: Use --prefix-addresses for objdump.
...
* gas/sparc/synth64.d: Likewise.
1996-12-31 18:03:58 +00:00
Ian Lance Taylor
38fc0ba614
* config/tc-sparc.c (md_apply_fix3): Rename from md_apply_fix, and
...
add segment argument. If OBJ_ELF, treat a relocation against a
symbol in a linkonce section like a relocation against an external
symbol.
* config/tc-sparc.h (MD_APPLY_FIX3): Define.
1996-12-31 18:03:09 +00:00
Ian Lance Taylor
18e0764dd5
* config/tc-mips.c (mips16_macro): Add case for M_ABS.
1996-12-30 16:36:37 +00:00
Fred Fish
6455664321
* NOTES.config (Implementation): as.h #define's "GAS" not "gas",
...
includes config.h instead of host.h, tc.h instead of tp.h, and
targ-env.h instead of target-environment.h.
Also, obj-format.h includes targ-cpu.h instead of
target-processor.h.
start-sanitize-tic80
(Laying groundwork, that will be incrementally fleshed out,
for TIc80 support)
* configure.in (case ${generic_target}): Add tic80-*-coff entry.
* configure: Rebuild with autoconf.
* config/obj-coff.h (coff/tic80.h): Include if TC_TIC80 defined.
(TARGET_FORMAT): Define to "coff-tic80".
* config/tc-tic80.c: New file for TIc80 support.
* config/tc-tic80.h: New file for TIc80 support.
end-sanitize-tic80
1996-12-28 05:59:26 +00:00
Ian Lance Taylor
7d99e8afc3
* doc/as.texinfo (M): Mention explicitly that -M changes macro
...
handling.
PR 11259.
1996-12-27 16:43:15 +00:00
Angela Marie Thomas
e98c90e6ce
change regexps to resemble disass output
1996-12-25 00:37:33 +00:00
Stan Shebs
51cd0ae7db
* mpw-make.sed: Use NewFolderRecursive for installation.
1996-12-19 19:29:38 +00:00
Ian Lance Taylor
9c199842e5
* write.c (adjust_reloc_syms): If the fixup symbol has been
...
equated to an undefined symbol, convert the fixup to being against
the target symbol. Remove obsolete code handling a special case
for i386 PIC.
1996-12-19 17:07:14 +00:00
Martin Hunt
cb07aaeb2b
Wed Dec 18 16:00:42 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* config/tc-d10v.c (do_assemble): Correct previous bug fix.
1996-12-19 00:01:58 +00:00
Martin Hunt
59808ea7c8
Wed Dec 18 15:27:40 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* tc-d10v.c (md_assemble): Fix bug which caused
second instruction in a line to be case sensitize. PR11312
1996-12-18 23:38:41 +00:00
Martin Hunt
575453fb7d
Wed Dec 18 15:27:40 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* config/tc-d10v.c (md_assemble): Fix bug which caused
second instruction in a line to be case sensitize. PR11312
1996-12-18 23:38:22 +00:00
Jeff Law
5545556dc8
* config/tc-mn10200.c (mn10200_insert_operand): Don't
...
range check operands with MN10200_OPERAND_NOCHECK set.
(check_operand): Likewise.
So the assembler won't check on "and -1,dn".
1996-12-18 17:14:10 +00:00
Ian Lance Taylor
f5e38044df
* config/tc-mips.c: Undo part of last Friday's alignment changes.
...
(md_begin): Always align the text section to a four byte
boundary.
(append_insn): Remove call to record_align.
1996-12-18 01:01:56 +00:00
Ian Lance Taylor
fbcfacb75d
* config/tc-mips.c (insn_label): Remove.
...
(struct insn_label_list): Define.
(insn_labels, free_insn_labels): New static variables.
(mips_clear_insn_labels): New static function.
(append_insn): Mark all mips16 text labels, and make them odd.
Handle all labels after emitting a nop, not just one. Call
mips_clear_insn_labels rather than just clearing insn_label.
(mips_emit_delays): Add insns parameter, and use it to decide
whether to mark mips16 labels. Handle all labels, not just one.
Force mips16 labels to be odd. Change all callers.
(mips16_immed): Don't check for an odd branch target.
(md_apply_fix): Don't check mips16 mode for a branch reloc.
(mips16_extended_frag): Ignore the low bit in a branch target.
(md_convert_frag): Likewise.
(mips_no_prev_insn): Call mips_clear_insn_labels rather than just
clearing insn_label.
(mips_align, mips_flush_pending_output, s_cons): Likewise.
(s_float_cons, s_gpword): Likewise.
(s_align): Use insn_labels rather than insn_label.
(s_cons, s_float_cons, s_gpword): Likewise.
(mips_frob_file_after_relocs): New function.
(mips_define_label): Rewrite to add to insn_labels list.
* config/tc-mips.h (tc_frob_file_after_relocs): Define.
* ecoff.c (ecoff_build_symbols): If the size of a function comes
out odd, increment it.
1996-12-17 20:58:57 +00:00
Angela Marie Thomas
e682debfa3
fix typo
1996-12-17 20:02:15 +00:00
Ian Lance Taylor
c0dea4956d
* config/tc-mips.c (mips16_ip): Check for a missing expression
...
when using the register indirect addressing mode.
1996-12-17 16:00:55 +00:00
Jeff Law
d4ba37afa0
* config/tc-mn10200.c (mn10200_insert_operand): Don't
...
check 24bit operands for overflow.
(check_operand): Likewise.
1996-12-16 17:13:38 +00:00
Ian Lance Taylor
868c351306
* doc/as.texinfo (Section): Document how to use the .section
...
pseudo-op for COFF and ELF.
1996-12-16 16:54:10 +00:00
Ian Lance Taylor
6259c65f73
* write.c (adjust_reloc_syms): Fix linkonce check for ELF.
1996-12-15 20:27:08 +00:00
Ian Lance Taylor
c8f580cec6
mention mips16
1996-12-15 20:26:46 +00:00
Ian Lance Taylor
a677feeba4
* config/tc-mips.c (prev_insn_reloc_type): New static variable.
...
(RELAX_MIPS16_ENCODE): Add dslot and jal_dslot arguments, and
store them. Adjust other RELAX_MIPS16 macros.
(RELAX_MIPS16_DSLOT): Define.
(RELAX_MIPS16_JAL_DSLOT): Define.
(append_insn): Pass new arguments to RELAX_MIPS16_ENCODE. Correct
handling of whether previous instruction has a fixup. Set
prev_insn_reloc_type.
(mips_no_prev_insn): Clear prev_insn_reloc_type.
(mips16_extended_frag): Use the right base address for a PC
relative add or load.
(md_convert_frag): Likewise. If a PC relative add or load is
used, record the alignment for the section.
1996-12-15 03:42:36 +00:00
Ian Lance Taylor
54815b9a08
* write.c (adjust_reloc_syms): Don't reduce a reloc against a
...
linkonce section into a reloc against the section symbol.
1996-12-13 18:27:28 +00:00
Ian Lance Taylor
8a8121d51b
* config/tc-mips.c (mips16_macro): Remove nop instructions after
...
branch instructions.
1996-12-13 18:13:05 +00:00
Ian Lance Taylor
029b826182
* gas/mips/*.[sd]: Add explicit nops, sometimes controlled by
...
.ifdef, to accomodate change to avoid default alignment on
embedded systems.
1996-12-13 18:06:41 +00:00
Ian Lance Taylor
08e17202ee
* config/tc-mips.c (md_begin): If configured for an embedded ELF
...
system, don't set the section alignment to 2**4.
(s_change_sec): Likewise.
(append_insn): Call record_alignment for the section.
(md_section_align): Don't align the section size for an embedded
ELF system.
1996-12-13 18:02:35 +00:00
Ian Lance Taylor
8dd6fde3e5
* config/obj-coff.c (fixup_segment): Make sure that symbols are
...
resolved; expression symbols may have been skipped.
1996-12-12 22:41:22 +00:00
Ian Lance Taylor
73d2578427
* write.c (adjust_reloc_syms): Make sure that symbols are
...
resolved; expression symbols may have been skipped.
PR 11240.
1996-12-12 21:55:28 +00:00
Michael Meissner
a460cd7827
Support BFD_RELOC_24_PLT_PCREL relocation
1996-12-12 20:20:08 +00:00
Jeff Law
dfd832cb9b
* gas/mn10300/basic.exp: Update after endianness changes to
...
the assembler.
1996-12-11 06:20:40 +00:00
Jeff Law
8ca7163145
* config/tc-mn10300.c (md_assemble): Update to handle endianness
...
issues correctly.
1996-12-11 06:19:43 +00:00
Martin Hunt
60b43c4bde
Tue Dec 10 13:51:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* config/tc-d10v.c (write_2_short): Remove code that called
parallel_ok() when the programmer specified parallel instructions.
1996-12-10 21:53:34 +00:00
Ian Lance Taylor
9b2ac02954
* config/tc-mips.c (append_insn): Make sure there is enough room
...
in a frag after a mips16 instruction to switch it with a jump
instruction.
1996-12-10 21:18:38 +00:00
Jeff Law
3b159258ad
* gas/mn10200/{mov1.s,mov2.s,mov3.s,mov4.s,movx.s}: New tests.
...
* gas/mn10200/{movb.s, movbu.s}: Likewise.
* gas/mn10200/basic.exp: Run them.
We correctly assemble & insert operands for all mn10200 instructions.
1996-12-10 20:06:33 +00:00
Jeff Law
42aa243574
* config/tc-mn10200.c (md_assemble): Opcode 0x0 is valid!
...
* config/tc-mn10300.c (md_assemble): Likewise.
Found by mn10200 gas testsuite.
1996-12-10 19:33:48 +00:00
Ian Lance Taylor
41a0ed225b
* config/tc-mips.c (mips16_extended_frag): Give an error for an
...
attempt to use a non absolute symbol in an extending frag.
1996-12-10 16:38:22 +00:00
Ian Lance Taylor
a7dd20e839
* app.c (do_scrub_chars): At the end of a C comment, pass space to
...
UNGET rather than PUT. Set old_state before setting state to -2.
PR 11229.
1996-12-10 03:47:41 +00:00
Jeff Law
9d49699b24
* gas/mn10200/*.s: New tests for the mn10200 assembler.
...
* gas/mn10200/basic.exp: Run them.
Tests for all instructions except mov*.
1996-12-10 00:14:35 +00:00
Jeff Law
dc1f8a2115
* config/tc-mn10200.c: Flesh out assembler support for MN10200.
...
* config/tc-mn10200.h: Likewise.
Actually assembles some mn10200 stuff (everything but mov* instructions!)
1996-12-09 23:53:37 +00:00
Ian Lance Taylor
559c664adb
* config/tc-mips.c (mips16_extended_frag): Avoid an infinite loop
...
when extending because the value is exactly maxtiny + 1.
1996-12-09 23:34:20 +00:00
Ian Lance Taylor
8728fa9263
* config/tc-mips.c (RELAX_MIPS16_ENCODE): Add small and ext
...
arguments, and store them. Adjust other RELAX_MIPS16 macros.
(RELAX_MIPS16_USER_SMALL): Define.
(RELAX_MIPS16_USER_EXT): Define.
(mips16_small, mips16_ext): New static variables.
(append_insn): Pass mips16_small and mips16_ext to
RELAX_MIPS16_ENCODE.
(mips16_ip): Set mips16_small and mips16_ext.
(mips16_immed): Don't check mips16_autoextend.
(mips16_extended_frag): Check USER_SMALL and USER_EXT.
1996-12-09 23:26:15 +00:00
Ian Lance Taylor
102633cecf
* write.c (write_relocs): Print an error for an out of range
...
fixup, rather than calling abort.
* as.c (main): Unlink the output file if there are errors while
generating the fixups.
1996-12-09 22:11:24 +00:00
Ian Lance Taylor
f74ba7a3d9
* config/tc-mips.c (mips16_extended_frag): Don't call
...
S_GET_VALUE.
(md_convert_frag): Call resolve_symbol_value before calling
S_GET_VALUE, and don't add in the frag address.
1996-12-07 00:32:05 +00:00
Ian Lance Taylor
15e69f9816
* config/tc-mips.c (mips16_immed): Add file and line parameters,
...
and use them when reporting errors. Change all callers.
1996-12-06 23:51:01 +00:00
Jeff Law
ca82e4ebdb
* config/tc-mn10300.c: Fix various gcc -Wall warnings.
...
Remove '$' prefixing for registers.
1996-12-06 22:44:30 +00:00
Jeff Law
8fbb3e909a
* gas/mn10300/*.s: Remove '$' register prefixing.
1996-12-06 22:39:18 +00:00
Martin Hunt
f787a8d9b8
Fri Dec 6 00:55:48 1996 Martin <hunt@cygnus.com>
...
* config/tc-d10v.c (md_assemble): Check to see if prev_seg
is initialized before using it.
(d10v_cleanup): No longer uses its argument, so make it void.
* config/tc-d10v.h (d10v_cleanup): Change prototype.
1996-12-06 09:13:25 +00:00
Michael Meissner
6cc03ed378
Fix recent breakage
1996-12-06 04:46:19 +00:00
Ian Lance Taylor
00a69b895a
* write.c (fixup_segment): Don't discard the symbol for a PC
...
relative fixup to an absolute symbol.
PR 11204.
1996-12-05 16:06:14 +00:00
Martin Hunt
fa1e3be84c
Wed Dec 4 15:42:41 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* tc-d10v.c (md_assemble, d10v_cleanup): Fix bug
with multiple sections.
1996-12-04 23:47:30 +00:00
Martin Hunt
996bee906f
Wed Dec 4 15:42:41 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* config/tc-d10v.c (md_assemble, d10v_cleanup): Fix bug
with multiple sections.
1996-12-04 23:47:16 +00:00
Ian Lance Taylor
943321c07d
* config/tc-mips.c (md_longopts): Rename mips-16 to mips16, and
...
no-mips-16 to no-mips16.
(s_mipsset): Accept .set mips16 and .set nomips16.
1996-12-04 18:01:48 +00:00
Michael Meissner
8b1e9f129b
Allow foo@suffix+constant relocations
1996-12-04 15:42:14 +00:00
Michael Meissner
b61802e7cb
Add -m{,no-}solaris support to enable/disable solaris comments & setting ppc flags
1996-12-04 04:26:04 +00:00
Jeff Law
a9f2e3e24f
* config/tc-mn10300.c (tc_gen_reloc): Get the addend from
...
fx_offset, not fx_addnumber.
Along with some simulator, compiler, bfd changes this fixes 90 or so
c-torture execution failures.
1996-12-02 07:41:52 +00:00
Jeff Law
5840a0e553
* config/tc-mn10300.h (tc_fix_adjustable): Don't do any
...
reloc adjustments.
reloc adjusting is of minimal value, and quite problematical for
machines which do linker relaxing...
1996-12-02 04:50:26 +00:00
Ian Lance Taylor
b608274a89
Sat Nov 30 17:34:48 1996 Eliot Dresselhaus <eliot@wally.edc.com>
...
* config/tc-i386.c: Correct misspelling: balenced to balanced.
1996-11-30 22:35:57 +00:00
Ian Lance Taylor
caeea0b47b
* config/tc-mips.c (md_section_align): Check for an alignment of
...
4, not an alignment of 16. Corrects August 7 patch.
1996-11-27 18:32:52 +00:00
Ian Lance Taylor
775c64a97f
* configure, conf.in: Rebuild with autoconf 2.12.
1996-11-26 22:08:11 +00:00
Ian Lance Taylor
c830c9ead7
* config/tc-ppc.c (ppc_elf_lcomm): Don't give an error if no
...
alignment is specified.
PR 11164.
1996-11-26 20:42:34 +00:00
Ian Lance Taylor
cc5703cd74
Add support for mips16 (16 bit MIPS implementation):
...
* config/tc-mips.c: Extensive additions for mips16 support, not
listed here.
(RELAX_OLD, RELAX_NEW): Use only 7 bits each.
(insn_uses_reg): Change last parameter to an enum.
* config/tc-mips.h (LOCAL_LABELS_DOLLAR): Define as 0.
(md_relax_frag): Define as mips_relax_frag.
(mips_relax_frag): Declare.
(struct mips_cl_insn): Add use_extend and extend fields.
(tc_fix_adjustable): Define.
* config/obj-elf.h (S_GET_OTHER): Define.
(S_SET_OTHER): Define.
1996-11-26 16:44:22 +00:00
J.T. Conklin
3ab410cd65
* config/tc-m68k.c (m68k_ip): Implement cases for new <, >, m, n,
...
o and p operand specifiers.
1996-11-26 02:07:49 +00:00
David Edelsohn
a0a2af4f95
* write.c: Delete "ifndef md_relax_frag" around is_dnrange.
...
(relax_segment, case rs_org): Move code inside braces. Move locals
target,after inside too.
(relax_segment, case rs_machine_dependent): Guts moved to ...
(relax_frag): New function.
Call md_prepare_relax_scan if defined.
* config/tc-m68k.h (md_prepare_relax_scan): Renamed from
M68K_AIM_KLUDGE.
1996-11-25 21:25:54 +00:00
Jeff Law
a0cb629bde
* gas/mn10300/*.s: Use '$' as register prefix for
...
all register operands.
1996-11-25 18:42:32 +00:00
Jeff Law
f98905f13d
* config/tc-mn10300.c (address_registers): Use '%' prefix for regs.
...
(data_registers, other_registers, md_assemble): Likewise.
1996-11-25 18:24:14 +00:00
Jeff Law
0671e7f6c6
* config/tc-mn10300.c (md_assemble): Correctly determine the
...
correct location and type for each relocation.
(md_pcrel_from): Simplify.
Last week's reloc work.
1996-11-25 15:54:43 +00:00
Ian Lance Taylor
5895d3f225
* config/tc-sh.c (md_convert_frag): Improve warning when branch is
...
converted into branch around branch.
PR 11103.
1996-11-22 20:48:05 +00:00
Jeff Law
d9a9c18fad
* config/tc-mn10300.h (DIFF_EXPR_OK): Don't define this.
...
(tc_fix_adjustable): Don't adjust relocs against weak symbols or
pc-relative relocs.
* config/tc-mn10300.c (md_begin): Set linkrelax.
(md_assemble): Create fixups as needed.
(md_apply_fix3): Gut. It shouldn't ever get called anymore.
First stab at fixups/relocs.
1996-11-21 18:58:26 +00:00
Jeff Law
d3931e9311
* gas/all/gas.exp: xfail a couple tests for the mn10300.
...
For now...
1996-11-21 18:51:56 +00:00
Jeff Law
b47b320db3
* gas/mn10300/other.s: Update for correct syntax on a
...
few instructions (those with register lists).
* gas/mn10300/basic.exp: Corresponding changes.
Stuff noticed while working on the disassembler.
1996-11-20 18:31:12 +00:00
Michael Meissner
5e9b714f18
Do not convert short branch followed by short instruction into a parallel op if -O
1996-11-19 22:52:04 +00:00
Jeff Law
440e84b262
* gas/mn10300/movm.s: Update for correct syntax.
...
* gas/mn10300/basic.exp: Update expected movm bit patterns.
1996-11-19 20:36:18 +00:00
Jeff Law
7f02192d13
* config/tc-mn10300.c (md_assemble): Handle MN10300_OPERAND_REG_LIST.
...
So GCC can use movm in prologue/epilogues.
1996-11-19 20:35:19 +00:00
Jeff Law
43d695a1e9
* config/tc-mn10300.c (mn10300_insert_operand): Provide prototype
...
via PARAMS.
(check_operand): Likewise.
1996-11-18 23:05:06 +00:00