aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2005-05-19daily updateAlan Modra1-1/+1
2005-05-18 * bfd/elf32-arm.c: Make all #ifndef OLD_ARM_ABI blocksZack Weinberg2-50/+7
unconditional. * include/elf/arm.h: Make all #ifndef OLD_ARM_ABI blocks unconditional, delete all #ifdef OLD_ARM_ABI blocks.
2005-05-182005-05-18 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-17/+10
* elf.c (group_signature): Check if the symbol table section is correct.
2005-05-18include/elf:Zack Weinberg5-389/+904
* arm.h: Import complete list of official relocation names and numbers from AAELF. Define FAKE_RELOCs for old names. Remove a few old names no longer used anywhere. bfd: * elf32-arm.c: Wherever possible, use official reloc names from AAELF. (elf32_arm_howto_table, elf32_arm_tls_gd32_howto) (elf32_arm_tls_ldo32_howto, elf32_arm_tls_ldm32_howto) (elf32_arm_tls_le32_howto, elf32_arm_tls_ie32_howto) (elf32_arm_vtinherit_howto, elf32_arm_vtentry_howto) (elf32_arm_pc11_howto, elf32_arm_thm_pc9_howto, elf32_arm_got_prel) (elf32_arm_r_howto): Replace with elf32_arm_howto_table_1, elf32_arm_howto_table_2, and elf32_arm_howto_table_3. Add many new relocations from AAELF. (elf32_arm_howto_from_type): Update to match. (elf32_arm_reloc_map): Add entries for R_ARM_THM_JUMP24, R_ARM_THM_JUMP11, R_ARM_THM_JUMP19, R_ARM_THM_JUMP8, R_ARM_THM_JUMP6, R_ARM_GNU_VTINHERIT, and R_ARM_GNU_VTENTRY. (elf32_arm_reloc_type_lookup): Use elf32_arm_howto_from_type. (elf32_arm_final_link_relocate): Add support for R_ARM_THM_JUMP24, R_ARM_THM_JUMP19, R_ARM_THM_JUMP6. Remove case entries redundant with default. * reloc.c: Reorganize ARM relocations. Add Thumb assembler-internal relocations BFD_RELOC_ARM_T32_OFFSET_U8, BFD_RELOC_ARM_T32_OFFSET_IMM, BFD_RELOC_ARM_T32_IMMEDIATE. Add visible relocations BFD_RELOC_THUMB_PCREL_BRANCH7, BFD_RELOC_THUMB_BRANCH20, BFD_RELOC_THUMB_BRANCH25. Delete unused relocations BFD_RELOC_ARM_GOT12, BFD_RELOC_ARM_COPY. * bfd-in2.h, libbfd.h: Regenerate. opcodes: * arm-dis.c (thumb_opcodes): Add disassembly for V6T2 16-bit instructions. Adjust disassembly of some opcodes to match unified syntax. (thumb32_opcodes): New table. (print_insn_thumb): Rename print_insn_thumb16; don't handle two-halfword branches here. (print_insn_thumb32): New function. (print_insn): Choose among print_insn_arm, print_insn_thumb16, and print_insn_thumb32. Be consistent about order of halfwords when printing 32-bit instructions. gas: * hash.c (hash_lookup): Add len parameter. All callers changed. (hash_find_n): New interface. * hash.h: Prototype hash_find_n. * sb.c: Include as.h. (scrub_from_sb, sb_to_scrub, scrub_position): New statics. (sb_scrub_and_add_sb): New interface. * sb.h: Prototype sb_scrub_and_add_sb. * input-scrub.c (input_scrub_include_sb): Use sb_scrub_and_add_sb. * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Remove reference to BFD_RELOC_ARM_GOT12 which is never generated. * config/tc-arm.c: Rewrite, adding Thumb-2 support. gas/testsuite: * gas/arm/arm.exp: Convert all existing "gas_test" tests to "run_dump_test" tests. Run more tests unconditionally. Run new tests. * gas/arm/arch4t.s, gas/arm/arch6zk.s, gas/arm/arm3.s, gas/arm/arm6.s * gas/arm/arm7dm.s, gas/arm/bignum1.s, gas/arm/float.s * gas/arm/immed.s, gas/arm/iwmmxt.s, gas/arm/offset.s, gas/arm/thumb.s: Adjust to work as a dump test. * gas/arm/arch4t.d, gas/arm/arch6zk.d, gas/arm/arm3.d, gas/arm/arm6.d * gas/arm/arm7dm.d, gas/arm/bignum1.d, gas/arm/float.d * gas/arm/immed.d, gas/arm/iwmmxt.d, gas/arm/offset.d, gas/arm/thumb.d: New files. * gas/arm/armv1-bad.l, gas/arm/armv1-bad.s: Remove tests for diagnostics that don't happen in the first pass anymore. * gas/arm/iwmmxt-bad.l, gas/arm/r15-bad.l, gas/arm/req.l * gas/arm/vfp-bad.l: Update expected diagnostics. * gas/arm/pic.d: Update expected reloc name. * gas/arm/thumbv6.d: CPY no longer appears in disassembly. * gas/arm/r15-bad.s: Avoid two-argument mul. * gas/arm/req.s: Adjust comments. * gas/arm/maverick.d, gas/arm/maverick.s: Avoid inappropriate use of PC. * gas/arm/macro-1.d, gas/arm/macro1.s * gas/arm/t16-bad.l, gas/arm/t16-bad.s * gas/arm/tcompat.d, gas/arm/tcompat.s * gas/arm/tcompat2.d, gas/arm/tcompat2.s * gas/arm/thumb32.d, gas/arm/thumb32.s New test pair. ld/testsuite: * ld-arm/mixed-app.d: Adjust expected disassembly a little.
2005-05-18daily updateAlan Modra1-1/+1
2005-05-17 * elf.c (_bfd_elf_write_object_contents): Check for non-NULLDaniel Jacobowitz4-15/+29
elf_shstrtab. * format.c (bfd_check_format_matches): Set output_has_begun for both_direction. * section.c (bfd_set_section_contents): Use bfd_write_p. Remove special case for both_direction.
2005-05-17(group_signature): Check for a group section which is actually a (corrupt)Nick Clifton2-1/+22
symbol table section in disguise and prevent an infinite loop from occurring.
2005-05-172005-05-17 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-24/+23
* elfxx-ia64.c (elfNN_ia64_relax_brl): Undo the change made on 2005-02-16.
2005-05-172005-05-17 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-3/+11
* elfxx-ia64.c (elfNN_ia64_relax_br): Keep the original predicate on slot 0 only if slot 0 isn't br.
2005-05-17bfd/H.J. Lu3-2/+11
2005-05-17 H.J. Lu <hongjiu.lu@intel.com> PR 797 * elf32-i386.c (elf_i386_size_dynamic_sections): Also remove empty sdynbss section. * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise. ld/ 2005-05-17 H.J. Lu <hongjiu.lu@intel.com> PR 797 * ldexp.c (exp_fold_tree_1): Renamed from exp_fold_tree and take take a bfd_boolean, mark_used. Ignore assert failure if mark_used is TRUE. (exp_fold_tree) Call exp_fold_tree_1 with mark_used == FALSE. (exp_fold_tree_no_dot): Updated to take a bfd_boolean, mark_used and pass down. (fold_unary): Likewise. (fold_binary): Likewise. (fold_trinary): Likewise. (exp_binop): Add FALSE to call to exp_fold_tree_no_dot. (exp_trinop): Likewise. (exp_unop): Likewise. (exp_nameop): Likewise. (exp_get_vma): Likewise. (exp_get_fill): Likewise. (exp_get_abs_int): Likewise. (fold_name): Likewise. Set SEC_KEEP in output section flags. (exp_mark_used_section): New. * ldexp.h (exp_mark_used_section): New. * ldlang.c (lang_output_section_statement_lookup_1): Set the ignored field to FALSE. (lang_mark_used_section_1): New. (lang_mark_used_section): Call lang_mark_used_section_1. (strip_excluded_output_sections): Call lang_mark_used_section and check for unused sections. (lang_size_sections_1): Skip an output section if it should be ignored. (lang_do_assignments_1): Likewise. (lang_process): Don't call lang_mark_used_section here. * ldlang.h (lang_output_section_statement_type): Change all_input_readonly to bitfield. Add ignored. ld/testsuite/ 2005-05-17 H.J. Lu <hongjiu.lu@intel.com> PR 797 * empty-aligned.d: New file. * empty-aligned.exp: Likewise. * empty-aligned.s: Likewise. * empty-aligned.t: Likewise.
2005-05-17(bfd_section_from_shdr): Add sanity check when parsing dynamic sections.Nick Clifton2-0/+8
2005-05-17ldlang.c (print_assignment): Do not rely upon a valid result having a sectionNick Clifton2-1/+9
associated with it. elf32-arm.c (elf32_arm_final_link_relocate): Gracefully handle the situation where a symbols's section is not known but a section relative R_ARM_RELATIVE reloc has to be generated for the Symbian OS.
2005-05-17 * elf32-ppc.c (LIS_11. LIS_12): Define.Alan Modra2-38/+100
(LWZU_0_X_12, LWZ_0_X_12, LWZ_12_4_12, LWZ_12_X_12): Define. (ppc_elf_finish_dynamic_sections): Provide non-pic plt call stub for --data-plt when building non-pie executables.
2005-05-17(v850_elf_relocate_section): Move code to test for the presence of a symbolNick Clifton2-9/+18
table to just before the symbol table is actually used.
2005-05-17daily updateAlan Modra1-1/+1
2005-05-162005-05-16 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-0/+151
PR 834 * elfxx-ia64.c (elfNN_ia64_relax_br): New. (elfNN_ia64_relax_section): Use it.
2005-05-16daily updateAlan Modra1-1/+1
2005-05-15daily updateAlan Modra1-1/+1
2005-05-14* elflink.c (bfd_elf_size_dynamic_sections): Use lbasename insteadMark Kettenis2-2/+7
of basename.
2005-05-14include/elf/Alan Modra2-10/+17
* ppc.h (DT_PPC_GOT): Rename from DT_PPC_GLINK. bfd/ * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set DT_PPC_GOT, not DT_PPC_GLINK. (ppc_elf_finish_dynamic_sections): Likewise. binutils/ * readelf.c (get_ppc_dynamic_type): Display DT_PPC_GOT, not DT_PPC_GLINK.
2005-05-14Fix obvious typo in comment.Fred Fish3-2/+7
2005-05-13 Fred Fish <fnf@specifixinc.com> * libbfd-in.h: Fix a comment typo, 'neaderst' -> 'nearest' * libbfd.h: Rebuilt.
2005-05-14 * elf32-xtensa.c (xtensa_get_property_section_name): Add missingBob Wilson2-2/+7
periods in linkonce_kind values.
2005-05-14daily updateAlan Modra1-1/+1
2005-05-13daily updateAlan Modra1-1/+1
2005-05-122005-05-12 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-0/+6
* elf32-i386.c (elf_i386_relocate_section): Allow R_386_GOTOFF against protected function when building executable.
2005-05-12 * elf32-ppc.c (LWZU_0_X_11): Delete.Alan Modra2-38/+94
(B, LWZ_11_X_11, LWZ_11_X_30, MTCTR_11): Define. (ppc_elf_select_plt_layout): Set .got flags too. Formatting. (ppc_elf_size_dynamic_sections): Allocate space for .glink branch table. (ppc_elf_finish_dynamic_symbol): Point .plt entries into the branch table. (ppc_elf_finish_dynamic_sections): Adjust DT_PPC_GLINK value. Generate .glink branch table and updated stubs.
2005-05-12daily updateAlan Modra1-1/+1
2005-05-11 * reloc.c (BFD_RELOC_HI16_PCREL): Define.Alan Modra6-65/+424
(BFD_RELOC_HI16_S_PCREL, BFD_RELOC_LO16_PCREL): Define. * elf32-ppc.c (GLINK_PLTRESOLVE, GLINK_ENTRY_SIZE): Define. (CROR_151515, CROR_313131): Delete. (ADDIS_11_11, ADDI_11_11, SUB_11_11_30, ADD_0_11_11, ADD_11_0_11, LWZ_0_4_30, MTCTR_0, LWZ_12_8_30, BCTR, ADDIS_11_30, LWZU_0_X_11): Define. (ppc_elf_howto_raw): Add R_PPC_REL16, R_PPC_REL16_LO, R_PPC_REL16_HI and R_PPC_REL16_HA entries. (ppc_elf_reloc_type_lookup): Convert new bfd reloc types. (ppc_elf_addr16_ha_reloc): Also handle R_PPC_REL16_HA. (struct ppc_elf_link_hash_table): Add glink, glink_pltresolve, new_plt, and old_plt. (ppc_elf_create_dynamic_sections): Create .glink section. (ppc_elf_check_relocs): Set new_plt and old_plt. (ppc_elf_select_plt_layout): New function. (ppc_elf_tls_setup): Set plt output section elf type and flags. (allocate_got): Handle differences between old and new got layout. (allocate_dynrelocs): Likewise for plt. (ppc_elf_size_dynamic_sections): Likewise. Allocate memory for .glink. Don't allocate memory for old bss .plt. Emit DT_PPC_GLINK. (ppc_elf_relax_section): Rename ppc_info to htab. Handle .glink destination of R_PPC_PLTREL24 relocs. (ppc_elf_relocate_section): Handle new relocs and changed destination of R_PPC_PLTREL24. (ppc_elf_finish_dynamic_symbol): Init new style plt and handle differences in layout. (ppc_elf_finish_dynamic_sections): Set DT_PPC_GLINK value. Don't put a blrl in new got. Write glink contents. * elf32-ppc.h (ppc_elf_select_plt_layout): Declare. * libbfd.h: Regenerate. * bfd-in2.h: Regenerate.
2005-05-11 * elf32-i386.c (elf_i386_finish_dynamic_sections): Fix signednessAndreas Schwab2-1/+6
warning.
2005-05-112005-05-10 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-18/+43
* elf.c (_bfd_elf_make_section_from_shdr): Only check debug section if SEC_ALLOC isn't set.
2005-05-11daily updateAlan Modra1-1/+1
2005-05-102005-05-09 Kelley Cook <kcook@gcc.gnu.org>Kelley Cook7-47/+1079
* configure.in: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF. * acinclude.m4: Don't sinclude accross.m4. * config.in, configure, Makefile.in, doc/Makefile.in: Regenerate.
2005-05-10daily updateAlan Modra1-1/+1
2005-05-09 * Makefile.am: Use a temporary file to build chew.Daniel Jacobowitz3-4/+15
* Makefile.in: Regenerated.
2005-05-09 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_dotsym.Alan Modra2-14/+51
(ppc64_elf_add_symbol_hook): Set has_dotsym. (ppc64_elf_check_directives): Only process syms when has_dotsym. (func_desc_adjust): Hide fake function descriptors when function code entry is defined. (adjust_opd_syms): Adjust for deleted_section becoming union field.
2005-05-09 * elfcode.h (elf_object_p): Add more sanity checks on elf header.Alan Modra2-6/+52
2005-05-09daily updateAlan Modra1-1/+1
2005-05-082005-05-08 Dave Korn <dave.korn@artimi.com>Dave Korn2-0/+13
* coff-tic80.c: Undefine _CONST after system headers to prevent clash with tic80-specific definition in include/coff/tic80.h
2005-05-082005-05-08 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-1/+10
PR 939 * elflink.c (elf_link_output_extsym): Use output_bfd if h->root.u.def.section is bfd_abs_section_ptr when reporting error.
2005-05-08daily updateAlan Modra1-1/+1
2005-05-072005-05-07 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu19-64/+865
* elf-bfd.h (elf_backend_data): Update special_sections to array of pointer to bfd_elf_special_section. * elf.c (special_sections): Likewise. * elf32-arm.c (elf32_arm_symbian_special_sections): Likewise. * elf32-m32r.c (m32r_elf_special_sections): Likewise. * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise. * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise. * elf32-mcore.c (mcore_elf_special_sections): Likewise. * elf32-ppc.c (ppc_elf_special_sections): Likewise. * elf32-sh64.c (sh64_elf_special_sections): Likewise. * elf32-v850.c (v850_elf_special_sections): Likewise. * elf32-xtensa.c (elf_xtensa_special_sections): Likewise. * elf64-alpha.c (elf64_alpha_special_sections): Likewise. * elf64-hppa.c (elf64_hppa_special_sections): Likewise. * elf64-ppc.c (ppc64_elf_special_sections): Likewise. * elf64-sh64.c (sh64_elf64_special_sections): Likewise. * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise. * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise. * elfxx-mips.h (_bfd_mips_elf_special_sections): Likewise. * elf.c (get_special_section): Updated.
2005-05-07Move doc/ entries into doc/ChangeLog.Nick Clifton2-77/+12
Remove duplicated ChangeLog entry.
2005-05-07bfd/Alan Modra9-276/+324
* elf-bfd.h (struct elf_backend_data): Remove got_symbol_offset. * elfxx-target.h (elf_backend_got_symbol_offset): Delete. * elflink.c (_bfd_elf_create_got_section): Use zero in place of got_symbol_offset. * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise. * elf32-frv.c (_frv_create_got_section): Likewise. * elf32-i370.c (i370_elf_finish_dynamic_sections): Delete ppc code. (elf_backend_got_symbol_offset): Don't define. * elf64-ppc.c (elf_backend_got_symbol_offset): Don't define. * elf32-ppc.c (struct ppc_elf_link_hash_table): Add got_header_size and got_gap. (ppc_elf_create_got): Tidy. (ppc_elf_create_dynamic_sections): Don't set SEC_IN_MEMORY for .plt. (ppc_elf_check_relocs): Reduce string comparisons by using elf.hgot. (ppc_elf_gc_sweep_hook): Likewise. (ppc_elf_relocate_section): Likewise. (ppc_elf_finish_dynamic_symbol): Likewise. (allocate_got): New function. (allocate_dynrelocs): Use allocate_got. (ppc_elf_size_dynamic_sections): Likewise. Delay tlsld_got allocation so that local got can refcount it. Set got_header_size. (ppc_elf_relocate_section): Use value of elf.hgot rather than hard- coded 4. (ppc_elf_finish_dynamic_sections): Likewise. (elf_backend_got_symbol_offset): Don't define. (elf_backend_got_header_size): Ditto. ld/testsuite/ * ld-powerpc/tlsexe32.d: Update for changed got layout. * ld-powerpc/tlsexe32.g: Likewise. * ld-powerpc/tlsexe32.r: Likewise. * ld-powerpc/tlsso32.d: Likewise. * ld-powerpc/tlsso32.g: Likewise. * ld-powerpc/tlsso32.r: Likewise.
2005-05-07daily updateAlan Modra1-1/+1
2005-05-06Correct changelog snafu.Daniel Jacobowitz2-0/+10
2005-05-06daily updateAlan Modra1-1/+1
2005-05-05Fix ia64-hpux build failure, patch from Steve Ellcey.Jim Wilson5-92/+253
* configure.in (ACX_HEADER_STRING): New. * configure: Regenerate. * config.in: Regenerate. * sysdep.h (STRING_WITH_STRINGS): Use.
2005-05-052005-05-05 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-3/+7
* elf.c (_bfd_elf_close_and_cleanup): Only call _bfd_dwarf2_cleanup_debug_info on bfd_object.
2005-05-05bfd/H.J. Lu2-2/+7
2005-05-05 H.J. Lu <hongjiu.lu@intel.com> * elflink.c (_bfd_elf_provide_section_bound_symbols): Use "__bss_start" instead of "_edata" as fallback. ld/ 2005-05-05 H.J. Lu <hongjiu.lu@intel.com> * scripttempl/elf.sc: Document the usage of __bss_start.
2005-05-052005-05-05 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu3-2/+7
* Makefile.am (INCLUDES): Remove -D_GNU_SOURCE. * Makefile.in: Regenerate.