Commit Graph

4239 Commits

Author SHA1 Message Date
Kai Tietz
6e0973c0aa 2010-08-31 Kai Tietz <kai.tietz@onevision.com>
* config/obj-coff-seh.c (obj_coff_seh_save): Correct comparison.
        (obj_coff_seh_stackalloc): Likewise.
2010-08-31 14:45:35 +00:00
Alan Modra
91952a0680 * config/obj-elf.c (obj_elf_init_stab_section): Fix assertion. 2010-08-31 05:34:46 +00:00
Richard Henderson
681418c21c * config/obj-coff-seh.c: Rewrite the entire file.
(symtab, symptr, reltab, relcount, relsize): Remove.
	(seh_ctx_root, seh_ctx): Remove.
	(xdata_seg, xdata_subseg, pdata_seg): New.
	(switch_xdata, switch_pdata): New.
	(verify_context, verify_context_and_target, skip_whitespace_and_comma):
	New parsing functions.  Rewrite all parsing functions to use them.
	(obj_coff_seh_32): Fix != arm thinko.
	(obj_coff_seh_handler): For x64, don't accept handler pointer here,
	only flags.
	(obj_coff_seh_handlerdata): New.
	(do_seh_endproc): Split out of ...
	(obj_coff_seh_endproc): ... here.
	(obj_coff_seh_proc): Use it, if needed.
	(seh_x64_make_prologue_element): Use XRESIZEVEC, symbol_temp_new_now.
	(seh_x64_read_reg): Remove mm_regs alternative.  Tidy integer reg
	alternatives.  Don't slurp commas.
	(seh_read_offset): Remove.
	(obj_coff_seh_pushframe): Split out from obj_coff_seh_push.
	(obj_coff_seh_scope): Remove.
	(obj_coff_seh_save): Decide UWOP_SAVE_* vs _FAR immediately.
	(obj_coff_seh_stackalloc): Decide _SMALL vs _LARGE immediately.
	(out_one, out_two, out_four): New.
	(seh_x64_write_prologue_data, seh_x64_size_prologue_data,
	seh_x64_write_function_xdata, write_function_xdata): Rewrite
	from seh_x64_write_xdata, seh_needed_unwind_info, seh_store_elm_data,
	seh_getelm_data_size, seh_getsize_of_unwind_entry,
	seh_make_unwind_entry, seh_getsize_unwind_data, and
	seh_create_unwind_data.
	(seh_arm_write_function_pdata): Rewrite from seh_arm_create_pdata.
	(write_function_pdata): Rewrite from make_function_entry_pdata.
	(seh_write_text_eh_data, make_function_entry_pdata,
	seh_arm_create_pdata, seh_arm_write_pdata, seh_reloc, save_relocs,
	seh_symbol_init, seh_symbol, quick_section, seh_emit_rva,
	seh_emit_long, seh_make_globl, seh_make_section2, seh_make_section,
	seh_make_xlbl_name, make_seh_text_label, seh_fill_pcsyms,
	seh_needed_unwind_info, seh_store_elm_data, seh_getelm_data_size,
	seh_getsize_of_unwind_entry, seh_make_unwind_entry,
	seh_getsize_unwind_data, seh_create_unwind_data,
	seh_make_function_entry_xdata, seh_x64_makescope_elem): Remove.
	* config/obj-coff-seh.h (SEH_CMDS): Remove seh_savemm, seh_scope.
	Add seh_handlerdata.  Adjust function/what arguments for
	seh_savereg, seh_pushframe, seh_stackalloc.
	(struct seh_prologue_element): Adjust members to closer match
	the elements of the UNWIND_CODE structure.
	(struct seh_scope_elem): Remove.
	(struct seh_context): Replace char* members with symbolS or
	expressionS as appropriate.  Sort members by ARM/x64 applicability.
	Remove obsolete stuff wrt direct symbol and reloc manipulation.
2010-08-30 21:51:28 +00:00
H.J. Lu
5fec85997f Move gas/ld NEWS from binutils to gas/ld. 2010-08-25 16:03:58 +00:00
Alan Modra
6f0341784b * configure.tgt (m68k-*-aout): Change to bfd_gas=yes. 2010-08-25 12:03:30 +00:00
Alan Modra
4ad7ac30ca * config/tc-d10v.c (do_assemble): Correctly detect overflow of
"name" buffer.
	* config/tc-m68hc11.c (md_assemble): Likewise.
	* config/tc-microblaze.c (md_assemble): Likewise.  Correct cast
	of is_end_of_line index.
