Commit graph

566 commits

Author SHA1 Message Date
Geoffrey Keating
e0c2164971 In src/gas/ChangeLog:
2000-08-30  Mark Hatle  <mhatle@mvista.com>

	* config/tc-ppc.c (md_parse_option): Recognize -m405.

In src/opcodes/ChangeLog:
2000-08-30  Mark Hatle  <mhatle@mvista.com>

	* ppc-opc.c Add XTLB macro for a few PPC 4xx extended mnemonics.
	(powerpc_opcodes): Add table entries for PPC 405 instructions.
	Changed rfci, icbt, mfdcr, dccci, mtdcr, iccci from PPC to PPC403
	instructions.
	Added extended mnemonic mftbl as defined in the 405GP manual
	for all PPCs.
2000-08-31 06:48:49 +00:00
Nick Clifton
1e8d20f4cc Correctly calculate the pc relative offset of the target destination for jmp
instructions.
2000-08-25 18:40:16 +00:00
Denis Chertykov
70a516efd4 * config/tc-avr.h (TC_IMPLICIT_LCOMM_ALIGNMENT): New macros.
Sets `.lcomm' alignment to zero.
2000-08-24 16:50:21 +00:00
Alexandre Oliva
4b853faa33 * config/tc-i386.h <OBJ_MAYBE_ELF, OBJ_MAYBE_COFF>
(TC_FIX_ADJUSTABLE): Define.
2000-08-23 21:12:48 +00:00
Jim Wilson
efcc591461 Fix unwind section bug found by linux kernel.
* config/tc-ia64.c (output_unw_records): Set U & E flags only if
	unwind.personality_routine is set.
2000-08-23 20:36:38 +00:00
Alexandre Oliva
a3da4de1ac * config/tc-i386.h (TC_FIX_ADJUSTABLE): Do *NOT* define if target
environment is pe.
2000-08-23 11:19:20 +00:00
H.J. Lu
56385375da 2000-08-22 H.J. Lu <hjl@gnu.org>
* config.in (STRICTCOFF): New for strict COFF.

	* configure.in: Define STRICTCOFF for i386-*-msdosdjgpp*,
	i386-*-go32* and i386-go32-rtems*.
	* configure: Rebuilt.

	* config/obj-coff.c (obj_coff_endef): Follow the historical
	behavior if STRICTCOFF is not defined.

	* doc/internals.texi: Document STRICTCOFF.
2000-08-22 19:14:32 +00:00
Alexandre Oliva
8f36cd18af * write.c (TC_FIX_ADJUSTABLE): Define to 1, if not defined.
(fixup_segment) Use it instead of TC_DONT_FIX_NON_ADJUSTABLE.
* config/tc-i386.h (TC_DONT_FIX_NON_ADJUSTABLE): Remove.
<OBJ_ELF, OBJ_COFF, TE_PE> (TC_FIX_ADJUSTABLE): Define.
* config/tc-arm.h (TC_DONT_FIX_NON_ADJUSTABLE): Remove.
<OBJ_ELF> (TC_FIX_ADJUSTABLE): Define.
* config/tc-i960.h, config/tc-m68k.h, config/tc-v850.h:
Likewise.
2000-08-22 04:52:40 +00:00
Eric Christopher
58a77e418b 2000-08-22 Eric Christopher <echristo@cygnus.com>
* config/tc-mn10300.c: (md_apply_fix): New function.
	(mn10300_force_relocation): New function.
	(mn10300_fix_adjustable): New function.

	* config/tc-mn10300.h: (TC_FORCE_RELOCATION): Define.
	(TC_HANDLES_FX_DONE): Define.
	(obj_fix_adjustable): Define.
	(MD_APPLY_FIX3): Define.
	(TC_LINKRELAX_FIXUP): Define.

	* write.c: (TC_LINKRELAX_FIXUP):  Define if not
	previously defined.
	(fixup_segment): Use TC_LINKRELAX_FIXUP.

	* doc/internals.texi: Document TC_LINKRELAX_FIXUP.
2000-08-22 01:20:41 +00:00
Jason Eckhardt
ded0649cd5 2000-08-21 Jason Eckhardt <jle@cygnus.com>
bfd:
	* elf32-i860.c (elf32_i860_relocate_pc16): Just write the immediate
	field with the newly relocated value instead of adding it to the
	existing immediate field.
	(elf32_i860_relocate_splitn): Likewise.
	(elf32_i860_relocate_highadj): Likewise.

gas:
	* config/tc-i860.c (md_apply_fix3): Do not insert the immediate
	if the fixup resulted in a relocation.
2000-08-21 23:26:19 +00:00
Nick Clifton
66102fe268 Replace as_tsktsk with as_warn.
Make reference to first element of shift_names explicit.
2000-08-18 19:27:30 +00:00
Alexandre Oliva
021986386e * write.c (fixup_segment) [TC_DONT_FIX_NON_ADJUSTABLE]: Use
obj_fix_adjustable() and tc_fix_adjustable() to tell whether to
add a symbol's address.  Removed all target-specific #ifdefs that
used to accomplished the same.
* config/tc-v850.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
* config/tc-m68k.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
* config/tc-arm.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
* config/tc-i960.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
* config/tc-i386.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
2000-08-18 18:45:05 +00:00
Nick Clifton
004af544ae Minor formatting changes 2000-08-17 23:57:52 +00:00
Nick Clifton
4fb7971f4b Allow illegal shifts by zero to be recorded as logical shift lefts by zero. 2000-08-17 23:46:43 +00:00
Jim Wilson
50b81f1903 Fix 3 DV bugs, and a few minor cleanups.
gas/
	* config/tc-ia64.c (specify_resource, case IA64_RS_GR): Handle
	postincrement modified registers.  Handle IA64_OPND_R3_2 addl
	source registers.
	(note_register_values): Handle IA64_OPND_R3_2 operands.
gas/testsuite/
	* gas/ia64/dv-raw-err.s: Add new tests for addl and postinc.
	* gas/ia64/dv-raw-err.l: Likewise.
	* gas/ia64/dv-waw-err.l: Update sed pattern.
	* gas/ia64/opc-f.pl: Delete fpsub, and fpadd comment.
	* gas/ia64/opc-f.s, gas/ia64/opc-f.d: Regenerate.
include/opcode/
	* ia64.h (IA64_OPCODE_POSTINC): New.
opcodes/
	* ia64-ic.tbl (pr-readers-nobr-nomovpr): Add addl, adds.  Delete
	break, mov-immediate, nop.
	* ia64-opc-f.c: Delete fpsub instructions.
	* ia64-opc-m.c: Add POSTINC to all instructions with postincrement
	address operand.  Rewrite using macros to avoid long lines.
	* ia64-opc.h (POSTINC): Define.
	* ia64-asmtab.c: Regenerate.
2000-08-16 23:20:15 +00:00
Jason Eckhardt
f869cfc65e 2000-08-16 Jason Eckhardt <jle@cygnus.com>
* config/tc-i860.c (md_operand): Silly typo fixed.
2000-08-16 21:34:45 +00:00
Nick Clifton
8cb8bcbabb Tidy up decoding of shift based addressing modes.
Add extra tests for these addressing modes
2000-08-16 19:02:00 +00:00
Jakub Jelinek
c2158c2433 * config/tc-sparc.c: Kill all warnings.
(md_parse_option): Set -32/-64 for -xarch=, allow all -A archs
	in -xarch= as well.
	(md_show_usage): Update usage text.
2000-08-16 17:52:37 +00:00
Nick Clifton
70485b5c18 Warn abouyt "bx pc" not being very useful. 2000-08-16 17:48:50 +00:00
Jeff Law
0d10e18267 * config/tc-sh.h (DWARF2_LINE_MIN_INSN_LENGTH): Defined.
* config/tc-sh.c (md_assemble): Changed so debug_type
	test performed for ppi_assemble
	* config/tc-sh.c: Included dwarf2dbg.h.
	(debug_line): Defined.
	(md_assemble): Generates dwarf2 line info.
	(sh_finalize): New function.  Finalize dwarf2 info.
	(assemble_ppi): Returns size of code generated.
	(build_Mytes): Returns size of code generated.
	(md_pseudo_table): Added "file" and "loc" psuedo ops.
	* config/tc-sh.h (md_end): Defined.
	(sh_finalize): Declared.
2000-08-15 20:47:19 +00:00
Alexandre Oliva
1db77c8ec9 * config/tc-sh.c (md_apply_fix) [BFD_RELOC_32, BFD_RELOC_16]: Use
md_number_to_chars.
2000-08-15 16:04:37 +00:00
Nick Clifton
046b3b54ee Allow "bx pc" in ARM mode. 2000-08-14 21:20:03 +00:00
Diego Novillo
fa2255cb6b * tc-i386.c (md_assemble): Skip suffix check if the opcode modifier
has the IgnoreSize bit set.
2000-08-14 21:12:47 +00:00
Jim Wilson
c43c2cc5fa Add support for IA-64 specific elf header flags.
bfd/
2000-08-14  Jim Wilson  <wilson@cygnus.com>
	* elf64-ia64.c (elf64_ia64_merge_private_bfd_data): Handle
	EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, and EF_IA_64_NOFUNCDESC_CONS_GP.
	(elf64_ia64_print_private_bfd_data): Likewise.  Also handle
	EF_IA_64_ABSOLUTE.
gas/
2000-08-14  Jim Wilson  <wilson@cygnus.com>
	* config/tc-ia64.c (md_longopts): Add -mconstant-gp and -mauto-pic.
	(md_parse_option):  Add OPTION_MCONSTANT_GP and OPTION_MAUTO_PIC.
	(md_begin): Change assignment to md.flag to OR in the new bit.
include/elf/
2000-08-14  Jim Wilson  <wilson@cygnus.com>
	* elf/ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP,
	EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define.
2000-08-14 20:13:39 +00:00
Nick Clifton
d1d8ba2284 Set the debug flag for storage types C_ARG, C_REGPARM, C_FIELD, C_MOS, C_MOE,
C_MOU, and C_EOS.
2000-08-14 19:41:40 +00:00
Jeff Law
c0bd0db285 * config/tc-mn10300.h (DWARF2_LINE_MIN_INSN_LENGTH): Define. 2000-08-14 17:49:55 +00:00
Kazu Hirata
351aa9f657 2000-08-11 Kazu Hirata <kazu@hxi.com>
* config/obj-bout.c: Fix formatting.
2000-08-11 18:28:04 +00:00
Jason Eckhardt
305d537e30 gas:
2000-08-08  Jason Eckhardt  <jle@cygnus.com>

	* config/tc-i860.h: Rework completely for BFD_ASSEMBLER.
	(i860_fix_info): New enum.
	(MD_APPLY_FIX3): Define.
	(WORKING_DOT_WORD): Define.
	(TC_HANDLES_FX_DONE): Define.
	(DIFF_EXPR_OK): Define.
	(LISTING_HEADER): Define.
	(TARGET_FORMAT): Select target format based on endian flag.
	(TARGET_BYTES_BIG_ENDIAN): Default to little endian.
	(target_big_endian): Add external declaration.

	* config/tc-i860.c: All existing code reworked completely. Other
	new code shown below.
	(SYNTAX_SVR4): Define.
	(target_warn_expand): New variable.
	(md_shortopts): Declare and define (-Qy, -Qn, and -V options).
	(md_longopts): Declare and define with new options (-EL, -EB,
	and -mwarn-expand).
	(md_show_usage): New function.
	(md_operand): New function.
	(obtain_reloc_for_imm16): New function.
	(md_apply_fix3): New function.
	(tc_gen_reloc): New function.

include:
2000-08-08  Jason Eckhardt  <jle@cygnus.com>

	* opcode/i860.h: Small formatting adjustments.

opcode:
2000-08-08  Jason Eckhardt  <jle@cygnus.com>

	* i860-dis.c (print_br_address): Change third argument from int
	to long.

bfd:
2000-08-08  Jason Eckhardt  <jle@cygnus.com>
	* elf32-i860.c (elf32_i860_howto_table): Updated some fields.
2000-08-09 03:33:42 +00:00
Nick Clifton
df86943d1e Make sure the 2 bytes of the jump address are in the same frag.
Accept 68hc12 register indirect modes.

Mention 68HC11 & 68HC12 support in NEWS.
2000-08-08 21:40:33 +00:00
Richard Henderson
30d2525955 * config/tc-ia64.c (unwind): Add prologue_mask member.
(dot_vframe): Elide psp_gr record if it overlaps prologue_gr.
        (dot_save): Likewise for pfs_gr, rp_gr, and preds_gr.
        (dot_body): Clear unwind.prologue_mask.
        (dot_prologue): Set it.  Accept a register second argument.
2000-08-07 21:50:08 +00:00
Kazu Hirata
2d484c7fa2 2000-08-05 Kazu Hirata <kazu@hxi.com>
* config/atof-ieee.c: Fix formatting.
	* config/atof-tahoe.c: Likewise.
2000-08-07 19:54:34 +00:00
Denis Chertykov
65b1d096bc * config/tc-avr.c: Use PARAMS macro in function declarations.
Don't declare md_pcrel_from_section (already in tc-avr.h).
	(avr_operands): Use AVR_UNDEF_P and AVR_SKIP_P macros.
	(avr_operand): Don't set (unsigned) op_mask to -1.
2000-08-06 14:03:58 +00:00
Nick Clifton
3d4ae3c0c6 Fix typo 2000-08-04 22:23:32 +00:00
Kazu Hirata
47926f603c 2000-08-05 Kazu Hirata <kazu@hxi.com>
* config/tc-cris.c: Fix formatting.
	* config/tc-i386.c: Likewise.
	* config/tc-sparc.c (sparc_ip): Simplify the code.
2000-08-04 18:43:45 +00:00
Kazu Hirata
ab3e48dc5d 2000-08-04 Kazu Hirata <kazu@hxi.com>
* config/tc-cris.c: Rearrange code for readability.
	* config/tc-d10v.c: Fix formatting.
	* config/tc-m32r.c: Likewise.
	* config/tc-sparc.c: Likewise.
2000-08-04 01:01:32 +00:00
Jim Wilson
3d56ab850c Fix memory leaks for IA-64 opcode idescs.
gas/
	* config/tc-ia64.c (emit_one_bundle): Call ia64_free_opcode
	before ia64_find_opcode.
	(md_assemble): Likewise.
opcodes/
	* ia64-dis.c (print_insn_ia64): Call ia64_free_opcode at end.
2000-08-02 21:24:54 +00:00
Nick Clifton
d78c7dcade Undo some formatting fixes 2000-08-02 01:00:15 +00:00
Nick Clifton
3f9dfb2cd9 Fix skip of 'cpsr_all' flag 2000-08-01 23:10:02 +00:00
Kazu Hirata
28e4f854cf 2000-08-01 Kazu Hirata <kazu@hxi.com>
* config/obj-som.c: Fix formatting.
	* config/obj-ieee.c: Likewise.
	* config/tc-arm.c: Likewise.
	* config/tc-v850.c: Likewise.
2000-08-01 19:02:49 +00:00
Nick Clifton
2fd5405afb Fix formatting. 2000-07-31 22:46:36 +00:00
Nick Clifton
28e7409f62 Add --pcrel option to m68k port 2000-07-31 22:08:14 +00:00
Jason Eckhardt
aa8c34c313 2000-07-28 Jason Eckhardt <jle@cygnus.com>
* configure.in: Add bits for i860-stardent-{sysv4, elf}*.
	* configure: Regenerated.
	* config/obj-elf.c (obj_elf_type): Recognize a fifth type
	of operand to the .type directive (.e.g, "type").
2000-07-29 03:20:54 +00:00
Alan Modra
4c400d5ea7 comment-finding hack for hppa-linux. 2000-07-28 05:05:20 +00:00
Andrew Cagney
0aa529cb6b Fix GCC warnings.
Abort if code falls off end of md_estimate_size_before_relax().
2000-07-28 03:33:32 +00:00
Nick Clifton
c6a7ab1f75 Fix formatting 2000-07-28 00:42:18 +00:00
Alan Modra
e0c6ed95b5 Kazu Hirata's formatting fixes. 2000-07-27 04:05:05 +00:00
DJ Delorie
39da812840 * config/obj-coff.c (obj_frob_symbol): Don't merge
labels. Don't merge if the symbol isn't constant. Return
immediately if a symbol is merged.
2000-07-24 17:50:35 +00:00
DJ Delorie
5e0d736c33 * config/obj-coff.c (obj_frob_symbol): revert previous change,
it breaks linking against DLLs.
2000-07-20 23:38:05 +00:00
Hans-Peter Nilsson
3bcbcc3dcf * configure.in: Add CRIS support.
* configure: Regenerate.
	* Makefile.am: (CPU_TYPES): Add cris.
	(CPU_OBJ_VALID) [aout]: Add cris.
	(MULTI_CPU_TYPES): Add cris.
	(MULTI_CPU_OBJ_VALID) [aout]: Add cris.
 	[coff]: Only i386 and mips are valid.
	(TARGET_CPU_CFILES): Add config/tc-cris.c.
	(TARGET_CPU_HFILES): Add config/tc-cris.h.
	(MULTI_CFILES): Add config/e-crisaout.c and config/e-criself.c.
	Regenerate dependencies.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* as.c: Declare crisaout, criself.
	* config/tc-cris.h, config/tc-cris.c: New.
	* config/e-criself.c, config/e-crisaout.c: New.
	* po/POTFILES.in, po/gas.pot: Regenerate.
2000-07-20 17:45:28 +00:00
Alan Modra
25a8b2508d #ifdef OBJ_SOM, not #ifdef SOM 2000-07-19 06:30:49 +00:00