aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2005-04-16daily updateAlan Modra1-1/+1
2005-04-15 * bfd/bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.Julian Brown4-9/+47
* bfd/bfd-in2.h: Regenerate. * bfd/elf32-arm.c (elf32_arm_link_hash_table): New field, 'use_blx'. (elf32_arm_link_hash_table_create): Initialise fix_v4bx, use_blx. (bfd_elf32_arm_set_target_relocs): Handle use_blx. (elf32_arm_final_link_relocate): Use Thumb BLX for R_ARM_THM_PC22 relocations if requested to. (allocate_dynrelocs): Don't count size of omitted Thumb stubs based on use_blx rather than symbian_p. (elf32_arm_finish_dynamic_symbol): Don't output Thumb PLT stubs if use_blx is in effect. (elf32_arm_symbian_link_hash_table_create): Enable use_blx by default for SymbianOS. * ld/ld.texinfo: Document --use-blx. * ld/emultempl/armelf.em (use_blx): New variable. (arm_elf_create_output_section_statements): Communicate value of use_blx to bfd. (PARSE_AND_LIST_PROLOGUE): Add OPTION_USE_BLX. (PARSE_AND_LIST_OPTIONS): Add --use-blx option. (PARSE_AND_LIST_ARGS_CASES): Add OPTION_USE_BLX case.
2005-04-15Use fprintf_vma to print vma values.Nick Clifton2-22/+11
2005-04-15 PR ld/815Alan Modra2-1/+10
* elflink.c (elf_smash_syms): Clear undef.next if it's not being used as a list pointer.
2005-04-15daily updateAlan Modra1-1/+1
2005-04-14bfd/Alan Modra9-58/+90
* Makefile.am (NO_WERROR): Define. * warning.m4: New file * acinclude.m4: Include warning.m4. * configure.in: Invoke AM_BINUTILS_WARNINGS. * Makefile.in: Regenerate. * configure: Regenerate. bfd/doc/ * Makefile.in: Regenerate. binutils/ * Makefile.am (NO_WERROR): Define. Use instead of -Wno-error. * configure.in: Include ../bfd/warning.m4 contents. * Makefile.in: Regenerate. * configure: Regenerate. * doc/Makefile.in: Regenerate. gas/ * Makefile.am (NO_WERROR): Define. Use instead of -Wno-error. * acinclude.m4: Include ../bfd/warning.m4. * configure.in: Invoke AM_BINUTILS_WARNINGS. * Makefile.in: Regenerate. * configure: Regenerate. * doc/Makefile.in: Regenerate. gprof/ * Makefile.am (NO_WERROR): Define. * acinclude.m4: Include ../bfd/warning.m4. * configure.in: Invoke AM_BINUTILS_WARNINGS. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. ld/ * Makefile.am (NO_WERROR): Define. Use instead of -Wno-error. * configure.in: Include ../bfd/warning.m4 contents. * Makefile.in: Regenerate. * configure: Regenerate. opcodes/ * Makefile.am (NO_WERROR): Define. * configure.in: Invoke AM_BINUTILS_WARNINGS. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate.
2005-04-14 * merge.c (sec_merge_emit): Tidy. Check for bfd_zmalloc errors.Alan Modra2-11/+27
Write trailing padding.
2005-04-14 * merge.c (merge_strings): Round up section size for alignment.Alan Modra2-0/+9
2005-04-14daily updateAlan Modra1-1/+1
2005-04-132005-04-14 David S. Miller <davem@davemloft.net>Jakub Jelinek2-812/+2029
bfd/ Add TLS support for 64-bit Sparc ELF. * elf64-sparc.c (sparc64_elf_dyn_relocs, sparc64_elf_link_hash_entry, sparc64_elf_obj_tdata): New structs. (GOT_UNKNOWN, GOT_NORMAL, GOT_TLD_GD, GOT_TLD_IE, sparc64_elf_hash_entry, sparc64_elf_tdata, sparc64_elf_local_got_tls_type): New defines. (sparc64_elf_mkobject): New function. (sparc64_elf_link_hash_table): Add members for dynamic linker sections PLT, RELPLT, DYNBSS, and RELBSS. Add tls_ldm_got uion to track TLS GOT references. Add sym_sec to cache mappings from local sym to section. (link_hash_newfunc): New function. (sparc64_elf_bfd_link_hash_table_create): Rename to sparc64_elf_link_hash_table_create for consistency. Pass link_hash_newfunc to _bfd_elf_link_hash_table_init. (sparc64_elf_create_dynamic_sections): Initialize new section members of sparc64_elf_link_hash_table. Only init srelbss if not-shared. (sparc64_elf_copy_indirect_symbol, sparc64_elf_tls_transition): New functions. (SPARC_NOP): Define. (sparc64_elf_build_plt, sparc64_elf_plt_entry_offset, sparc64_elf_plt_ptr_offset): Delete. (sparc64_plt_entry_build): New function to build PLT entries gradually instread of all at once at the end of linking. (sparc64_elf_check_relocs): Delete dynobj, sgot, and srelgot local vars. Get them from sparc64_elf_hash_table instead. Check early on if r_symndx is in bounds. Handle TLS transitions. Account for TLS GOT references and DF_STATIC_TLS, as needed. For TLS relocs, record the tls_type in either sparc64_elf_local_got_tls_type or sparc64_elf_hash_entry as appropriate. For R_SPARC_TLS_{GD,LDM}_CALL, emit a reference to the __tls_get_addr symbol. For PLT relocs, track references via h->plt.refcount. When R_SPARC_{PC10,PC22,PC_HH22,PC_HM10, PC_LM22} and h not-NULL, set h->non_got_ref. For global data symbol references, count the number of relocations needed for that symbol. For default switch case, don't error, this lets the TLS relocs not explicitly handled by this function get accepted. (sparc64_elf_gc_mark_hook, sparc64_gc_sweep_hook): New functions. (sparc64_elf_adjust_dynamic_symbol): Remove dynobj local var, get it from sparc64_elf_hash_table. Store the real PLT offset in h->plt.offset, and build PLT entries one at a time. Also get .dynbss section pointer from htab. (allocate_dynrelocs, readonly_dynrelocs, sparc64_omit_section_dynsym): New functions. (sparc64_elf_omit_section_dynsym): Use these new functions as helpers. (dtpoff_base, tpoff): New functions. (sparc64_elf_relocate_section): Kill dynobj, sgot, and splt locals, get them from sparc64_elf_hash_table. Handle TLS relocations and refcounting in main relocation loop. (sparc64_elf_finish_dynamic_symbol): Use sparc64_elf_link_hash_table. Build PLT entries as we see them. Handle TLS GOT relocations. (sparc64_elf_finish_dynamic_sections): Get sgot and dynobj from sparc64_elf_hash_table. Initialize only PLT header not all entries since we not build PLT entries one by one. (elf_backend_copy_indirect_symbol, bfd_elf64_mkobject, elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook, elf_backend_can_gc_sections, elf_backend_can_refcount): Define. ld/testsuite/ * ld-selective/sel-dump.exp: Do not exclude sparc64-*. * ld-selective/selective.exp: Likewise. * ld-sparc/sparc.exp: Add {32,64}-bit prefix to test names so we know which one is failing. Run sparc64 TLS tests on multi-arch sparc platforms. * ld-sparc/tls64.sd, ld-sparc/tlssunbin64.dd, ld-sparc/tlssunbin64.rd, ld/testsuite/ld-sparc/tlssunbin64.sd, ld-sparc/tlssunbin64.td, ld-sparc/tlssunnopic64.dd, ld-sparc/tlssunnopic64.rd, ld-sparc/tlssunnopic64.sd, ld-sparc/tlssunpic64.dd, ld-sparc/tlssunpic64.rd, ld-sparc/tlssunpic64.sd, ld-sparc/tlssunpic64.td): Update now that sparc64 ELF does support TLS.
2005-04-13bfd/H.J. Lu2-0/+10
2005-04-13 Daniel Jacobowitz <dan@codesourcery.com> * elflink.c (elf_link_input_bfd): Update check for removed sections. ld/testsuite/ 2005-04-13 H.J. Lu <hongjiu.lu@intel.com> * ld-elf/empty.d: New file. * ld-elf/empty.s: Likewise.
2005-04-13daily updateAlan Modra1-1/+1
2005-04-12bfd/Alan Modra7-1135/+1304
* Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * libcoff.h: Regenerate. bfd/doc/ * Makefile.in: Regenerate. binutils/ * Makefile.am: Run "make dep-am". (syslex.o, sysinfo.o, arparse.o, arlex.o): Add -Wno-error to command. (sysroff.o, defparse.o, deflex.o): Likewise. (nlmheader.o, rcparse.o, rclex.o): Likewise. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.in: Regenerate. * configure: Regenerate. gas/ * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. ld/ * Makefile.am: Run "make dep-am". (ldgram.o, ldlex.o, deffilep.o): Add -Wno-error to command. * Makefile.in: Regenerate. * config.in: Regenerate.
2005-04-12daily updateAlan Modra1-1/+1
2005-04-112005-04-11 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu4-6/+27
* linker.c (_bfd_generic_link_output_symbols): Also check if the output section of an input section has been removed from the output file. * section.c (bfd_section_list_remove): Clear the next field of the removed section. (bfd_section_removed_from_list): New. * bfd-in2.h: Regenerated.
2005-04-112005-04-11 David S. Miller <davem@davemloft.net>Jakub Jelinek2-6/+23
* elf32-sparc.c (elf32_sparc_relocate_section, R_SPARC_TLS_LDO_{HIX22,LOX10}): When not shared, transition to R_SPARC_TLS_LE_{HIX22,LOX10}. (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_HIX22): Only xor relocation with 0xffffffff if R_SPARC_TLS_LE_HIX22. (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_LOX10): Only or 0x1c00 into relocation if R_SPARC_TLS_LE_HIX22. * ld-sparc/tlssunbin32.dd: Update for TLS relocation fixes. * ld-sparc/tlssunbin32.rd: Likewise. * ld-sparc/tlssunbin32.sd: Likewise. * ld-sparc/tlssunpic32.dd: Likewise.
2005-04-112005-04-11 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-1/+5
* coffcode.h (STRING_SIZE_SIZE): Updated to match libcoff-in.h.
2005-04-11Convert to ISO C90 formattingNick Clifton34-11542/+9139
2005-04-11daily updateAlan Modra1-1/+1
2005-04-10daily updateAlan Modra1-1/+1
2005-04-09daily updateAlan Modra1-1/+1
2005-04-082005-04-08 Paul Brook <paul@codesourcery.com>Paul Brook2-11/+63
* elf32-arm.c (ARM2THUMB_GLUE_SIZE): Rename... (ARM2THUMB_STATIC_GLUE_SIZE): ... to this. (ARM2THUMB_PIC_GLUE_SIZE): Define. (a2t1p_ldr_insn, a2t2p_add_pc_insn, a2t3p_bx_r12_insn): Add. (elf32_arm_to_thumb_stub): Create PIC stubs. (record_arm_to_thumb_glue): Use different stub size for relocatable images.
2005-04-08daily updateAlan Modra1-1/+1
2005-04-07daily updateAlan Modra1-1/+1
2005-04-06daily updateAlan Modra1-1/+1
2005-04-05 * elf64-ppc.c (dec_dynrel_count): New function split out fromAlan Modra2-149/+145
ppc64_elf_edit_toc, with additional code from ppc64_elf_edit_opd. (ppc64_elf_edit_toc, ppc64_elf_edit_opd): Use it. (ppc64_elf_tls_optimize): Likewise.
2005-04-05Provide .wcookie section for OpenBSD/sparc64.Nick Clifton2-17/+44
2005-04-05New translation: KinyarwandaNick Clifton4-2/+3109
2005-04-05 * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME_P): New macro.Richard Sandiford2-4/+19
(_bfd_mips_elf_section_from_shdr): Use it to check for recognized SHT_MIPS_OPTIONS names. Allow all sections with unrecognised section flags. (_bfd_mips_elf_fake_sections): Use MIPS_ELF_OPTIONS_SECTION_NAME_P to check for SHT_MIPS_OPTIONS sections. (_bfd_mips_elf_set_section_contents): Likewise.
2005-04-052005-04-04 Eric Christopher <echristo@redhat.com>Eric Christopher2-23/+19
* elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Clean up gp handling code.
2005-04-05bfd/H.J. Lu3-9/+136
2005-04-04 H.J. Lu <hongjiu.lu@intel.com> * elf.c (bfd_elf_set_group_contents): Ignore linker created group section. (assign_section_numbers): Accept link_info. Check SHT_GROUP sections for relocatable files only. Remove the linker created group sections. (_bfd_elf_compute_section_file_positions): Pass link_info to assign_section_numbers. * elfxx-ia64.c (elfNN_ia64_object_p): New. (elf_backend_object_p): Defined. gas/ 2005-04-04 H.J. Lu <hongjiu.lu@intel.com> * config/tc-ia64.c (start_unwind_section): Undo the change of 2004-08-18. (generate_unwind_image, dot_endp): Likewise.
2005-04-052005-04-04 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-1/+8
* elf.c (bfd_elf_set_group_contents): Ignore linker created group section.
2005-04-05daily updateAlan Modra1-1/+1
2005-04-042005-04-04 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-1/+5
* elf-bfd.h (elf_section_data): Use (sec) instead of sec.
2005-04-04daily updateAlan Modra1-1/+1
2005-04-03Apply patch for binutils bug 806, approved by nickc@redhat.com.Fred Fish2-41/+203
2005-04-03 Fred Fish <fnf@specifixinc.com> * dwarf2.c (struct dwarf2_debug): Add dwarf_ranges_buffer and dwarf_ranges_size members. (struct comp_unit): Add base_address member. (struct funcinfo): Replace low/high members with an arange. (arange_add): Replace incoming "unit" parameter with "abfd" and "first_arange" pointers. Reorganize/rewrite function body. (decode_line_info): Change arange_add call to pass bfd and arange pointers. (lookup_address_in_line_info_table): Use arange list instead of individual low/high members. Walk function's arange list to find lowest PC in list, to test for overlapping functions. (read_debug_ranges): New function, reads the debug_ranges section. (lookup_address_in_function_table): Use arange list instead of individual low/high members. Rewrite to find smallest range that matches. (read_rangelist): Read a given rangelist from debug_ranges. (scan_unit_for_functions): Use arange list instead of individual low/high members. Handle a DW_AT_ranges attribute. (parse_comp_unit): Use arange list instead of individual low/high members. Save comp unit base address. Handle a DW_AT_ranges attribute.
2005-04-03daily updateAlan Modra1-1/+1
2005-04-02daily updateAlan Modra1-1/+1
2005-04-012005-04-01 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-0/+5
* elf.c (assign_section_numbers): Really use the kept section.
2005-04-012005-03-31 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu4-9/+58
* elf-bfd.h (_bfd_elf_check_kept_section): New. * elf.c (assign_section_numbers): When sh_link points to a discarded section, call _bfd_elf_check_kept_section to see if the kept section can be used. Otherwise reject sh_link pointing to discarded section. * elflink.c (_bfd_elf_check_kept_section): New. (elf_link_input_bfd): Use it.
2005-04-01 * elf64-ppc.c (ppc64_elf_edit_toc): Account for dynamic relocsAlan Modra2-0/+106
that we no longer need.
2005-04-01 (ppc64_elf_check_relocs): Remove unnecessary SEC_ALLOC check.Alan Modra2-3/+3
2005-04-01 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return -1 on errorsAlan Modra2-9/+16
rather than 0.
2005-04-012005-03-31 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-1/+5
* elf.c (assign_section_numbers): Fix a typo.
2005-04-01daily updateAlan Modra1-1/+1
2005-03-312005-03-31 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-10/+16
* elflink.c (elf_link_input_bfd): Remove the extra `\n' in error message. (_bfd_elf_section_already_linked): Likewise.
2005-03-31 * bfd/config.in: Regenerate.Jerome Guitton2-1/+6
2005-03-31 * bfd/config.in (HAVE_DECL_BASENAME): New configure macro.Jerome Guitton4-0/+85
* bfd/configure.in: Check for basename. * bfd/configure: Regenerate.
2005-03-31daily updateAlan Modra1-1/+1
2005-03-30 * bfd/bfd-in.h (bfd_is_arm_mapping_symbol_name): Rename fromJulian Brown5-6/+18
bfd_elf32_is_arm_mapping_symbol_name. * bfd/bfd-in2.h: Regenerate. * bfd/cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename from bfd_elf32_is_arm_mapping_symbol_name. * bfd/elf32-arm.c (elf32_arm_is_target_special_symbol): Rename bfd_elf32_is_arm_mapping_symbol_name to bfd_is_arm_mapping_symbol_name. (arm_elf_find_function): Likewise. (elf32_arm_output_symbol_hook): Likewise. * gas/config/tc-arm.c (arm_adjust_symtab): Likewise.