Commit Graph

2864 Commits

Author SHA1 Message Date
Nick Clifton 8c8281f46f Add a symbol's value to the computed frag offset, rather than overwriting it. 2000-02-18 18:45:28 +00:00
Joern Rennecke d4845d5762 bfd:
Reinstate bits of sh4 support that got accidentally deleted.
Add sh-dsp support.

bfd:

	* archures.c (bfd_mach_sh2, bfd_mach_sh_dsp): New macros.
	(bfd_mach_sh3_dsp): Likewise.
	(bfd_mach_sh4): Reinstate.
	(bfd_default_scan): Recognize 7410, 7708, 7729 and 7750.
	* bfd-in2.h: Regenerate.
	* coff-sh.c (struct sh_opcode): flags is no longer short.
	(USESAS, USESAS_REG, USESR8, SETSAS, SETSAS_REG): New macros.
	(sh_opcode41, sh_opcode42): Integrate as sh_opcode41.
	(sh_opcode01, sh_opcode02, sh_opcode40): Add sh-dsp opcodes.
	(sh_opcode41, sh_opcode4, sh_opcode80): Likewise.
	(sh_opcodes): No longer const.
	(sh_dsp_opcodef0, sh_dsp_opcodef): New arrays.
	(sh_insn_uses_reg): Check for USESAS and USESR8.
	(sh_insn_sets_reg, sh_insns_conflict): Check for SETSAS.
	(_bfd_sh_align_load_span): Return early for SH4.
	Modify sh_opcodes lookup table for sh-dsp / sh3-dsp.
	Take into account that field b of a parallel processing insn
	could be mistaken for a separate insn.
	* cpu-sh.c (arch_info_struct): New array elements for
	sh2, sh-dsp and sh3-dsp.
	Reinstate element for sh4.
	(SH2_NEXT, SH_DSP_NEXT, SH3_DSP_NEXT): New macros.
	(SH4_NEXT): Reinstate.
	(SH3_NEXT, SH3E_NEXT): Adjust.
	* elf-bfd.h (_sh_elf_set_mach_from_flags): Declare.
	* elf32-sh.c (sh_elf_set_private_flags): New function.
	(sh_elf_copy_private_data, sh_elf_set_mach_from_flags): Likewise.
	(sh_elf_merge_private_data): New function.
	(elf_backend_object_p, bfd_elf32_bfd_set_private_bfd_flags): Define.
	(bfd_elf32_bfd_copy_private_bfd_data): Define.
	(bfd_elf32_bfd_merge_private_bfd_data): Change to
	sh_elf_merge_private_data.

gas:

	* config/tc-sh.c ("elf/sh.h"): Include.
	(sh_dsp, valid_arch, reg_x, reg_y, reg_efg): New static variables.
	(md.begin): Initialize target_arch.
	Only include opcodes in has table that match selected architecture.
	(parse_reg): Recognize register names for sh-dsp.
	(parse_at): Recognize post-modify addressing.
	(get_operands): The leading space is now optional.
	(get_specific): Remove FDREG_N support.  Add support for sh-dsp
	arguments.  Update valid_arch.
	(build_Mytes): Add support for SDT_REG_N.
	(find_cooked_opcode): New function, broken out of md_assemble.
	(assemble_ppi, sh_elf_final_processing): New functions.
	(md_assemble): Use find_cooked_opcode and assemble_ppi.
	(md_longopts, md_parse_option): New option: -dsp.
	* config/tc-sh.h (elf_tc_final_processing): Define.
	(sh_elf_final_processing): Declare.

