Commit graph

64347 commits

Author SHA1 Message Date
H.J. Lu
2c610e4b46 Add --dyn-syms to readelf
binutils/

2010-01-11  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11146
	* NEWS: Mention --dyn-syms for readelf.

	* readelf.c (do_dyn_syms): New.
	(OPTION_DYN_SYMS): Likewise.
	(options): Add "dyn-syms".
	(usage): Add --dyn-syms.
	(parse_args): Handle OPTION_DYN_SYMS.
	(process_symbol_table): Handle do_dyn_syms.
	(process_object): Likewise.
	(process_archive): Likewise.

	* doc/binutils.texi: Document --dyn-syms for readelf.  Mention
	symbol hash tables for -D.

ld/testsuite/

2010-01-11  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11146
	* ld-elf/dynsym1.d: New.
2010-01-11 14:45:42 +00:00
Nick Clifton
4d421096e0 * elf32-v850.c (v850_elf_perform_relocation): Fix overflow
handling of R_V850_HI16_S relocation.
2010-01-11 14:19:40 +00:00
Nick Clifton
d2420a8c62 * NEWS: Mention addition of elfedit. 2010-01-11 12:40:45 +00:00
Nick Clifton
20703056f3 * po/fi.po: Updated Finnish translation. 2010-01-11 12:35:12 +00:00
Alan Modra
20b1d3e390 PR 11103
* dwarf1.c (parse_die): Correct FORM_STRING data pointer increment.
2010-01-11 09:53:27 +00:00
Alan Modra
94df17f2c8 update copyright date 2010-01-11 09:43:08 +00:00
Alan Modra
a358ecb8a8 PR 6832
* dwarf2.c (struct comp_unit): Add sec_info_ptr.
	(find_abstract_instance_name): Use it.
	(parse_comp_unit): Set it.
2010-01-11 08:36:19 +00:00
Doug Kwan
e96c574bdc 2010-01-10 Doug Kwan <dougkwan@google.com>
* options.h (DEFINE_var): Use parentheses around argument varname__
	in macro body to avoid any unintended subsequent substitutions.
2010-01-11 07:39:36 +00:00
Ian Lance Taylor
ba4d53bf2b * resolve.cc (Symbol_table::resolve): Add symbols to list of ODR
candidates before doing symbol resolution.
2010-01-11 07:09:48 +00:00
Ian Lance Taylor
7198066bc1 * resolve.cc (Symbol_table::resolve): Add symbols to the list of
ODR candidates if only one is weak.
2010-01-11 05:44:04 +00:00
gdbadmin
6ae8025abb *** empty log message *** 2010-01-11 00:00:33 +00:00
Alan Modra
1181fbf413 daily update 2010-01-10 23:00:04 +00:00
Joel Brobecker
6e0e59772a Document the improvements made to the mips-irix port.
* NEWS: Document the improvements made to the mips-irix port.
2010-01-10 06:43:01 +00:00
H.J. Lu
ffe7cfdf31 Return dgs.alc on success
2010-01-09  Ian Lance Taylor  <iant@google.com>

	PR other/42230
	* cp-demangle.c (d_demangle): Return dgs.alc on success.
2010-01-10 01:19:02 +00:00
gdbadmin
9c744956e3 *** empty log message *** 2010-01-10 00:00:33 +00:00
Alan Modra
fca4b0aa55 daily update 2010-01-09 23:00:04 +00:00
Ralf Wildenhues
3725885a65 Sync Libtool from GCC.
/:
	* libtool.m4: Sync from git Libtool.
	* ltmain.sh: Likewise.
	* ltoptions.m4: Likewise.
	* ltversion.m4: Likewise.
	* lt~obsolete.m4: Likewise.

sim/iq2000/:
	* configure: Regenerate.

sim/d10v/:
	* configure: Regenerate.

sim/m32r/:
	* configure: Regenerate.

sim/frv/:
	* configure: Regenerate.

