Commit graph

4623 commits

Author SHA1 Message Date
Jakub Jelinek
933d961a3c * elf.c (bfd_section_from_shdr): Fail if name is NULL.
Prevent endless recursion on broken objects.

	* archive.c (do_slurp_coff_armap): Check for overflows.
2005-06-14 11:04:22 +00:00
Alan Modra
23ecb406a7 daily update 2005-06-14 00:00:06 +00:00
Alan Modra
2087f04778 daily update 2005-06-13 00:00:09 +00:00
Alan Modra
7391a870ba daily update 2005-06-12 00:00:05 +00:00
Alan Modra
f030b8138b daily update 2005-06-11 00:00:07 +00:00
Daniel Jacobowitz
9a44bbd9a9 * elfcode.h (elf_write_relocs): Do nothing if there are no
relocations.
2005-06-10 20:22:23 +00:00
Alan Modra
75758e9ddb * dwarf2.c (decode_line_info): Revert last change. Instead set
initial low_pc to -1 to avoid need to test whether loc_pc has
	been set.
2005-06-10 10:14:23 +00:00
Alan Modra
98d08a6283 daily update 2005-06-10 00:00:08 +00:00
Christopher Faylor
2ae0844c54 * coffcode.h (sec_to_styp_flags): Set appropriate section flags when either
SEC_ALLOC OR SEC_LOAD.
2005-06-09 19:22:15 +00:00
Christopher Faylor
3b137b9a08 * coffcode.h (sec_to_styp_flags): Remove read/write flags from noload section
header.  Do not add STYP_NOLOAD since it does not appear to be a valid PE flag.
2005-06-09 14:40:50 +00:00
H.J. Lu
6bd00c5db5 2005-06-09 H.J. Lu <hongjiu.lu@intel.com>
PR 1000
	* dwarf2.c (lookup_address_in_line_info_table): Restore code
	handling NULL function info, removed with 2005-04-03 change.
2005-06-09 13:32:30 +00:00
Mark Mitchell
a366f4ff7b * opncls.c (bfd_fopen): Mark returned BFD as cacheable if FD == -1. 2005-06-09 07:30:19 +00:00
Alan Modra
0e58fcf315 * elflink.c (elf_mark_used_section): Delete.
(bfd_elf_gc_sections): Call bfd_generic_gc_sections.
	* reloc.c (bfd_mark_used_section): New function.
	(bfd_generic_gc_sections): Call bfd_mark_used_section.
2005-06-09 02:02:18 +00:00
Alan Modra
8f736feabd daily update 2005-06-09 00:00:04 +00:00
Alan Modra
d83747fa84 * opncls.c (bfd_fdopenr): Don't set bfd_error unconditionally. 2005-06-08 03:51:32 +00:00
Alan Modra
92a7c1b8ba * opncls.c (bfd_fopen): Don't set bfd_error unconditionally. 2005-06-08 03:16:48 +00:00
Alan Modra
7b9028c07d daily update 2005-06-08 00:00:07 +00:00
Mark Mitchell
dfab97d66b * opncls.c (bfd_fdopenr): Add missing break statements. 2005-06-08 00:00:05 +00:00
Mark Mitchell
2d0123b785 * opncls.c (bfd_fopen): New API.
(bfd_openr): Use it.
	(bfd_fdopenr): Likewise.
	* bfd-in2.h: Regenerated.
2005-06-07 22:53:32 +00:00
Aldy Hernandez
de33e64021 * Makefile.am (ALL_MACHINES): Add ms1 support.
(ALL_MACHINES_CFILES): Same.
	(BFD32_BACKENDS): Same.
	(BFD32_BACKENDS_CFILES): Same.

	* Makefile.in: Regenerate.

	* archures.c (bfd_architecture): Add ms1 entries.
	Externalize bfd_ms1_arch.
	(bfd_archures_list): Add bfd_ms1_arch.

	* bfd-in2.h: Regenerate.

	* cpu-ms1.c: New file.

	* elf32-ms1.c: New file.

	* targets.c: Define extern of bfd_elf32_ms1_vec.
	Add bfd_elf32_ms1_vec to _bfd_target_vector.

	* configure.in: Add bfd_elf32_ms1_vec case.

	* configure: Regenerate.

	* config.bfd: Add ms1-*-elf to table.