include/elf:

	* sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros.
	(EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise.
	(EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise.

opcodes:

	* sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions.
	(print_insn_ppi): Likewise.
	(print_insn_shx): Use info->mach to select appropriate insn set.
	Add support for sh-dsp.  Remove FD_REG_N support.
	* sh-opc.h (sh_nibble_type): Add new values for sh-dsp support.
	(sh_arg_type): Likewise.  Remove FD_REG_N.
	(sh_dsp_reg_nums): New enum.
	(arch_sh1, arch_sh2, arch_sh3, arch_sh3e, arch_sh4): New macros.
	(arch_sh_dsp, arch_sh3_dsp, arch_sh1_up, arch_sh2_up): Likewise.
	(arch_sh3_up, arch_sh3e_up, arch_sh4_up, arch_sh_dsp_up): Likewise.
	(arch_sh3_dsp_up): Likewise.
	(sh_opcode_info): New field: arch.
	(sh_table): Split up insn with FD_REG_N into ones with F_REG_N and
	D_REG_N.  Fill in arch field.  Add sh-dsp insns.
2000-02-17 00:33:36 +00:00
Jeff Law c97305a1da * config/tc-hppa.c (pa_build_unwind_subspace): Use subseg_new to create
the unwinder subspace.  Save the current seg/subseg before creating
        the new seg/subseg.
2000-02-11 21:27:41 +00:00
Nick Clifton bec504668f Add support for M340 2000-02-10 21:31:13 +00:00
Timothy Wall bea9907b2a octets vs bytes changes for GAS 2000-02-03 18:20:23 +00:00
Nick Clifton 557537a556 Add ATPCS register naming support 2000-01-31 22:14:50 +00:00
Geoffrey Keating 2c1c4c6219 * config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Don't define if
already defined.
* config/tc-ppc.h [OBJ_XCOFF] (OBJ_COPY_SYMBOL_ATTRIBUTES):
New macro.
* config/tc-ppc.c (ppc_fix_adjustable): Don't look at the frag
of a symbol when we really care about its value.
2000-01-31 19:13:47 +00:00
Nick Clifton 2d473ce9c0 Cathc unwanted text after instructions 2000-01-31 18:24:43 +00:00
Nick Clifton 2f0ca46a49 Apply Thoams de Lellis's patch to fic disassembly of Thumb instructions when
bounded by non-function labels.
2000-01-27 20:05:32 +00:00
Alan Modra fa3061313c Make copyright date lists comply with GNU requirement 2000-01-26 23:58:13 +00:00
Alan Modra 4c63da97a7 This set of patches add support for aout emulation on the x86
assembler.  ie. You will be able to do "as --em=i386aout" on an x86
linux-elf assembler to generate aout format object files, rather than
using a separate assembler.  The aout emulation is enabled by giving
"--enable-targets=i386-linuxaout" to configure.
Oh yeah, there's a couple of fixes too.  Error messages shouldn't be
passed to printf in the format arg just in case someone puts a `%' in
the message.
2000-01-26 22:48:31 +00:00
Alan Modra add0c67765 Cosmetic changes to tc-i386.[ch] + extend x86 gas testsuite jmp and
call tests + tweak intel mode far call and jmp.
2000-01-15 12:06:03 +00:00
Clinton Popetz a19d8eb03e 2000-01-13 Clinton Popetz <cpopetz@cygnus.com>
* config/tc-mips.c (mips_do_align): New function.
        * config/tc-mips.h (md_do_align): Define.
2000-01-14 17:58:29 +00:00
Nick Clifton 2e13b76485 ELF visibility patch from Martin Loewis 2000-01-03 18:34:24 +00:00
Alan Modra 3138f287b1 x86 indirect jump/call syntax fixes. Disassembly fix for lcall. 1999-12-27 16:10:31 +00:00
Nick Clifton 858f4ff6ff fix formatting 1999-12-22 19:54:41 +00:00
Nick Clifton df32bc61b0 Apply patch from Philip Blundell to allow .previous to work for arm-elf 1999-12-22 19:44:15 +00:00
Nick Clifton b4d0b2b3ab Add support for -marm720 command line switch 1999-12-14 19:40:59 +00:00
Jeff Law 85cb2cf971 * config/tc-mn10300.c (md_pseudo_table): Add ".am33" pseudo-op.
(r_registers, xr_registers): Define.
        (r_register_name, xr_register_name): New functions.
        (md_assemble): Handle new am33 operand types and instruction
        formats.
        (mn10300_insert_operand, check_operand): Likewise.
1999-12-01 10:40:07 +00:00
Nick Clifton a64bcdd8d3 Fix .force_thumb 1999-11-29 15:29:34 +00:00
Michael Meissner 43b4c25efc Add support for !literal and !lituse_base 1999-11-29 00:46:16 +00:00
Jeff Law afbf211f5a * config/tc-hppa.c (pa_ip): Handle PA2.0 unit completers. Handle
'B' operand for PA2.0 bb instruction.
1999-11-25 03:27:35 +00:00
Nick Clifton f11900d058 Fix generation of RVA relocs 1999-11-18 18:38:18 +00:00
Alan Modra 2daf4fd896 * config/tc-i386.c (i386_immediate): Disallow O_big immediates.
(i386_displacement): Disallow O_big displacements.
1999-11-16 12:27:25 +00:00
Donald Lindsay 92a66162a2 tc-arm.c: minor changes and support for upcoming V5E variant. 1999-11-16 04:15:55 +00:00
Richard Henderson 98007ce7b0 * config/tc-alpha.c (alpha_align): Check, don't assert, that
the previous label was in the current section before playing
        with auto-alignment.
1999-11-08 00:44:52 +00:00
Nick Clifton d6c497c760 Do not attempt to fixup relocs relative to weak symbols 1999-11-06 14:05:24 +00:00
Ian Lance Taylor 5f91fe03ba * config/obj-elf.c (obj_elf_ident): Call md_flush_pending_output
if it is defined.

	* config/obj-elf.c (elf_set_index): Add ATTRIBUTE_UNUSED.

	* config/obj-elf.c (elf_frob_file_after_relocs): Don't pass NULL
	to bfd_set_section_contents.
1999-11-03 22:13:33 +00:00
Nick Clifton 829ce3071e Change the default endianness to little. 1999-11-03 18:19:22 +00:00
Gavin Romig-Koch 2bd7f1f332 For include/opcode:
* mips.h (OPCODE_IS_MEMBER): New.

For gas:

	* config/tc-mips.c (macro_build): Use OPCODE_IS_MEMBER.
	(mips_ip): Use OPCODE_IS_MEMBER.

For opcodes:

	* mips-dis.c (_print_insn_mips): Use OPCODE_IS_MEMBER.
1999-11-01 19:29:55 +00:00
Jeff Law acb5662391 * config/tc-arm.c (reg_required_here): Improve comments. 1999-10-28 03:03:53 +00:00
Jeff Law b49cfa5dae * config/tc-arm.c (thumb_opcode): Add "variants" field.
(tinsns): Initialize variants field.
1999-10-28 02:53:42 +00:00
Jeff Law 90ca882f04 * tc-arm.c (bad_args, bad_pc): Renamed to BAD_ARGS and BAD_PC
respectively.
1999-10-27 22:52:35 +00:00
Nick Clifton 29c4c6b539 fix compile time warnings 1999-10-27 18:13:28 +00:00
Nick Clifton 4c1102fd19 revert part of previous delta which had accidentally snarfed some experimental
code.
1999-10-25 16:48:26 +00:00
Nick Clifton 452a37f009 revert previous delta 1999-10-25 16:30:37 +00:00
Nick Clifton 9cac79d30b Apply patch supplied for case 102229 to implement new insns psrclr and psrset. 1999-10-25 15:28:44 +00:00
Diego Novillo d9fd985254 * tc_d10v.c (find_opcode): Allow ATSIGN to match expressions of the
form @abs16, @(abs16) and @(abs16 + imm).
1999-10-21 13:49:38 +00:00
Gavin Romig-Koch 9ce8a5dd8e * config/tc-mips.c (ISA_HAS_COPROC_DELAYS) : New.
(ISA_HAS_64_BIT_REGS) New.
	(gpr_interlocks,md_begin,reg_needs_delay,append_insn,
	mips_emit_delays,macro_build,load_register,load_addresss,
	macro,macro2,mips_ip,s_cprestore,s_cpadd): Simplify
	and/or use new ISA_xxx macros in expressions involving
	ISA, particularly mips_opts.isa.
1999-10-21 13:23:31 +00:00
Michael Meissner 446a06c9b8 Add md expression support; Cleanup alpha warnings 1999-10-18 22:29:15 +00:00
Jeff Law 476cdcb88f * config/tc-hppa.c (md_apply_fix): Make "fmt" an int. 1999-10-17 23:19:13 +00:00
Alan Modra c388dee89b Nit fix. 1999-10-12 11:07:34 +00:00
Jeff Law d53d27516f * config/tc-hppa.c (pa_ip): Add new codes 'cc', 'cd', 'cC', 'co',
'@'.  Change autoincrement completers to fall through to cache control
        completers.

        * config/tc-hppa.c (pa_ip):  Remove unused args.  Add code to '?W'
        arg.
        (pa_parse_addb_64_cmpltr):  New function.

        * config/tc-hppa.c (pa_ip):  Change error message.
        (pa_ip,pa_parse_cmpb_64_cmpltr,pa_parse_cmpib_64_cmpltr)  Fix '?N' and
        '?Q' args to allow falling through.

        * config/tc-hppa.c (pa_ip):  Implement conditional codes "?N", "?Q".
        Remove unused conditional codes.
        (pa_parse_cmpb_64_cmpltr,pa_parse_cmpib_64_cmpltr):  New.
1999-10-10 07:57:30 +00:00
Diego Novillo ba09cd8d98 * config/tc-d30v.c (CHAR_BIT): Define.
(check_range): Fix bit operations to support integers
	bigger than 32 bits.
1999-10-07 06:26:25 +00:00
Diego Novillo c43185deeb Added seven new instructions ld, ld2w, sac, sachi, slae, st and
st2w for d10v. Created new testsuite for d10v to verify new
instructions.
1999-10-07 06:17:04 +00:00
Doug Evans 925c058e93 Add support for m32rx.
* config/tc-m32r.c (enable_m32rx): New static global.
	(enable_special,warn_explicit_parallel_conflicts,optimize): Ditto.
	(allow_m32rx): New function.
	(M32R_SHORTOPTS): Add `O'.
	(md_longopts): Add --m32rx plus several warning options.
	(md_parse_option): Handle new options.
	(md_show_usage): Print them.
	(md_begin): Enable m32rx.
	(OPERAND_IS_COND_BIT): New macro.
	(first_writes_to_seconds_operands): New function.
	(writes_to_pc,can_make_parallel,make_parallel): New functions.
	(target_make_parallel,assemble_two_insns): New functions.
	(md_assemble): Recognize "insn1 -> insn2" and "insn1 || insn2".
	If optimizing and m32rx, try to make consecutive insns parallel.
1999-10-05 00:37:17 +00:00
Geoffrey Keating fba2b7f93e * config/tc-mips.c (nopic_need_relax): Allow for the
.sdata.foo sections generated by -fdata-sections,
and for the .gnu.linkonce.s sections generated by C++.
1999-09-28 04:13:25 +00:00
Jeff Law d3426803c5 Remove accidental case duplication. 1999-09-23 16:09:23 +00:00
Jeff Law ce674324e1 * config/tc-hppa.c (pa_ip): Replace 'B', 'M', 'l' and 'g' handling
with cleaner code using completer prefixes.   Add 'Y'.
1999-09-23 14:30:31 +00:00
Jeff Law fd232ac8d5 * config/tc-hppa.c (pa_ip): Add parens to silence compiler. 1999-09-23 13:15:29 +00:00
Jeff Law b1039fc41e * config/tc-hppa.c (pa_ip): Avoid ANSI specific initialization.
(pa_ip, case 'm'): Failure to get a CBIT specifier just means the
        insn does not match and we should try the next insn in the table.
1999-09-22 15:43:26 +00:00
Nick Clifton 913f265c25 Rename MULTI_SET_PSR to LDM_TYPE_2_OR_3 1999-09-22 09:05:32 +00:00
Jeff Law 54af6ff675 * config/tc-hppa.c (pa_ip): Fix thinkos in recent cleanup
of PA2.0 support.
1999-09-20 10:06:05 +00:00
Ian Lance Taylor 4cc782b591 1999-09-19 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* config/tc-i386.c (md_shortopts): Check OBJ_MAYBE_ELF as well as
	OBJ_ELF.  If ELF, add "sq".
	(md_parse_option): If ELF, ignore -s and -q.
	(md_show_usage): Mention ELF options.
1999-09-19 23:03:56 +00:00
Jeff Law 65fab780c5 * config/tc-hppa.c (pa_ip): Handle 'J', 'K' and 'cc'
operands.
1999-09-19 20:07:01 +00:00
Jeff Law 71823da428 * config/tc-hppa.c (pa_ip); Handle "fe", and 'cJ'. 1999-09-19 19:46:52 +00:00
Jeff Law 61dd1d313e * config/tc-hppa.c (pa_ip): Handle 'd', '#' and 'cq'. 1999-09-19 19:23:08 +00:00
Jeff Law 1cf6ae6758 * config/tc-hppa.c (struct pa_it): New field "trunc".
(pa_ip): Hadnle 'h', 'm', '=', '{', and '_' operands.
        (pa_parse_ftest_gfx_completer): New function
        (pa_parse_fp_cnv_format): New function.
1999-09-19 18:47:37 +00:00
Jeff Law 77c02e18c1 * config/tc-hppa.c (pa_ip): Handle 'X' operand.
(md_apply_fix): Handle 22bit pc-rel branches.
1999-09-19 18:13:50 +00:00
Jeff Law 629d9417e1 * config/tc-hppa.c (pa_ip): Handle 'B' operand. 1999-09-19 17:38:09 +00:00
Jeff Law dbe2f9eec8 * config/tc-hppa.c (pa_ip): Handle 'L' and 'M' operands. 1999-09-19 17:09:23 +00:00
Jeff Law 3db6e6bd57 * config/tc-hppa.c (pa_ip): Handle 'l' operand. 1999-09-19 16:58:33 +00:00
Jeff Law 6be783603d * config/tc-hppa.c (pa_ip): Handle 'g' operand. 1999-09-19 16:45:20 +00:00
Jeff Law e061d86ffd * config/tc-hppa.c (md_assemble): Fix dwarf2 line handling.
(pa_ip): Handle 'fX'.
1999-09-18 18:16:21 +00:00
Jeff Law f1a1312b73 Really fix the typo. 1999-09-18 13:41:01 +00:00
Jeff Law 9d957cd576 Fix typo in last change. 1999-09-18 13:26:46 +00:00
Jeff Law 7acbfc6b56 * config/tc-hppa.c (pa_build_unwind_subspace): Do not build
unwinds unless the function is in the text space.
        (pa_type_args): Set BSF_FUNCTION for an exproted data symbol.
1999-09-17 18:00:50 +00:00
Jeff Law b52c78b8a6 * config/tc-hppa.c (pa_ip): Move dwarf2 stuff from here.
(md_assemble): To here.  Tweak address generation.
1999-09-15 13:19:32 +00:00
Jeff Law 2d93dcc450 * config/tc-hppa.c: Include dwarf2dbg.h if OBJ_ELF. Declare
debug_line.
        (md_pseudo_table): Add .file and .line pseudo-ops for OBJ_ELF.
        (md_assemble): Call dwarf2_where for OBJ_ELF.
        (pa_ip): Call dwarf2_gen_line_info for OBJ_ELF.
        (pa_end_of_source): New function.
        * tc-hppa.h (md_end): Define for OBJ_ELF.
1999-09-15 11:17:54 +00:00
Ian Lance Taylor 41fd319a45 1999-09-14 Donn Terry <donn@interix.com>
* config/te-interix.h (GLOBAL_OFFSET_TABLE_NAME): Define.
1999-09-14 15:38:32 +00:00
Alan Modra 2f66722d55 Hackery to handle ix86 "jmp constant" as a pc-relative jump to the given
absolute address.
1999-09-13 06:45:15 +00:00
Alan Modra a217f122fa Tidy jump handling code and comments. 1999-09-13 03:44:49 +00:00
Ian Lance Taylor d33e1d248c 1999-09-11 Donn Terry <donn@interix.com>
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
	BFD_RELOC_RVA relocations.
1999-09-12 05:09:50 +00:00
Ian Lance Taylor c0c949c786 * config/tc-i386.c (md_apply_fix3): Add horrible adjustments to
the value if TE_PE and a global defined symbol.
1999-09-12 05:06:09 +00:00
Ian Lance Taylor 18dc2407f4 1999-09-11 Donn Terry <donn@interix.com>
* config/tc-i386.c (md_undefined_symbol): Compare the name against
	the macro GLOBAL_OFFSET_TABLE_NAME, rather than assuming that it
	starts with "_G".
1999-09-12 03:50:42 +00:00
Ian Lance Taylor 945a1a6b98 * write.c (write_relocs): Call SET_SECTION_RELOCS if it is
defined.
	* config/obj-coff.h (SET_SECTION_RELOCS): Define.
	* doc/internals.texi (Object format backend): Document
	SET_SECTION_RELOCS.
1999-09-12 03:44:42 +00:00
Ian Lance Taylor 12951dca76 fix copyright 1999-09-12 03:34:29 +00:00
Ian Lance Taylor 79d292aaa2 1999-09-11 Donn Terry <donn@interix.com>
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
	relocations against global symbols if TE_PE.
1999-09-12 03:18:54 +00:00
Ian Lance Taylor 7a6284c477 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_ident): Add BFD_ASSEMBLER version.
	(obj_pseudo_table): Always handle ".ident" with obj-coff_ident.
1999-09-12 03:07:49 +00:00
Ian Lance Taylor 8828d86202 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (coff_frob_symbol): Prohibit weak common
	symbols.
1999-09-12 02:59:54 +00:00
Ian Lance Taylor 9690c54dda 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_endef): Don't merge labels, or
	symbols which do not have a constant value, or tags with
	non-tags.  Remove the symbol from the list before adding it at the
	end.
