Commit Graph

2335 Commits

Author SHA1 Message Date
Richard Henderson 1707620440 * doc/as.texinfo: Document .cfi_rel_offset. 2003-06-08 10:06:17 +00:00
Richard Henderson fa87b337c3 * dw2gencfi.c (struct cfa_save_data, cfa_save_stack): New.
(cfi_add_CFA_offset): Detect invalid offsets.
        (cfi_add_CFA_remember_state): Save cur_cfa_offset.
        (cfi_add_CFA_restore_state): Restore it.
        (CFI_rel_offset): New.
        (cfi_pseudo_table): Add it.
        (dot_cfi): Handle it.

        * gas/cfi/cfi-common-1.d, gas/cfi/cfi-common-1.s: New.
        * gas/cfi/cfi-common-2.d, gas/cfi/cfi-common-2.s: New.
        * gas/cfi/cfi-diag-1.d, gas/cfi/cfi-diag-1.s: New.
        * gas/cfi/cfi.exp: Run them.
2003-06-08 03:59:44 +00:00
H.J. Lu 5262831592 2003-06-07 H.J. Lu <hongjiu.lu@intel.com>
* app.c (do_scrub_chars): Add states 14 and 15 to handle
	predicate for ia64.
2003-06-07 14:53:59 +00:00
Michael Snyder d4ea8842ef 2003-06-05 Michael Snyder <msnyder@redhat.com>
* config/tc-h8sx.c (get_specific): Distinguish h8h from h8s ops.
	(build_bytes): Ditto.

2003-06-05  Richard Sandiford  <rsandifo@redhat.com>

	* config/tc-h8sx.c (DMODE): Remove.
	(colonmod24): Don't choose a default if the operand is a 16-bit
	constant integer.
	(fix_operand_size): New function.
	(md_assemble): Use it to choose between @(d:2, ERn) and @(d:16,ERn).
	Adjust @(d:2,ERn) operands before choosing the specific opcodes.
2003-06-05 18:53:35 +00:00
Michael Snyder fe8aec39a7 2003-06-05 Michael Snyder <msnyder@redhat.com>
* gas/h8300/t01_mov.s: New file, tests mov instructions.
	* gas/h8300/t02_mova.s: New file, tests mova instructions.
	* gas/h8300/t03_add.s: New file, tests add instructions.
	* gas/h8300/t04_sub.s: New file, tests sub instructions.
	* gas/h8300/t05_cmp.s: New file, tests cmp instructions.
	* gas/h8300/t06_ari2.s: New file, tests arithmetic instructions.
	* gas/h8300/t07_ari3.s: New file, tests arithmetic instructions.
	* gas/h8300/t08_or.s: New file, tests or instructions.
	* gas/h8300/t09_xor.s: New file, tests xor instructions.
	* gas/h8300/t10_and.s: New file, tests and instructions.
	* gas/h8300/t11_logs.s: New file, tests logical instructions.
	* gas/h8300/t12_bit.s: New file, tests bit instructions.
	* gas/h8300/t13_otr.s.s: New file, tests misc. instructions.
	* gas/h8300/t01_mov.exp: New file.
	* gas/h8300/t02_mova.exp: New file.
	* gas/h8300/t03_add.exp: New file.
	* gas/h8300/t04_sub.exp: New file.
	* gas/h8300/t05_cmp.exp: New file.
	* gas/h8300/t06_ari2.exp: New file.
	* gas/h8300/t07_ari3.exp: New file.
	* gas/h8300/t08_or.exp: New file.
	* gas/h8300/t09_xor.exp: New file.
	* gas/h8300/t10_and.exp: New file.
	* gas/h8300/t11_logs.exp: New file.
	* gas/h8300/t12_bit.exp: New file.
	* gas/h8300/t13_otr.exp: New file.
2003-06-05 18:52:00 +00:00
Michal Ludvig 2be24b54a9 2003-06-05 Michal Ludvig <mludvig@suse.cz>
* dw2gencfi.c (cfi_add_CFA_insn, cfi_add_CFA_insn_reg)
	(cfi_add_CFA_insn_reg_reg, cfi_add_CFA_insn_reg_offset): New.
	(cfi_add_CFA_offset, cfi_add_CFA_def_cfa)
	(cfi_add_CFA_register, cfi_add_CFA_def_cfa_register)
	(cfi_add_CFA_def_cfa_offset): Use cfi_add_CFA_insn_*().
	(cfi_add_CFA_restore, cfi_add_CFA_undefined)
	(cfi_add_CFA_same_value, cfi_add_CFA_remember_state)
	(cfi_add_CFA_restore_state, cfi_add_CFA_nop): New.
	(cfi_pseudo_table): New directives .cfi_return_column,
	.cfi_restore, .cfi_undefined, .cfi_same_value,
	.cfi_remember_state, .cfi_restore_state, .cfi_nop.
	(dot_cfi, output_cfi_insn): Handle new directives.
	* dw2gencfi.h (cfi_add_CFA_restore, cfi_add_CFA_undefined)
	(cfi_add_CFA_same_value, cfi_add_CFA_remember_state)
	(cfi_add_CFA_restore_state, cfi_add_CFA_nop): New prototypes.
2003-06-05 09:23:47 +00:00
Richard Henderson 1233ae6299 * dw2gencfi.c (output_cfi_insn): Fix typo for negative offsets. 2003-06-05 06:53:40 +00:00
Richard Henderson 757bc39371 * dw2gencfi.c (cfi_finish): Set .eh_frame read-only. 2003-06-05 05:25:38 +00:00
Richard Henderson f4b97536ed * config/tc-alpha.c (s_alpha_usepv): New.
(md_pseudo_table): Add it.
        (alpha_cfi_frame_initial_instructions): New.
        * config/tc-alpha.h (TARGET_USE_CFIPOP): New.
        (tc_cfi_frame_initial_instructions): New.
        * doc/c-alpha.texi: Document .usepv.

        * gas/alpha/elf-usepv-1.[sd]: New.
        * gas/alpha/elf-usepv-2.[sd]: New.
        * gas/alpha/alpha.exp: Run them.
        * gas/cfi/cfi-alpha-3.[sd]: New.
        * gas/cfi/cfi.exp: Run it.
