Nick Clifton [Fri, 22 Feb 2008 15:33:31 +0000 (15:33 +0000)]
* gas/m68hc11/bug-1825.d: Update to match changes in the
information generated with source-in-disassembly listings.
* gas/m68hc11/indexed12.d: Likewise.
* gas/m68hc11/insns-dwarf2.d: Likewise.
* gas/m68hc11/lbranch-dwarf2.d: Likewise.
Nick Clifton [Fri, 22 Feb 2008 14:19:43 +0000 (14:19 +0000)]
PR ld/5785
* ldlang.c (lang_size_sections_1): Honour the setting of an
lma_region even if there is no vma region set, or the vma region
is the same as the lma region.
Nick Clifton [Fri, 22 Feb 2008 09:42:58 +0000 (09:42 +0000)]
* objdump.c (display_file_offsets): New variable.
(long_options): Add -F/--file-offsets.
(objdump_print_addr_with_sym): If displaying file offsets, print
the offset of the given address.
(disassemble_bytes): If displaying file offsets, tell the user how
many zeroes are skipped and the file offset of the point where
dumping resumes.
(disassemble_section): Only display the name of the section if
data is going to be dumped from it.
(main): Handle new option. Produce error messages if the start or
stop addresses do not make sense.
* doc/binutils.texi: Document the new feature.
* NEWS: Mention the new feature.
Jan Beulich [Thu, 21 Feb 2008 16:18:04 +0000 (16:18 +0000)]
opcodes/
2008-02-21 Jan Beulich <jbeulich@novell.com>
* i386-opc.tbl: Allow Dword for far indirect call. Allow Dword
and Fword for far indirect jmp. Allow Reg16 and Word for near
indirect jmp on x86-64. Disallow Fword for lcall.
* i386-tbl.h: Re-generate.
* mipsnbsd-tdep.c (mipsnbsd_ilp32_fetch_link_map_offsets): Set
r_brk_offset.
(mipsnbsd_lp64_fetch_link_map_offsets): Likewise.
* solib-svr4.c (solib_svr4_r_brk): New.
(open_symbol_file_object, svr4_current_sos): Always check the
debug base.
(svr4_fetch_objfile_link_map): Do not set debug_base.
(enable_break): Use r_brk if it is set.
(svr4_ilp32_fetch_link_map_offsets): Set r_brk_offset.
(svr4_lp64_fetch_link_map_offsets): Likewise.
* solib-svr4.h (struct link_map_offsets): Add r_brk_offset.
Nick Clifton [Wed, 20 Feb 2008 17:42:36 +0000 (17:42 +0000)]
PR 868
* libbfd.c (bfd_realloc_or_free): New function. Performs like
bfd_realloc, but if the (re)allocation fails, the pointer is
freed.
* libbfd-in.h: Prototype.
* libbfd.h: Regenerate.
* bfdio.c (bfd_bwrite): Use the new function.
(bfd_seek): Likewise.
* bfdwin.c:(bfd_get_file_window): Likewise.
* elf-strtab.c (_bfd_elf_strtab_add): Likewise.
* elf32-ppc.c (ppc_elf_relax_section): Likewise.
* elf32-xtensa.c (vsprintf_msg): Likewise.
* mach-o.c (bfd_mach_o_core_fetch_environment): Likewise.
* stabs.c (_bfd_link_seciton_stabs): Likewise.
* vms-misc.c (_bfd_vms_get_record): Likewise.
* vms-tir.c (check_section): Likewise.
* vms.c (vms_new_section_hook): Likewise.
* elf32-arm.c (elf32_arm_section_map_add): Check that the
allocation of sec_data->map succeeded before using it.
* elflink.c (elf_link_output_sym): Do not overwrite finfo->
symshndxbuf until it is known that the reallocation succeeded.
Nick Clifton [Wed, 20 Feb 2008 15:56:33 +0000 (15:56 +0000)]
PR 868
* dwarf2.c (read_abbrevs): Free the abbreviation table if we run
out of memory.
(decode_line_info): Free the line_info_table before returning a
failure result.
(_bfd_dwarf2_cleanup_debug_info): Free the abbreviation table.
Free the line table. Free the function table. Free the variable
table.
Markus Deuling [Wed, 20 Feb 2008 15:45:20 +0000 (15:45 +0000)]
2008-02-20 Markus Deuling <deuling@de.ibm.com>
Mark Kettenis <kettenis@gnu.org>
* alpha-tdep.c (alpha_heuristic_unwind_cache): Replace saved_regs by
trad_frame_saved_reg.
(trad-frame.h): New include.
(alpha_heuristic_frame_unwind_cache): Use trad_frame_alloc_saved_regs
instead of frame_obstack_zalloc.
(alpha_heuristic_frame_prev_register): Use trad_frame_get_prev_register.
* Makefile.in (alpha-tdep.o): Add dependency to trad_frame_h.
* Makefile.def: Define stage_libcflags for all bootstrap stages.
* Makefile.tpl (BOOT_LIBCFLAGS, STAGE2_LIBCFLAGS, STAGE3_LIBCFLAGS,
STAGE4_LIBCFLAGS): New.
(CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Subst from autoconf, without
$(SYSROOT_CFLAGS_FOR_TARGET) and $(DEBUG_PREFIX_CFLAGS_FOR_TARGET).
(BASE_TARGET_EXPORTS): Append them here to C{,XX}FLAGS.
(EXTRA_TARGET_FLAGS): Append them here to {LIB,}C{,XX}FLAGS.
(configure-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags
for target modules. Don't export LIBCFLAGS.
(all-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags; pass
$(BASE_FLAGS_TO_PASS) where [+args+] was passed, and [+args+] after
the overridden CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
(invocations of `all'): Replace $(TARGET_FLAGS_TO_PASS) with
$(EXTRA_TARGET_FLAGS), $(FLAGS_TO_PASS) with $(EXTRA_HOST_FLAGS).
* Makefile.in: Regenerate.
config:
2008-02-20 Paolo Bonzini <bonzini@gnu.org>
Pedro Alves [Tue, 19 Feb 2008 21:36:54 +0000 (21:36 +0000)]
doc/
* gdb.texinfo (vAttach, vRun): Remove requirement of the stub
killing the inferior when it is already debugging a process.
gdbserver/
* server.c (handle_v_requests): When handling the vRun and vAttach
packets, if already debugging a process, don't kill it. Return an
error instead.
* hppa-linux-nat.c (hppa_linux_register_addr): Use ARRAY_SIZE instead
of gdbarch_num_regs.
* hppa-hpux-tdep.c (hppa_hpux_sr_for_addr): Add gdbarch as parameter and
replace current_gdbarch by gdbarch.
(hppa_hpux_push_dummy_code): Update call for hppa_hpux_sr_for_addr.
Markus Deuling [Mon, 18 Feb 2008 11:00:02 +0000 (11:00 +0000)]
* rs6000-nat.c (exec_one_dummy_insn, regmap): Add gdbarch as parameter
and replace current_gdbarch by gdbarch.
(store_register): Update call for exec_one_dummy_insn.
(fetch_register, store_register): Update call of regmap.
* ppcnbsd-nat.c (getregs_supplies, getfpregs_supplies): Add gdbarch as
parameter and replace current_gdbarch by gdbarch.
(ppcnbsd_store_inferior_registers): Use get_regcache_arch to get at
the current architecture. Update call for getregs_supplies and
getfpregs_supplies.
(ppcnbsd_fetch_inferior_registers): Likewise.
* ppcobsd-nat.c (getfpregs_supplies): Add gdbarch as parameter and
replace current_gdbarch by gdbarch.
(ppcobsd_fetch_registers, ppcobsd_store_registers): Use
get_regcache_arch to get at the current architecture. Update call for
getfpregs_supplies.
Nick Clifton [Mon, 18 Feb 2008 10:03:06 +0000 (10:03 +0000)]
* config/tc-mn10300.c (has_known_symbol_location): New function.
Do not regard weak symbols as having a known location.
(md_estimate_size_before_relax): Use new function.
(md_pcrel_from): Do not compute a pcrel against a weak symbol.
Jan Beulich [Mon, 18 Feb 2008 08:44:38 +0000 (08:44 +0000)]
gas/
2008-02-18 Jan Beulich <jbeulich@novell.com>
* config/tc-i386.c (match_template): Disallow 'l' suffix when
currently selected CPU has no 32-bit support.
(parse_real_register): Do not return registers not available on
currently selected CPU.
gas/testsuite/
2008-02-18 Jan Beulich <jbeulich@novell.com>
* gas/i386/att-regs.s, gas/i386/att-regs.d,
gas/i386/intel-regs.s, gas/i386/intel-regs.d: New.
* gas/i386/i386.exp: Run new tests.
H.J. Lu [Sat, 16 Feb 2008 16:16:48 +0000 (16:16 +0000)]
gas/
2008-02-16 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (inoutportreg): New.
(process_immext): New.
(md_assemble): Use it.
(update_imm): Use imm16 and imm32s.
(i386_att_operand): Use inoutportreg.
Nick Clifton [Fri, 15 Feb 2008 10:20:09 +0000 (10:20 +0000)]
PR binutils/5713
* strings.c (integer_arg): Delete function.
(string_min): Initialise to 4.
(main): Use strtoul to parse integer arguments.
Move check for an invalid string length to after all the arguments
have been parsed.
(usage): Use indentation to indicate that -<n> is a another form
of the --bytes= command line option.
Pedro Alves [Thu, 14 Feb 2008 22:41:39 +0000 (22:41 +0000)]
* win32-low.c (do_initial_child_stuff): Add process handle
parameter. Set current_process_handle and current_process_id from the
parameters. Clear globals.
(win32_create_inferior): Don't set current_process_handle and
current_process_id here. Instead pass them on the call to
do_initial_child_stuff.
(win32_attach): Likewise.
(win32_clear_inferiors): New.
(win32_kill): Don't close the current process handle or the
current thread handle here. Instead call win32_clear_inferiors.
(win32_detach): Don't open a new handle to the process. Call
win32_clear_inferiors.
(win32_join): Don't rely on current_process_handle; open a new
handle using the process id.
(win32_wait): Call win32_clear_inferiors when the inferior process
has exited.
Nick Clifton [Thu, 14 Feb 2008 15:20:26 +0000 (15:20 +0000)]
* efi-rtdrv-ia32.c: New file.
* efi-bsdrv-ia32.c: New file.
* efi-rtdrv-ia64.c: New file.
* efi-bsdrv-ia64.c: New file.
* efi-rtdrv-x86_64.c: New file.
* efi-bsdrv-x86_64.c: New file.
* peicode.h (pe_bfd_object_p): Add support for boot service and
runtime service drivers.
* libpei.h: Add macros for EFI formats, and rename the efi application
format macros to disambiguate.
* targets.c: Add bfd_target _vec externs.
(_bfd_tar): Add EFI _vec entries.
* config.bfd: Add EFI vectors into the selection routines.
* configure.in: add EFI _vec entries.
* configure: Regenerate.
* Makefile.am: Add EFI files.
* Makefile.in: Regenerate.
Nick Clifton [Thu, 14 Feb 2008 13:04:29 +0000 (13:04 +0000)]
PR gas/2626
* avr.h (AVR_ISA_2xxe): Define.
* config/tc-avr.c (mcu_types): Change the ISA tyoe of the attiny26
to AVR_ISA_2xxe.
(avr_operand): Disallow post-increment addressing in the lpm
instruction for the attiny26.
Nathan Sidwell [Thu, 14 Feb 2008 13:02:38 +0000 (13:02 +0000)]
* dwarf1.c (struct dwarf1_debug): Add syms member.
(alloc_dwarf1_unit, alloc_dwarf1_func): Check for out of memory.
(parse_line_table, _bfd_dwarf1_find_nearest_line): Relocate
section contents, check for out of memory.
* dwarf1.c (struct dwarf1_debug): Change data pointers to bfd_byte.
(parse_die): Change data pointers to bfd_byte.
(parse_line_table, parse_functions_in_unit): Likewise.
Jan Beulich [Wed, 13 Feb 2008 13:41:26 +0000 (13:41 +0000)]
gas/
2008-02-13 Jan Beulich <jbeulich@novell.com>
* config/tc-i386.c (parse_real_register): Don't return 'FLAT'
if not in Intel mode.
(i386_intel_operand): Ignore segment overrides in immediate and
offset operands.
(intel_e11): Range-check i.mem_operands before use as array
index. Filter out FLAT for uses other than as segment override.
(intel_get_token): Remove broken promotion of "FLAT:" to mean
"offset FLAT:".
gas/testsuite/
2008-02-13 Jan Beulich <jbeulich@novell.com>
Jan Beulich [Wed, 13 Feb 2008 10:14:40 +0000 (10:14 +0000)]
gas/
2008-02-13 Jan Beulich <jbeulich@novell.com>
* config/tc-i386.c (allow_pseudo_reg): New.
(parse_real_register): Check for NULL just once. Allow all
register table entries when allow_pseudo_reg is non-zero.
Don't allow any registers without type when allow_pseudo_reg
is zero.
(tc_x86_regname_to_dw2regnum): Replace with ...
(tc_x86_parse_to_dw2regnum): ... this.
(tc_x86_frame_initial_instructions): Adjust for above change.
* config/tc-i386.h (tc_regname_to_dw2regnum): Remove.
(tc_parse_to_dw2regnum): New.
(tc_x86_regname_to_dw2regnum): Replace with ...
(tc_x86_parse_to_dw2regnum): ... this.
* dw2gencfi.c (tc_parse_to_dw2regnum): New, broken out of ...
(cfi_parse_reg): ... this. Use tc_parse_to_dw2regnum. Adjust
error handling.
gas/testsuite/
2008-02-13 Jan Beulich <jbeulich@novell.com>
* gas/cfi/cfi-i386.s: Add code testing use of all registers.
Fix a few comments.
* gas/cfi/cfi-x86_64.s: Likewise.
* gas/cfi/cfi-i386.d, gas/cfi/cfi-x86_64.d: Adjust.
opcodes/
2008-02-13 Jan Beulich <jbeulich@novell.com>
* i386-gen.c (process_i386_registers): Process new fields.
* i386-opc.h (reg_entry): Shrink reg_flags and reg_num to
unsigned char. Add dw2_regnum and Dw2Inval.
* i386-reg.tbl: Provide initializers for dw2_regnum. Add pseudo
register names.
* i386-tbl.h: Re-generate.
DJ Delorie [Tue, 12 Feb 2008 19:11:55 +0000 (19:11 +0000)]
* elf32-iq2000.c (iq2000_elf_relocate_section): Adjust addend of
relocation pointing to local symbol in merged section.
* elf32-iq2000.c (iq2000_elf_relocate_offset16): New.
(iq2000_elf_relocate_section): Call it.
Nick Clifton [Tue, 12 Feb 2008 12:33:51 +0000 (12:33 +0000)]
* dlltool.c (mcore_elf_cache_filename): Add a const qualifier to
the argument.
(scan_obj_filename): Do not drop the const qualifier when calling
mcore_elf_cache_filename.
(struct fname_cache): Add const qualifier to filename field.