1999-09-12 02:55:58 +00:00
Ian Lance Taylor 23dab925ad 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_endef) [BFD_ASSEMBLER]: Handle .ef
	C_FCN symbol differently if TE_PE.
	(obj_coff_line) [BFD_ASSEMBLER]: Always use the line number which
	appears in the pseudo-op, rather coff_line_base which is only set
	for a .bf symbol.
1999-09-12 02:49:28 +00:00
Ian Lance Taylor 28428223eb 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_loc): New static function.
	(obj_pseudo_table): Add "loc".
1999-09-12 02:39:52 +00:00
Ian Lance Taylor e8a3ab752d 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (add_lineno): Check that the line number is
	positive.
1999-09-12 02:34:00 +00:00
Ian Lance Taylor 0561a208f8 1999-09-11 Donn Terry <donn@interix.com>
* expr.c (expr): Change first parameter to int.
	* config/obj-coff.c: Add declarations for static functions.
	(coff_frob_symbol): Use SYM_AUXENT.
	* config/tc-i386.h (flag_16bit_code): Don't declare.
1999-09-12 02:27:58 +00:00
Ian Lance Taylor 0723899b7e comment change 1999-09-12 02:27:31 +00:00
Ian Lance Taylor 2ab9b79ef9 1999-09-11 Donn Terry <donn@interix.com>
* config/atof-ieee.c (atof_ieee): Change what_kind to int.
	* config/atof-vax.c (flonum_gen2vax): Change format_letter to
	int.
	(md_atof): Return NULL rather than 0.
	* config/tc-i386.c (md_atof): Change type to int.