sim/:
	* avr/configure: Regenerate.
	* cris/configure: Regenerate.
	* microblaze/configure: Regenerate.

sim/h8300/:
	* configure: Regenerate.

sim/mn10300/:
	* configure: Regenerate.

sim/erc32/:
	* configure: Regenerate.

sim/arm/:
	* configure: Regenerate.

sim/m68hc11/:
	* configure: Regenerate.

sim/lm32/:
	* configure: Regenerate.

sim/sh64/:
	* configure: Regenerate.

sim/v850/:
	* configure: Regenerate.

sim/cr16/:
	* configure: Regenerate.

sim/moxie/:
	* configure: Regenerate.

sim/m32c/:
	* configure: Regenerate.

sim/mips/:
	* configure: Regenerate.

sim/mcore/:
	* configure: Regenerate.

sim/sh/:
	* configure: Regenerate.

gprof/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.

opcodes/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.

gas/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.

ld/:
	* configure: Regenerate.

gdb/testsuite/:
	* gdb.cell/configure: Regenerate.

binutils/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.

bfd/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.

bfd/doc/:
	* Makefile.in: Regenerate.
2010-01-09 21:11:44 +00:00
Joel Brobecker
7348c5e1e3 Fix the documentation of valprint.c:value_print.
* valprint.c (value_print): Update the function description to
        mention that the syntax of the output follows the current_language,
        not necessarily C.
2010-01-09 11:46:13 +00:00
Jan Kratochvil
567995e103 gdb/
Fix displacement of separate debug info files.
	* objfiles.c (objfile_relocate): Rename to ...
	(objfile_relocate1): ... here and make it static.  Extend the comment.
	(objfile_relocate): New function.
	* solib-spu.c (spu_relocate_main_executable): Explicitly check if
	SYMFILE_OBJFILE is NULL.  Remove variables objfile and old_chain.
	Remove following of SEPARATE_DEBUG_OBJFILE.  new_offsets is now
	allocated using alloca.
	* symfile.c (copy_section_addr_info): Remove.
	(build_section_addr_info_from_objfile): Make it global.  New variables
	addr_bit and mask, use them.
	* symfile.h (build_section_addr_info_from_objfile): New prototype.
	(copy_section_addr_info): Remove.
2010-01-09 09:11:00 +00:00
Ian Lance Taylor
a2beed37db * script.cc (Version_script_info::build_expression_list_lookup):
Don't warn about ambiguous version, just record the ambiguity.
	(Version_script_info::get_symbol_version_helper): Give error if
	version is ambiguous.
2010-01-09 05:49:57 +00:00
Joel Brobecker
1a3fd2625d Fix patch ownership in ChangeLog entry. 2010-01-09 05:03:34 +00:00
Joel Brobecker
6d8eadbddc Signal unwinder for mips-irix N32.
* mips-irix-tdep.c: #include mips-tdep.h, trad-frame.h, and
        tramp-frame.h.
        (SIGTRAMP_FRAME_SIZE, SIGCONTEXT_PC_OFF, SIGCONTEXT_REGS_OFF)
        (SIGCONTEXT_FPREGS_OFF, SIGCONTEXT_FPCSR_OFF, SIGCONTEXT_HI_OFF)
        (SIGCONTEXT_LO_OFF): New macros.
        (mips_irix_n32_tramp_frame_init): New function.
        (mips_irix_n32_tramp_frame): New static constant.
        (mips_irix_init_abi): Prepend the mips_irix_n32_tramp_frame unwinder.
2010-01-09 04:44:55 +00:00
Joel Brobecker
27087a3dc2 Breakpoint in shared library does not work on mips-irix.
* procfs.c: #include "observer.h".
        (procfs_inferior_created): New function, moving here the code
        which unsets the syssgi syscall-exit notifications.
        (procfs_create_inferior): Remove the code which unsets the syssgi
        syscall-exit notifications. It is too early to do this here.
        (_initialize_procfs): Attach the procfs_inferior_created observer.
