Mark Kettenis [Sat, 25 Jun 2005 12:49:01 +0000 (12:49 +0000)]
* sol-thread.c (sol_thread_xfer_memory): Change type of second
argument to `gdb_byte *'.
(sol_thread_xfer_partial): Change type of readbuf and writebuf
arguments to `gdb_byte *'.
Mark Kettenis [Tue, 21 Jun 2005 05:32:00 +0000 (05:32 +0000)]
* hppabsd-tdep.c: Include "symtab.h", "objfiles.h", "target.h",
"value.h" and "elf/common.h".
(hppabsd_supply_gregset): Use `gdb_byte *' for byte buffer.
(hppabsd_find_global_pointer): New function.
(hppabsd_init_abi): Set TDEP->find_global_pointer to
hppabsd_find_global_pointer.
* Makefile.in (hppabsd-tdep.o): Update dependencies.
H.J. Lu [Mon, 20 Jun 2005 23:18:39 +0000 (23:18 +0000)]
gas/
2005-06-20 H.J. Lu <hongjiu.lu@intel.com>
PR 1013
* config/tc-i386.c (md_assemble): Don't call optimize_disp on
movabs.
(optimize_disp): Optimize only if possible. Don't use 64bit
displacement on non-constants and do same on constants if
possible.
Nick Roberts [Mon, 20 Jun 2005 03:38:20 +0000 (03:38 +0000)]
(test_stack_locals_listing): Remove test for -stack-select-frame without
arguments.
(test_stack_frame_listing): Add test for newly implemented command
-stack-info-frame.
Mark Kettenis [Sat, 18 Jun 2005 15:22:55 +0000 (15:22 +0000)]
* regcache.c (regcache_raw_supply, regcache_raw_collect): Change
type of last argument back to `void *'.
* regcache.h (regcache_raw_supply, regcache_raw_collect): Likewise.
Nick Roberts [Sat, 18 Jun 2005 02:49:18 +0000 (02:49 +0000)]
(mi_cmd_stack_list_frames, mi_cmd_stack_info_depth):
Don't test for stack.
(mi_cmd_stack_select_frame): Make the argument mandatory.
Don't test for stack.
Jakub Jelinek [Fri, 17 Jun 2005 13:39:56 +0000 (13:39 +0000)]
* elf.c (bfd_section_from_shdr): Fail if sh_entsize is bogus for
symbol, relocation, group or versym sections.
* coffcode.h (coff_slurp_reloc_table): Don't crash if native_relocs
is NULL.
* peXXigen.c (pe_print_idata): Don't crash if dll_name or start_address
doesn't point into the section.
Jakub Jelinek [Fri, 17 Jun 2005 13:37:26 +0000 (13:37 +0000)]
* elf/external.h (GRP_ENTRY_SIZE): Define.
* readelf.c (CHECK_ENTSIZE_VALUES, CHECK_ENTSIZE): Define.
(process_section_headers): Use it.
(process_relocs): Don't crash if symsec is not SHT_SYMTAB
or SHT_DYNSYM.
(process_version_sections): Use sizeof (Elf_External_Versym)
instead of sh_entsize.
Jan Beulich [Fri, 17 Jun 2005 08:03:59 +0000 (08:03 +0000)]
bfd/
2005-06-17 Jan Beulich <jbeulich@novell.com>
* bfd-in2.h (elf_x86_64_reloc_type): Add BFD_RELOC_X86_64_GOTOFF64
and BFD_RELOC_X86_64_GOTPC32.
* libbfd.h (bfd_reloc_code_real_names): Likewise.
* elf64-x86-64.c (x86_64_elf_howto_table): Add entries for
R_X86_64_PC64, R_X86_64_GOTOFF64, and R_X86_64_GOTPC32.
(x86_64_reloc_map): Add entries for R_X86_64_PC64, R_X86_64_GOTOFF64,
and R_X86_64_GOTPC32.
(elf64_x86_64_info_to_howto): Adjust bounding relocation type.
(elf64_x86_64_check_relocs): Also handle R_X86_64_PC64,
R_X86_64_GOTOFF64, and R_X86_64_GOTPC32.
(elf64_x86_64_relocate_section): Likewise.
(elf64_x86_64_gc_sweep_hook): Also handle R_X86_64_PC64.
gas/
2005-06-17 Jan Beulich <jbeulich@novell.com>
* config/tc-i386.c (reloc): Also handle BFD_RELOC_64_PCREL.
(tc_i386_fix_adjustable): Include BFD_RELOC_X86_64_GOTOFF64,
BFD_RELOC_X86_64_DTPOFF64, and BFD_RELOC_X86_64_TPOFF64.
(output_disp): Do GOTPC conversion also for BFD_RELOC_X86_64_32S
and BFD_RELOC_32_PCREL. Use BFD_RELOC_X86_64_GOTPC32 instead of
aborting.
(output_imm): Do GOTPC conversion also for BFD_RELOC_X86_64_32S.
Use BFD_RELOC_X86_64_GOTPC32 instead of aborting.
(tc_gen_reloc): Do GOTPC conversion also for BFD_RELOC_32_PCREL.
Use BFD_RELOC_X86_64_GOTPC32 instead of aborting. Also handle
BFD_RELOC_X86_64_GOTOFF64, BFD_RELOC_X86_64_GOTPC32,
BFD_RELOC_X86_64_DTPOFF64, and BFD_RELOC_X86_64_TPOFF64. Also
convert 8-byte pc-relative relocations.
(lex_got): Use BFD_RELOC_X86_64_GOTOFF64 for 64-bit @gotoff.
(i386_validate_fix): Likewise.
(x86_cons): Also handle quad values in 64-bit mode.
(i386_displacement): Also handle BFD_RELOC_X86_64_GOTOFF64.
(md_apply_fix): Include BFD_RELOC_X86_64_DTPOFF64 and
BFD_RELOC_X86_64_TPOFF64 in the TLS check. Also convert BFD_RELOC_64
to pc-relative variant. Also check for BFD_RELOC_64_PCREL.
gas/testsuite/
2005-06-17 Jan Beulich <jbeulich@novell.com>
* gas/i386/x86-64-pcrel.s: Add insn requiring 64-bit pc-relative
relocation. Add insns for all widths of non-pc-relative relocations.
* gas/i386/x86-64-pcrel.d: Adjust.
include/elf/
2005-06-17 Jan Beulich <jbeulich@novell.com>
* x86-64.h (elf_x86_64_reloc_type): Adjust comment for
R_X86_64_GOTPCREL. Add R_X86_64_PC64, R_X86_64_GOTOFF64, and
R_X86_64_GOTPC32.
* linux-low.c (linux_wait, linux_send_signal): Don't test
an unsigned long variable for > 0 if it could be MAX_ULONG.
* server.c (myresume): Likewise.
* target.c (set_desired_inferior): Likewise.
David Ung [Thu, 16 Jun 2005 15:15:49 +0000 (15:15 +0000)]
* mips.igen: New mips16e model and include m16e.igen.
(check_u64): Add mips16e tag.
* m16e.igen: New file for MIPS16e instructions.
* configure.ac (mipsisa32*-*-*, mipsisa32r2*-*-*, mipsisa64*-*-*,
mipsisa64r2*-*-*): Change sim_gen to M16, add mips16 and mips16e
models.
* configure: Regenerate.
H.J. Lu [Tue, 14 Jun 2005 13:26:42 +0000 (13:26 +0000)]
2005-06-14 H.J. Lu <hongjiu.lu@intel.com>
PR 995
* ar.c (BUFSIZE): Moved to ...
* bucomm.h (BUFSIZE): Here.
* bucomm.c: Include <assert.h>.
(bfd_get_archive_filename): New.
* bucomm.h (bfd_get_archive_filename): New.
* objcopy.c (copy_unknown_object): New.
(copy_object): Use bfd_get_archive_filename when reporting input
error. Don't call fatal on unknown arch.
(copy_archive): Call copy_unknown_object on unknown format or
arch.
Jakub Jelinek [Tue, 14 Jun 2005 11:06:28 +0000 (11:06 +0000)]
* readelf.c (cmalloc, xcmalloc, xcrealloc): New functions.
(get_data): Add nmemb argument. Return NULL if nmemb * size
overflows. If var == NULL, allocate one extra byte and
clear it.
(slurp_rela_relocs, slurp_rel_relocs, get_32bit_program_headers,
get_64bit_program_headers, get_program_headers,
get_32bit_section_headers, get_64bit_section_headers,
get_32bit_elf_symbols, get_64bit_elf_symbols, process_section_headers,
process_section_groups, process_relocs, slurp_ia64_unwind_table,
ia64_process_unwind, slurp_hppa_unwind_table, hppa_process_unwind,
get_32bit_dynamic_section, get_64bit_dynamic_section,
process_dynamic_section, process_version_sections, get_dynamic_data,
process_symbol_table, dump_section, load_debug_str, load_debug_loc,
load_debug_range, read_and_display_attr_value, process_debug_info,
get_debug_info, frame_need_space, display_debug_frames,
display_debug_section, process_mips_specific, process_gnu_liblist,
process_corefile_note_segment): Adjust get_data callers. Use
cmalloc, xcmalloc and xcrealloc instead of {m,xm,xre}alloc where
passed size is a product of 2 numbers.
* readelf.c (print_mode): Fix comment typo.
(slurp_rela_relocs, slurp_rel_relocs): Fix memory leaks.
(dump_relocations): Fix a thinko in check for invalid st_name.
(process_program_headers): Don't crash if string_table is NULL.
(process_section_headers): Don't crash if e_shstrndx is invalid.
Ensure string_table_length is 0 if string_table == NULL.
Don't return just because string_table is NULL.
(process_section_groups): Don't crash if symtab's sh_link or
symbol's st_name is invalid. Fix a memory leak. Fix check for
invalid section number entry.
(process_relocs): Don't crash if relocation or symbol section's
sh_link is invalid.
(slurp_ia64_unwind_table, slurp_hppa_unwind_table): Don't crash if
relocation section's sh_info is invalid.
(ia64_process_unwind, hppa_process_unwind): Don't crash if symbol
table's sh_link is invalid.
(process_version_sections): Don't crash on version or symbol
section's sh_link is invalid. Don't crash if symbol's st_shndx
is invalid.
(process_symbol_table): Don't crash if string table is corrupt
or symbol's st_name, st_shndx, vna_name or vda_name is invalid.
(debug_apply_rela_addends): Don't crash if relocation section's
sh_info or sh_link is invalid.
(display_debug_loc): Warn for unterminated .debug_loc section
or start offsets not within .debug_loc section boundaries.
(process_gnu_liblist): Don't crash if liblist section's sh_link
or entry's l_name is invalid.