Commit Graph

2286 Commits

Author SHA1 Message Date
H.J. Lu 12b55ccc43 2003-06-09 H.J. Lu <hongjiu.lu@intel.com>
* NEWS: Updated for the new -n option for the i386 assembler.

	* config/tc-i386.c (optimize_align_code): New.
	(md_shortopts): Add 'n'.
	(md_parse_option): Handle 'n'.
	(md_show_usage): Add '-n'.

	* config/tc-i386.h (optimize_align_code): Declared.
	(md_do_align): Optimize code alignment only if optimize_align_code
	is not 0.

	* doc/as.texinfo: Add the new -n option.

	* doc/c-i386.texi: Document the new -n option.
2003-06-10 06:46:34 +00:00
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