* gas/m68k/all.exp: Add mcf-trap.
* gas/m68k/mcf-trap.[sd]: New.
opcodes/
* m68k-opc.c (m68k_opcodes): Place trap instructions before set
conditionals. Add tpf coldfire instruction as alias for trapf.
* Makefile.am (TOOL_PROGS): Set from @TOOL_PROGS@.
(install-exec-local): Protect against TOOL_PROGS being empty.
* configure.in (TOOL_PROGS): New, set it appropriately.
* Makefile.in: Rebuilt.
* configure: Rebuilt.
* pex-win32.c (no_suffixes): Remove.
(std_suffixes): Add "" as first element.
(find_executable): Remove detection of already-present
extension. Try all suffixes in std_suffixes.
bfd/
* elf32-arm.c (elf32_arm_to_thumb_export_stub): Assert that output
section is present.
(allocate_dynrelocs): Only add export stub for symbols definind in
this object.
2006-10-25 Kazu Hirata <kazu@codesourcery.com>
gprof/
* hist.c, hist.h: Fix formatting.
gprof/
* Makefile.in (corefile.o): Depend on hist.h.
* corefile.c: Include hist.h.
2006-10-06 Vladimir Prus <vladimir@codesourcery.com>
* hist.h (struct histogram)
(histograms, num_histograms): New.
* hist.c (find_histogram, find_histogram_for_pc)
(read_histogram_header): New.
(s_lowpc, s_highpc, lowpc, highpc, hist_num_bins)
(hist_sample): Remove.
(hist_read_rec): Use the above, and handle multiple
histogram records with disjoint address ranges.
(hist_write_hist): Support several histogram records.
(scale_and_align_entries): Adjust for multiple histograms.
(hist_assign_samples_1): New.
(hist_assign_samples): Use the above.
(hist_clip_symbol_address): New.
* hist.h (hist_check_address)
(hist_clip_symbol_address): Declare.
* gmon_io.c (gmon_out_read, gmon_out_write): Adjust handling
of legacy format for multiple histogram changes.
* corefile.c (find_call): Check for core_text_space and
clip symbol address range here.
* vax.c (vax_find_call): Don't check for
core_text_space, or clip the symbol's address range here.
Use hist_check_address to check call's target address.
* sparc.c: Likewise.
* tahoe.c: Likewise.
* i386.c: Likewise.
* mips.c: Likewise. Also use core_text_sect->vma as the base
address for code accesses, just like other machine-specific
routines do.
2006-08-03 Kazu Hirata <kazu@codesourcery.com>
* gas/config/tc-m68k.c (archs): Add -mfido as an alias for
-mfido_a.
2006-06-23 Kazu Hirata <kazu@codesourcery.com>
* gas/config/tc-m68k.c (cpu_of_arch): Replace fido with
fido_a.
(archs): Likewise.
(m68k_ip): Likewise.
(select_control_regs): Likewise.
(md_show_usage): Replace -mfido with -mfidoa.
* include/opcode/m68k.h (fido): Rename to fido_a.
* opcodes/m68k-opc.c (m68k_opcodes): Replace fido with fido_a.
2006-06-22 Kazu Hirata <kazu@codesourcery.com>
* config.sub: Replace fido with fido.
* bfd/config.bfd: Likewise
* gas/configure.tgt: Likewise.
* gas/config/m68k-parse.h: Likewise.
* gas/config/tc-m68k.c: Likewise.
* gas/testsuite/gas/m68k/all.exp: Likewise.
* gas/testsuite/gas/m68k/fido.d: Rename to fido.d.
* gas/testsuite/gas/m68k/fido.s: Rename to fido.s.
* include/opcode/m68k.h: Replace fido with fido.
* ld/configure.tgt: Likewise.
* opcodes/m68k-dis.c: Likewise.
* opcodes/m68k-opc.c: Likewise.
2005-08-01 Kazu Hirata <kazu@codesourcery.com>
* gas/config/m68k-parse.h (m68k_register): Add CAC and MBB.
* gas/config/tc-m68k.c (fido_control_regs): New.
(cpu_of_arch): Add fido.
(archs): Add an entry for fido.
(m68k_ip): Add warnings for uses of tbl[su]{n,}[bwl] on
fido. Recognize CAC and MBB.
(init_tabl): Add CAC and MBB.
(select_control_regs): Choose fido as the current chip
when the current architecture is fido or when -mfido
is given explicitly.
* gas/testsuite/gas/m68k/all.exp: Disable operands, cas, and
bitfield on fido-*-*. Run fido on fido-*-*.
* gas/testsuite/gas/m68k/fido.d: New.
* gas/testsuite/gas/m68k/fido.s: Likewise.
* include/opcode/m68k.h: Document new control registers CAC
and MBB.
* opcodes/m68k-dis.c (print_insn_arg): Add cac and mbb.
* opcodes/m68k-opc.c (m68k_opcodes): Add sleep and trapx.
2005-07-22 Kazu Hirata <kazu@codesourcery.com>
* gas/config/tc-m68k.c (archs): Add fido as an OR of
cpu32 and fido.
(md_show_usage): Add -mfido.
* include/opcode/m68k.h (fido): New.
2005-07-11 Kazu Hirata <kazu@codesourcery.com>
* config.sub: Recognize fido and fido-*.
* bfd/config.bfd: Likewise.
* gas/configure.tgt: Likewise.
* ld/configure.tgt: Likewise.
Julian Brown <julian@codesourcery.com>
bfd/
* elf32-arm.c (copy_eabi_attributes): Correct starting offset.
(elf32_arm_merge_eabi_attributes): Mark output as initialized.
Only set Tag_CPU_name and Tag_ABI_PCS_R9_use if input attribute
is present.
gas/
* config/tc-arm.c (arm_is_eabi): New function.
* config/tc-arm.h (arm_is_eabi): New prototype.
(THUMB_IS_FUNC): Use ELF function type for EABI objects.
* doc/c-arm.texi (.thumb_func): Update documentation.
* configure.tgt (i[3-7]86-*-linux-*): Also define
targ_extra_libpath in want64 case.
* emulparams/elf_x86_64.sh: Handle i[3-7]86-*-linux-* the same as
x86_64*-linux*.
* libiberty.h: Declare pex_run_in_environment.
libiberty/
* pex-common.c: New function pex_run_in_environment.
* pex-common.h: Add environment parameter to exec_child.
* pex-msdos.c: Add environment parameter to pex_msdos_exec_child.
* pex-djgpp.c: Add environment parameter to pex_djgpp_exec_child.
(pex_djgpp_exec_child): Pass environment to child process.
* pex-unix.c: Add environment parameter to pex_unix_exec_child.
(pex_unix_exec_child): Pass environment to child process.
* pex-win32.c: Add environment parameter to pex_win32_exec_child.
New function env_compare for comparing VAR=VALUE pairs.
(win32_spawn): Assemble environment block and pass to CreateProcess.
(spawn_script): Pass environment through to win32_spawn.
(pex_win32_exec_child): Pass environment through to spawn_script and
win32_spawn.
* functions.texi: Regenerate.
* pexecute.txh: Document pex_run_in_environment.
Joseph Myers <joseph@codesourcery.com>
Ian Lance Taylor <ian@wasabisystems.com>
Ben Elliston <bje@wasabisystems.com>
bfd/
* archures.c: Add definition for bfd_mach_arm_iWMMXt2.
* cpu-arm.c (processors): Add bfd_mach_arm_iWMMXt2.
(arch_info_struct, bfd_arm_update_notes): Likewise.
(architectures): Likewise.
(bfd_arm_merge_machines): Check for iWMMXt2.
* bfd-in2.h: Rebuild.
gas/
* config/tc-arm.c (enum operand_parse_code): New code OP_RIWR_I32z.
(parse_operands): Handle OP_RIWR_I32z.
(do_iwmmxt_wmerge): New function.
(do_iwmmxt_wldstd): Handle iwmmxt2 case where second operand is
a register.
(do_iwmmxt_wrwrwr_or_imm5): New function.
(insns): Mark instructions as RIWR_I32z as appropriate.
Also add torvsc<b,h,w>, wabs<b,h,w>, wabsdiff<b,h,w>,
waddbhus<l,m>, waddhc, waddwc, waddsubhx, wavg4{r}, wmaddu{x,n},
wmadds{x,n}, wmerge, wmiaxy{n}, wmiawxy{n}, wmul<sm,um>{r},
wmulw<um,sm,l>{r}, wqmiaxy{n}, wqmulm{r}, wqmulwm{r}, wsubaddhx.
(md_begin): Handle IWMMXT2.
(arm_cpus): Add iwmmxt2.
(arm_extensions): Likewise.
(arm_archs): Likewise.
gas/testsuite/
* gas/arm/iwmmxt2.s: New file.
* gas/arm/iwmmxt2.d: New file.
opcodes/
* arm-dis.c (coprocessor_opcodes): The X-qualifier to WMADD may
only be used with the default multiply-add operation, so if N is
set, don't bother printing X. Add new iwmmxt instructions.
(IWMMXT_INSN_COUNT): Update.
(iwmmxt_wwssnames): Qualify "wwss" names at index 2, 6, 10 and 14
with a 'c' suffix.
(print_insn_coprocessor): Check for iWMMXt2. Handle format
specifiers 'r', 'i'.
* config/tc-arm.c (parse_immediate): Add BOUNDED parameter, rename
to...
(parse_immediate_maybe_bounded): This. Only bounds-check if BOUNDED
is true.
(parse_immediate_bounded): New function, with same arguments and
semantics as previous parse_immediate.
(parse_immediate_unbounded): New function. Parse an unbounded
integer (with sizeof (exp.X_add_number)).
(parse_big_immediate): Allow for 64-bit exp.X_add_number when
parsing 64-bit immediates.
(parse_address_main): Use parse_immediate_bounded not
parse_immediate.
(parse_ror): Likewise.
(parse_operands): Likewise. For Neon immediates, use
parse_immediate_unbounded. Add new local po_imm_unb_or_fail macro.
bfd/
* elf32-arm.c (elf32_arm_swap_symbol_out): Remove
unconditionall setting of low bit for Thumb symbol
mistakenly left behind after check for external
symbols was added.
ld/testsuite/
* ld-arm/use-thumb-lib.sym: Use regexps instead of
absolute addresses, for robustness.
gas/
* config/tc-arm.c (do_neon_dyadic_if_i): Remove.
(do_neon_dyadic_if_i_d): Avoid setting U bit.
(do_neon_mac_maybe_scalar): Ditto.
(do_neon_dyadic_narrow): Force operand type to NT_integer.
(insns): Remove out of date comments.
gas/testsuite/
* gas/arm/neon-cov.s: Test .u and .s aliases for .i suffixes.
* gas/arm/neon-cov.d: Adjust expected output.
opcodes/
* arm-dis.c (neon_opcode): Fix suffix on VMOVN.