1999-09-12 02:12:38 +00:00
Ian Lance Taylor 5881e4aab3 1999-09-11 Donn Terry <donn@interix.com>
* config/obj-coff.c (obj_coff_section): Default to setting
	SEC_LOAD.  Don't set SEC_DATA for 'w' modifier.
1999-09-12 02:08:55 +00:00
Nick Clifton 325188ecac Only support interworking and pic for ELF or COFF targets 1999-09-08 13:10:28 +00:00
Jeff Law 4964086a66 * config/tc-hppa.c (pa_ip): Support 'Z' argument. 1999-09-07 19:48:13 +00:00
Jeff Law e7c1f43c29 * config/tc-hppa.c (pa_ip): Put strict register checks before
call to pa_parse_number.
1999-09-07 19:30:14 +00:00
Ian Lance Taylor c4bf532f53 * config/obj-coff.c: Add ATTRIBUTE_UNUSED as needed for
BFD_ASSEMBLER code.
1999-09-07 03:26:58 +00:00
Jeff Law 0f4f8b56e7 * config/tc-hppa.c (pa_ip): Get strict/non-strict mode from the
candidate instruction.  Require registers for register arguments
        when in strict mode.  Require assemble-time constants for
        constants when in strict mode.
        (pa_get_absolute_expression): Require a constant when in strict
        mode.
1999-09-06 10:28:21 +00:00
Nick Clifton d33886536c Fix value for -Wnuh command line option 1999-09-06 10:24:19 +00:00
Ian Lance Taylor 041dd5a9f4 1999-09-04 Steve Chamberlain <sac@pobox.com>
* config/tc-pj.c: New file, supports picoJava in ELF.
	* config/tc-pj.h: Ditto.
	* configure.in (pjl*, pj*): New targets.
	* Makefile.am: Rebuild dependencies.
	(CPU_TYPES): Add pj.
	(TARGET_CPU_CFILES): Add config/tc-pj.c.
	(TARGET_CPU_HFILES): Add config/tc-pj.h.
	* doc/c-pj.texi: New file.
	* doc/as.texinfo: Add some PJ specifics.
	* doc/all.texi: Add PJ to the list of all architectures, sort them
	all alphabetically.
	* doc/Makefile.in (CPU_DOCS): Add c-pj.texi.
	* configure, Makefile.in, doc/Makefile.in: Rebuild.
1999-09-04 17:29:22 +00:00
Alan Modra 4ca72d3829 Enable --emulation={i386coff,i386elf} for i386 gas. 1999-09-02 15:12:01 +00:00
Nick Clifton bcef92fa23 Do not dump literal pool when a .section .line directive is encountered. 1999-09-02 10:39:18 +00:00
Nick Clifton 231b5e2936 slight code improvement over previous delta 1999-09-01 15:32:46 +00:00
Nick Clifton 5856c19ac4 Do not align sectins when producing ELF format objects. 1999-09-01 10:57:19 +00:00
Ian Lance Taylor d7f1f2b0be fix FSF address 1999-08-31 15:12:20 +00:00
Alan Modra af6bdddf8c i386 gas code cleanups: combine i386_is_reg and parse_register. 1999-08-30 13:12:54 +00:00
Alan Modra 5f47d35be1 Allow spaces in i386 FP reg names, eg. %st ( 1 ). 1999-08-29 23:44:27 +00:00
Doug Evans 1174497c8a * config/tc-m32r.c (md_parse_option): Delete unrecognized option
error message (done elsewhere).
1999-08-29 20:45:22 +00:00
Jeff Law 97e1581b3f * config/tc-hppa.c (pa_ip): Replace 'f' by 'v'. Prefix float register
args by 'f'.
1999-08-29 07:52:32 +00:00
Jeff Law 9e4f2d3a85 * config/tc-hppa.c (pa_ip): Add args q, %, and |. 1999-08-28 10:59:37 +00:00
Jeff Law 680ef6de90 * config/tc-hppa.c (pa_ip): Absorb white space in instructions
between args.
        Add new completers.  Fix bug in 64 bit condition handling.
1999-08-28 10:18:12 +00:00
Jeff Law 413c94baca * config/tc-hppa.c (pa_ip): Add completer codes 'a', 'ch', 'cH',
'cS', and 'c*'.
1999-08-28 08:48:40 +00:00
Jeff Law 28252e6156 * config/tc-hppa.c (pa_ip): Place completers behind prefix 'c'. 1999-08-28 08:16:30 +00:00
Jeff Law 17d9105c0a * config/tc-hppa.c (pa_ip): Do not allow '*' in 32bit completers. 1999-08-28 07:23:42 +00:00
Jeff Law a97685e901 * config/tc-hppa.c (pa_ip): Add cases for '.', '~'. '$'. and '!' 1999-08-28 06:42:06 +00:00
Jeff Law 9ecc05f0de * config/tc-hppa.c (pa_ip): Add case for 'I'. 1999-08-28 06:28:21 +00:00
Alan Modra b23bac3600 *gas/config/tc-i386.c: Fix errors in displacement size when
automatically inferring an address prefex.
1999-08-20 11:59:19 +00:00
Nick Clifton 50f4163fd6 If an offset is invalid, display it. 1999-08-18 09:12:11 +00:00
Ian Lance Taylor f589a541dc * config/tc-ppc.c (md_assemble): Trim @ha constant to 16 bits, to
handle 0xffffNNNN constants correctly.
1999-08-17 18:26:49 +00:00
Nick Clifton 114502711b Look for register conflicts on stores as well as loads. 1999-08-16 17:47:29 +00:00
Nick Clifton 276b1dc2a2 Only pass positive values to validate_offset_imm() 1999-08-13 08:38:20 +00:00
Nick Clifton ae5ad4adf9 Tidy up formatting.
Fix Thubm weak function support.
1999-08-12 10:32:42 +00:00
Alan Modra bf6d389561 config/tc-i386.c: Remove dead code 1999-08-11 14:10:07 +00:00
Jeff Law b100be6695 * config/tc-hppa.c (pa_build_unwind_subspace): Use sane section
flags for the unwind subspace.
1999-08-11 09:41:28 +00:00
Jeff Law 9100134ca0 Fix typos in last change. 1999-08-10 19:09:43 +00:00
Jeff Law 46031ca9e4 * config/tc-hppa.c (UNWIND_SECTION_NAME): Define for ELF.
(pa_build_unwind_subspace): Remove #if 0 wrapper.  Select a
        suitable relocation based on the size of the target's pointer.
        Always Use subsegment zero for the unwinders.
        (pa_level): Handle "2.0w".
1999-08-10 19:02:30 +00:00
Joern Rennecke 0825afba5d * config/tc-d30v.c (write_2_short): Don't group repeat instructions
with the following instruction unless this was specified.
1999-08-09 19:04:27 +00:00
Ian Lance Taylor 1a1ae23e52 * config/tc-i386.h (SUB_SEGMENT_ALIGN): If TE_GO32, return 4 for
certain sections, to match BFD changes.
1999-08-09 04:42:15 +00:00
Richard Henderson 1eb7027ca2 * config/tc-sparc.c (sparc_ip): Allow assembly of %lo()+%reg. 1999-08-08 17:27:23 +00:00
Ian Lance Taylor 2dcc60be2b * doc/as.texinfo (Section): Document 's' flag for COFF version.
1999-08-08  Mumit Khan  <khan@xraylith.wisc.edu>

	* config/obj-coff.c (obj_coff_section): Handle 's' (shared)
	section flag.