2005-06-07 21:07:32 +00:00
Zack Weinberg
55cf6793d8 gas:
* cgen.c, cgen.h, tc.h, write.c, config/obj-coff.c
	* config/tc-a29k.c, config/tc-alpha.c, config/tc-alpha.h
	* config/tc-arc.c, config/tc-arc.h, config/tc-arm.c
	* config/tc-arm.h, config/tc-avr.c, config/tc-avr.h
	* config/tc-cris.c, config/tc-crx.c, config/tc-d10v.c
	* config/tc-d10v.h, config/tc-d30v.c, config/tc-d30v.h
	* config/tc-dlx.c, config/tc-dlx.h, config/tc-fr30.h
	* config/tc-frv.c, config/tc-frv.h, config/tc-h8300.c
	* config/tc-h8500.c, config/tc-hppa.c, config/tc-hppa.h
	* config/tc-i370.c, config/tc-i370.h, config/tc-i386.c
	* config/tc-i386.h, config/tc-i860.c, config/tc-i860.h
	* config/tc-i960.c, config/tc-i960.h, config/tc-ia64.c
	* config/tc-ip2k.c, config/tc-ip2k.h, config/tc-iq2000.c
	* config/tc-iq2000.h, config/tc-m32r.c, config/tc-m32r.h
	* config/tc-m68hc11.c, config/tc-m68hc11.h, config/tc-m68k.c
	* config/tc-m68k.h, config/tc-m88k.c, config/tc-maxq.c
	* config/tc-mcore.c, config/tc-mcore.h, config/tc-mips.c
	* config/tc-mips.h, config/tc-mmix.c, config/tc-mn10200.c
	* config/tc-mn10300.c, config/tc-msp430.c, config/tc-ns32k.c
	* config/tc-openrisc.h, config/tc-or32.c, config/tc-or32.h
	* config/tc-pdp11.c, config/tc-pj.c, config/tc-pj.h
	* config/tc-ppc.c, config/tc-ppc.h, config/tc-s390.c
	* config/tc-s390.h, config/tc-sh64.c, config/tc-sh.c
	* config/tc-sh.h, config/tc-sparc.c, config/tc-sparc.h
	* config/tc-tahoe.c, config/tc-tic30.c, config/tc-tic4x.c
	* config/tc-tic54x.c, config/tc-tic80.c, config/tc-v850.c
	* config/tc-v850.h, config/tc-vax.c, config/tc-vax.h
	* config/tc-w65.c, config/tc-xstormy16.c, config/tc-xstormy16.h
	* config/tc-xtensa.c, config/tc-z8k.c:
	Replace all instances of the string "_apply_fix3" with
	"_apply_fix".
	* po/POTFILES.in, po/gas.pot: Regenerate.
bfd:
	* coff-i386.c: Change md_apply_fix3 to md_apply_fix in comment.
cgen:
	* doc/porting.texi: Change all mention of md_apply_fix3 and
	gas_cgen_md_apply_fix3 to md_apply_fix and gas_cgen_md_apply_fix
	respectively.
2005-06-07 17:54:22 +00:00
Alan Modra
d41c820ec1 missed committing from
* elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
2005-06-07 12:12:11 +00:00
Alan Modra
4575b1b508 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Init _bfd_find_line.
* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
2005-06-07 03:13:05 +00:00
Alan Modra
07c7ebe390 daily update 2005-06-07 00:00:05 +00:00
H.J. Lu
5420f73dbb bfd/
2005-06-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR 990
	* bfd.c (bfd_find_line): New.

	* dwarf2.c (comp_unit): Add variable_table.
	(funcinfo): Add file, line, and sec.
	(varinfo): New.
	(lookup_symbol_in_function_table): New.
	(lookup_symbol_in_variable_table): New.
	(scan_unit_for_functions): Renamed to ...
	(scan_unit_for_symbols): This. Handle DW_TAG_entry_point and
	DW_TAG_variable.
	(comp_unit_find_nearest_line): Updated.
	(comp_unit_find_line): New.
	(_bfd_dwarf2_find_line): New.

	* elf-bfd.h (_bfd_elf_find_line): New.
	(_bfd_generic_find_line): New. Defined.

	* elf.c (_bfd_elf_find_line): New.

	* libbfd-in.h (_bfd_dwarf2_find_line): New.
	(_bfd_generic_find_line): New.

	* bfd-in2.h: Regenerated.
	* libbfd.h: Likewise.

	* libbfd.c (_bfd_generic_find_line): New.

	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Initialize _bfd_find_line
	with _bfd_generic_find_line.
	(bfd_target): Add _bfd_find_line.

