Commit Graph

50455 Commits

Author SHA1 Message Date
Alan Modra e10a73df8c daily update 2006-01-19 23:00:06 +00:00
Eric Christopher 0dacb9e1e3 2006-01-18 Roger Sayle <roger@eyesopen.com>
* emultempl/irix.em: Use lbasename instead of basename.
2006-01-19 01:06:48 +00:00
gdbadmin 3fca68fa58 *** empty log message *** 2006-01-19 00:00:32 +00:00
Alan Modra 93c5d7c3d5 daily update 2006-01-18 23:00:07 +00:00
Mark Kettenis 5ae96ec1ab * amd64-tdep.c (amd64_sse_type): Remove.
(amd64_register_info): Use i386_eflags_type and i386_sse_type
where appropriate.
(AMD64_NUM_REGS): Use ARRAY_SIZE.
(amd64_register_type): Remove code to build amd_sse_type.
* i386-tdep.c (i386_eflag_type): New variable.
(i386_mmx_type, i386_sse_type): Make global.
(i386_init_types): New function.
(i386_build_mmx_type, i386_build_sse_type): Remove functions.
(i386_register_type): Return i386_eflag_type, i386_sse_type and
i386_mmx_type when appropriate.
(_initialize_i386_tdep): Call i386_init_types.
* i386-tdep.h (i386_eflags_type, i386_mmx_type, i386_sse_type):
Declare extern.
Based on a previous patch form Michal Ludvig:
2006-01-18 21:26:47 +00:00
Mark Kettenis 4f2aea11c7 Based on a previous patch form Michal Ludvig:
* gdbtypes.c (append_flags_type_flag, init_flags_type): New
functions.
(is_integral_type, rank_one_type, recursive_dump_type): Add
support for TYPE_CODE_FLAGS.
* gdbtypes.h (enum type_code): Add TYPE_CODE_FLAGS.
(append_flags_type_field, init_flags_type): New prototypes.
* ada-valprint.c (ada_val_print_1): Add support for
TYPE_CODE_FLAGS.
* c-valprint.c (c_val_print): Likewise.
* f-valprint.c (f_val_print): Likewise.
* p-valprint.c (pascal_val_print): Likewise.
* valprint.c (val_print_type_code_flags): New function.
* valprint.h (val_print_type_code_flags): New prototype.
* value.c (unpack_long, value_from_longest): Add support for
TYPE_CODE_FLAGS.
2006-01-18 21:24:19 +00:00
Alexandre Oliva 67a4f2b710 include/elf/ChangeLog:
Introduce TLS descriptors for i386 and x86_64.
* common.h (DT_TLSDESC_GOT, DT_TLSDESC_PLT): New.
* i386.h (R_386_TLS_GOTDESC, R_386_TLS_DESC_CALL, R_386_TLS_DESC):
New.
* x86-64.h (R_X86_64_GOTPC32_TLSDESC, R_X86_64_TLSDESC_CALL,
R_X86_64_TLSDESC): New.
bfd/ChangeLog:
Introduce TLS descriptors for i386 and x86_64.
* reloc.c (BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC,
BFD_RELOC_386_TLS_DESC_CALL, BFD_RELOC_X86_64_GOTPC32_TLSDESC,
BFD_RELOC_X86_64_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL): New.
* libbfd.h, bfd-in2.h: Rebuilt.
* elf32-i386.c (elf_howto_table): New relocations.
(R_386_tls): Adjust.
(elf_i386_reloc_type_lookup): Map new relocations.
(GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
(GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
(struct elf_i386_link_hash_entry): Add tlsdesc_got field.
(struct elf_i386_obj_tdata): Add local_tlsdesc_gotent field.
(elf_i386_local_tlsdesc_gotent): New macro.
(struct elf_i386_link_hash_table): Add sgotplt_jump_table_size.
(elf_i386_compute_jump_table_size): New macro.
(link_hash_newfunc): Initialize tlsdesc_got.
(elf_i386_link_hash_table_create): Set sgotplt_jump_table_size.
(elf_i386_tls_transition): Handle R_386_TLS_GOTDESC and
R_386_TLS_DESC_CALL.
(elf_i386_check_relocs): Likewise.  Allocate space for
local_tlsdesc_gotent.
(elf_i386_gc_sweep_hook): Handle R_386_TLS_GOTDESC and
R_386_TLS_DESC_CALL.
(allocate_dynrelocs): Count function PLT relocations.  Reserve
space for TLS descriptors and relocations.
(elf_i386_size_dynamic_sections): Reserve space for TLS
descriptors and relocations.  Set up sgotplt_jump_table_size.
Don't zero reloc_count in srelplt.
(elf_i386_always_size_sections): New.  Set up _TLS_MODULE_BASE_.
(elf_i386_relocate_section): Handle R_386_TLS_GOTDESC and
R_386_TLS_DESC_CALL.
(elf_i386_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
(elf_backend_always_size_sections): Define.
* elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_GOTPC32_TLSDESC,
R_X86_64_TLSDESC, R_X86_64_TLSDESC_CALL.
(R_X86_64_standard): Adjust.
(x86_64_reloc_map): Map new relocs.
(elf64_x86_64_rtype_to_howto): New, split out of...
(elf64_x86_64_info_to_howto): ... this function, and...
(elf64_x86_64_reloc_type_lookup): ... use it to map elf_reloc_val.
(GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
(GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
(struct elf64_x86_64_link_hash_entry): Add tlsdesc_got field.
(struct elf64_x86_64_obj_tdata): Add local_tlsdesc_gotent field.
(elf64_x86_64_local_tlsdesc_gotent): New macro.
(struct elf64_x86_64_link_hash_table): Add tlsdesc_plt,
tlsdesc_got and sgotplt_jump_table_size fields.
(elf64_x86_64_compute_jump_table_size): New macro.
(link_hash_newfunc): Initialize tlsdesc_got.
(elf64_x86_64_link_hash_table_create): Initialize new fields.
(elf64_x86_64_tls_transition): Handle R_X86_64_GOTPC32_TLSDESC and
R_X86_64_TLSDESC_CALL.
(elf64_x86_64_check_relocs): Likewise.  Allocate space for
local_tlsdesc_gotent.
(elf64_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPC32_TLSDESC and
R_X86_64_TLSDESC_CALL.
(allocate_dynrelocs): Count function PLT relocations.  Reserve
space for TLS descriptors and relocations.
(elf64_x86_64_size_dynamic_sections): Reserve space for TLS
descriptors and relocations.  Set up sgotplt_jump_table_size,
tlsdesc_plt and tlsdesc_got.  Make room for them.  Don't zero
reloc_count in srelplt.  Add dynamic entries for DT_TLSDESC_PLT
and DT_TLSDESC_GOT.
(elf64_x86_64_always_size_sections): New.  Set up
_TLS_MODULE_BASE_.
(elf64_x86_64_relocate_section): Handle R_386_TLS_GOTDESC and
R_386_TLS_DESC_CALL.
(elf64_x86_64_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
(elf64_x86_64_finish_dynamic_sections): Set DT_TLSDESC_PLT and
DT_TLSDESC_GOT.  Set up TLS descriptor lazy resolver PLT entry.
(elf_backend_always_size_sections): Define.
binutils/ChangeLog:
Introduce TLS descriptors for i386 and x86_64.
* readelf.c (get_dynamic_type): Handle DT_TLSDESC_GOT and
DT_TLSDESC_PLT.
gas/ChangeLog:
Introduce TLS descriptors for i386 and x86_64.
* config/tc-i386.c (tc_i386_fix_adjustable): Handle
BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC_CALL,
BFD_RELOC_X86_64_GOTPC32_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL.
(optimize_disp): Emit fix up for BFD_RELOC_386_TLS_DESC_CALL and
BFD_RELOC_X86_64_TLSDESC_CALL immediately, and clear the
displacement bits.
(build_modrm_byte): Set up zero modrm for TLS desc calls.
(lex_got): Handle @tlsdesc and @tlscall.
(md_apply_fix, tc_gen_reloc): Handle the new relocations.
ld/testsuite/ChangeLog:
Introduce TLS descriptors for i386 and x86_64.
* ld-i386/i386.exp: Run on x86_64-*-linux* and amd64-*-linux*.
Add new tests.
* ld-i386/pcrel16.d: Add -melf_i386.
* ld-i386/pcrel8.d: Likewise.
* ld-i386/tlsbindesc.dd: New.
* ld-i386/tlsbindesc.rd: New.
* ld-i386/tlsbindesc.s: New.
* ld-i386/tlsbindesc.sd: New.
* ld-i386/tlsbindesc.td: New.
* ld-i386/tlsdesc.dd: New.
* ld-i386/tlsdesc.rd: New.
* ld-i386/tlsdesc.s: New.
* ld-i386/tlsdesc.sd: New.
* ld-i386/tlsdesc.td: New.
* ld-i386/tlsgdesc.dd: New.
* ld-i386/tlsgdesc.rd: New.
* ld-i386/tlsgdesc.s: New.
* ld-x86-64/x86-64.exp: Run new tests.
* ld-x86-64/tlsbindesc.dd: New.
* ld-x86-64/tlsbindesc.rd: New.
* ld-x86-64/tlsbindesc.s: New.
* ld-x86-64/tlsbindesc.sd: New.
* ld-x86-64/tlsbindesc.td: New.
* ld-x86-64/tlsdesc.dd: New.
* ld-x86-64/tlsdesc.pd: New.
* ld-x86-64/tlsdesc.rd: New.
* ld-x86-64/tlsdesc.s: New.
* ld-x86-64/tlsdesc.sd: New.
* ld-x86-64/tlsdesc.td: New.
* ld-x86-64/tlsgdesc.dd: New.
* ld-x86-64/tlsgdesc.rd: New.
* ld-x86-64/tlsgdesc.s: New.
2006-01-18 21:07:51 +00:00
DJ Delorie dd942754f0 merge from gcc 2006-01-18 21:05:51 +00:00
Arnold Metselaar 3170c51cf8 fix typo 2006-01-18 15:00:22 +00:00
Arnold Metselaar ae33e02d8f Add tests for instructions with offsets. 2006-01-18 14:52:11 +00:00
Arnold Metselaar 9e919b5f1d fixes related to indexed operands 2006-01-18 13:48:46 +00:00
Nick Clifton 6e2c86ac4d PR binutils/1391
* objcopy.c (copy_object): For PE format targets set the VMA of a newly
  created gnu_debuglink section to a non-zero, aligned, contiguous value.
* Makefile.am (objcopy.c): Add a dependency upon libbfd.h.
* Makefile.in: Regenerate.
2006-01-18 11:01:09 +00:00
gdbadmin d5259aacd1 *** empty log message *** 2006-01-18 00:00:03 +00:00
Christopher Faylor 4cdb5adf73 * MAINTAINERS: Very belatedly remove myself from from the list of people caught
up in the paper trail.
2006-01-17 23:42:28 +00:00
Alan Modra f506450cf2 daily update 2006-01-17 23:00:07 +00:00
Jim Blandy 4e38b3864c gdb/ChangeLog:
2006-01-17  Jim Blandy  <jimb@redhat.com>

	* symtab.h (struct general_symbol_info): Use gdb_byte for
	value.bytes.
	* stabsread.c (define_symbol): Use gdb_byte for the buffer holding
	a floating-point constant's value.
	* dwarf2read.c (dwarf2_const_value): Remove casts of value buffer
	to char *.
	* findvar.c (read_var_value): Eliminate needless temporary.
2006-01-17 22:30:29 +00:00
Jim Blandy 1193688db2 gdb/ChangeLog:
2006-01-17  Jim Blandy  <jimb@redhat.com>

	* dwarf2-frame.c (dwarf2_read_section): Update forward declaration
	to match prior change to dwarf2_read_section's type.
2006-01-17 22:27:21 +00:00
Paul Gilliam 0d1243d9e6 2006-01-16 Paul Gilliam <pgilliam@us.ibm.com>
* ppc-tdep.h (PPC_MAX_EPILOGUE_INSTRUCTIONS): New define.
	* rs6000-tdep.c (insn_changes_sp_or_jumps)
	(rs6000_in_function_epilogue_p): New functions.
	(rs6000_gdbarch_init): Set in_function_epilogue_p.
2006-01-17 22:21:13 +00:00
Jim Blandy fe1b8b76fd 2006-01-17 Jim Blandy <jimb@redhat.com>
* dwarf2read.c (struct dwarf2_per_objfile, struct comp_unit_head)
	(struct line_header, struct partial_die_info, struct dwarf_block):
	Use gdb_byte for members that refer to Dwarf section contents.
	(dwarf2_read_abbrevs, dwarf2_read_section, dwarf_decode_lines,
	dwarf_decode_macros, load_comp_unit, load_partial_dies,
	locate_pdi_sibling, partial_read_comp_unit_head, peek_die_abbrev,
	read_1_byte, read_1_signed_byte, read_2_bytes, read_4_bytes,
	read_8_bytes, read_address, read_attribute, read_attribute_value,
	read_comp_unit, read_comp_unit_head, read_die_and_children,
	read_die_and_siblings, read_full_die, read_indirect_string,
	read_initial_length, read_n_bytes, read_offset, read_partial_die,
	read_signed_leb128, read_string, read_unsigned_leb128,
	skip_children, skip_leb128, skip_one_die): Same.
2006-01-17 22:01:42 +00:00
Arnold Metselaar c9021189f6 Use unsigned char to hold data to be disassembled. 2006-01-17 21:15:56 +00:00
Andreas Schwab d99b646536 PR binutils/1486
binutils/:
	* configure.in: Don't define DISASSEMBLER_NEEDS_RELOCS.
	* configure: Regenerate.
	* objdump.c (struct objdump_disasm_info): Don't check for
	DISASSEMBLER_NEEDS_RELOCS.
	(objdump_print_addr): Likewise.
	(disassemble_bytes): Check disassembler_needs_relocs from
	disassemble_info at run-time instead of DISASSEMBLER_NEEDS_RELOCS
	at compile-time.
	(disassemble_section): Likewise.
	(disassemble_data): Initialize it.

include/:
	* dis-asm.h (struct disassemble_info): Add
	disassembler_needs_relocs.

objdump/:
	* disassemble.c (disassemble_init_for_target): Set
	disassembler_needs_relocs for bfd_arch_arm.
2006-01-17 17:39:20 +00:00
H.J. Lu 6dd55cb711 2006-01-17 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/2096
	* dwarf2.c (comp_unit_contains_address): Update comment.
	(_bfd_dwarf2_find_nearest_line): Use section's vma, instead of
	lma.  Return TRUE only if both comp_unit_contains_address and
	comp_unit_find_nearest_line return TRUE.
	(_bfd_dwarf2_find_line): Use section's vma, instead of lma.
2006-01-17 17:12:58 +00:00
Alan Modra 64d03ab565 * elf-bfd.h (struct elf_backend_data): Add gc_mark_dynamic_ref.
(bfd_elf_gc_mark_dynamic_ref_symbol): Declare.
	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Rename from
	elf_gc_mark_dynamic_ref_symbol.  Make global.
	(bfd_elf_gc_sections): Call bed->gc_mark_dynamic_ref.
	* elfxx-target.h (elf_backend_gc_mark_dynamic_ref): Define.
	(elfNN_bed): Init new field.
	* elf64-ppc.c (elf_backend_gc_mark_dynamic_ref): Define.
	(ppc64_elf_gc_mark_dynamic_ref): New function.
2006-01-17 15:32:41 +00:00
Daniel Jacobowitz a0841d7ad2 * complaints.c (stop_whining): Make signed.
* linux-thread-db.c (thread_db_store_registers): Use gdb_byte.
2006-01-17 14:57:43 +00:00
Daniel Jacobowitz 939b2b425d * dwarf2read.c, remote-fileio.c, remote.h: Update copyright
notices.
2006-01-17 14:47:31 +00:00
Daniel Jacobowitz 891d2f0bc0 * dwarf2read.c (peek_die_abbrev, read_address, read_initial_length)
(read_offset): Change BYTES_READ argument to unsigned int.
	(dwarf2_build_psymtabs_easy, read_comp_unit_head)
	(create_all_comp_units, dwarf2_get_pc_bounds)
	(dwarf_decode_line_header, var_decode_location)
	(dwarf_decode_macros): Change local BYTES_READ variables to
	unsigned int.
	(read_indirect_string): Remove obsolete cast.
2006-01-17 14:30:20 +00:00
Daniel Jacobowitz cfd77fa13e * remote-fileio.c (remote_fileio_return_success): Take a gdb_byte
argument.
	(remote_fileio_func_open, remote_fileio_func_rename)
	(remote_fileio_func_unlink, remote_fileio_func_stat)
	(remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
	(remote_fileio_func_system): Cast the arguments to
	remote_read_bytes and remote_write_bytes.
	(remote_fileio_func_read, remote_fileio_func_write): Use a
	gdb_byte buffer.
	* remote.h (remote_read_bytes, remote_write_bytes): Update
	prototypes.
	* remote.c (hex2bin, bin2hex): Use gdb_byte for the BIN argument.
	(threadref_to_int): Replace bogus char * cast.
	(remote_unpack_thread_info_response): Use int for tag.
	(remote_threads_extra_info, remote_check_symbols): Cast string
	arguments to hex2bin.
	(remote_wait): Use a char buffer for packets and a gdb_byte
	buffer for registers.
	(remote_async_wait): Likewise.
	(remote_prepare_to_store, store_register_using_P)
	(remote_store_registers): Use gdb_byte buffers.
	(remote_write_bytes, remote_read_bytes): Use a gdb_byte pointer
	for MYADDR and char buffers for strings.
	(remote_xfer_partial): Add casts for string operations on READBUF.
	(remote_rcmd): Cast strings passed to bin2hex.
2006-01-17 14:11:16 +00:00
Alan Modra b56cbdb94b * elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop. 2006-01-17 13:00:16 +00:00
Nick Clifton fad2f28d11 Update copyright date 2006-01-17 11:09:56 +00:00
Nick Clifton 6c10990dfd PR binutils/2159
* elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused	parameters.
2006-01-17 10:34:43 +00:00
gdbadmin 476238071e *** empty log message *** 2006-01-17 00:00:02 +00:00
Alan Modra e88d958a4f split changelogs 2006-01-16 23:15:07 +00:00
Alan Modra 00164b66e9 daily update 2006-01-16 23:00:05 +00:00
Mark Mitchell 60bf065074 * aclocal.m4: Regenerate. 2006-01-16 22:36:36 +00:00
Nick Clifton ec49b2b866 Sync top level config files from the master config repository 2006-01-16 17:34:37 +00:00
Paul Brook c2fe93275a 2006-01-16 Paul Brook <paul@codesourcery.com>
opcodes/
	* m68k-opc.c(m68k_opcodes): Fix opcodes for ColdFire f?abss,
	f?add?, and f?sub? instructions.

gas/testsuite/
	* gas/m68k/all.exp: Add mcf-fpu.
	* gas/m68k/mcf-fpu.d: New file.
	* gas/m68k/mcf-fpu.s: New file.
2006-01-16 16:23:30 +00:00
Nick Clifton 32fba81dfe Add new Chinese (simplified) translation 2006-01-16 16:15:17 +00:00
Nick Clifton cc629b0279 Fix email address in previous delta 2006-01-16 16:08:55 +00:00
Nick Clifton f2a8f14838 Fix duplicated word typo 2006-01-16 16:07:45 +00:00
Nathan Sidwell 60e81fccbb * mt-tdep.c (enum mt_gdb_regnums): Add MT_COPRO_PSEUDOREG_ARRAY,
MT_COPRO_PSEUDOREG_DIM_1, MT_COPRO_PSEUDOREG_DIM_2,
	MT_COPRO_PSEUDOREG_REGS members.  Adjust MT_NUM_PSEUDO_REGS.
	(mt_register_name): Lazily synthesize name for coprocessor pseudo
	array registers.
	(mt_copro_register_type): New. Broken out of ...
	(mt_register_type): ... here.  Use it.  Deal with coprocessor
	pseudo array.
	(mt_select_coprocessor): New.
	(mt_pseudo_register_read, mt_pseudo_register_write): Deal with
	coprocessor pseudo array.
2006-01-16 13:23:15 +00:00
Andrew Stubbs f365de7342 2006-01-16 Andrew Stubbs <andrew.stubbs@st.com>
* breakpoint.c (insert_breakpoints): Check that a thread exists
	before inserting thread specific breakpoints.
2006-01-16 12:55:18 +00:00
gdbadmin 6b81c85532 *** empty log message *** 2006-01-16 00:00:02 +00:00
Alan Modra e9f8064c36 daily update 2006-01-15 23:00:11 +00:00
Mark Kettenis 6062517a1e * osabi.c (generic_elf_osabi_sniffer): Fix typo in previous
commit.
2006-01-15 21:20:48 +00:00
Mark Kettenis 9d51923083 * alpha-tdep.c (alpha_gdbarch_init): Set cannot_step_breakpoint.
* config/alpha/nm-osf.h (CANNOT_STEP_BREAKPOINT): Remove.
* config/alpha/nm-linux.h (CANNOT_STEP_BREAKPOINT): Remove.
* config/alpha/nm-nbsd.h: Remove file.
* config/alpha/nm-fbsd.h: Remove file
* config/alpha/nbsd.mh (NAT_FILE): Remove.
* config/alpha/fbsd.mh (NAT_FILE): Remove.
2006-01-15 20:53:32 +00:00
Daniel Jacobowitz 0a029df55b * macroexp.c (expand): Initialize argc.
* stabsread.c (read_type): Handle errors from read_args.
	(read_args): Return NULL for errors.
2006-01-15 20:26:02 +00:00
Mark Kettenis 1731e543e0 * osabi.c (generic_elf_osabi_sniffer): Use memcmp instead of
strcmp to compare string to a byte buffer.
2006-01-15 20:21:32 +00:00
Daniel Jacobowitz 777ea8f14f * printcmd.c (output_command): Always initialize fmt.size.
(printf_command): Use gdb_byte.
	* symfile.c (separate_debug_file_exists): Use gdb_byte.
	(load_section_callback, read_target_long_array): Likewise.
	(simple_read_overlay_table, simple_read_overlay_region_table)
	(simple_overlay_update_1): Correct calls to read_target_long_array.
	* valprint.c (partial_memory_read): Change MYADDR to a gdb_byte *.
	Also change local pointers.
	(val_print_string): Use gdb_byte.
2006-01-15 19:50:05 +00:00
Mark Kettenis 4b17b3897b * alphafbsd-tdep.c: Include "solib-svr4.h".
(alphafbsd_init_abi): Set solib_svr4_fetch_link_map_offsets to
svr4_lp64_fetch_link_map_offsets.
* Makefile.in (alphafbsd-tdep.o): Update dependencies.
* config/alpha/fbsd.mt (TDEPFILES): Add corelow.o, solib.o and
solib-svr4.o.
* config/alpha/fbsd.mh (NATDEPFILES): Remove solib.o, solib-svr4.o
and solib-legacy.o.
* config/alpha/nm-fbsd.h: Don't include "solib.h".
2006-01-15 19:45:28 +00:00
Daniel Jacobowitz bd4109fb51 * source.c (_initialize_source): Use add_setshow_integer_cmd. 2006-01-15 19:09:30 +00:00