1999-08-08 16:53:30 +00:00
Ian Lance Taylor 153b546a7a comment additions 1999-08-08 16:04:36 +00:00
Jeff Law 0741736bf6 * config/tc-hppa.c (pa_ip, case '?'): Add missing break. 1999-08-06 18:13:31 +00:00
Jeff Law 9a913dfbfb * config/tc-hppa.c (pa_ip): Add 64 bit condition completers. 1999-08-06 15:48:42 +00:00
Ian Lance Taylor a1f2d7424f 1999-08-06 Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.h (tc_fix_adjustable): Fix check for PIC local
	non-adjustable symbols.
1999-08-06 14:02:34 +00:00
Jeff Law 55a914bc48 * config/tc-hppa.c (pa_ip): Change condition args to have '?' prefix. 1999-08-05 22:56:06 +00:00
Joern Rennecke 5fc44b2d43 * config/tc-sh.c (md_assemble): Call as_bad when there are excess
operands.
1999-08-05 22:09:04 +00:00
Ian Lance Taylor 9750fcc502 1999-08-05 Donn Terry <donn@interix.com>
* config/te-interix.h: New file.
	* configure.in (i386-*-interix*): New target.
	* configure: Rebuild.
1999-08-05 15:41:31 +00:00
Jeff Law 39ba556164 * config/tc-hppa.c (pa_chk_field_selector): Allow 3 byte
selectors for ELF too.
        (selector_table): Add "ltp" and "rtp" selectors.
1999-08-05 00:09:42 +00:00
Alan Modra eecb386cd7 Support for gcc to generate 16-bit i386 code. (.code16gcc) 1999-08-04 10:07:41 +00:00
Ian Lance Taylor a04b544b56 * config/obj-coff.c (coff_frob_symbol): Always update set_end with
next_set_end even if the end symbol is being discarded.

	* gasp.c: Add ATTRIBUTE_UNUSED as needed for non-BFD_ASSEMBLER.
	* output-file.c, symbols.c, config/tc-i386.c: Likewise.
	* config/obj-coff.c: Likewise.
	(seg_info_type): Remove.
	(seg_info_off_by_4): Change to array of segT.
	(s_get_segment): Adjust accordingly.
	(obj_pseudo_table): Fully initialize sentinel entry.
1999-08-03 15:29:04 +00:00
Ian Lance Taylor f173e82ec8 * config/tc-mips.c (append_insn): Correct INSN_SYNC test. From
Ralf Baechle <ralf@uni-koblenz.de>.
1999-08-03 15:22:38 +00:00
Alan Modra 24eab124bd Rationalize some of the i386 intel mode code.
Indentation and white space changes.
1999-08-03 14:30:05 +00:00
Alan Modra c3332e24e8 * config/tc-i386.c: Add INFER_ADDR_PREFIX code. Fix 16 bit mode nop. 1999-08-03 05:47:26 +00:00
Richard Henderson 6d8809aa62 Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (md_longopts): Add --no-undeclared-regs option.
        (sparc_ip): Warn if %g2 or %g3 register is used and not covered
        by .register pseudo-op if -64 and --no-undeclared-regs.
        (s_register, sparc_adjust_symtab): New functions.
        * config/tc-sparc.h (tc_adjust_symtab, sparc_adjust_symtab):
        Declare sparc_adjust_symtab as tc_adjust_symtab.
        * doc/c-sparc.texi: Add description of #ignore special literal
        for .register pseudo-op.
1999-07-30 21:39:53 +00:00
Catherine Moore c8d259f7df Fix up vtable entry relocs 1999-07-30 15:08:39 +00:00
Alan Modra b77ad1d4c9 Fix an overflow checking bug uncovered when a 32 bit target is compiled
with a 64 bit bfd.
1999-07-28 23:19:26 +00:00
Jeff Law b53fcc20b1 * config/tc-hppa.c (pa_ip): Add 'J' and 'K' code
processing.
1999-07-28 08:07:14 +00:00
Ian Lance Taylor d2e71411fe * config/tc-sparc.h (tc_fix_adjustable): Don't adjust GOT, PLT, or
VTABLE relocations.
1999-07-27 19:26:39 +00:00
Ian Lance Taylor e9f56b1d20 1999-07-21 Mark Elbrecht <snowball3@bigfoot.com>
* config/te-go32.h (COFF_LONG_SECTION_NAMES): Define.
1999-07-22 01:41:00 +00:00
Ian Lance Taylor 1a39f480d3 From Mark Elbrecht:
* configure.bat: Remove; obsolete.
	* config/go32.cfg: Likewise.
1999-07-22 00:59:07 +00:00
Richard Henderson dabe3bbc57 Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (sparc_ip): Allow OLO10 relocations
        on -64 and not pic.
        (output_insn): Put OLO10's secondary addend into tc_fix_data.
        (md_apply_fix3): Handle BFD_RELOC_SPARC_OLO10.
        (tc_gen_reloc): Return two relocs for OLO10, LO10 and SPARC13.
        * config/tc-sparc.h (RELOC_EXPANSION_POSSIBLE,
        MAX_RELOC_EXPANSION): Define.
        (TC_FIX_TYPE, TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT): Likewise.
1999-07-16 21:30:35 +00:00
Alan Modra b4cac588ae * gas/config/tc-i386.c: Fix for immediates and displacements in 16-bit
mode when no insn suffix present, eg. push $0x12345678.  Fix some
compiler warnings.  Disallow immediate jump absolute.
1999-07-16 11:09:15 +00:00
Jeff Law 077db52a1e d
* config/tc-hppa.c (md_pseudo_table): Add ".dword" pseudo-op.
        (cons_fix_new_hppa): Derive size of fixup from size of the object.
1999-07-15 01:49:48 +00:00
Nick Clifton 2f992c04c2 Apply patch from Philip Blundell <pb@nexus.co.uk>
Prepend LOCAL_LABEL_PREFIX (if defined) to local symbols.
  ARM: Set F_SOFTFLOAT in the output file if -mno-fpu was given.
1999-07-15 01:33:07 +00:00
Andreas Schwab 3682307616 * config/tc-m68k.c: Add some ATTRIBUTE_UNUSED. 1999-07-12 08:34:56 +00:00
Ian Lance Taylor ab9da55419 * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
as appropriate.  Fill in structure initializations.  Add variable
	initializations.  Add casts.
	* dwarf2dbg.c (print_stats): Change i to size_t.
	* listing.c (listing_listing): Change list_line to unsigned int.
1999-07-11 20:20:04 +00:00
Ian Lance Taylor e0accf0cb8 * config/tc-ppc.h (tc_fix_adjustable) [OBJ_ELF]: Call S_IS_LOCAL
rather than checking for \001 and \002 in symbol name.
	* config/tc-sparc.h (tc_fix_adjustable) [OBJ_ELF]: Likewise.
1999-07-09 22:56:21 +00:00
Nick Clifton cac58fa6ef Use symbol_get_obj() rather than accessing symbolP directly. 1999-07-07 09:34:14 +00:00
Jeff Law 5437775413 h
* config/tc-hppa.h (tc_frob_symbol): Always punt "$global$" symbol
        for ELF.
1999-07-06 09:44:58 +00:00
Nick Clifton 49a5575c32 Add support for armv5 architecture
Add ADRL pseudo op.
1999-07-05 07:39:01 +00:00
Jeff Law b1c5e0ee59 h
* config/tc-hppa.c (pa_ip): Convert the opcode and all completers
        into lower case.
1999-07-01 14:37:29 +00:00
Ian Lance Taylor 827c01493e 1999-06-26 Mumit Khan <khan@xraylith.wisc.edu>
* config/obj-coff.c (obj_coff_section): Mark writable sections as
	data.