2010-01-09 04:44:02 +00:00
Joel Brobecker
f08877ba09 Wrong return convention for arrays (mips-irix).
* mips-tdep.c (mips_n32n64_return_value): Arrays whose size is
        128 bits or smaller are returned the same way as structs
        and unions of the the same size.
2010-01-09 04:42:54 +00:00
Joel Brobecker
e4b97d48ee Cannot set the PC on mips-irix.
* irix5-nat.c (fill_gregset): Check regno against the raw PC
        register number, no the cooked one.
2010-01-09 04:41:50 +00:00
Joel Brobecker
11377e6835 Error while loading core file on mips-irix.
* solib-irix.c (irix_solib_create_inferior_hook): Do nothing
        if debugging from a core file.
2010-01-09 04:40:59 +00:00
Joel Brobecker
b2391021b6 GDB hangs when attaching to process on mips-irix.
* solib-irix.c (irix_solib_create_inferior_hook): Do nothing if
        attaching to a process.
2010-01-09 04:40:02 +00:00
Joel Brobecker
f2ec0ecff6 * mips-tdep.c (mips_breakpoint_from_pc): Add new static variable
containing the correct breakpoint instruction to use on mips-irix.
        Use it when the osabi is GDB_OSABI_IRIX.
2010-01-09 04:38:29 +00:00
Joel Brobecker
3c95f01cee -Wunused warning in procfs.c (mips-irix only).
* procfs.c (gdb_praddset, gdb_prdelset): New macros.  Use them
        throughout instead of using praddset and prdelset respectively.
2010-01-09 04:37:12 +00:00
Joel Brobecker
4b7703adcc GDB crash while stepping into function.
* infrun.c (handle_inferior_event): Refetch the current frame
        after handling what.main_action, in case that pointer became
        dangling.
2010-01-09 04:36:00 +00:00
Joel Brobecker
12c8947461 * ada-valprint.c, parse.c: Include defs.h before including ctype.h. 2010-01-09 04:34:35 +00:00
Joel Brobecker
4c49065043 * procfs.c: (procfs_do_thread_registers) Use elfcore_write_lwpstatus. 2010-01-09 04:32:52 +00:00
Doug Kwan
2fb7225c84 2010-01-08 Doug Kwan <dougkwan@google.com>
* arm.cc (Stub_table::Stub_table): Initalize cortex_a8_stubs_,
	  prev_data_size_ and prev_addralign_.  Remove initializer for
	  deleted data member has_been_changed_.
	  (Stub_table::empty): Look at both reloc_stubs_ and cortex_a8_stubs_
	  to determine if the table is empty.
	  (Stub_table::has_been_changed, Stub_table_set_has_been_changed):
	  Remove.
	  (Stub_table::add_reloc_stub): Define method in class definition
	  instead of just declaring it there.
	  (Stub_table::add_cortex_a8_stub): New method definition.
	  (Stub_table::update_data_size_and_addralign): Ditto.
	  (Stub_table::finalize_stubs): Ditto.
	  (Stub_table::apply_cortex_a8_workaround_to_address_range): Ditto.
	  (Stub_table::do_addralign_): Return address alignment in the
	  (Stub_table::do_reset_address_and_file_offset): Define method in
	  class definition instead of declaring it there.  Set current data
	  size to be the data size of the previous pass.
	  (Stub_table::set_final_data_size): Use current data size as the
	  final data size.
	  (Stub_table::relocate_stub): Change parameter type of stub from
	  Reloc_stub pointer to Stub pointer.
	  (Stub_table::addralign_, Stub_table::has_been_changed_): Remove.
	  (Stub_table::Cortex_a8_stub_list): New typedef.
	  (Stub_table::cortex_a8_stubs_, Stub_table::prev_data_size_,
	   Stub_table::prev_addralign_): New data member.
	  (Arm_relobj::Arm_relobj): Initialize data member
	  section_has_cortex_a8_workaround_.
	  (Arm_relobj::section_has_cortex_a8_workaround,
	   Arm_relobj::mark_section_for_cortex_a8_workaround): New method
	   definitions.
	  (Arm_relobj::section_has_cortex_a8_workaround_): New data member
	  declarations.
	  (Target_arm::relocate_stub): Change parameter type of stub from
	  Reloc_stub pointer to Stub pointer.
	  (Insn_template::size, Insn_template::alignment): Handle
	  THUMB16_SPECIAL_TYPE.
	  (Stub_table::remove_all_cortex_a8_stubs, Stub_table::finalize_stubs,
	   Stub_table::update_data_size_and_addralign,
	   Stub_table::apply_cortex_a8_workaround_to_address_range): New method
	  definitions.
 	  (Stub_table::relocate_stubs): Handle Cortex-A8 stubs.
	  (Stub_table::do_write): Ditto.
	  (Target_arm::do_relax): Adjust code for changes in Stub_table.
