Commit graph

9791 commits

Author SHA1 Message Date
Alan Modra
8eb3f24a99 daily update 2012-06-25 00:00:05 +00:00
Alan Modra
5a0196faca daily update 2012-06-24 00:00:04 +00:00
Alan Modra
069db2a3fe daily update 2012-06-23 00:00:04 +00:00
Roland McGrath
62655c7b8b bfd/
* elf.c (assign_file_positions_for_non_load_sections): Define
	__ehdr_start symbol if it's referenced and there's a PT_LOAD
	segment that covers both the file and program headers.

ld/
	* NEWS: Mention __ehdr_start.

ld/testsuite/
	* ld-elf/ehdr_start.s: New file.
	* ld-elf/ehdr_start.d: New file.
2012-06-22 16:52:33 +00:00
Andreas Schwab
b70e7a2fdf * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Don't make
_GLOBAL_OFFSET_TABLE_ and _DYNAMIC absolute.
2012-06-22 09:30:18 +00:00
Alan Modra
27fc25a1a9 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't emit out-of-line
save/restore functions when relocatable.  Make "funcs" static.
2012-06-22 05:53:04 +00:00
Alan Modra
dedde98681 daily update 2012-06-22 00:00:05 +00:00
Alan Modra
e7c706a741 daily update 2012-06-21 00:00:04 +00:00
Alan Modra
bc2dbe6f7c daily update 2012-06-20 00:00:04 +00:00
Alan Modra
de7a087642 daily update 2012-06-19 00:00:04 +00:00
Hans-Peter Nilsson
51806b9750 * elf32-cris.c (cris_elf_plt_sym_val): Rewrite to work in presence
of merged .got and .got.plt entries.
2012-06-18 06:16:59 +00:00
Alan Modra
466911340d * elf32-arm.c (elf32_arm_final_link_relocate): Correct return value. 2012-06-18 00:46:28 +00:00
Alan Modra
87e7ada21d daily update 2012-06-18 00:00:05 +00:00
Hans-Peter Nilsson
26a48bb3a9 * elf32-cris.c (cris_elf_relocate_section): <R_CRIS_32_IE>
<R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>: Handle references to
	thread common symbols.
2012-06-17 07:28:29 +00:00
Alan Modra
e24b8d86fc daily update 2012-06-17 00:00:05 +00:00
Alan Modra
c4a8824cca daily update 2012-06-16 00:00:04 +00:00
Alan Modra
a9322fc66a daily update 2012-06-15 00:00:05 +00:00
Alan Modra
1d1702fcaa daily update 2012-06-14 00:00:05 +00:00
Nick Clifton
5968a7b800 * elf32-arm.c (bfd_arm_get_mach_from_attributes): New function.
(elf32_arm_object_p): If the machine number could not be deduced
	from the notes, call bfd_arm_get_mach_from_attributes to get the
	number from the attributes.
2012-06-13 10:01:50 +00:00
Alan Modra
a8f7b9da8d daily update 2012-06-13 00:00:04 +00:00
H.J. Lu
8981c88a1e Abort if PT_GNU_RELRO segment doesn't fit in PT_LOAD segment
bfd/

	PR bfd/14207
	* elf.c (assign_file_positions_for_non_load_sections): Abort if
	PT_GNU_RELRO segment doesn't fit in PT_LOAD segment.

ld/testsuite/

	PR ld/14207
	* ld-x86-64/x86-64.exp: Run pr14207.

	* ld-x86-64/pr14207.d: New file.
	* ld-x86-64/pr14207.s: Likewise.
2012-06-12 12:55:11 +00:00
Alan Modra
3832a4d892 PR ld/14207
* elf.c (_bfd_elf_map_sections_to_segments): Disregard bss type
	sections at end of PT_LOAD segment when searching for segment
	that contains end of relro extent.
2012-06-12 06:31:06 +00:00
Alan Modra
1bec2beaab daily update 2012-06-12 00:00:04 +00:00
H.J. Lu
f3944f7224 Reindent assign_file_positions_for_non_load_sections
* elf.c (assign_file_positions_for_non_load_sections): Reindent.
2012-06-11 16:48:35 +00:00
H.J. Lu
be01b34487 Reindent _bfd_elf_map_sections_to_segments
* elf.c (_bfd_elf_map_sections_to_segments): Reindent.
2012-06-11 16:44:02 +00:00
Alan Modra
7b9f845ec7 daily update 2012-06-11 00:00:05 +00:00
Alan Modra
a77271fddc daily update 2012-06-10 00:00:04 +00:00
Alan Modra
036746c412 daily update 2012-06-09 00:00:04 +00:00
Alan Modra
5d9636cc4a daily update 2012-06-08 00:00:05 +00:00
Alan Modra
08d5d40f93 daily update 2012-06-07 00:00:05 +00:00
Alan Modra
ffbc01ccf0 bfd/
* elflink.c (elf_link_input_bfd): Provide a file symbol for
	each input file with local syms, if the input lacks such.
	(bfd_elf_final_link): Add a file symbol to mark end of locals
	for which we can associate with input files.
	(struct elf_final_link_info): Add filesym_count field.
	(struct elf_outext_info): Add need_second_pass and second_pass.
	(elf_link_output_extsym): Detect symbols defined in the output
	file, emit them on second pass over locals.