1999-06-26 19:35:44 +00:00
Nick Clifton 40b10cc76f ooops - omitted from previous delta. 1999-06-23 09:31:57 +00:00
Nick Clifton 16b93d8878 Make the mcore even more paranoid about section switching 1999-06-23 09:27:09 +00:00
Ian Lance Taylor 7dcc986550 * config/tc-alpha.c: More use of symbol accessor functions.
* config/tc-arc.c: Likewise.
	* config/tc-d30v.c: Likewise.
	* config/tc-fr30.c: Likewise.
	* config/tc-i860.c: Likewise.
	* config/tc-m88k.c: Likewise.
	* config/tc-mcore.c: Likewise.
	* config/tc-ns32k.c: Likewise.
	* config/tc-sparc.c: Likewise.
	* config/tc-v850.c: Likewise.
1999-06-22 14:53:01 +00:00
Ian Lance Taylor a77f5182c7 * config/tc-arc.c (get_arc_exp_reloc_type): Change uses of
sy_value with appropriate accessor functions.
	* config/tc-arm.c (md_apply_fix3): Likewise.
	* config/tc-d10v.c (AT_WORD_P): Likewise.
	* config/tc-v850.c (reg_name_search): Likewise.
1999-06-22 14:35:19 +00:00
Ian Lance Taylor 8fc2b121ea reformat copyright paragraph 1999-06-22 14:32:33 +00:00
Ian Lance Taylor d02d939fdb add a couple of if/else/endif comments 1999-06-22 14:32:12 +00:00
Ian Lance Taylor fed9b18aea * config/obj-ecoff.c (obj_ecoff_set_ext): Change uses of bsym to
use symbol_get_bfdsym instead.
	* config/tc-ppc.c (md_assemble): Likewise.
	* config/tc-v850.c (v850_comm): Likewise.
1999-06-22 14:17:55 +00:00
Ian Lance Taylor 310b5aa239 1999-06-22 Jonathan Larmour <jlarmour@cygnus.co.uk>
* config/tc-arc.c (tc_gen_reloc): Use symbol_get_bfdsym to get at
	the symbol, rather than accessing the bsym member.
	* config/tc-d10v.c (tc_gen_reloc): Likewise.
	* config/tc-d30v.c (tc_gen_reloc): Likewise.
	* config/tc-mcore.c (tc_gen_reloc): Likewise.
	* config/tc-mn10200.c (tc_gen_reloc): Likewise.
	* config/tc-mn10300.c (tc_gen_reloc): Likewise.
	* config/tc-ns32k.c (tc_gen_reloc): Likewise.
	* config/tc-tic30.c (tc_gen_reloc): Likewise.
	* config/tc-v850.c (tc_gen_reloc): Likewise.