2010-01-09 01:55:14 +00:00
Jan Kratochvil
37aeb5df6e gdb/testsuite/
* gdb.base/corefile.exp: Move the core finding block out and call it as
	core_find, new variable $corefile, replace corefile by $corefile and
	[file tail $corefile] for usage vs. test names resp.
	* lib/gdb.exp (core_find): Move it as a new function here.  New
	parameter binfile and deletefiles.  New variable $destcore.  Pre-delete
	$destcore.  Return "" on error.
2010-01-09 00:14:11 +00:00
Ian Lance Taylor
880cd20d40 PR 11108
* symtab.h (class Symbol): Remove fields is_target_special_ and
	has_plt_offset_.  Add field is_defined_in_discarded_section_.
	(Symbol::is_defined_in_discarded_section): New function.
	(Symbol::set_is_defined_in_discarded_section): New function.
	(Symbol::has_plt_offset): Rewrite.
	(Symbol::set_plt_offset): Verify that new offset is not -1U.
	* symtab.cc (Symbol::init_fields): Initialize plt_offset_ to -1U.
	Don't initialize is_target_special_ or has_plt_offset_.
	Initialize is_defined_in_discarded_section_.
	(Symbol_table::add_from_relobj): If appropriate, set
	is_defined_in_discarded_section.
	* resolve.cc (Symbol::override_base_with_special): Don't test
	is_target_special_.  Change has_plt_offset_ to has_plt_offset().
	* target-reloc.h (relocate_section): Do special handling for
	symbols defined in discarded sections for global symbols as well
	as local symbols.
2010-01-09 00:13:48 +00:00
gdbadmin
ab42223304 *** empty log message *** 2010-01-09 00:00:03 +00:00
Ian Lance Taylor
2703e3eb93 * dynobj.cc (big_endian>::find_dynsym_sections): Set pi to NULL in
the SHT_SYMTAB case.
2010-01-08 23:10:58 +00:00
Alan Modra
ee882def94 daily update 2010-01-08 23:00:05 +00:00
Jan Kratochvil
d521f56333 gdb/testsuite/
Workaround PR binutils/10802.
	* lib/gdb.exp (gdb_gnu_strip_debug): Preserve the file attributes
	(twice).
2010-01-08 22:59:47 +00:00
Jan Kratochvil
75242ef48d gdb/
Move some symfile code into subroutines.
	* symfile.h (relative_addr_info_to_section_offsets)
	(addr_info_make_relative): New prototypes.
	* symfile.c (default_symfile_offsets): Move a part to ...
	(relative_addr_info_to_section_offsets): ... this new function.
	(default_symfile_offsets): Call it.
	(syms_from_objfile <!mainline && addrs && addrs->other[0].name>): Move
	this part to ...
	(addr_info_make_relative): ... this new function.
