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
Michael Meissner
d39e0e6d61
Fix previous change
1996-11-18 20:36:48 +00:00
Michael Meissner
ec5e212be2
Check validity of user parallel operations
1996-11-18 20:31:30 +00:00
Michael Meissner
228835a9b6
Branch and link instructions modify r13
1996-11-18 20:24:47 +00:00
Angela Marie Thomas
ff0bc27973
finally remove errant mentions of Sanitize
1996-11-18 03:13:31 +00:00
Jeff Law
2583a05ba2
* gas/mn10300/other.s: Put parens around register
...
argument in calls and jmp instructions.
1996-11-15 20:57:53 +00:00
Martin Hunt
edb89bfc5b
Thu Nov 14 11:17:49 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* config/tc-d10v.c (write_2_short): Fix bug that wouldn't
allow a branch and link in parallel with an exe instruction.
1996-11-14 19:20:02 +00:00
Jeff Law
7e405d7ed7
* gas/h8300/ffxx1.d: Update for recent disassembler changes.
...
Bring over from h8s beta branch.
1996-11-13 20:19:06 +00:00
Jeff Law
f8b8cdf8cc
* gas/mn10300/basic.exp: Check opcode insertion for
...
extended instructions.
* gas/mn10300/extend.s: Tweak constants for better
testsuite coverage.
1996-11-07 07:27:44 +00:00
Jeff Law
4ba3a7a445
* gas/mn10300/basic.exp: Test insertion of operands
...
into call and jmp instructions with 32bit offsets.
Fix typo in bit test patterns.
* gas/mn10300/other.s: Tweak constants to improve
testsuite coverage.
1996-11-06 22:08:38 +00:00
Jeff Law
efba8af01d
* config/tc-mn10300.c (mn10300_insert_operand): MN10300_OPERAND_SPLIT
...
operands are assumed to be 32bits. Use "bits" field to hold the
number of bits in the main instruction word for MN10300_OPERAND_SPLIT.
(mn10300_check_operand): MN10300_OPERAND_SPLIT operands are assumed
to be 32bits.
1996-11-06 22:04:42 +00:00
Jeff Law
7ebc8b47ef
* gas/mn10300/basic.exp: Test insertion of 32bit operand
...
in calls, btst, bclr & bset instructions.
1996-11-06 21:23:32 +00:00
Jeff Law
bdd91d4f41
* config/tc-mn10300.c (mn10300_insert_operand): Shift low part
...
of a MN10300_OPERAND_SPLIT operand by operand->shift.
For bset, bclr & btst.
1996-11-06 21:20:56 +00:00
Jeff Law
a28b95d71d
* gas/mn10300/*.s: Tweak constants in 32bit insns for
...
better testing coverage.
* gas/mn10300/basic.exp: Test insertion of most 32bit
operands.
1996-11-06 20:51:36 +00:00
Jeff Law
cdde2f5cee
* config/tc-mn10300.c (mn10300_insert_operand): Handle
...
MN10300_OPERAND_SPLIT.
For handling of 32bit operands.
1996-11-06 20:48:36 +00:00
Jeff Law
b4f2bb63da
* gas/mn10300/basic.exp: Check bit patterns for indexed mov,
...
movbu, movhu instructions. Check bit patterns for more bit
operations. Check bit patterns for various 16bit call, retf
and ret instructions.
* gas/mn10300/other.s: Update operands for better test coverage.
Improving testsuite coverage.
1996-11-05 20:35:04 +00:00
Jeff Law
bfe5059c70
* config/tc-mn10300.c (md_assemble): Insert operands into
...
the extension part of the instruction if necessary.
(mn10300_insert_operand): Accept pointer to extension word
argument. Make insn a pointer argument too. Return type
is now void. All callers changed.
So we can correct insert operands into any instruction except those
which have 32bit operands.
1996-11-05 20:32:07 +00:00
Jeff Law
9eb0125b6c
* gas/mn10300/basic.exp: Check bit patterns for a
...
couple more mov and cmp instructions.
1996-11-04 19:56:27 +00:00
Jeff Law
68328dc6bd
* config/tc-mn10300.c (mn10300_insert_operand): Handle
...
repeated register operands.
For mov imm8,dn
mov imm8,an
cmp imm8,dn
cmp imm8,an
The register appears twice in the bit pattern... Egad.
1996-11-04 19:54:50 +00:00
Ian Lance Taylor
9a5acea834
* doc/as.texinfo: Added section on reporting bugs.
1996-11-01 19:37:24 +00:00
Ian Lance Taylor
eb1b89196c
add missing d10v sanitization
1996-11-01 19:05:55 +00:00
Ian Lance Taylor
9af4021772
* config/tc-alpha.c: Change uses of void * to PTR. Change the
...
alpha_macro emit field to expect a const argument, and change the
arg field to be const. Fix some spacing to follow the GNU
standard.
Fri Nov 1 10:32:03 1996 Richard Henderson <rth@tamu.edu>
* config/tc-alpha.c (md_parse_option): Add knowledge of 21164pc
(pca56) and 21264 (ev6) cpus.
(md_apply_fix): Private relocation types are now negative.
(alpha_force_relocation): Likewise.
(tc_gen_reloc): Likewise.
(emit_insn): Likewise.
(emit_ldXu): Do the right thing when the hardware can do byte insns.
(emit_stX): Likewise.
(emit_sextX): Likewise.
1996-11-01 18:44:14 +00:00
Ian Lance Taylor
527dc0c9ed
* symbols.c (resolve_symbol_value): Improve the error message if
...
an undefined symbol is used in an expression.
1996-11-01 00:35:00 +00:00
Ian Lance Taylor
fe7e5bdf73
* doc/internals.texi: Rewrite, and add a lot of documentation.
...
* doc/Makefile.in (internals.info): New target.
1996-10-31 04:16:52 +00:00
Jeff Law
193e41979c
* config/tc-v850.h (tc_fix_adjustable): Don't adjust relocs
...
against weak symbols.
Fixing RW failures.
1996-10-30 21:58:38 +00:00
Ian Lance Taylor
3c02d99662
* gas/mips/*.d: Update for disassembler changes.
1996-10-29 22:22:35 +00:00
Jeff Law
baf385b5fc
* config/tc-v850.c (md_assemble): Don't lose for relaxable
...
addresses like .+6.
Fixing more problems with new relaxing code.
1996-10-29 21:16:17 +00:00
Jeff Law
2385d90a81
* config/tc-v850.c (md_convert_frag): Make sure we insert the
...
fixup at the right address within the frag.
1996-10-29 20:07:13 +00:00
Jeff Law
bc49fab8ea
* config/tc-v850.c (md_convert_frag): Don't set fragP->fr_fix
...
to an absolute value, instead increment it as needed.
1996-10-29 19:48:18 +00:00
Jeff Law
a334533c1b
* config/tc-v850.h (TC_GENERIC_RELAX_TABLE): Define.
...
* config/tc-v850.c: Fix some indention problems.
(md_relax_table): Define for D9->D99 branch displacement
relaxing.
(md_convert_frag): Do something useful instead of aborting.
(md_estimate_size_before_relax): Likewise.
(md_assemble): Note if the matching instruction has a relaxable
operand. If it does, allocate frag with frag_var and don't
do any fixups.
So we can do 9bit displacement to 22bit displacement relaxing.
1996-10-29 19:32:56 +00:00
Ian Lance Taylor
edc4ed85c8
add write.c to v850_files
1996-10-28 23:13:44 +00:00
Martin Hunt
9051e56fd4
Mon Oct 28 10:43:45 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* read.c (read_a_source_file): New hook md_cleanup().
1996-10-28 18:45:00 +00:00
Ian Lance Taylor
07f9de2ad1
* write.c (fix_new_exp): Use make_expr_symbol to build an
...
expression symbol for a complex fixup.
1996-10-25 04:01:54 +00:00
Jeff Law
d3bbd9dc3e
* config/tc-v850.c (v850_reloc_prefix): Several disgusting
...
hacks to improve parsing of complex hi, lo, zda, etc
expressions.
(md_assemble): Don't demand and eat a trailing ')' after finding
a v850 relocation prefix. Sign extend the constant in a
BFD_RELOC_LO16 expression. Do eat a trailing ')' after a complete
operand.
(parse_cons_expression_v850): Don't eat a trailing ')' after
finding a v850 relocation prefix.
Trying to get nec's sample code to assemble. Why oh why didn't JT try
to assemble any of their code...
1996-10-25 01:14:34 +00:00
Jeff Law
10fba7f14e
* config/tc-v850.h (TC_PARSE_CONS_EXPRESSION): Define.
...
(TC_CONS_FIX_NEW): Likewise.
* config/tc-v850.c (parse_cons_expression_v850): New function.
(cons_fix_new_v850): Likewise.
So we can handle ".hword lo(_foo)".
1996-10-24 22:55:22 +00:00
Jeff Law
3723a1a9f1
* config/tc-v850.h (tc_fix_adjustable): Don't adjust TDA relocs.
...
Fixing more tda stuff.
1996-10-24 20:32:36 +00:00
Ian Lance Taylor
20fbbb592b
* config/tc-ppc.c (md_apply_fix3): Give a better warning message
...
for an unknown relocation type.
PR 10944.
1996-10-23 22:28:21 +00:00
Jeff Law
7e96935e77
* config/tc-v850.c (md_pseudo_table): Add .word; allocates
...
4 bytes of space.
Something off the todo list.
1996-10-23 22:23:38 +00:00
Jeff Law
8ea15b863f
* config/tc-v850.c (md_assemble): Handle TDAOFF relocs
...
differently for movea & sst/sld insns.
Working on tda for the v850.
1996-10-23 04:06:04 +00:00
Michael Meissner
39176dfe06
Do not allow IU,IU or MU,MU, or both instructions to be parallelized with -O
1996-10-22 21:14:47 +00:00
Ian Lance Taylor
87dd0a9336
* obj.h (struct format_ops): Add frob_file_after_relocs field.
...
* config/obj-multi.h (obj_frob_file_after_relocs): Define.
* config/obj-ecoff.c (ecoff_format_ops): Initialize new
frob_file_after_relocs field.
* config/obj-elf.c (elf_format_ops): Likewise.
* config/tc-mips.c: Undefine obj_frob_file_after_relocs before
including obj-elf.h.
1996-10-22 15:31:03 +00:00
Ian Lance Taylor
bf39474f15
* config/tc-mips.c (cons_fix_new_mips): Only treat 8 byte reloc
...
specially if not ELF.
(md_apply_fix): Handle BFD_RELOC_64.
(tc_gen_reloc): Handle BFD_RELOC_64.
1996-10-22 00:01:33 +00:00
Ian Lance Taylor
3030e86478
* config/tc-i386.c (md_apply_fix3): Don't increment value for a PC
...
relative reloc when BFD_ASSEMBLER and OBJ_AOUT (more ugly gas
reloc hacking).
1996-10-21 15:51:15 +00:00
Ian Lance Taylor
d12d1f6ce4
* config/obj-aout.h (S_IS_DEFINE): non BFD_ASSEMBLER version:
...
Don't check S_GET_OTHER.
1996-10-21 15:39:17 +00:00
Ian Lance Taylor
538034cfb5
* config/tc-mips.c (mips_ip): Accept an odd floating point
...
register with l.s or s.s.
1996-10-18 19:33:03 +00:00
Ian Lance Taylor
b70795e990
* config/obj-aout.c (obj_pseudo_table): Use obj_aout_type for
...
.type pseudo-op.
(obj_aout_type): New static function.
1996-10-18 18:07:55 +00:00
Ian Lance Taylor
b9d55d9634
* Makefile.in ($(OBJS)): Depend upon libiberty.h.
1996-10-17 22:00:04 +00:00
Jeff Law
548ddc7174
* config/tc-v850.c (v850_reloc_prefix): Recognize zdaoff, tdaoff
...
and sdaoff expressions.
1996-10-17 04:48:07 +00:00
Jeff Law
148b365e90
* gas/v850/reloc.s: New tests.
...
* gas/v850/basic.exp: Run them.
1996-10-17 04:41:24 +00:00
Jeff Law
0f8e50bb76
* write.c (fixup_segment): Don't add symbol value to addend if
...
TC_V850 and OBJ_ELF.
* config/tc-v850.h (tc_fix_adjustable): Don't adjust any
pc-relative fixups.
Fixing more failures in the g++ testsuite.
1996-10-16 17:32:39 +00:00
Jeff Law
f964b01d90
* config/tc-v850.c (md_pcrel_from): Delete unused function.
...
(md_pcrel_from_section): New function.
* config/tc-v850.h (MD_PCREL_FROM_SECTION): Define.
So we don't screw up pc-relative jumps/calls from one section
into another section within the same .o file.
Fixes global ctors/dtors to work with DECL_ONE_ONLY stuff.
1996-10-16 06:21:23 +00:00
Ian Lance Taylor
0267c6c9c2
* config/tc-mips.c (load_register): Add cast to offsetT when using
...
a constant with &~.
1996-10-14 18:00:19 +00:00
Ian Lance Taylor
f5587846ed
* gas/mips: Add symbols to several testsuites, since the ELF
...
assembler now always builds a symbol table, which means that
objdump will no longer report `No symbols in FILE'. Change the
expected output accordingly.
1996-10-14 17:54:49 +00:00
Ian Lance Taylor
5d0cd0b87e
Mon Oct 14 11:24:28 1996 Richard Henderson <rth@tamu.edu>
...
* config/obj-elf.c (elf_frob_file): Move ECOFF debug processing to ...
(elf_frob_file_after_relocs): ... here. New function.
* config/obj-elf.h (obj_from_file_after_relocs): New macro.
* write.c (write_object_file): Call *frob_after_relocs after the
call to write_relocs.
* config/tc-alpha.c: Use new BFD_RELOC_ALPHA_ELF_LITERAL reloc.
* config/tc-alpha.c (load_expression): Don't SET_VALUE on the section
symbol, as this messes up linking. Instead, expand the recursive call
inline and change up the appropriate bits to get the 0x8000 offset
in the reloc addend.
1996-10-14 15:40:15 +00:00
Ian Lance Taylor
1491f2eaee
* config/tc-sparc.h (tc_fix_adjustable): Permit the difference of
...
two symbols in the same segment to be adjusted.
1996-10-10 22:34:06 +00:00
Jeff Law
301ee34af4
* gas/mn10300/basic.exp: Check bit patterns for instructions
...
with a single 8bit or 16bit immediate operand.
We should correctly assemble just about everything except opcodes with:
multiple immediate operands,
3 register operands,
really weird stuff
1996-10-10 22:05:54 +00:00
Jeff Law
3ab9337b4b
* config/mn10300.c (md_assemble): Pass an extra shift count
...
to mn10300_insert_operand based on the opcode format.
(mn10300_insert_operand): Accept and use extra shift count
parameter.
Matsushita
1996-10-10 22:03:16 +00:00
Ian Lance Taylor
914f899869
* configure.in: Don't get confused by CPU-VENDOR-linux-gnu.
...
* configure: Rebuild.
1996-10-10 21:31:27 +00:00
Michael Meissner
f8a011cfa5
Turn most warnings into errors
1996-10-10 21:26:59 +00:00
Jeff Law
778c521b85
* config/tc-mn10300.c (md_assemble): Use FMT_* macros for
...
formats rather than hard-coded constants.
Minor cleanup.
1996-10-10 20:33:47 +00:00
Jeff Law
d9f4450770
* gas/mn10300/basic.exp: Check bit patterns for many
...
instructions. Add missing test in do_mov1.
* gas/mn10300/mov1.s: Add missing test.
We should now assemble just about anything without any
immediate operands.
1996-10-10 19:13:48 +00:00
Jeff Law
1c3ae169f7
* config/tc-mn10300.c (md_assemble): Format D5 instructions
...
are 7 bytes long. Write out instructions in big-endian format.
Matsushita.
1996-10-10 18:07:37 +00:00
Jeff Law
c3fa8cd69c
* gas/mn10300/{add.s, bcc.s, bit.s, cmp.s, ext.s}: New tests.
...
* gas/mn10300/{extend.s logical.s, loop.s, mov1.s}: Likewise.
* gas/mn10300/{mov2.s, mov3.s, mov4.s, movbu.s}: Likewise.
* gas/mn10300/{movhu.s, movm.s, muldiv.s, other.s}: Likewise.
* gas/mn10300/{shift.s, sub.s}: Likewise.
* gas/mn10300/basic.exp: Run them.
Beginnings of gas testsuite for mn10300. Matsushita.
1996-10-09 20:19:00 +00:00
Jeff Law
a6be605a1a
* config/tc-mn10300.h (md_assemble): Tweak further so
...
that all instructions are parsed correctly.
1996-10-08 20:59:28 +00:00
Ian Lance Taylor
5e1e8f23cf
* as.h: Include libiberty.h.
...
(xmalloc, xrealloc): Don't declare.
* as.c: Don't include libiberty.h.
* expr.c, read.c, stabs.c, config/obj-coff.c: Likewise.
* config/tc-mips.c: Likewise.
* messages.c: Likewise.
(xstrerror): Don't declare.
* xmalloc.c: Remove.
1996-10-08 17:15:20 +00:00
Jeff Law
1217102f2c
* config/tc-mn10300.h (pre_defined_registers) Remove.
...
(system_registers, cc_names): Likewise.
(address_registers, data_registers, other_registers): New register
arrays.
(register_name, system_register_name, cc_name): Remove.
(mn10300_reloc_prefix): Likewise.
(data_register_name): New function.
(address_register_name, other_register_name): Likewise.
(md_assemble): Rough cut at parsing operands. Remove lots of
unwanted code.
(md_apply_fix3): Disable for now.
Checkpointing today's Matsushita work.
1996-10-07 22:59:04 +00:00
Jeff Law
7d6669623a
Dummy .Sanitize files. Should also fix snapshot problems.
1996-10-07 22:55:13 +00:00
Ian Lance Taylor
99e3ccb64c
Mon Oct 7 11:38:34 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
...
* config/tc-m68k.c (select_control_regs): New function, extracted
out of m68k_init_after_args.
(m68k_init_after_args): Use it.
(mri_chip): Use it here as well to update set of allowed control
regs for movec.
1996-10-07 15:40:59 +00:00
Ian Lance Taylor
0bd28bc4f4
* config/obj-elf.c (elf_begin): New function.
...
(obj_elf_section): Add the section symbol to the symbol table.
* config/obj-elf.h (obj_begin): Define.
(elf_begin): Declare.
* as.c (perform_an_assembly_pass): Call obj_begin if it is
defined.
1996-10-07 15:25:58 +00:00
Ian Lance Taylor
eb0dafdc04
* config/obj-coff.c (fixup_segment): Subtract the section address
...
from a PC relative reloc if TC_M68K.
1996-10-04 22:38:44 +00:00
Ian Lance Taylor
76f841e600
* config/tc-sparc.c (md_pseudo_table): Make .uahalf, .uaword, and
...
.uaxword available even if not OBJ_ELF.
(md_atof): Remove unused local variable wordP.
1996-10-03 19:16:36 +00:00
Jeff Law
ae1b99e42d
Grrr. The mn10200 and mn10300 are _not_ similar enough to easily support
...
with a single generic configuration. So break them up into two different
configurations. See the individual ChangeLogs for additional detail.
1996-10-03 16:42:22 +00:00
Jeff Law
0f91d7632c
* config/tc-mn10x00.c, config/tc-mn10x00.h: New files
...
for Matsushita MN10x00 support.
* configure.in: Recognize mn10x00-*-*
* configure: Rebuilt.
More Matsushita stuff.
1996-10-03 06:19:06 +00:00
Jeff Law
b5bfedbe6c
* gas/mn10x00: New directory for Matsushita 10x00 tests.
...
Keep stubbing out Matsushita stuff.
1996-10-03 06:16:13 +00:00
Ian Lance Taylor
7c328bc7ff
Wed Oct 2 15:54:03 1996 Klaus Kaempf <kkaempf@progis.de>
...
* obj-evax.h: move openvms definitions from here to tc-alpha.c.
* tc-alpha.c: add support for vms_case_hack like in vax/vms.
(load_expression): track clobbering of base reg before jmp/jsr.
(s_alpha_file): pass case_hack flags and source filename via
symbol table to bfd.
* tc-alpha.h (TC_CONS_FIX_NEW): define
1996-10-02 19:55:33 +00:00
Ian Lance Taylor
a69e5977e2
* read.c (s_macro): Warn if a macro has the same name as a
...
pseudo-op.
(s_space): In m68k MRI mode, align to a word boundary.
* macro.c (define_macro): Add namep parameter. Change all
callers.
* macro.h (define_macro): Update declaration.
1996-10-01 21:51:15 +00:00
Ian Lance Taylor
fed13a5ec9
Tue Oct 1 16:16:01 1996 Joel Sherrill <joel@oarcorp.com>
...
* configure.in (mips-*-rtems*): New target, like mips-*-elf*.
* configure: Rebuild.
1996-10-01 20:17:23 +00:00
Ian Lance Taylor
673cb062e9
update copyright
1996-10-01 19:55:02 +00:00
Ian Lance Taylor
819a5edafd
* lib/gas-defs.exp (gas_version): Fix for current version
...
printing.
1996-10-01 19:39:21 +00:00
Ian Lance Taylor
bfc94743ea
* as.c (show_usage): Print bug report address.
...
(parse_args): Change version printing to match current GNU
standards.
* gasp.c (show_usage): Print bug report address.
(main): Change version printing to match current GNU standards.
1996-10-01 19:31:06 +00:00
Ian Lance Taylor
0b810a6ee0
* config/tc-m68k.c (init_table): Correct access control unit
...
register numbers. From Ken Rose <rose@netcom.com>.
1996-10-01 17:59:56 +00:00
Ian Lance Taylor
ffef69a368
* config/tc-alpha.c: Add some static function prototypes.
...
(alpha_macros): Move to top of file. Make static.
(alpha_num_macros): Move to top of file.
1996-10-01 16:41:19 +00:00
Stu Grossman
8940a5834f
* tc-v850.h: Define LOCAL_LABEL to recognise _.L_* symbols
...
generated by DWARF.
1996-10-01 16:38:44 +00:00
David Edelsohn
a98ddff362
* gas/sparc/splet.d: Fix typo in cpusha result.
1996-09-29 14:57:04 +00:00
Ian Lance Taylor
4fc2c99a4a
* expr.c (expr): Change >>= to >> (fix typo). (From meissner).
1996-09-26 20:04:56 +00:00
Ian Lance Taylor
97f8e6ff76
* read.c (float_cons): Call md_flush_pending_output if it is
...
defined.
PR 10716.
1996-09-24 23:06:05 +00:00
Martin Hunt
3547832c08
Tue Sep 24 12:22:18 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* tc-d10v.c (md_operand): Created. Allows operands to
start with '#'.
* tc-d10v.h (md_operand): Undefined.
1996-09-24 19:24:38 +00:00
Ian Lance Taylor
6e4f3f096f
* config/tc-m68k.c (add_fix): Treat a width of '3' like 'B'.
...
(md_assemble): A fixup width of '3' means a 1 byte reloc.
1996-09-23 16:32:24 +00:00
Ian Lance Taylor
72f70020f3
* config/obj-coff.c (fixup_segment): Don't adjust PC relative
...
reloc for the i960 for a reloc in the same section. This undoes
one of the two changes made Aug 19.
PR 10672.
1996-09-19 16:25:11 +00:00
Ian Lance Taylor
913d896f5b
* gas/all/cofftag.s: Use .p2align rather than .align.
1996-09-18 16:15:10 +00:00
Ian Lance Taylor
ab2998440b
* config/obj-coff.c (obj_coff_endef): Both versions: Move C_STAT
...
symbols to the position of the debugging information.
PR 10668.
1996-09-18 16:14:29 +00:00
Ian Lance Taylor
1540599959
* expr.c (expr): Always use unsigned right shifts for >>.
...
PR 10630.
1996-09-16 15:42:47 +00:00
Jeff Law
1b3b1c2d3c
* gas/h8300/macs.s: Add "stmac" instructions.
...
* gas/h8300/basic.exp: Test them.
Somehow I forgot to test "stmac".
1996-09-13 21:27:22 +00:00
Jackie Smith Cashion
f17be6588b
Thu Sep 12 10:25:45 1996 James G. Smith <jsmith@cygnus.co.uk>
...
* config/tc-arm.c (md_apply_fix3): Update two thumb instruction
slots when processing BL fixups.
* config/tc-arm.c (output_inst): Ensure Thumb BL fixup is marked
on the first half of the instruction.
Thu Sep 12 10:28:44 1996 James G. Smith <jsmith@cygnus.co.uk>
* gas/arm/thumb.s (back): Check assembly of Thumb BL.
1996-09-12 09:31:02 +00:00
Ian Lance Taylor
1decafee51
* ecoff.c (ecoff_stab): Create an expression symbol for a complex
...
stabs expression, rather than giving an error.
1996-09-11 18:40:25 +00:00
Ian Lance Taylor
475c826bb4
* ecoff.c (ecoff_new_file): Don't do anything if we are still in
...
the same file.
PR 10595.
1996-09-11 04:14:35 +00:00
Ian Lance Taylor
8a3bdc3d2a
* config/tc-mips.c (append_insn): Fill in the value for a constant
...
jump, rather than creating a reloc.
PR 10589.
1996-09-10 15:47:16 +00:00
Ian Lance Taylor
ca296aab0e
Don't set interlocks for r5000. Rely on -mips4 settings.
1996-09-10 01:12:35 +00:00
Ian Lance Taylor
4a9149d501
* gas/mips/mips4.s, gas/mips/mips4.d: Use $fccN for condition code
...
registers.
1996-09-09 18:37:54 +00:00
Ian Lance Taylor
d31a3f5e76
* config/tc-mips.c (append_insn): Don't swap an instruction which
...
sets a condition code with an instruction which uses a condition
code.
(mips_ip): In cases 'N' and 'M', look for $fccN rather than an
immediate value.
1996-09-09 18:37:10 +00:00
Ian Lance Taylor
517078c1b3
* config/tc-mips.c (md_begin): Recognize r5000 for cpu. If
...
mips_cpu is 5000, set interlocks and cop_interlocks.
(mips_ip): Give a better error message if the ISA level is wrong.
(md_parse_option): Recognize -mcpu=[v][r]5000.
1996-09-09 15:04:59 +00:00
Jackie Smith Cashion
ff8716f58e
Sat Sep 7 13:25:55 1996 James G. Smith <jsmith@cygnus.co.uk>
...
* config/tc-mips.c (COUNT_TOP_ZEROES): Added macro to count
leading zeroes.
(load_register): Ensure hi32 bits are not lost during lo32bit
processing. Fix shift offset that was overflowing into the next
instruction field. Add code to generate shorter sequences for
constants with a single contiguous seqeuence of ones.
Fri Sep 6 18:23:54 1996 James G. Smith <jsmith@cygnus.co.uk>
* gas/mips/dli.{s,d}: More test cases added.
NOTE: The COUNT_TOP_ZEROES macro is a bit bulky, and the same result
can be achieved by using a "standard" ffs() routine:
count = ffs(~v);
count = count == 0 ? 0 : 33 - count;
However the following timings (VR4300 CPU clock ticks on a CMA101
board) show the performance gain.
Number of ffs() for loop if/then/else conditional
leading ?:
zeroes
-------------------------------------------------------------------------------
0 167 179 266 251
1 1718 283 263 259
2 1670 379 287 295
3 1622 475 311 311
4 1574 571 295 287
5 1534 667 311 319
6 1478 763 307 299
7 1430 859 323 323
8 1382 962 287 295
9 1334 1051 319 311
10 1286 1154 299 307
11 1238 1250 323 331
12 1183 1346 299 307
13 1135 1442 331 323
14 1087 1546 311 319
15 1039 1642 335 343
16 991 1730 295 287
17 950 1834 311 319
18 895 1922 307 299
19 847 2026 331 323
20 799 2122 307 299
21 751 2218 323 323
22 703 2314 311 311
23 655 2417 343 335
24 599 2506 307 299
25 559 2602 331 331
26 511 2705 311 319
27 463 2801 343 335
28 407 2897 311 319
29 367 2993 343 335
30 311 3097 323 331
31 271 3185 355 355
32 215 3233 379 371
1996-09-07 12:45:19 +00:00
Martin Hunt
5e6c6406e6
Fri Sep 6 17:07:12 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
...
* config/tc-d10v.c (d10v_dot_word): New function to support
"@word" with the word pseudo-op.
(md_apply_fix3): Cleanup and changes to support correct sizes
for 16 and 18-bit relocs.
1996-09-07 00:12:56 +00:00
David Edelsohn
df4021c176
* configure.in (sparc-*-aout): Set `em'.
...
* configure: Regenerated.
* config/te-sparcaout.h: New file.
* config/tc-sparc.h (TARGET_BYTES_BIG_ENDIAN): Define.
Ifdef TE_SPARCOUT define TARGET_FORMAT and SPARC_BIENDIAN.
* config/tc-sparc.c (INSN_BIG_ENDIAN): New macro.
(SPECIAL_CASE_{SETSW,SETX}): Define.
({NOP,OR,FMOVS,SETHI,SLLX,SRA}_INSN): Define.
(md_begin): Delete setting of `target_big_endian'.
(output_insn): New function.
(md_assemble): Rewrite. Add `setx' support.
(sparc_ip): Handle `0' operand char. Recognize setuw, setsw, setx
special cases.
(md_atof): Add little endian support.
(md_number_to_chars): Likewise.
(md_apply_fix): Likewise.
(md_longopts): Recognize -EL,-EB ifdef SPARC_BIENDIAN.
(md_parse_option): Likewise.
(md_show_usage): Print -EL, -EB ifdef SPARC_BIENDIAN.
1996-09-06 23:05:12 +00:00
Ian Lance Taylor
cfc71c6d3a
* ecoff.c (ecoff_new_file): New function.
...
* ecoff.h (ecoff_new_file): Declare.
* config/obj-ecoff.h (obj_app_file): Define.
PR 10548.
1996-09-05 17:43:06 +00:00
Ian Lance Taylor
711254da6c
* config/tc-mips.c (load_register): Remove unused variable tmp.
1996-09-04 14:26:20 +00:00
Jackie Smith Cashion
1b68deb599
Wed Sep 4 11:24:29 1996 James G. Smith <jsmith@cygnus.co.uk>
...
* config/tc-mips.c (load_register): Remove unnecessary code that
was causing the high 32bits of 64bit constants to be lost.
Fixes PR10503. The compiler was producing the assembler code:
dli $3,0xfffffffffffff
when constructing the softfloat library. Unfortunately it was being
incorrectly assembled.
1996-09-04 13:15:28 +00:00
Jeff Law
05fd83edd4
* config/tc-v850.c: Remove commented out and #if 0'd code.
...
(v850_reloc_prefix): Provide prototype.
(postfix, get_reloc, build_insn): Remove prototypes for nonexistant
functions.
(md_begin, md_assemble, md_apply_fix3): Remove unused variables.
(md_assemble): Add default to case statement.
Minor cleanups.
1996-09-03 17:59:16 +00:00
Jeff Law
270fd2adc3
* config/tc-v850.c (md_assemble): Compute size of the instrction
...
from the opcode.
1996-08-31 22:04:08 +00:00