binutils/

2005-06-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR 990
	* nm.c (print_symbol): Call bfd_find_line before
	bfd_find_nearest_line.
2005-06-06 14:28:31 +00:00
H.J. Lu
b42f9a05b6 2005-06-06 H.J. Lu <hongjiu.lu@intel.com>
* dwarf2.c (decode_line_info): Properly set low_pc.
2005-06-06 14:16:45 +00:00
Alan Modra
46de2a7c48 * elf64-ppc.c (ppc_stub_name): Return immediately on bfd_malloc fail.
(ppc64_elf_edit_opd): Ignore zero size .opd.  Check bfd_alloc
	return value.
2005-06-06 13:16:15 +00:00
Alan Modra
b4f4e59fff bfd/
* elf64-pcc.c (ppc64_elf_gc_mark_hook): For the local sym in .opd
	case, include addend when indexing .opd section map.
	(ppc64_elf_edit_opd): Add no_opd_opt param.  Do nothing besides
	clear opd_adjust array if no_opd_opt set.  Tidy code.
	* elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
ld/
	* emultempl/ppc64elf.em (ppc_before_allocation): Always run
	ppc64_elf_edit_opd.
2005-06-06 12:59:59 +00:00
Alan Modra
1daed1d500 daily update 2005-06-06 00:00:06 +00:00
Alan Modra
a3ba164022 daily update 2005-06-05 00:00:06 +00:00
H.J. Lu
2ae727ad93 2005-06-04 H.J. Lu <hongjiu.lu@intel.com>
* dwarf2.c (comp_unit): Fix a typo in comment.
2005-06-04 16:33:09 +00:00
Alan Modra
92da31229a daily update 2005-06-04 00:00:08 +00:00
Nick Clifton
0311b7a8b2 Remove spurious blank space 2005-06-03 10:14:29 +00:00
Nick Clifton
ce71b57665 Convert to ISO C90 formatting 2005-06-03 10:13:15 +00:00
Alan Modra
e1fffbe6e9 include/
* bfdlink.h (struct bfd_link_callbacks): Add einfo.
bfd/
	* configure.in: Bump version
	* configure: Regenerate.
	* elflink.c (elf_link_input_bfd): Use einfo linker callback to print
	discarded section sym refs and kill linker output.
	* simple.c (simple_dummy_einfo): New function.
	(bfd_simple_get_relocated_section_contents): Init callbacks.einfo.
ld/
	* ldmain.c (link_callbacks): Add einfo.
	(add_archive_element): Use passed info, not link_info.
	(constructor_callback): Likewise.
	(reloc_overflow): Don't handle null bfd specially.
	(reloc_dangerous, unattached_reloc): Likewise.
	* ldmisc.c (vfinfo <B>): Print "ld generated" for null bfd.
	(vfinfo <C, D, G>): Handle null bfd.  Wrap comments.
2005-06-03 09:52:50 +00:00
Alan Modra
9635fe2972 * elf32-i386.c (elf_i386_relocate_section): Handle zero symndx
for all reloc types.
2005-06-03 03:58:13 +00:00
Alan Modra
7084541e52 daily update 2005-06-03 00:00:05 +00:00
Alan Modra
e87d886e78 * elf64-ppc.c (add_symbol_adjust): Set sym visibility to most
restrictive of func code and func descr for undefined syms as well
	as defined.
2005-06-02 13:13:54 +00:00
Alan Modra
4f0aa0180c daily update 2005-06-02 00:00:06 +00:00
Jim Blandy
b2b0991329 * Makefile.am: Regenerate dependencies with 'make dep-am'.
* Makefile.in: Regenerate.
2005-06-01 05:36:05 +00:00
Alan Modra
921ba454ec daily update 2005-06-01 00:00:09 +00:00
Richard Henderson
8288a39e24 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_JSRDIRECT): New.
(ALPHA_ELF_LINK_HASH_TLS_IE): Renumber to 0x80.
        (ALPHA_ELF_LINK_HASH_LU_PLT): Rename from ALPHA_ELF_LINK_HASH_LU_FUNC.
        (elf64_alpha_want_plt): Update to match.
        (elf64_alpha_check_relocs): Collect JSRDIRECT in gotent_flags.
        (elf64_alpha_relax_with_lituse): Likewise.  Handle JSRDIRECT.