2010-01-08 22:55:15 +00:00
Jan Kratochvil
268a4a75bd gdb/
Add from_tty to solib_create_inferior_hook.
	* infcmd.c (post_create_inferior): Move solib_add after
	solib_create_inferior_hook.  Pass from_tty to
	solib_create_inferior_hook.  Call solib_add and SOLIB_ADD with
	0 from_tty and comment why.
	* infrun.c (follow_exec): Pass from_tty solib_create_inferior_hook as 0.
	* linux-nat.c (linux_child_follow_fork): Likewise.
	* nto-procfs.c (procfs_post_attach, procfs_create_inferior): Likewise.
	* solib-darwin.c (darwin_solib_create_inferior_hook): New parameter
	from_tty.
	* solib-frv.c (frv_solib_create_inferior_hook): Likewise.
	* solib-irix.c (irix_solib_create_inferior_hook): Likewise.
	* solib-null.c (null_solib_create_inferior_hook): Likewise.
	* solib-osf.c (osf_solib_create_inferior_hook): Likewise.
	* solib-pa64.c (pa64_solib_create_inferior_hook): Likewise.
	* solib-som.c (som_solib_create_inferior_hook): Likewise.
	* solib-spu.c (spu_solib_create_inferior_hook): New parameter from_tty.
	Pass it to svr4_so_ops.solib_create_inferior_hook.
	* solib-sunos.c (sunos_solib_create_inferior_hook): New parameter
	from_tty.
	* solib-svr4.c (enable_break): New parameter from_tty.  Pass it to
	solib_add.
	(svr4_solib_create_inferior_hook): New parameter from_tty.  Pass it to
	enable_break.
	* solib-target.c (solib_target_solib_create_inferior_hook): New
	parameter from_tty.
	* solib.c (solib_create_inferior_hook): New parameter from_tty.  Pass
	it to ops->solib_create_inferior_hook.
	(reload_shared_libraries): Pass from_tty to solib_create_inferior_hook.
	Move solib_add after solib_create_inferior_hook, call it now with
	from_tty as 0.  New comment there.
	* solib.h (solib_create_inferior_hook): New parameter from_tty.
	* solist.h (struct target_so_ops <solib_create_inferior_hook>):
	Likewise.
2010-01-08 22:52:04 +00:00
Ian Lance Taylor
339d40a3d9 * object.cc (Sized_relobj::do_layout): Don't get confused if
layout_eh_frame returns NULL.
2010-01-08 22:34:34 +00:00
Ian Lance Taylor
abecea76bc PR 11084
* dynobj.cc (Sized_dynobj::find_dynsym_sections): If there is no
	dynamic symbol table, use the normal symbol table.
	(Sized_dynobj::do_read_symbols): Remove assertion about type of
	symbol table.
2010-01-08 21:24:44 +00:00
Ian Lance Taylor
6b7dd3f3b1 PR 11072
* layout.cc (Layout::include_section): Remove .gnu_debuglink
	sections.