2003-06-05 03:27:03 +00:00
Jakub Jelinek 68d55fe3f0 * as.c (show_usage): Document --execstack and --noexecstack.
(parse_args): Add --execstack and --noexecstack.
	(main): Create .note.GNU-stack section if --execstack or
	--noexecstack was given on comand line, set its SHF_EXECINSTR bit.
	* as.h (flag_execstack, flag_noexecstack): New.
2003-06-04 16:54:45 +00:00
Chris Demetriou f9b4148d9e 2003-06-03 Chris Demetriou <cgd@broadcom.com>
* config/tc-mips.c: (OPTION_ARCH_BASE, OPTION_ASE_BASE)
        (OPTION_COMPAT_ARCH_BASE, OPTION_FIX_BASE)
        (OPTION_MISC_BASE): New defines.
        (OPTION_BREAK, OPTION_CONSTRUCT_FLOATS, OPTION_EB, OPTION_EL)
        (OPTION_ELF_BASE, OPTION_FIX_VR4122, OPTION_FP32, OPTION_FP64)
        (OPTION_GP32, OPTION_GP64, OPTION_M3900, OPTION_M4010, OPTION_M4100)
        (OPTION_M4650, OPTION_M7000_HILO_FIX, OPTION_MARCH, OPTION_MDMX)
        (OPTION_MEMBEDDED_PIC, OPTION_MIPS1, OPTION_MIPS16, OPTION_MIPS2)
        (OPTION_MIPS3, OPTION_MIPS32, OPTION_MIPS32R2, OPTION_MIPS3D)
        (OPTION_MIPS4, OPTION_MIPS5, OPTION_MIPS64)
        (OPTION_MNO_7000_HILO_FIX, OPTION_MTUNE, OPTION_NO_CONSTRUCT_FLOATS)
        (OPTION_NO_FIX_VR4122, OPTION_NO_M3900, OPTION_NO_M4010)
        (OPTION_NO_M4100, OPTION_NO_M4650, OPTION_NO_MDMX, OPTION_NO_MIPS16)
        (OPTION_NO_MIPS3D, OPTION_NO_RELAX_BRANCH, OPTION_RELAX_BRANCH)
        (OPTION_TRAP): Redefine in terms of new defines.
        (md_longopts): Reorder entries.
2003-06-04 06:38:38 +00:00
Michael Snyder 7ee7b84dfa 2003-05-14 Michael Snyder <msnyder@redhat.com>
From Bernd Schmidt  <bernds@redhat.com>
	and Michael Snyder  <msnyder@redhat.com>
        and Alexandre Oliva <aoliva@redhat.com>
	* config/tc-h8300.c: Add insns and addressing modes for h8300sx.
	* config/tc-h8300.h: Ditto.
2003-06-03 21:29:08 +00:00
Nick Clifton e30ddb24b3 Add pc-relative 32-bit reloc to v850 port. Fixes ld-elf/merge test failure. 2003-06-03 16:24:06 +00:00
H.J. Lu 9f470756e9 Reformat. 2003-06-02 23:11:43 +00:00
Alan Modra ed7d5d1a43 * read.c (emit_expr): Set dot_value.
* dw2gencfi.c (output_fde): Remove pcrel reloc hack.
2003-06-02 22:48:59 +00:00
Alan Modra c1ed1235d7 * macro.c (sub_actual): Don't lose string if it turns out that
&string wasn't an arg.
2003-06-02 15:03:20 +00:00
Richard Henderson eafbc43f93 * dw2gencfi.c (output_fde): Use fix_new to emit pc-relative reloc.
(cfi_finish): Set flag_traditional_format around .eh_frame data.

        * gas/alpha/elf-reloc-8.d: Correct .eh_frame relocs.
        * gas/cfi/cfi-alpha-2.d: New.
        * gas/cfi/cfi-alpha-2.s: New.
        * gas/cfi/cfi.exp: Run it.