2005-05-31 22:53:44 +00:00
Zack Weinberg
f1c71a597b * elf32-arm.c (elf32_arm_reloc_type_lookup)
(elf32_arm_nabi_grok_prstatus, elf32_arm_nabi_grok_psinfo):
	Use ISO C90 function declaration style.
2005-05-31 22:09:51 +00:00
Jim Wilson
653bb2ded0 Fix for IA-64 gdb backtrace of threads in syscalls, reported by Jeff Johnson.
* elfcode.h (NAME(bfd_elf,bfd_from_remote_memory)): Check for program
header PF_R flag on PT_LOAD segments.
2005-05-31 19:32:29 +00:00
Alan Modra
e016fa04cc daily update 2005-05-31 00:00:06 +00:00
Richard Henderson
f915360b43 * elf64-alpha.c (elf64_alpha_relocate_section): Use dtp_base for
the zero index relocs produced by elf64_alpha_relax_tls_get_addr.
2005-05-30 21:22:40 +00:00
Alan Modra
6cfc98393f daily update 2005-05-30 00:00:27 +00:00
Richard Henderson
6ec7057aa5 * configure.in (--enable-secureplt): New.
* elf64-alpha.c (INSN_LDA, INSN_LDAH, INSN_LDQ, INSN_BR): New.
        (INSN_SUBQ, INSN_S4SUBQ, INSN_JMP): New.
        (INSN_A, INSN_AB, INSN_ABC, INSN_ABO, INSN_AD): New.
        (elf64_alpha_use_secureplt): New.
        (OLD_PLT_HEADER_SIZE, OLD_PLT_ENTRY_SIZE): New.
        (NEW_PLT_HEADER_SIZE, NEW_PLT_ENTRY_SIZE): New.
        (PLT_HEADER_SIZE, PLT_ENTRY_SIZE): Conditionalize on secureplt.
        (ALPHA_ELF_LINK_HASH_PLT_LOC): Remove.
        (struct alpha_elf_link_hash_entry): Add plt_offset.
        (PLT_HEADER_WORD1, PLT_HEADER_WORD2, PLT_HEADER_WORD3): Remove.
        (PLT_HEADER_WORD4, PLT_ENTRY_WORD1, PLT_ENTRY_WORD2): Remove.
        (PLT_ENTRY_WORD3): Remove.
        (elf64_alpha_create_dynamic_sections): If secureplt, set SEC_READONLY
        on .plt and create .got.plt.
        (elf64_alpha_output_extsym): Remove .plt frobbing for symbol values.
        (get_got_entry): Initialize plt_offset.
        (elf64_alpha_want_plt): New.
        (elf64_alpha_check_relocs): Use it.
        (elf64_alpha_adjust_dynamic_symbol): Likewise.  Don't allocate
        plt entries here.
        (elf64_alpha_calc_got_offsets_for_symbol): Don't report internal
        error as user error.
        (elf64_alpha_size_plt_section_1): Allocate one plt entry per
        got subsection.
        (elf64_alpha_size_plt_section): Size .got.plt section.
        (elf64_alpha_size_rela_got_1): Don't allocate relocations if
        plt entries used.
        (elf64_alpha_size_dynamic_sections): Call elf64_alpha_size_plt_section.
        Add PLTRO DYNAMIC entry.
        (elf64_alpha_finish_dynamic_symbol): Generate secureplt format.
        (elf64_alpha_finish_dynamic_sections): Likewise.
2005-05-29 23:13:39 +00:00
Alan Modra
ef5a3c08cc daily update 2005-05-29 00:00:05 +00:00
Daniel Jacobowitz
3133ddbf1d 2005-05-28 David Daney <ddaney@avtrex.com>
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections):  Move
	calculation of DT_RELSZ to occur after all dynamic relocations
	are created.
2005-05-28 22:00:27 +00:00