2010-01-08 21:07:34 +00:00
H.J. Lu
36c50e63be Change to "Copyright 2010" 2010-01-08 19:48:09 +00:00
H.J. Lu
5256a5b03f Change to "Copyright 2010". 2010-01-08 19:40:08 +00:00
Ian Lance Taylor
e291e7b9c9 PR 10287
PR 11063
	* i386.cc (class Target_i386): Change return type of plt_section
	to be non-const.
	(class Output_data_plt_i386): Add tls_desc_rel_ field.
	(Output_data_plt_i386::Output_data_plt_i386): Initialize
	tls_desc_rel_ field.
	(Output_data_plt_i386::rel_tls_desc): New function.
	(Target_i386::rel_tls_desc_section): New function.
	(Target_i386::Scan::local): Rewrite R_386_TLS_GOTDESC handling.
	(Target_i386::Scan::global): For R_386_TLS_GOTDESC put
	R_386_TLS_DESC reloc in rel_tls_desc_section.
	* x86_64.cc (class Target_x86_64): Add tlsdesc_reloc_info_ field.
	Define struct Tlsdesc_info.
	(Target_x86_64::Target_x86_64): Initialize tlsdesc_reloc_info_.
	(Target_x86_64::do_reloc_symbol_index): New function.
	(Target_x86_64::add_tlsdesc_info): New function.
	(class Output_data_plt_x86_64): Add tlsdesc_rel_ field.
	(Output_data_plt_x86_64::Output_data_plt_x86_64): Initialize
	tlsdesc_rel_ field.
	(Output_data_plt_x86_64::rela_plt): Rename from rel_plt.  Change
	all callers.
	(Output_data_plt_x86_64::rela_tlsdesc): New function.
	(Target_x86_64::rela_tlsdesc_section): New function.
	(Target_x86_64::Scan::local): Rewrite R_X86_64_GOTPC32_TLSDESC
	handling.
	(Target_x86_64::Scan::global): For R_X86_64_GOTPC32_TLSDESC put
	(Target_x86_64::do_reloc_addend): New function.
	R_X86_64_TLSDESC reloc in rela_tlsdesc_section.
	* output.h (class Output_reloc) [SHT_REL]: Add new constructor
	declarations.  Define TARGET_CODE.  Add arg field to u1_ union.
	(Output_reloc::type): New function.
	(Output_reloc::is_local_section_symbol): Check for TARGET_CODE.
	(Output_reloc::is_target_specific): New function.
	(Output_reloc::target_arg): New function.
	(class Output_reloc) [SHT_RELA]: Add four new constructors for
	absolute relocs and target specific relocs.
	(class Output_data_reloc) [SHT_REL]: Add add_absolute and
	add_target_specific.
	(class Output_data_reloc) [SHT_RELA]: Likewise.
	* output.cc (Output_reloc::Output_reloc): Add four new versions
	for absolute relocs and target specific relocs.
	(Output_reloc::set_needs_dynsym_index): Add TARGET_CODE case.
	(Output_reloc::get_symbol_index): Likewise.
	(Output_reloc::local_section_offset): Check that local_sym_index_
	is not TARGET_CODE or 0.
	(Output_reloc::symbol_value): Likewise.
	(Output_reloc::write) [SHT_RELA]: Call target for target specific
	reloc.
	* target.h (class Target): Add reloc_symbol_index and reloc_addend
	functions.  Add do_reloc_symbol_index and do_reloc_addend virtual
	functions.
	* layout.cc (add_target_dynamic_tags): Use output section for
	DT_PLTRELSZ and DT_JMPREL.
2010-01-08 19:33:18 +00:00
H.J. Lu
dd35de7434 Add --input-type and --output-type to elfedit
binutils/

2010-01-08  H.J. Lu  <hongjiu.lu@intel.com>

	* elfedit.c (input_elf_type): New.
	(output_elf_type): Likewise.
	(elf_type): Likewise.
	(update_elf_header): Support updating ELF file type.
	(command_line_switch): Add OPTION_INPUT_TYPE and
	OPTION_OUTPUT_TYPE.
	(options): Likewise.
	(usage): Add --input-type and --output-type.
	(main): Handle OPTION_INPUT_TYPE and OPTION_OUTPUT_TYPE.  Check
	one of --output-mach and --output-type must be specified.

	* doc/binutils.texi: Document --input-type and --output-type
	for elfedit.

binutils/testsuite/

2010-01-08  H.J. Lu  <hongjiu.lu@intel.com>

	* binutils-all/elfedit-2.d: New.

	* binutils-all/elfedit.exp: Run elfedit-2.
2010-01-08 18:50:39 +00:00
Daniel Jacobowitz
28f2482621 * gdb.cp/gdb2495.exp: Skip if gdb,nosignals. 2010-01-08 17:48:04 +00:00
H.J. Lu
c7a795f842 Fix a typo
2010-01-08  H.J. Lu  <hongjiu.lu@intel.com>

	* doc/binutils.texi: Fix a typo.
2010-01-08 17:23:05 +00:00