1999-06-22 14:07:40 +00:00
Jeff Law b388df8754 d
* tc-hppa.c (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type.
        (hppa_gen_reloc_type): Conditionalize on BFD64.
        (tc_gen_reloc): Re-enable ELF relocations.
        * tc-hppa.h (TARGET_FORMAT): Handle elf64-hppa format.
1999-06-21 15:48:51 +00:00
Ian Lance Taylor 3d10331912 * config/tc-arm.c (ldst_extend): Add parentheses to avoid
warning.
	(do_ldst): Move assignment out of if condition.
	(md_apply_fix3): Add casts to avoid printf format warnings.  Add
	parentheses to avoid warning.
1999-06-21 10:03:29 +00:00
Nick Clifton 155f0fe7a5 Use symbol_get_bfdsym() macro 1999-06-21 09:11:27 +00:00
Nick Clifton 776b24b437 Include struc-symbol.h so that symbol structure definition is available. 1999-06-21 08:08:52 +00:00
Ian Lance Taylor 809ffe0deb * config/tc-ppc.c: Update for symbol handling changes.
* config/obj-coff.c: Likewise.
1999-06-19 14:04:45 +00:00
Jeff Law 49863f82f0 * tc-hppa.c: General cleanups of ELF support. No more spaces
and subspaces for ELF.
        (GDB_DEBUG_SPACE_NAME): Delete definition for ELF.
        (GDB_STRINGS_SUBSPACE_NAME): Likewise.
        (GDB_SYMBOLS_SUBSPACE_NAME): Likewise
        (UNWIND_SECTION_NAME): Likewise.
        (space/subspace related structures): Conditionalize definitions
        on OBJ_SOM.
        (space/subspace directives and support routines): Conditionalize
        definitions and references/uses on OBJ_SOM.
        (label_symbol_struct): For ELF, track the symbol's segment.  For
        SOM track its space.
        (pa_define_label, pa_undefine_label, pa_get_label): Corresponding
        changes.
        (USE_ALIASES): Kill for both SOM & ELF.
        (pa_def_subspaces, pa_def_spaces): Corresponding changes.
        (pa_space, pa_subspace): Corresponding changes.
        (pa_spaces_begin): Corresponding chagnes.
        (md_begin): Do not muck around with space/subspace stuff for
        OBJ_ELF.
        (md_apply_fix): Temporarily disable argument relocation stuff
        for OBJ_ELF.
        (tc_gen_reloc): Temporarily disable relocation generation for
        OBJ_ELF
        (pa_build_unwind_subspace): Similarly.
1999-06-18 13:35:16 +00:00
Nick Clifton fed881b14b Patches for eCos: Dump literal pool on section change. Mark thumb function
aliases as being thumb functions as well.
1999-06-18 01:38:26 +00:00
Nick Clifton 2f3519a231 Fix -Wuh and -Wnhu options so that they work. 1999-06-17 04:51:25 +00:00
Nick Clifton 0f94f4c867 Detect illegal use of hash symbols in assembler mnemonics. 1999-06-17 02:13:18 +00:00
Ulrich Drepper a8aed0fb2d (tc_gen_reloc): Fix handling of GOTPC relocs. 1999-06-13 06:39:21 +00:00
Ian Lance Taylor b9e57a387a * subsegs.c (subseg_text_p): New function.
* as.h (subseg_text_p): Declare.
	* read.c (do_align): Use subseg_text_p to set the default fill.
	* write.c (subsegs_finish): Likewise.
	* config/obj-coff.c (write_object_file): Likewise.
	* config/tc-i386.h (md_maybe_text): Don't define.
	(md_do_align): Use subseg_text_p to set the default fill.
	* config/tc-m32r.c (m32r_do_align): Likewise.
	* config/tc-sh.c (sh_do_align): Likewise.
	* config/tc-sparc.h (md_do_align): Likewise.
1999-06-12 16:49:51 +00:00
Ian Lance Taylor a1605869fb * struc-symbol.h: Put local_symbol code in ifdef BFD_ASSEMBLER.
* symbols.c: Likewise.
	* config/obj-aout.c (obj_crawl_symbol_chain): Refer directly to
	sy_next field when taking address, rather than symbol_next.
1999-06-11 21:07:46 +00:00
Ian Lance Taylor ae69440806 * config/tc-i386.c (i386_immediate): Remove unused label
seg_unimplemented.
1999-06-11 21:07:03 +00:00
Ian Lance Taylor 76171f81c7 1999-06-11 Martin Dorey <mdorey@madge.com>
* write.c (fixup_segment): Don't add symbol value for i960 ELF.
	* config/tc-i960.c (s_leafproc): Don't call tc_set_bal_of_cal if
	OBJ_ELF.
	(md_apply_fix): Simplify BFD_ASSEMBLER handling.
1999-06-11 19:03:06 +00:00
Ian Lance Taylor 5865bb778d * config/tc-i386.c (md_apply_fix3): Add default case to switch. 1999-06-10 21:47:35 +00:00
Ian Lance Taylor 9e7c96d9d0 * config/tc-sparc.c (md_pseudo_table): Remove pushsection and
popsection.
1999-06-10 21:45:36 +00:00
Ian Lance Taylor 1b50c71893 * config/tc-sparc.c (sparc_ip): Add default case to reloc switch. 1999-06-10 21:43:24 +00:00
Richard Henderson a22b281cd7 Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (sparc_ip): Don't use side-effect expression
        with isoctal.
        * config/tc-sparc.c (synthetize_setuw, synthetize_setsw,
        synthetize_setx): New functions.
        (md_assemble): Broken the special cases into the above
        functions. Make compiler happy if sizeof(bfd_vma)==4.
        Fix sethi generated from set/setuw. If instructions have a relloc,
        always clear the fields to be relocated in the opcode.
        (sparc_ip): Remove special_case global variable.
1999-06-10 21:11:39 +00:00
Ian Lance Taylor d7ba4a779e Based on patches from John W. Woznack <jwoznack@concentric.net>:
* itbl-ops.c (itbl_get_reg_val): Add pval parameter.  Return
	indication of success rather than a value.
	(itbl_get_val): Likewise.
	(itbl_get_field): Use strcspn.  Change delimiters to include
	parens.
	* itbl-ops.h (itbl_get_reg_val): Update declaration.
	(itbl_get_val): Likewise.
	* config/tc-mips.c (mips_ip): Update call to itbl_get_reg_val.
1999-06-10 20:35:50 +00:00
Nick Clifton c1d3c45e14 Add support for ARM920 and ARM920t 1999-06-10 01:59:33 +00:00
Richard Henderson 63fab58c7d Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (md_assemble): Fix up setx, support setsw.
        Optimize set if sizeof(bfd_vma) == 64.
        (sparc_ip): Fix sethi - without %hi() it should generate
        R_SPARC_32 reloc, not R_SPARC_HI22.
        (tc_gen_reloc): Handle BFD_RELOC_SPARC22.
1999-06-07 12:53:56 +00:00
Richard Henderson cf9a13018b Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (md_begin): Handle native wordsize aliases.
        (s_ncons): New function.
        (native_op_table): New table.
        (sparc_ip): Be more strict on %hi() etc.; prepare assembler for
        R_SPARC_OLO10 handling.
1999-06-07 12:40:36 +00:00
Richard Henderson bf29b23178 * expr.h (struct expressionS): Revert last change; widen X_op.
* config/tc-alpha.c (md_begin): Check the field is wide enough.
1999-06-07 10:23:47 +00:00
Andreas Schwab 9be1cda6a5 * config/obj-elf.c (obj_elf_common): In MRI mode if called as
`common' pass on to s_mri_common.
	(elf_pseudo_table): Pass 1 to obj_elf_common for `common'.
1999-06-07 02:28:54 +00:00
Richard Henderson 623356292c * config/obj-elf.c (obj_elf_section): Don't free the return
value of demand_copy_C_string.
1999-06-06 00:09:50 +00:00
Richard Henderson 9de8d8f184 * dwarf2dbg.c (dwarf2_gen_line_info): Mirror the section symbol
creation logic from obj_elf_create_section.
        * config/obj-elf.c (elf_pseudo_tab): Add pushsection/popsection.
        (section_stack): New.
        (special_sections): Make const.
        (obj_elf_section): Gut and rewrite parsing.
        (obj_elf_change_section): New function broken out of obj_elf_section.
        (obj_elf_parse_section_letters): Likewise.
        (obj_elf_section_word): Likewise.
        (obj_elf_section_type): Likewise.
        (obj_elf_previous): Treat as a toggle.
        (obj_elf_popsection): New.
        * config/tc-ppc.c (ppc_section_word): Take str+len not ptr_str.
        (ppc_section_type): Likewise.
        * config/tc-ppc.h: Likewise.
        * expr.h (struct expressionS): Don't make X_op a bitfield.
        * config/tc-alpha.c: Update for symbol handling changes.
        (md_apply_fix) [case GPREL]: Use now_seg instead of absolute_section.
        (load_expression, emit_ir_load, emit_loadstore, emit_jsrjmp): Likewise.
1999-06-05 23:15:34 +00:00
Ian Lance Taylor 993142d5a4 1999-06-04 Mark Klein <mklein@dis.com>
* config/tc-hppa.c (md_begin): Convert local symbol dummy_symbol
	to real if OBJ_SOM
	(tc_gen_reloc): Still need bfd_abs_symbol in some relocs.
1999-06-04 21:08:54 +00:00
Ian Lance Taylor 398e8c258a 1999-06-04 Mark Klein <mklein@dis.com>
* config/tc-hppa.c: Update for symbol handling changes.
1999-06-04 10:46:25 +00:00
Ian Lance Taylor f412ead8f6 * config/tc-m32r.c: Update for symbol handling changes. 1999-06-03 12:46:26 +00:00
Ian Lance Taylor a0f75b47e9 * config/tc-hppa.h: Update for symbol handling changes.
* config/tc-hppa.c: Likewise.
1999-06-03 12:42:36 +00:00
Ian Lance Taylor 174419c123 * config/tc-arm.h: Update for symbol handling changes.
* config/tc-arm.c: Likewise.
	(symbol_make_empty): Remove.  Just use symbol_create.
1999-06-03 09:50:01 +00:00
Richard Henderson 86eab3efc4 * config/obj-elf.c (elf_pseudo_table): Add `common'. 1999-06-03 02:50:51 +00:00
Ian Lance Taylor 49309057b4 Add support for storing local symbols in a small structure to save
memory when assembling large files.
	* as.h: Don't include struc-symbol.h.
	(symbolS): Add typedef.
	* symbols.c: Include struc-symbol.h.
	(local_hash): New static variable.
	(save_symbol_name): New static function, from symbol_create.
	(symbol_create): Call save_symbol_name.
	(local_symbol_count): New static variable.
	(local_symbol_conversion_count): Likewise.
	(LOCAL_SYMBOL_CHECK): Define.
	(local_symbol_make): New static function.
	(local_symbol_convert): New static function.
	(colon): Handle local symbols.  Create local symbol for local
	label name.
	(symbol_table_insert): Handle local symbols.
	(symbol_find_or_make): Create local symbol for local label name.
	(symbol_find_base): Check for local symbol.
	(symbol_append, symbol_insert): Check for local symbols.
	(symbol_clear_list_pointers, symbol_remove): Likewise.
	(verify_symbol_chain): Likewise.
	(copy_symbol_attributes): Likewise.
	(resolve_symbol_value): Handle local symbols.
	(resolve_local_symbol): New static function.
	(resolve_local_symbol_values): New function.
	(S_GET_VALUE, S_SET_VALUE): Handle local symbols.
	(S_IS_FUNCTION, S_IS_EXTERNAL, S_IS_WEAK, S_IS_COMMON): Likewise.
	(S_IS_DEFINED, S_IS_DEBUG, S_IS_LOCAL, S_GET_NAME): Likewise.
	(S_GET_SEGMENT, S_SET_SEGMENT, S_SET_EXTERNAL): Likewise.
	(S_CLEAR_EXTERNAL, S_SET_WEAK, S_SET_NAME): Likewise.
	(symbol_previous, symbol_next): New functions.
	(symbol_get_value_expression): Likewise.
	(symbol_set_value_expression): Likewise.
	(symbol_set_frag, symbol_get_frag): Likewise.
	(symbol_mark_used, symbol_clear_used, symbol_used_p): Likewise.
	(symbol_mark_used_in_reloc): Likewise.
	(symbol_clear_used_in_reloc, symbol_used_in_reloc_p): Likewise.
	(symbol_mark_mri_common, symbol_clear_mri_common): Likewise.
	(symbol_mri_common_p): Likewise.
	(symbol_mark_written, symbol_clear_written): Likewise.
	(symbol_written_p): Likewise.
	(symbol_mark_resolved, symbol_resolved_p): Likewise.
	(symbol_section_p, symbol_equated_p): Likewise.
	(symbol_constant_p): Likewise.
	(symbol_get_bfdsym, symbol_set_bfdsym): Likewise.
	(symbol_get_obj, symbol_set_obj): Likewise.
	(symbol_get_tc, symbol_set_tc): Likewise.
	(symbol_begin): Initialize local_hash.
	(print_symbol_value_1): Handle local symbols.
	(symbol_print_statistics): Print local symbol statistics.
	* symbols.h: Include "struc-symbol.h" if not BFD_ASSEMBLER.
	Declare new symbols.c functions.  Move many declarations here from
	struc-symbol.h.
	(SYMBOLS_NEED_BACKPOINTERS): Define if needed.
	* struc-symbol.h (SYMBOLS_NEED_BACKPOINTERS): Don't set.
	(struct symbol): Move bsym to make it clearly the first field.
	Remove TARGET_SYMBOL_FIELDS.
	(symbolS): Don't typedef.
	(struct broken_word): Remove.
	(N_TYPE_seg, seg_N_TYPE): Move to symbol.h.
	(SEGMENT_TO_SYMBOL_TYPE, N_REGISTER): Likewise.
	(symbol_clear_list_pointers): Likewise.
	(symbol_insert, symbol_remove): Likewise.
	(symbol_previous, symbol_append): Likewise.
	(verify_symbol_chain, verify_symbol_chain_2): Likewise.
	(struct local_symbol): Define.
	(local_symbol_converted_p, local_symbol_mark_converted): Define.
	(local_symbol_resolved_p, local_symbol_mark_resolved): Define.
	(local_symbol_get_frag, local_symbol_set_frag): Define.
	(local_symbol_get_real_symbol): Define.
	(local_symbol_set_real_symbol): Define.
	Define.
	* write.c (write_object_file): Call resolve_local_symbol_values.
	* config/obj-ecoff.h (OBJ_SYMFIELD_TYPE): Define.
	(TARGET_SYMBOL_FIELDS): Don't define.
	* config/obj-elf.h (OBJ_SYMFIELD_TYPE): Add local field.  If
	ECOFF_DEBUGGING, add ECOFF fields.
	(ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define.
	* config/obj-multi.h (struct elf_obj_sy): Add local field.  If
	ECOFF_DEBUGGING, add ECOFF fields.
	(ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define.
	(ECOFF_DEBUG_TARGET_SYMBOL_FIELDS): Don't define.
	* config/tc-mcore.h: Don't include struc-symbol.h.
	(TARGET_SYMBOL_FIELDS): Don't define.
	(struct mcore_tc_sy): Define.
	(TC_SYMFIELD_TYPE): Define.
	* Many files: Use symbolS instead of struct symbol.  Use new
	accessor functions rather than referring to symbolS fields
	directly.
	* read.c (s_mri_common): Don't add in value of line_label.
	* config/tc-mips.c (md_apply_fix): Correct parenthesization when
	checking for SEC_LINK_ONCE.
	* config/tc-sh.h (sh_fix_adjustable): Declare.
1999-06-03 00:29:48 +00:00
Nick Clifton 661e4995b2 Include pipeline offset in addend unless dealing with an old ABI. 1999-05-29 10:47:20 +00:00
Doug Evans d9a622197d -Wchar-subscripts cleanup
* listing.c (listing_newline): Use unsigned char variable, so
 	calls to isascii,iscntrl are correct.
	* atof-generic.c (atof_generic): Cast arg to isdigit, et. al. with
	(unsigned char).
	* ecoff.c (ecoff_directive_ent,ecoff_stab): Ditto.
	* config/obj-elf.c (obj_elf_vtable_inherit): Ditto.
	* config/tc-mips.c (mips_ip,mips16_ip): Ditto.
	(my_getSmallExpression,get_number,s_mips_ent): Ditto.
1999-05-28 15:28:56 +00:00
Ian Lance Taylor 6da466c730 1999-05-28 Torbjorn Granlund <tege@matematik.su.se>
* config/tc-m68k.c (m68k_ip): Check for disallowed index register
	width for Coldfire.
	(arch_coldfire_p): New #define.
	(m68k_ip, m68k_init_after_args): Use arch_coldfire_p.
1999-05-28  Linus Nordberg  <linus.nordberg@canit.se>
	* config/tc-m68k.c (install_operand): Add places `n', `o'.
	* config/tc-m68k.c (m68k_ip): Add formats `E', `G', `H'.
	(install_operand): Add place `N'.
	(init_table): Add registers ACC, MACSR, MASK.
	* config/m68k-parse.h (m68k_register): Add ACC, MACSR, MASK.
	* config/tc-m68k.c: Change mcf5200 --> mcf.
	(archs): Add mcf5206e, mcf5307.
	(m68k_ip): Add format `u'.
	(install_operand): Add place `m', `M', `h'.
	(init_table): Add upper/lower registers.
	* config/m68k-parse.h (m68k_register): Add upper/lower registers.
1999-05-27 22:36:51 +00:00
Ian Lance Taylor bedf545c12 1999-05-28 Martin Dorey <mdorey@madge.com>
* config/tc-i960.c: Several minor changes to add ELF and
	BFD_ASSEMBLER support.
	* config/tc-i960.h: Likewise.
	* configure.in (i960-*-elf*): New target.
	* aclocal.m4, configure: Rebuild.
1999-05-27 21:57:48 +00:00
Alan Modra e1b283bbb7 ÿ
Fiz i386-iaout breakage introduced by last patch.
1999-05-24 18:25:27 +00:00
Nick Clifton b8a40f5379 Accept 'sp' as a valid register name. 1999-05-22 14:49:51 +00:00
Alan Modra 93382f6dd7 n
Move bitfield overflow checks to after the md_apply_fix call in
fixup_segment so that md_apply_fix has a chance to modify value.
Handle 8 and 16-bit pcrel relocs for i386.
Prototypes and other minor code cleanups.
1999-05-17 03:21:50 +00:00
Alan Modra ec0f0840fc *** empty log message *** 1999-05-17 03:21:49 +00:00
Andreas Schwab 19b341776d * config/atof-ieee.c (gen_to_words): Correctly round a
denormalized number.  Fix off-by-one in range checking for
	exponent in a denormal.
1999-05-14 01:53:28 +00:00
Alan Modra 3afcee8ec9 X
i386 PIII SIMD support, remove ReverseRegRegmem kludge
tidy a few things in i386 intel mode disassembly
1999-05-13 06:00:14 +00:00
Alan Modra 3f4438abfd ÿ
i386 PIII SIMD support, remove ReverseRegRegmem kludge
tidy a few things in i386 intel mode disassembly
1999-05-13 06:00:13 +00:00
Richard Henderson d0e9a01c12 * config/tc-ppc.c (md_parse_option): Recognize -mppc64bridge.
(md_begin): Allow ppc32 insns in ppc64bridge mode.
        (ppc_insert_operand): Accept SIGNOPT in ppc64 mode.
1999-05-08 23:31:09 +00:00
Richard Henderson 83183c0c36 * config/tc-i386.c (i386_immediate): Skip whitespace before
complaining about junk after expression.
        (i386_displacement): Likewise.
1999-05-06 23:16:36 +00:00
Catherine Moore 0d96863f2b * tc-m68k.c: Include elf/m68k.h.
(m68k_elf_final_processing): New routine.
        * tc-m68k.h (elf_tc_final_processing m68k_elf_final_processing):
        Define.
1999-05-05 10:58:59 +00:00
Jeff Law 90700a5341 * config/tc-hppa.c (md_apply_fix): Handle 22 bit fmt insn like a
17 bit fmt insn.
1999-05-03 09:26:28 +00:00
Richard Henderson 252b5132c7 19990502 sourceware import 1999-05-03 07:29:11 +00:00