ld/testsuite/
Update to suit added STT_FILE symbols.
2012-06-06 10:50:18 +00:00
Alan Modra
ae1ac7ef2a daily update 2012-06-06 00:00:05 +00:00
Alan Modra
436ab6fd1b daily update 2012-06-05 00:00:04 +00:00
Jan Kratochvil
fe78531dcf bfd/
* bfd-in.h (bfd_elf_bfd_from_remote_memory): Make LEN argument
	of target_read_memory as bfd_size_type.
	* bfd-in2.h: Regenerate.
	* elf-bfd.h (elf_backend_bfd_from_remote_memory): Make LEN
	argument of target_read_memory as bfd_size_type.
	(_bfd_elf32_bfd_from_remote_memory): Likewise.
	(_bfd_elf64_bfd_from_remote_memory): Likewise.
	* elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
	* elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): Likewise.

gdb/
	* symfile-mem.c: 3 new gdb_static_assert for target_read_memory_bfd
	parameters.
	(target_read_memory_bfd): New function.
	(symbol_file_add_from_memory): Use it.
2012-06-04 14:35:25 +00:00
Alan Modra
bb3a4c1019 daily update 2012-06-04 00:00:03 +00:00
Alan Modra
aef36ac1fc PR binutils/13897
* elf.c (elf_find_function): Cache last function sym info.
	(_bfd_elf_maybe_function_sym): Return function size, pass in
	section of interest.
	* elf-bfd.h (struct elf_backend_data <maybe_function_sym>): Likewise.
	(_bfd_elf_maybe_function_sym): Likewise.
	* elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise.
	(opd_entry_value): Add in_code_sec param.  Revert caching code.
	Return -1 if in_code_sec and function found in wrong section.
	Update all calls.
2012-06-03 04:08:07 +00:00
Alan Modra
e8403b7398 daily update 2012-06-03 00:00:02 +00:00
Alan Modra
8c937023fb daily update 2012-06-02 00:00:02 +00:00
Jan Kratochvil
5299c1c488 bfd/
* bfd-in.h (bfd_elf_bfd_from_remote_memory): Make LEN argument
	of target_read_memory as size_t.
	* bfd-in2.h: Regenerate.
	* elf-bfd.h (elf_backend_bfd_from_remote_memory): Make LEN
	argument of target_read_memory as size_t.
	(_bfd_elf32_bfd_from_remote_memory): Likewise.
	(_bfd_elf64_bfd_from_remote_memory): Likewise.
	* elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
	* elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): Likewise.

gdb/
	* target.c (target_read_memory): Make LEN argument as size_t.
	* target.h (target_read_memory): Likewise.
2012-06-01 16:37:59 +00:00
Alan Modra
ee1e4edefe PR binutils/13897
* elf64-ppc.c (opd_entry_value): Rewrite cache code.
2012-06-01 12:26:55 +00:00
Alan Modra
0acc1ee90a daily update 2012-06-01 00:00:03 +00:00
Alan Modra
5189aad2e6 daily update 2012-05-30 00:00:03 +00:00
Tom Tromey
6f0c7050fc bfd/
* opncls.c (bfd_fopen): Always close fd on failure.
	(bfd_fdopenr): Likewise.
gdb/
	* symfile.c (symfile_bfd_open): Don't close desc if bfd_fopen
	fails.
	* solib.c (solib_bfd_fopen): Don't close fd if bfd_fopen fails.
	* exec.c (exec_file_attach): Don't close scratch_chan if bfd_fopen
	fails.
	* dwarf2read.c (try_open_dwo_file): Don't close fd if bfd_fopen
	fails.
2012-05-29 14:23:40 +00:00
Alan Modra
431719081d daily update 2012-05-29 00:00:03 +00:00
Alan Modra
55a189b0c9 daily update 2012-05-28 00:00:03 +00:00
Alan Modra
f5eda4731e PR ld/14170
* elflink.c (_bfd_elf_merge_symbol): When a symbol defined in
	a dynamic library finds a new instance with non-default
	visibility in a regular object, correctly handle symbols
	already on the undefs list and undo dynamic symbol state when
	the new symbol is hidden or internal.
2012-05-27 13:55:45 +00:00
Alan Modra
887b61ae53 daily update 2012-05-27 00:00:03 +00:00
Alan Modra
e7c7fd1c22 daily update 2012-05-26 00:00:04 +00:00
H.J. Lu
bbf96e4eef Don't use dynamic_sec_flags on PLT .eh_frame section
* elf32-i386.c (elf_i386_create_dynamic_sections): Don't use
	dynamic_sec_flags to create PLT .eh_frame section.
	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
2012-05-25 16:20:15 +00:00
Alan Modra
9a2a56cc5a PR ld/13909
* elf-eh-frame.c (_bfd_elf_eh_frame_present): New function.
	(_bfd_elf_maybe_strip_eh_frame_hdr): Use it here.
	* elf-bfd.h (_bfd_elf_eh_frame_present): Declare.
	* elflink.c (bfd_elf_size_dynamic_sections): Let the backend
	size dynamic sections before stripping eh_frame_hdr.
	(bfd_elf_gc_sections): Handle multiple .eh_frame sections.
	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Drop glink_eh_frame
	if no other .eh_frame sections exist.
	* elf64-ppc.c (ppc64_elf_size_stubs): Likewise.
	* elf32-i386.c (elf_i386_create_dynamic_sections): Don't size
	or alloc plt_eh_frame here..
	(elf_i386_size_dynamic_sections): ..do it here instead.  Don't
	specially keep sgotplt, iplt, tgotplt, sdynbss for symbols.
	(elf_i386_finish_dynamic_sections): Check plt_eh_frame->contents
	before writing plt offset.
	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Don't size
	or alloc plt_eh_frame here..
	(elf_x86_64_size_dynamic_sections): ..do it here instead.
	(elf_x86_64_finish_dynamic_sections): Check plt_eh_frame->contents
	before writing plt offset.
2012-05-25 01:12:20 +00:00