2003-05-31 19:36:45 +00:00
Richard Henderson f37f01cff7 * config/tc-alpha.c (alpha_cur_ent_sym): Remove.
(all_frame_data, plast_frame_data, cur_frame_data): New.
        (s_alpha_ent): Record data for dwarf2 cfi.
        (s_alpha_end, s_alpha_mask, s_alpha_frame, s_alpha_prologue): Likewise.[
        (alpha_elf_md_end): Emit dwarf2 cfi for ecoff unwind directives.
        * config/tc-alpha.h (md_end): New.
        (DWARF2_DEFAULT_RETURN_COLUMN): New.
        (DWARF2_CIE_DATA_ALIGNMENT): New.

        * gas/alpha/elf-reloc-8.d: Add .eh_frame relocs.
        * gas/cfi/cfi-alpha-1.d: New.
        * gas/cfi/cfi-alpha-1.s: New.
        * gas/cfi/cfi.exp: Run it.
2003-05-30 03:01:12 +00:00
Nick Clifton a197c3519c Add i386-*-freebsd* entry. 2003-05-29 18:17:55 +00:00
Nick Clifton 4bf4a8829c Change Mitsubishi to Renesas 2003-05-29 17:37:03 +00:00
Richard Henderson 756d1d0188 * expr.c (make_expr_symbol): Fold FAKE_LABEL_NAME use into the
symbol_create call.
        (current_location): Use symbol_temp_new_now.
        * stabs.c (s_stab_generic): Use symbol_temp_new.
        * symbols.c (temp_label_name): Remove.
        (symbol_temp_new, symbol_temp_make): Use FAKE_LABEL_NAME.
2003-05-27 19:19:29 +00:00
Richard Henderson a4447b9378 * dw2gencfi.c, dw2gencfi.h: Rewrite from scratch.
* as.c (main): Always call cfi_finish.
        * config/tc-i386.c (x86_dwarf2_return_column): New.
        (x86_cie_data_alignment): New.
        (md_begin): Set them.
        (tc_x86_cfi_init): Remove.
        (tc_x86_regname_to_dw2regnum): Fix 32-bit register numbers;
        return int, not unsigned long; don't as_bad here.
        (tc_x86_frame_initial_instructions): Streamline; use
        updated api.
        * config/tc-i386.h (tc_cfi_init): Remove.
        (DWARF2_DEFAULT_RETURN_COLUMN): New.
        (DWARF2_CIE_DATA_ALIGNMENT): New.

        * gas/cfi/cfi-i386.d: Update for dw2gencfi rewrite.
        * gas/cfi/cfi-x86_64.d: Likewise.
        * gas/cfi/cfi-i386-2.d: New.
        * gas/cfi/cfi-i386-2.s: New.
2003-05-27 16:52:49 +00:00
Richard Henderson b7d6ed970a * symbols.c (temp_label_name): New.
(symbol_temp_new, symbol_temp_new_now, symbol_temp_make): New.
        (symbol_set_value_now): New.
        * symbols.h: Prototype them.
        * dwarf2dbg.c: Use them.
        (fake_label_name, symbol_new_now, set_symbol_value_now): Remove.
2003-05-27 16:00:04 +00:00
Jason Eckhardt 14218d5f24 2003-05-23 Jason Eckhardt <jle@rice.edu>
gas:
        * config/tc-i860.c (target_xp): Declare variable.
        (OPTION_XP): Declare macro.
        (md_longopts): Add option -mxp.
        (md_parse_option): Set target_xp.
        (md_show_usage): Add -mxp usage.
        (i860_process_insn): Recognize XP registers bear, ccr, p0-p3.
        (md_assemble): Don't try expansions if XP_ONLY is set.
        * doc/c-i860.texi: Document -mxp option.

gas/testsuite:
        * gas/i860/xp.s: New file.
        * gas/i860/xp.d: New file.

include/opcode:
        * i860.h (expand_type): Add XP_ONLY.
        (scyc.b): New XP instruction.
        (ldio.l): Likewise.
        (ldio.s): Likewise.
        (ldio.b): Likewise.
        (ldint.l): Likewise.
        (ldint.s): Likewise.
        (ldint.b): Likewise.
        (stio.l): Likewise.
        (stio.s): Likewise.
        (stio.b): Likewise.
        (pfld.q): Likewise.

opcodes:
        * i860-dis.c (crnames): Add bear, ccr, p0, p1, p2, p3.
        (print_insn_i860): Grab 4 bits of the control register field
        instead of 3.
2003-05-24 04:22:23 +00:00
Eric Christopher 36ede617d2 2003-05-23 Eric Christopher <echristo@redhat.com>
* config/tc-mips.c (macro_build_jalr): Warning patrol.
2003-05-23 22:26:20 +00:00
Richard Earnshaw 39c1d492f8 * gas/i860/i860.exp: Don't call exit if the target isn't an i860. 2003-05-23 11:03:35 +00:00
Thiemo Seufer 3302cdecd1 * gas/mips/jal-newabi.s: New file, testcase for NewABI xgot jal macro.
* gas/mips/jal-newabi.d: Likewise.
	* gas/mips/mips.exp: Add new testcase.
2003-05-22 12:13:43 +00:00
Thiemo Seufer a105a3009c * config/tc-mips.c (append_insn): Use actual relocation size for new
fixp's.	Don't relax overflow checking for partial_inplace relocations.
	Use the actual relocation type in combined relocs, not just the type
	of the first one.
	(macro_build_jalr): Use actual relocation size for new fix.
	(s_cpsetup, s_gpdword): Likewise.
2003-05-22 09:19:33 +00:00
Thiemo Seufer dc9461f6ad * config/tc-mips.c (macro): Don't use uninitialized tempreg. 2003-05-22 09:15:12 +00:00
Nick Clifton ceb410091e Do not producesection relative offsets for relocs that will not be based on the
section symbol.
2003-05-22 08:57:32 +00:00
Eric Christopher 143d77c5e9 2003-05-07 Eric Christopher <echristo@redhat.com>
Alexandre Oliva   <aoliva@redhat.com>

	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
	pic tests, change to warning.
	(_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.

2003-05-07  Eric Christopher  <echristo@redhat.com>

        * config/tc-mips.c (mips_abicalls): New variable.
        (md_parse_option): Use.
        (s_option): Ditto.
        (s_abicalls): Ditto.
        (mips_elf_final_processing): Set EF_MIPS_PIC and
        EF_MIPS_CPIC dependent on above.
2003-05-21 21:53:33 +00:00
Dave Anglin 85c77c383f * config/tc-hppa.c (hppa_symbol_chars): Remove `,' and `!'.
* testsuite/gas/hppa/parse/parse.exp: Add "space.s".
	* testsuite/gas/hppa/parse/space.s: New file to test spaces.
2003-05-21 19:40:54 +00:00
Nick Clifton 87ccc1b08d Move .file and .loc pseudo ops into obj-elf.c 2003-05-21 12:07:56 +00:00
Nick Clifton 7ed2c8b026 Fix dw3gencfi.c so that it will build on targets that do not define BFD_ASSEMBLER. 2003-05-21 11:31:07 +00:00
Jason Eckhardt a1dfe41ed9 2003-05-20 Jason Eckhardt <jle@rice.edu>
* gas/i860/branch.{s,d}: New files.
        * gas/i860/system.{s,d}: New files.
2003-05-21 05:01:47 +00:00
Jason Eckhardt 371409b0e0 2003-05-20 Jason Eckhardt <jle@rice.edu>
* gas/i860/bitwise.{s,d}: New files.
	* gas/i860/bte.{s,d}: New files.
	* gas/i860/fldst01.{s,d}: New files.
	* gas/i860/fldst02.{s,d}: New files.
	* gas/i860/fldst03.{s,d}: New files.
	* gas/i860/fldst04.{s,d}: New files.
	* gas/i860/fldst05.{s,d}: New files.
	* gas/i860/fldst06.{s,d}: New files.
	* gas/i860/fldst07.{s,d}: New files.
	* gas/i860/fldst08.{s,d}: New files.
	* gas/i860/float01.{s,d}: New files.
	* gas/i860/float02.{s,d}: New files.
	* gas/i860/float03.{s,d}: New files.
	* gas/i860/float04.{s,d}: New files.
	* gas/i860/form.{s,d}: New files.
	* gas/i860/iarith.{s,d}: New files.
	* gas/i860/ldst01.{s,d}: New files.
	* gas/i860/ldst02.{s,d}: New files.
	* gas/i860/ldst03.{s,d}: New files.
	* gas/i860/ldst04.{s,d}: New files.
	* gas/i860/ldst05.{s,d}: New files.
	* gas/i860/ldst06.{s,d}: New files.
	* gas/i860/pfam.{s,d}: New files.
	* gas/i860/pfmam.{s,d}: New files.
	* gas/i860/pfmsm.{s,d}: New files.
	* gas/i860/pfsm.{s,d}: New files.
	* gas/i860/regress01.{s,d}: New files.
	* gas/i860/shift.{s,d}: New files.
	* gas/i860/simd.{s,d}: New files.
2003-05-21 01:42:40 +00:00
Jason Eckhardt 6ccb204bf4 2003-05-20 Jason Eckhardt <jle@rice.edu>
* gas/i860: New directory.
        * gas/i860/i860.exp: New file.
2003-05-21 01:28:55 +00:00
Michal Ludvig 39b8215104 2003-05-20 Michal Ludvig <mludvig@suse.cz>
* as.c (main): Remove tc_cfi_init().
	* dw2gencfi.c (cfi_parse_arg): Allow regnames beginning
	with '%'.
	(cfi_pseudo_table): Add "cfi_register" entry.
	(cfi_make_insn): Handle CFA_register.
	(cfi_output_insn): Ditto.
	(dot_cfi): Ditto.
	(cfi_get_label): Add 'simple' modifier to .cfi_startproc.
	(dot_cfi_endproc): Reuse already emitted CIEs.
	* testsuite/gas/cfi/cfi-i386.d: New pattern.
	* testsuite/gas/cfi/cfi-x86-64.d: Ditto.
2003-05-20 14:31:44 +00:00
Nick Clifton f53e95c758 Add support for .file and .loc 2003-05-20 11:58:20 +00:00
Alan Modra 7c0295b157 * dw2gencfi.c (cfi_parse_arg): Only use tc_regname_to_dw2regnum if
defined.
	(dot_cfi_endproc): Avoid C99 construct.
2003-05-20 11:35:45 +00:00
Alan Modra 2ebaa23b7a * gas/cfi/cfi.exp: Testsuite for cfi machinery.
* gas/cfi/cfi-x86_64.[sd]: Files for x86-64.
	* gas/cfi/cfi-i386.[sd]: Files for i386.
2003-05-20 08:01:19 +00:00
Alan Modra 54cfded08e * dw2gencfi.c, dw2gencfi.h: New files.
* config/tc-i386.c (tc_x86_cfi_init): New function.
	* config/tc-i386.h (TARGET_USE_CFIPOP, tc_cfi_init): New defines.
	* as.c (parse_args): Set verbose flag on --verbose.
	(main): Call tc_cfi_init()/cfi_finish().
	* as.h (verbose): New external variable.
	* read.c (pobegin): Insert CFI pops to the list.
	* symbols.c (local_symbol_make): Make symbol external.
	* symbols.h (local_symbol_make): New prototype.
	* Makefile.am: Add dw2gencfi.[ch] files.  Run "make dep-am".
	* Makefile.in: Regenerate.
	* doc/as.texinfo: Added node "CFI directives" with description of
	all implemented .cfi_* directives.
	* doc/Makefile.in: Regenerate.
	* po/POTFILES.in: Regenerate.
2003-05-20 07:58:07 +00:00
Thiemo Seufer b892b944e7 * gas/mips/mips.exp: mips-*-linux-*, mipsel-*-linux-* use only 32-bit
register width by default. Add them to addr32 and exclude offending
	testcases.
	* gas/mips/delay.s: Avoid odd floating point registers.
	* gas/mips/delay.d: Likewise.
	* gas/mips/nodelay.d: Likewise.
	* gas/mips/mips4.s: Likewise.
	* gas/mips/mips4.d: Likewise.
	* gas/mips/mips5.s: Likewise.
	* gas/mips/mips5.d: Likewise.
	* gas/mips/vr5400.s: Likewise.
	* gas/mips/vr5400.d: Likewise.
	* gas/mips/vr5500.s: Likewise.
	* gas/mips/vr5500.d: Likewise.
	* gas/mips/elf_e_flags2.d: Allow different expansions of the move
	macro.
	* gas/mips/elf_e_flags3.d: Likewise.
	* gas/mips/elf_e_flags4.d: Likewise.
	* gas/mips/uld2-eb.d: Likewise.
	* gas/mips/uld2-el.d: Likewise.
2003-05-19 19:22:25 +00:00
Svein Seldal 78d8735ac7 Reverted faulty code 2003-05-18 22:52:35 +00:00
Svein Seldal 1975ab2528 Forgot to check in changelog of config/tc-tic4x.h 2003-05-18 22:25:42 +00:00
Svein Seldal a1f3c24c25 * config/tc-tic4x.c (md_assemble): Added support for one-line parallel insns.
(tic4x_start_line): Fixed scrub bug and added error for three-element
	parallel insns.
2003-05-18 22:23:15 +00:00
Jason Eckhardt b645cb1726 2003-05-18 Jason Eckhardt <jle@rice.edu>
gas:
        * config/tc-i860.c (i860_process_insn): Initialize fc after
        each opcode mismatch.

include/opcode:
        * i860.h (form, pform): Add missing .dd suffix.

opcodes:
        * i860-dis.c (print_insn_i860): Instruction shrd has a dual bit,
        print it.

bfd:
        * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
2003-05-18 21:24:33 +00:00
Nick Clifton 80c7c40aef Replace i[3456]86 with i[3-7]86 2003-05-16 16:30:27 +00:00
Thiemo Seufer c344a4c8c4 * config/tc-mips.h: Fix comment formatting. 2003-05-15 00:02:06 +00:00
Hans-Peter Nilsson 23daf098c1 Correct annotation last entry 2003-05-13 01:58:04 +00:00
Hans-Peter Nilsson fdf63afff5 * gas/macros/app1.s, gas/macros/app1.d, gas/macros/app2.s,
gas/macros/app2.d, gas/macros/app3.s, gas/macros/app3.d,
	gas/macros/app4.s, gas/macros/app4b.s, gas/macros/app4.d: New
	tests.
	* gas/macros/macros.exp: Run them.
2003-05-13 01:57:11 +00:00
Hans-Peter Nilsson 64e55042d6 * read.c (old_buffer, old_input, old_limit): Remove variables.
(read_a_source_file): Delete label contin.
	<handling #APP/#NO_APP>: Use an "sb" to push #APP expansion into
	input as with macros, instead of in separate old_* variables.
	Zero-terminate string being scrubbed.
2003-05-13 01:51:40 +00:00
Nick Clifton e66c629e09 Allow xstormy-elf-gas to handle "@fptr() - @fptr()" expressions. 2003-05-12 09:09:11 +00:00
Jason Eckhardt 673a54e371 2003-05-11 Jason Eckhardt <jle@rice.edu>
* config/tc-i860.c (MAX_FIXUPS): Define.
        (struct i860_fi fi[]): New struct.
        (struct i860_it the_insn): Add above as member and move fields
        exp, reloc, pcrel and fup into i860_fi.
        (md_assemble): Replace all instances of exp, reloc, pcrel
        and fup with fi[].exp, fi[].reloc, fi[].pcrel, fi[].fup.
        Add a loop to possibly emit multiple fix-ups for each insn.
        (i860_process_insn): Likewise.
        (i860_get_expression): Likewise.
        (md_apply_fix3): Use a bitwise check for OP_IMM_U5, not equality.
2003-05-12 03:35:34 +00:00
Martin Schwidefsky 2ebb4b8890 * config/tc-s390.c (s390_target_format): Always call init_default_arch. 2003-05-09 15:32:52 +00:00
H.J. Lu 35f5df7fe8 gas/
2003-05-07  H.J. Lu <hongjiu.lu@intel.com>

	* config/tc-ia64.c (alias_hash): New.
	(alias_name_hash): New.
	(secalias_hash): New.
	(secalias_name_hash): New.
	(md_pseudo_table): Add "secalias".
	(md_begin): Initialize alias_hash, alias_name_hash,
	secalias_hash and secalias_name_hash.
	(struct alias): New.
	(dot_alias): Implement .alias and .secalias directives.
	(do_alias): New.
	(ia64_adjust_symtab): New.
	(do_secalias): New.
	(ia64_frob_file): New.

	* config/tc-ia64.h (ia64_adjust_symtab): New.
	(tc_adjust_symtab): Defined.
	(ia64_frob_file): New.
	(tc_frob_file): Defined.

gas/testsuite/

2003-05-07  H.J. Lu <hongjiu.lu@intel.com>

	* gas/ia64/ia64.exp: Add alias.

	* gas/ia64/alias.s: New.
	* gas/ia64/alias.d: Likewise.
2003-05-07 19:31:10 +00:00
Nick Clifton d2bf1bdacb (md_show_usage): Add missing lines to known cpus list. 2003-05-07 08:58:33 +00:00
Alexandre Oliva cac012d6d3 * configure.in (MIPS_DEFAULT_ABI): AC_DEFINE.
* config/tc-mips.c (mips_after_parse_args): Set mips_abi to it.
* config.in, configure: Rebuilt.
2003-05-07 05:10:45 +00:00
Alexandre Oliva 21b99e2658 * gas/mips/abs.d, gas/mips/add.d, gas/mips/and.d,
gas/mips/beq.d, gas/mips/bge.d, gas/mips/bgeu.d,
gas/mips/blt.d, gas/mips/bltu.d, gas/mips/branch-misc-1.d,
gas/mips/break20.d, gas/mips/cp0sel-names-mips32.d,
gas/mips/cp0sel-names-mips32r2.d,
gas/mips/cp0sel-names-mips64.d,
gas/mips/cp0sel-names-numeric.d, gas/mips/cp0sel-names-sb1.d,
gas/mips/elf-jal.d, gas/mips/elf-rel.d, gas/mips/elf-rel2.d,
gas/mips/elf-rel3.d, gas/mips/elf-rel4.d, gas/mips/elf-rel5.d,
gas/mips/elf-rel6.d, gas/mips/elf-rel7.d,
gas/mips/elf_arch_mips1.d, gas/mips/elf_arch_mips2.d,
gas/mips/elf_arch_mips3.d, gas/mips/elf_arch_mips32.d,
gas/mips/elf_arch_mips32r2.d, gas/mips/elf_arch_mips4.d,
gas/mips/elf_arch_mips5.d, gas/mips/elf_arch_mips64.d,
gas/mips/elf_ase_mips16.d, gas/mips/empic.d,
gas/mips/empic2.d, gas/mips/empic3_e.d, gas/mips/empic3_g1.d,
gas/mips/empic3_g2.d, gas/mips/hwr-names-mips32r2.d,
gas/mips/hwr-names-numeric.d, gas/mips/jal-empic-elf-2.d,
gas/mips/jal-empic-elf-3.d, gas/mips/jal-empic-elf.d,
gas/mips/jal-svr4pic.d, gas/mips/jal-xgot.d, gas/mips/jal.d,
gas/mips/la-empic.d, gas/mips/la-svr4pic.d,
gas/mips/la-xgot.d, gas/mips/la.d, gas/mips/lb-empic.d,
gas/mips/lb-svr4pic.d, gas/mips/lb-xgot-ilocks.d,
gas/mips/lb-xgot.d, gas/mips/lb.d, gas/mips/ld-empic.d,
gas/mips/ld-svr4pic.d, gas/mips/ld-xgot.d, gas/mips/ld.d,
gas/mips/li.d, gas/mips/lif-empic.d, gas/mips/lif-svr4pic.d,
gas/mips/lif-xgot.d, gas/mips/lifloat.d,
gas/mips/mips-gp32-fp32-pic.d, gas/mips/mips-gp32-fp32.d,
gas/mips/mips-gp32-fp64-pic.d, gas/mips/mips-gp32-fp64.d,
gas/mips/mips-gp64-fp32-pic.d, gas/mips/mips-gp64-fp32.d,
gas/mips/mips-gp64-fp64-pic.d, gas/mips/mips-gp64-fp64.d,
gas/mips/mips.exp, gas/mips/mips16-e.d, gas/mips/mips16-f.d,
gas/mips/mips32.d, gas/mips/mips32r2.d, gas/mips/mips4010.d,
gas/mips/mips4650.d, gas/mips/mips64.d, gas/mips/mipsel16-e.d,
gas/mips/mipsel16-f.d, gas/mips/rol-hw.d, gas/mips/rol.d,
gas/mips/sb.d, gas/mips/sync.d, gas/mips/tempic.d,
gas/mips/tmips16-e.d, gas/mips/tmips16-f.d,
gas/mips/tmipsel16-e.d, gas/mips/tmipsel16-f.d,
gas/mips/trunc.d, gas/mips/uld.d, gas/mips/ulh-empic.d,
gas/mips/ulh-svr4pic.d, gas/mips/ulh-xgot.d, gas/mips/ulh.d,
gas/mips/ulh2-eb.d, gas/mips/ulh2-el.d, gas/mips/ulw.d,
gas/mips/ulw2-eb.d, gas/mips/ulw2-eb-ilocks.d, gas/mips/ulw2-el.d,
gas/mips/ulw2-el-ilocks.d, gas/mips/usd.d, gas/mips/ush.d,
gas/mips/usw.d, gas/mips/vr4122.d: Added ABI specification.
gas/vtable/vtable.exp: mips64*-*-linux* and mips*-*-irix6* are
RELA.
2003-05-07 05:08:20 +00:00
H.J. Lu d8dbbec1ca 2003-05-05 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (tc_gen_reloc): Add addend just once if
	howto->partial_inplace is false.
2003-05-06 00:28:25 +00:00
Daniel Jacobowitz 9204e615fb * config/tc-mips.c (mips_need_elf_addend_fixup): Remove
symbol_used_in_reloc_p check.
	(md_apply_fix3): Remove check for howto->pcrel_offset.
2003-05-06 00:16:12 +00:00
H.J. Lu 1f88a2f93a 2003-05-03 H.J. Lu <hjl@gnu.org>
* gas/elf/symver.s: Use '%' instead of '@' in .type.
	* gas/elf/type.s: Likewise.
2003-05-04 06:52:38 +00:00
H.J. Lu 633a0b73d4 2003-05-03 H.J. Lu <hjl@gnu.org>
* gas/elf/elf.exp (run_list_test): Support pipe for readelf.

	* gas/elf/type.e-m32r: Removed.
	* gas/elf/type.e-mips: Likewise.
	* gas/elf/type.e-miwmmxt: Likewise.

	* gas/elf/type.e: Updated.
2003-05-03 18:51:21 +00:00
H.J. Lu 711ef82f1d gas/
2003-05-03  H.J. Lu <hjl@gnu.org>

	* config/obj-elf.c (obj_elf_parse_section_letters): Make it a
	fatal error for unknown section attribute.

	* config/tc-alpha.c (alpha_elf_section_letter): Return -1 for
	unknown section attribute.
	* config/tc-ia64.c (ia64_elf_section_letter): Likewise.
	* config/tc-ppc.c (ppc_section_letter): Likewise.

	* config/tc-ia64.c (ia64_elf_section_letter): Handle 'o'.
	(ia64_elf_section_type): Accept "unwind".

gas/testsuite/

2003-05-03  H.J. Lu <hjl@gnu.org>

	* gas/ia64/ia64.exp: Add unwind.

	* gas/ia64/unwind.s: New. Test the new section attribute 'o'
	and the new section type "unwind".
	* gas/ia64/unwind.d: Likewise.
2003-05-03 16:04:12 +00:00
Chris Demetriou 74cb52a637 2003-05-02 Chris Demetriou <cgd@broadcom.com>
* gas/mips/mips.exp (mips_arch_init): Reimplement in
        a way that's safe with ancient versions of tcl/expect.
2003-05-03 06:52:20 +00:00
H.J. Lu 83b5ab55b3 2003-05-02 H.J. Lu <hjl@gnu.org>
* read.h (demand_copy_string): New.

	* config/tc-alpha.c (demand_copy_string): Removed.
2003-05-03 06:10:59 +00:00
Michael Snyder 7ff0565e83 2003-05-02 Michael Snyder <msnyder@redhat.com>
* write.h (FAKE_LABEL_NAME): Allow override
	(for targets that like eg. a leading dot in a local label).
2003-05-02 18:38:49 +00:00
Nick Clifton 2968149b03 Fix xstormy16's handling of pc-relative relocs against defined symbols. 2003-05-02 12:42:13 +00:00
Chris Demetriou 4d8728e16b 2003-05-01 Chris Demetriou <cgd@broadcom.com>
* gas/mips/mips.exp (mips_arch_init): New function.
        Call it before setting up architecture array entries.
2003-05-02 05:29:13 +00:00
H.J. Lu e7b9a8c1d0 2003-05-01 H.J. Lu <hjl@gnu.org>
* config/obj-elf.c (obj_elf_type): Accept "notype" and
	"STT_NOTYPE".
2003-05-02 03:01:44 +00:00
H.J. Lu 5c1aa77e69 2003-05-01 H.J. Lu <hjl@gnu.org>
* gas/elf/elf.exp (run_list_test): Accept empty $opts.
	Add type test.

	* gas/elf/type.e: New file.
	* gas/elf/type.s: Likewise.
	* gas/elf/type.e-m32r: Likewise.
	* gas/elf/type.e-mips: Likewise.
	* gas/elf/type.e-miwmmxt: Likewise.
2003-05-02 03:00:49 +00:00
H.J. Lu 612d7b83dd gas/
2003-05-01  H.J. Lu <hjl@gnu.org>

	* config/tc-ia64.h (tc_canonicalize_section_name): New.

	* config/obj-elf.c (obj_elf_section_name): Call
	tc_canonicalize_section_name if it is defined.

gas/testsuite/

2003-05-01  H.J. Lu <hjl@gnu.org>

	* gas/ia64/ia64.exp: Add secname.

	* gas/ia64/secname.s: New. Test the trailing '#' in section
	name.
	* gas/ia64/secname.d: Likewise.
2003-05-02 02:46:36 +00:00
H.J. Lu 395f4d9b6a 2003-05-01 H.J. Lu <hjl@gnu.org>
* gas/ia64/ia64.exp: Add "global".

	* gas/ia64/global.d: New file.
	* gas/ia64/global.s: Likewise.
2003-05-02 02:43:28 +00:00
H.J. Lu a645d1eb84 2003-05-01 H.J. Lu <hjl@gnu.org>
* config/tc-ia64.c (ia64_check_label): New.
	* config/tc-ia64.h (tc_check_label): New.

	* read.c (read_a_source_file): Call tc_check_label after
	creating a user-defined label if defined.
2003-05-02 02:41:45 +00:00
Alan Modra df12615d91 * config/tc-ppc.c (md_show_usage): Mention -a32, -a64, -l, -le, -b,
-be and split strings to below 509 bytes in length.
2003-05-02 02:29:22 +00:00
Christian Groessler f70c841233 * expr.h: Fix comments in operatorT typedef.
* config/tc-z8k.c: Add 2003 to copyright message.
        Fold s_segm() and s_unseg() into one function s_segm(parm) which
        decides by the parameter.
        (md_begin): Don't set linkrelax.  Only set Z8002 default if no
        command line argument was given to select the intended
        architecure.
        (get_interrupt_operand): Warn if NOP type code is emitted.
        (newfix): New parameter 'size', forward it to 'fix_new_exp'.
        (apply_fix): Call newfix with additional 'size' parameter.
        (build_bytes): Remove unused variable 'nib'.  Detect overflow in
        4 bit immediate arguments.
        (md_longopts): Add 'linkrelax' option.
        (md_parse_option): Adapt to new s_segm function.  Set 'linkrelax'
        variable when 'linkrelax' command line option is specified.
        (md_show_usage): Display 'linkrelax' option.
        (md_apply_fix3): Fix cases R_IMM4L, R_JR, and R_IMM8.  Add cases
        R_CALLR and R_REL16.
        * config/tc-z8k.h: Undef WARN_SIGNED_OVERFLOW_WORD.
2003-05-01 20:05:45 +00:00
Christian Groessler 7f31df7cab * expr.h: Fix comments in operatorT typedef.
* config/tc-z8k.c: Add 2003 to copyright message.
	Fold s_segm() and s_unseg() into one function s_segm(parm) which
	decides by the parameter.
	(md_begin): Don't set linkrelax.  Only set Z8002 default if no
	command line argument was given to select the intended
	architecure.
	(get_interrupt_operand): Warn if NOP type code is emitted.
	(newfix): New parameter 'size', forward it to 'fix_new_exp'.
	(apply_fix): Call newfix with additional 'size' parameter.
	(build_bytes): Remove unused variable 'nib'.  Detect overflow in
	4 bit immediate arguments.
	(md_longopts): Add 'linkrelax' option.
	(md_parse_option): Adapt to new s_segm function.  Set 'linkrelax'
	variable when 'linkrelax' command line option is specified.
	(md_show_usage): Display 'linkrelax' option.
	(md_apply_fix3): Fix cases R_IMM4L, R_JR, and R_IMM8.  Add cases
	R_CALLR and R_REL16.
	* config/tc-z8k.h: Undef WARN_SIGNED_OVERFLOW_WORD.
2003-05-01 19:59:33 +00:00
H.J. Lu 10a9829174 gas/
2003-04-30  H.J. Lu <hjl@gnu.org>

	* config/tc-ia64.c (ia64_number_to_chars): New function pointer.
	(ia64_float_to_chars): Likewise.
	(dot_byteorder): Set target_big_endian, ia64_number_to_chars
	and ia64_float_to_chars by tc_segment_info_data.endian from
	the current segment if byteorder == -1.
	(md_begin): Call dot_byteorder to set target_big_endian.
	(md_atof): Call ia64_float_to_chars to convert floating point.
	(ia64_float_to_chars_bigendian): New function.
	(ia64_float_to_chars_littleendian): Likewise.
	(ia64_elf_section_change_hook): Likewise.

	* config/tc-ia64.h (ia64_number_to_chars): New.
	(md_number_to_chars): Changed to (*ia64_number_to_chars)
	(ia64_elf_section_change_hook): New.
	(md_elf_section_change_hook): Defined.
	(ia64_segment_info_type): New struct.
	(TC_SEGMENT_INFO_TYPE): Defined.

gas/testsuite/

2003-04-30  H.J. Lu <hjl@gnu.org>

	* gas/ia64/ia64.exp: Add order.

	* gas/ia64/order.s: New file.
	* gas/ia64/order.d: Likewise.
2003-05-01 01:00:30 +00:00
H.J. Lu bf57c3c94d gas/
2003-04-30  H.J. Lu <hjl@gnu.org>

	* config/tc-ia64.c (md_section_align): Deleted.

	* config/tc-ia64.h (SUB_SEGMENT_ALIGN): New.
	(md_section_align): New.

gas/testsuite/

2003-04-29  H.J. Lu <hjl@gnu.org>

	* gas/ia64/ia64.exp: Add align.

	* gas/ia64/align.d: New file.
	* gas/ia64/align.s: Likewise.

	* ia64/dependency-1.d: Remove the padding.

ld/testsuite/

2003-04-29  H.J. Lu <hjl@gnu.org>

	* ld-ia64/tlsbin.dd: Updated.
	* ld-ia64/tlsbin.rd: Likewise.
	* ld-ia64/tlsbin.sd: Likewise.
	* ld-ia64/tlsbin.td: Likewise.
	* ld-ia64/tlspic.rd: Likewise.
	* ld-ia64/tlspic.sd: Likewise.
	* ld-ia64/tlspic.td: Likewise.
2003-05-01 00:53:39 +00:00
H.J. Lu 165a7f90d4 gas/
2003-04-30  H.J. Lu <hjl@gnu.org>

	* config/tc-ia64.c (stmt_float_cons): Fix alignment for real10
	and add real16.
	(md_pseudo_table): Add "xreal16", "xreal16.ua", "real16" and
	"real16.ua".
	(md_atof): Add 6 byte padding of zero for real16.

gas/testsuite/

2003-04-29  H.J. Lu <hjl@gnu.org>

	* gas/ia64/ia64.exp: Add real.

	* gas/ia64/real.s: New file.
	* gas/ia64/real.d: Likewise.
2003-04-30 21:38:55 +00:00
Nick Clifton eba874d8d0 Fix problem parsing symbol version strings when they are preceeded by whitespace.
Add test to catch this problem in the future.
2003-04-29 11:52:37 +00:00
Chris Demetriou dbeba5e5c3 2003-04-28 Chris Demetriou <cgd@broadcom.com>
* configure.in (mips-*-*n*bsd*): Replace with...
        (mips-*-netbsd*, mips-*-openbsd*): These.
        * configure: Regenerate.
2003-04-28 23:48:42 +00:00
Nick Clifton f0d7d5f9db * config/tc-hppa.c (hppa_symbol_chars): New.
* config/tc-hppa.h (tc_symbol_chars): Likewise.
2003-04-28 08:35:06 +00:00
Thiemo Seufer a38b42ab8e * config/tc-mips.h (TC_FORCE_RELOCATION_SUB_SAME): Define again. 2003-04-26 20:57:14 +00:00
Chris Demetriou 69be0a2b83 2003-04-25 Chris Demetriou <cgd@broadcom.com>
* NEWS: Belatedly mention support for MIPS32 Release 2.
2003-04-26 01:35:58 +00:00
Eric Christopher 684022eae4 2003-04-24 Eric Christopher <echristo@redhat.com>
* config/tc-mips.c (nopic_need_relax): Revert previous
        change.
2003-04-25 04:40:09 +00:00
Nick Clifton 504c3621cf Add tests of conditional branch instructions with probability postfixes 2003-04-24 17:04:22 +00:00
Nick Clifton 2c8714f20f Add support for dwarf2 debug information. 2003-04-24 12:47:32 +00:00
Nick Clifton 8d9cd6b19b Add support for h8300hn and h8300sn 2003-04-24 12:36:08 +00:00
Nick Clifton 5ce8663f49 Add '+' and '-' as valid symbol characters for PPC port. 2003-04-24 10:22:35 +00:00
Joern Rennecke ef23021837 bfd:
* archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
        * cpu-sh.c: Likewise.
        * elf32-sh.c: Likewise.
        * reloc.c (bfd_reloc_code_real): Likewise.
        * elf32-sh64-com.c: Change comment to refer to SuperH.
        * elf32-sh64.c: Likewise.
        * elf64-sh64.c: Likewise.
        * bfd-in2.h (enum bfd_architecture): Regenerate.
binutils:
        * readelf.c (get_machine_name) <EM_SH>: Amend return value
        to refer to SuperH.
gas:
        * config/tc-sh.c: Amend comment to refer to SuperH.
        * config/tc-sh.h: Likewise.
        (LISTING_HEADER): Amend to refer to SuperH.
        * config/tc-sh64.c: Change comment to refer to SuperH.
        * config/tc-sh64.h (LISTING_HEADER): Change to refer to SuperH.
        * doc/as.texinfo [SH, GENERIC]: Amend / Change to refer to SuperH.
        * doc/c-sh.texi: Amend to refer to SuperH.
        Add SuperH architecture documentation references.
        * doc/c-sh64.texi: Change to refer to SuperH.
include/elf:
        * common.h (EM_SH): Amend comment to refer to SuperH.
ld/testsuite:
        * ld-sh/sh64/crange3-cmpct.rd (Machine): Change to refer to SuperH.
        * ld-sh/sh64/crange3-media.rd (Machine): Likewise.
2003-04-23 21:09:04 +00:00
Nick Clifton 204cd129d1 More checks for valid labels 2003-04-23 17:51:42 +00:00
H.J. Lu 2cdb18a769 2003-04-22 H.J. Lu <hjl@gnu.org>
* app.c (do_scrub_chars): Check for valid label.
2003-04-22 17:46:51 +00:00
Nick Clifton 26597c8633 Replace references to Mitsubishi M32R with references to Renesas M32R. 2003-04-22 16:22:26 +00:00
Richard Henderson 88b4ca4072 * dwarf2dbg.c (get_filenum): Skip as-yet unassigned file numbers.
(out_file_list): Assign non-null filename after generating error.
2003-04-21 18:23:25 +00:00
Jakub Jelinek e5f08f7e33 * ehopt.c (check_eh_frame): For aug_size == 0
in state_seeing_aug_size state skip the state_skipping_aug
	state.
2003-04-18 11:53:12 +00:00
Nick Clifton c2dcd04ec8 Replace occurrances of 'Hitachi' with 'Renesas'. 2003-04-15 08:51:55 +00:00
Alexandre Oliva 05760fd2f6 * gas/mips/elf-rel-got-n32.d, gas/mips/elf-rel-got-n32.s,
gas/mips/elf-rel-got-n64.d, gas/mips/elf-rel-got-n64.s,
gas/mips/elf-rel-xgot-n32.d, gas/mips/elf-rel-xgot-n64.d: New.
* gas/mips/mips.exp: Test them.
2003-04-11 01:56:52 +00:00
Alexandre Oliva f5040a92c5 * config/tc-mips.h (tc_frag_data_type, TC_FRAG_TYPE): New.
* config/tc-mips.c: Use signed add for n32 address arithmetic.
(append_insn): When filling delay slots with instructions
that have fixups that tc_gen_reloc might consider modifyable
in variant frags, start a new frag.
(load_address): Generate GOT_DISP with of without offset
depending on whether symbol is local.  For -xgot, use
GOT_PAGE/GOT_OFST or GOT_HI16/GOT_LO16.
(macro) <M_DLA_AB, M_LA_AB>: Likewise.
<M_JAL_A>: In NewABI, use CALL16 or GOT_DISP for small got,
CALL_HI16/CALL_LO16 or GOT_PAGE/GOT_OFST for big got.
<ld_st>: In NewABI with small got, always use
GOT_PAGE/GOT_OFST, with the latter in the load/store
instruction.  With big got, use GOT_HI16/GOT_LO16 or
GOT_PAGE/GOT_OFST.
(tc_gen_reloc): Adjust variant frags with GOT_DISP in NewABI.
Add tc_frag_data.tc_fr_offset to addends.  Decay CALL16,
GOT_OFST and GOT_DISP to GOT_DISP in NewABI.
(md_convert_frag): Use memmove for safe copying of overlapping
regions.
2003-04-11 01:56:50 +00:00
Stephane Carrez 35b55ed213 * doc/c-m68hc11.texi (M68HC11-Opts): Document -m68hcs12, -mshort,
-mlong, -mshort-double and -mlong-double options; use table @code.
	(M68HC11-Syntax): Update to document 68HC12 operands.
	(M68HC11-Modifiers): New section for operand modifiers.
	(M68HC11-Directives): New section for specific assembler directives.
	(M68HC11-Branch): Fix Overfull hbox error.
2003-04-09 21:48:39 +00:00