2010-08-25 11:51:07 +00:00
Jie Zhang
dc5ec521f1 * config/tc-arm.c (encode_arm_addr_mode_2): Fix comment. 2010-08-25 05:59:13 +00:00
Jie Zhang
23a10334b2 * config/tc-arm.c (encode_arm_addr_mode_2): Fix
BAD_PC_ADDRESSING condition.

	testsuite/
	* gas/arm/ldst-pc.d: New test.
	* gas/arm/ldst-pc.s: New test.
	* gas/arm/sp-pc-validations-bad.s: `str r0,[pc,#4]' is valid.
	* gas/arm/sp-pc-validations-bad.l: Adjust accordingly.
2010-08-25 05:25:09 +00:00
Maciej W. Rozycki
f0cd06677b * doc/c-arm.texi (ARM Options): Document -mfpu=fp4-sp-d16. 2010-08-20 20:53:28 +00:00
H.J. Lu
43f3e2ee94 Fix a typo in comments.
2010-08-19  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (VEX_check_operands): Fix a typo in comments.
2010-08-19 21:04:36 +00:00
H.J. Lu
9f2670f27b Check i.imm_operands VEXXDS.
2010-08-18  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (build_modrm_byte): Check i.imm_operands
	instead of VEXXDS.
2010-08-18 19:36:41 +00:00
Alan Modra
d1f52f54d5 * macro.c (sub_actual): Add back ampersand suffix when no
substitution.
	(macro_expand_body): Correct comment.
2010-08-18 05:56:41 +00:00
Roland McGrath
01642c122a Add "?" pseudo-flag to ELF .section/.pushsection directives. 2010-08-17 20:03:41 +00:00
Cary Coutant
955974c6c5 * as.c (show_usage): Don't list --compress-debug-sections if zlib not
installed.
	(main): Warn if --compress-debug-sections requested and zlib not
	installed.
	* doc/as.texinfo: Add --compress-debug-sections,
	--nocompress-debug-sections.
2010-08-09 18:08:18 +00:00
H.J. Lu
49021df25c Re-indent config/tc-i386.c.
2010-08-06  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (set_cpu_arch): Re-indent.
	(md_parse_option): Likewise.
2010-08-06 19:47:00 +00:00
H.J. Lu
2210942396 Don't generate multi-byte NOPs for i686.
gas/

2010-08-06  Quentin Neill <quentin.neill@amd.com>

	* config/tc-i386.c (arch_entry): Add negated bit to
	  disambiguate flag names starting with "no".
	  (cpu_arch): Add negated bit definitions.  Add
	  ".nop" CPU extension.
	  (i386_align_code): Use new .cpunop bit to decide
	  when to generate alignment using nops.
	  (set_cpu_arch): Use negated bit instead to decide
	  when to use cpu_flags or vs. cpu_flags_and_not.
	  (md_parse_option): Likewise.

gas/testsuite/

2010-08-06  Quentin Neill <quentin.neill@amd.com>

	* gas/i386/arch-10-1.l: Add nopl instruction.
	* gas/i386/arch-10-2.l: Likewise.
	* gas/i386/arch-10-3.l: Likewise.
	* gas/i386/arch-10-4.l: Likewise.
	* gas/i386/arch-10.s: Likewise.
	* gas/i386/arch-10.d: Add nopl instruction, and +nopl extension
	flag to as flags.
	* gas/i386/nops-5-i686.d: Change alignment code generated for
	-mtune=i686.
	* gas/i386/nops-5.d: Change alignment code generated for
	.arch i686.
	* gas/i386/x86-64-nops-5-k8.d: Likewise.
	* gas/i386/x86-64-nops-5.d: Likewise.

opcodes/

2010-08-06  Quentin Neill <quentin.neill@amd.com>

	* i386-gen.c (cpu_flag_init): Define CpuNop extension flag, add
	to processor flags for PENTIUMPRO processors and later.
	* i386-opc.h (enum): Add CpuNop.
	(i386_cpu_flags): Add cpunop bit.
	* i386-opc.tbl: Change nop cpu_flags.
	* i386-init.h: Regenerated.
	* i386-tbl.h: Likewise.
2010-08-06 18:22:50 +00:00
H.J. Lu
01559eccf0 Move the first i.error out of the loop.
2010-08-04  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (match_template): Move the first i.error
	out of the loop.
2010-08-04 20:52:20 +00:00
Alan Modra
b96282be2d * configure.tgt (m32c): Set endian=little.
* config/tc-m32c.h (TARGET_BYTES_BIG_ENDIAN): Define as 0.
	* config/tc-m32c.c (md_number_to_chars): Revert last change.
2010-08-04 04:21:06 +00:00
Tristan Gingold
1222b29101 bfd/
2010-08-03  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (OBJS): Update list.

gas/
Index: gas/ChangeLog
2010-08-03  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (OBJS): Add Add compress-debug.c.
2010-08-03 14:29:00 +00:00
Alan Modra
e4d9f07834 * config/tc-d10v.h (TARGET_BYTES_BIG_ENDIAN): Define as 1.
* config/tc-m32c.c (md_number_to_chars): Call bigendian
	form of number_to_chars, not littleendian.
2010-08-03 10:53:10 +00:00
Alan Modra
69da848e6e * config/tc-d30v.c (d30v_cons_align): Don't align constants
in debug sections.
2010-08-02 13:53:29 +00:00
Alan Modra
93d90f466b PR gas/11867
* expr.c (operand <'-' and '~'>): Widen bignums.
	(operand <'!'>): Correct bignum result and convert to O_constant.
	* read.c (emit_expr): Don't assert on .byte bignum.  Don't display
	bignum truncated warning for sign extended bignums.
2010-08-02 13:19:44 +00:00
Alan Modra
cd94c7fbb3 * config/tc-v850.c (md_assemble): Always pass format string to
as_warn.
	(md_apply_fix): Similarly for as_warn_where.
2010-08-02 08:43:18 +00:00
H.J. Lu
f09c177238 Reformat config/tc-i386-intel.c.
2010-07-29  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386-intel.c: Reformat.
2010-07-29 19:23:38 +00:00
Alan Modra
cc9edbf353 * config/tc-ppc.c (ppc_fix_adjustable): Add got reloc types used
in large toc code.
2010-07-29 07:48:43 +00:00
Alan Modra
25313d6a3f PR gas/11841
* symbols.c (symbol_clone): Correct typo in previous patch.
2010-07-28 09:36:22 +00:00
Alan Modra
9d75b2885f PR gas/11841
* symbols.c (symbol_clone): Clear BSF_SECTION_SYM flag.
2010-07-28 08:43:46 +00:00
Alan Modra
5a93804749 * config/tc-ppc.c (md_assemble): Don't attempt to print NUL in
syntax error message.
2010-07-28 05:21:38 +00:00
Maciej W. Rozycki
2b2c11bd2d Fix up last ChangeLog entry in gas/ and bfd/. 2010-07-27 21:14:49 +00:00
Maciej W. Rozycki
667bf02aed * elf64-mips.c (mips_elf64_howto_table_rela)
[R_MIPS_TLS_DTPMOD64]: Clear partial_inplace.
	[R_MIPS_TLS_DTPREL64, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise.
	[R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise.
	[R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL64]: Likewise.
	[R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise.
	* elfn32-mips.c (elf_mips_howto_table_rela)
	[R_MIPS_TLS_DTPMOD32]: Likewise.
	[R_MIPS_TLS_DTPREL32, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise.
	[R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise.
	[R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL32]: Likewise.
	[R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise.
2010-07-27 21:08:33 +00:00
Maciej W. Rozycki
03ea81db63 * config/tc-mips.c (mips16_macro_build): Pass "args" by
reference rather than value.
	(macro_build): Update accordingly.
2010-07-27 21:04:59 +00:00
Maciej W. Rozycki
8680f6e184 * config/tc-mips.c (mips_ip): Use symbol_temp_new_now to create
a fake label.
2010-07-27 21:02:34 +00:00
Maciej W. Rozycki
d3fca0b5d4 gas/
* config/tc-mips.c (macro)[M_JAL_1, M_JAL_2]: Handle the JALR
	delay slot in the noreorder mode with the o32 ABI.

	gas/testsuite/
	* gas/mips/jal-svr4pic-noreorder.d: New test case.
	* gas/mips/mips1@jal-svr4pic-noreorder.d: New test
	subarchitecture.
	* gas/mips/r3000@jal-svr4pic-noreorder.d: Likewise.
	* gas/mips/jal-svr4pic-noreorder.s: Source for the new test
	case.
	* gas/mips/mips.exp: Run the new test case.
2010-07-24 01:51:53 +00:00
Nick Clifton
1cd986c585 Add support for v850E2 and v850E2V3 2010-07-23 14:52:54 +00:00
Alan Modra
c0ba1095fd PR gas/11834
* macro.c (macro_expand): Recover gracefully from named args that
	don't match params.
2010-07-23 06:44:25 +00:00
Thomas Schwinge
1575952e13 2010-07-22 Thomas Schwinge <thomas@codesourcery.com>
Switch MIPS to 32-bit DWARF format.
	* config/tc-mips.h (DWARF2_FORMAT): Only define for [TE_IRIX].
	* config/tc-mips.c (mips_dwarf2_format): Likewise.
2010-07-22 07:39:20 +00:00
H.J. Lu
0af8aa50ec Add missing ChangeLog entry. 2010-07-20 21:31:13 +00:00
Alan Modra
33740db9cd * config/tc-ppc.c (ppc_setup_opcodes): Add all macros for -many. 2010-07-20 05:07:23 +00:00
Alan Modra
4e92bb1cd7 * config/tc-rx.c (md_estimate_size_before_relax): Fix format
specifier warnings for 32-bit host when --enable-64-bit-bfd.
	(rx_relax_frag, md_convert_frag): Likewise.
2010-07-16 06:32:46 +00:00
Nathan Sidwell
6e8bd58f83 * config/obj-elf.c (get_sym_from_input_line_and_check): New
function to catch missing pseudo-op arguments.
	(obj_elf_local): Call new function.
	(obj_elf_weak): Likewise.
	(obj_elf_visibility): Likewise.
	(obj_elf_vtable_entry): Likewise.
	(obj_elf_type): Likewise.

	testsuite/
	* gas/elf/pseudo.s: New.
	* gas/elf/pseudo.l: New.
	* gas/elf/pseudo.d: New.
	* gas/elf/elf.exp: Run the new test.
2010-07-15 14:34:42 +00:00
Kai Tietz
1e17085dea 2010-07-15 Kai Tietz <kai.tietz@onevision.com>
* config/obj-coff-seh.c
	(seh_getelm_data_size): New.
	(seh_read_offset): Handle negative values.
	(obj_coff_seh_push): Handle offset for save-register store.
	(obj_coff_seh_setframe): Add unwind-information for frame.
	(seh_store_elm_data): New.
	(seh_getelm_data_size): Return additionally unaligned element count.
	(seh_make_unwind_entry): Correct tweak about element count.
2010-07-15 13:42:20 +00:00
H.J. Lu
92b4f90c93 Restore fall through patch for O_multiply.
2010-07-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/11806
	* config/tc-i386-intel.c (i386_intel_simplify): Restore fall
	through patch for O_multiply.
2010-07-12 20:36:01 +00:00
Kai Tietz
a7879ef118 2010-07-11 Kai Tietz <kai.tietz@onevision.com>
PR ld/11612
	* config/obj-coff.c (obj_common_parse): Quote symbol-name.

2010-07-11  Kai Tietz  <kai.tietz@onevision.com>

	* gas/pe/aligncomm-b.d: Regenerated content dump.
	* gas/pe/aligncomm-d,d: Regenerated content dump.
	* gas/i386/i386.exp: Disable for mingw 64-bit the intel-got64 test.
2010-07-11 08:45:51 +00:00
Richard Earnshaw
52e7f43db0 2010-07-08 Tejas Belagod <tejas.belagod@arm.com>
gas/testsuite
	* gas/arm/barrier.s: New file.
	* gas/arm/barrier.d: New file.
	* gas/arm/barrier-thumb.s: New file.
	* gas/arm/barrier-thumb.d: New file.
	* gas/arm/barrier-bad.s: New file.
	* gas/arm/barrier-bad.d: New file.
	* gas/arm/barrier-bad.l: New file.
	* gas/arm/barrier-bad-thumb.s: New file.
	* gas/arm/barrier-bad-thumb.d: New file.
	* gas/arm/barrier-bad-thumb.l: New file.

	gas/config
	* tc-arm.c (OP_oBARRIER): Remove.
	(OP_oBARRIER_I15): Add.
	(po_barrier_or_imm): Add macro.
	(parse_operands): Improve OP_oBARRIER_I15 operand parsing.
	(do_barrier): Check correct immediate range.
	(do_t_barrier): Likewise.
	(barrier_opt_names): Add entries for more symbolic operands.
	(insns): Replace OP_oBARRIER with OP_oBARRIER_I15 for barriers.

	opcodes/
	* arm-dis.c (print_insn_arm): Add cases for printing more
	symbolic operands.
	(print_insn_thumb32): Likewise.
2010-07-08 22:40:28 +00:00
Nathan Sidwell
db187cb9de * config/tc-arm.c (tc_gen_reloc): Add BFD_RELOC_ARM_T32_OFFSET_IMM
error message.

	testsuite/
	* gas/arm/reloc-bad.d: New.
	* gas/arm/reloc-bad.s: New.
	* gas/arm/reloc-bad.l: New.
2010-07-08 06:22:24 +00:00
Maciej W. Rozycki
30cfc97a80 gas/
* config/tc-mips.c (mips_frob_file): Use symbol_same_p to match
	symbols.

	gas/testsuite/
	* gas/mips/elf-rel27.d: New test for HI16/LO16 relocation
	pairing.
	* gas/mips/elf-rel27.s: Source for the new test.
	* gas/mips/mips.exp: Create "mips16" architecture.  Adjust
	conditions involving negated properties throughout to require
	"mips1" as appropriate.  Run the new test.
	(mips_arch_destroy): New procedure.
2010-07-06 00:12:42 +00:00
Maciej W. Rozycki
9a2c708887 gas/
* config/tc-mips.c (nops_for_insn_or_target): Replace
	MIPS16_INSN_BRANCH with MIPS16_INSN_UNCOND_BRANCH and
	MIPS16_INSN_COND_BRANCH.

	include/opcode/
	* mips.h (MIPS16_INSN_UNCOND_BRANCH): New macro.
	(MIPS16_INSN_BRANCH): Rename to...
	(MIPS16_INSN_COND_BRANCH): ... this.

	opcodes/
	* mips-dis.c (print_mips16_insn_arg): Remove branch instruction
	type and delay slot determination.
	(print_insn_mips16): Extend branch instruction type and delay
	slot determination to cover all instructions.
	* mips16-opc.c (BR): Remove macro.
	(UBR, CBR): New macros.
	(mips16_opcodes): Update branch annotation for "b", "beqz",
	"bnez", "bteqz" and "btnez".  Add branch annotation for "jalrc"
	and "jrc".
2010-07-06 00:02:46 +00:00
H.J. Lu
df1c40a732 Don't generate .debug_line section if it isn't empty.
binutils/testsuite/

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

	PR gas/10531
	PR gas/11789
	* binutils-all/objdump.W: Remove bogus line debug info.

gas/

2010-07-05  Jim Wilson  <wilson@codesourcery.com>

	PR gas/10531
	PR gas/11789
	* dwarf2dbg.c (dwarf2_finish): Don't generate .debug_line section
	if it isn't empty.

gas/testsuite/

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

	PR gas/10531
	PR gas/11789
	* gas/i386/dw2-compress-1.d: Remove bogus line debug info.

	* gas/elf/dwarf2-1.d: New.
	* gas/elf/dwarf2-1.s: Likewise.
	* gas/elf/dwarf2-2.d: Likewise.
	* gas/elf/dwarf2-2.s: Likewise.
	* gas/elf/dwarf2-3.d: Likewise.
	* gas/elf/dwarf2-3.s: Likewise.
	* gas/i386/debug1.d: Likewise.
	* gas/i386/debug1.s: Likewise.

	* gas/elf/elf.exp: Run dwarf2-1, dwarf2-2 and dwarf2-3.

	* gas/i386/i386.exp: Run debug1 for both 32bit and 64bit.
2010-07-05 15:07:20 +00:00
Jan Beulich
de3d0f0ef6 Remove bogus bugzilla references. 2010-07-05 07:59:12 +00:00
Alan Modra
793d370eaa * config/tc-moxie.c (md_apply_fix): Delete set but otherwise
unused var.
2010-07-05 05:56:11 +00:00