aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2007-12-27daily updateAlan Modra1-1/+1
2007-12-26daily updateAlan Modra1-1/+1
2007-12-25daily updateAlan Modra1-1/+1
2007-12-24daily updateAlan Modra1-1/+1
2007-12-24bfd/H.J. Lu2-6/+23
2007-12-24 H.J. Lu <hongjiu.lu@intel.com> PR binutils/5488 * elf.c (IS_NOTE): New. (IS_COREFILE_NOTE): Use IS_NOTE. (IS_SECTION_IN_INPUT_SEGMENT): Use IS_NOTE instead of IS_COREFILE_NOTE. ld/testsuite/ 2007-12-24 H.J. Lu <hongjiu.lu@intel.com> PR binutils/5488 * ld-elf/note-2.d: New. * ld-elf/note-2.s: Likewise. * ld-elf/note-2.t: Likewise.
2007-12-242007-12-24 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu4-5/+36
PR binutils/5449 * elf.c (rewrite_elf_program_header): Don't adjust p_paddr if p_paddr is set to 0. (copy_private_bfd_data): Call rewrite_elf_program_header if p_paddr is set to 0. * elfcode.h (elf_swap_phdr_out): Set p_paddr to 0 if needed. * elfxx-ia64.c (ELF_MAXPAGESIZE): Don't redefine it for HPUX.
2007-12-23daily updateAlan Modra1-1/+1
2007-12-22daily updateAlan Modra1-1/+1
2007-12-21 * elf32-xtensa.c (relax_section): Update DIFF relocations in theBob Wilson2-22/+25
same way as other relocations.
2007-12-21daily updateAlan Modra1-1/+1
2007-12-20daily updateAlan Modra1-1/+1
2007-12-19daily updateAlan Modra1-1/+1
2007-12-18daily updateAlan Modra1-1/+1
2007-12-18 * section.c (BFD_FAKE_SECTION): Update.Daniel Jacobowitz3-4/+9
* bfd-in2.h: Regenerate.
2007-12-18 * bfd-in2.h: Regenerate.Daniel Jacobowitz2-2/+5
2007-12-17daily updateAlan Modra1-1/+1
2007-12-17 * config.bfd: Add arm-*-mingw32ce* target.Pedro Alves2-1/+5
2007-12-16daily updateAlan Modra1-1/+1
2007-12-15daily updateAlan Modra1-1/+1
2007-12-15bfd/Richard Sandiford3-61/+55
* elf-bfd.h (eh_cie_fde): Replace u.cie.merged with a union of a merged field and a sec field. (eh_frame_hdr_info): Remove offsets_adjusted. * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Update accesses to the CIE merged field. (_bfd_elf_gc_mark_fdes): Likewise. (_bfd_elf_discard_section_eh_frame): Likewise. Set u.cie.u.sec when clearing the removed flag. (_bfd_elf_eh_frame_section_offset): Remove offsets_adjusted handling. (_bfd_elf_write_section_eh_frame): Likewise. Apply output_offsets where appropriate.
2007-12-15bfd/Richard Sandiford3-34/+66
* elf-bfd.h (eh_cie_fde): Move add_fde_encoding and per_encoding_relative to u.cie. Add commentary. * elf-eh-frame.c (cie): Remove make_relative. (extra_augmentation_string_bytes): Update use of add_fde_encoding. (extra_augmentation_data_bytes): Likewise. Use an FDE's own add_augmentation_size field, rather than referring to the CIE. (_bfd_elf_parse_eh_frame): Don't set the struct cie make_relative field; set the eh_cie_fde field directly. Update setting of add_fde_encoding and per_encoding_relative. Copy make_relative and add_augmentation_size from the CIE to the FDE. (_bfd_elf_discard_section_eh_frame): Use the FDE's own make_relative field. (_bfd_elf_eh_frame_section_offset): Likewise. (_bfd_elf_write_section_eh_frame): Update accesses to add_fde_encoding and per_encoding_relative. Use the FDE's own make_relative and add_augmentation_size fields.
2007-12-15bfd/Richard Sandiford3-18/+36
* elf-bfd.h (eh_cie_fde): Remove need_lsda_relative. Move make_lsda_relative to u.cie. * elf-eh-frame.c (cie): Rename make_lsda_relative to can_make_lsda_relative. (_bfd_elf_parse_eh_frame): Don't set the old eh_cie_fde make_lsda_relative field. Update after cie renaming. Set u.cie.make_lsda_relative if can_make_lsda_relative and if we find a relocation against the LSDA. (_bfd_elf_discard_section_eh_frame): Copy make_lsda_relative when changing a CIE's group representative. (_bfd_elf_eh_frame_section_offset): Don't set need_ldsa_relative here. (_bfd_elf_write_section_eh_frame): Check u.cie.make_lsda_relative rather than need_lsda_relative.
2007-12-15bfd/Richard Sandiford6-79/+145
* elf-bfd.h (eh_cie_fde): Add u.fde.next_for_section and u.cie.gc_mark. (bfd_elf_section_data): Add fde_list. (elf_fde_list): New macro. (elf_obj_tdata): Add eh_frame_section. (elf_eh_frame_section): New macro. (_bfd_elf_gc_mark_reloc): Remove last parameter. (_bfd_elf_gc_mark_fdes): Declare. * elf-eh-frame.c (_bfd_elf_get_eh_frame_sec_info): Chain the FDEs for each input section. (mark_entry, _bfd_elf_gc_mark_fdes): New functions. * elflink.c (_bfd_elf_gc_mark_reloc): Remove is_eh parameter. (_bfd_elf_gc_mark): Update call accordingly. Mark the relocations againts the section's FDEs. Don't mark the bfd's elf_eh_frame_section. (bfd_elf_gc_sections): Parse each input bfd's .eh_frame before marking any input sections. Remove the current EH handling. * section.c (bfd_section): Remove gc_mark_from_eh. * ecoff.c (bfd_debug_section): Update initializer accordingly.
2007-12-15bfd/Richard Sandiford4-157/+274
* elf-bfd.h (eh_cie_fde): Add u.cie. Document how u.fde.cie_inf changes when removed == 0. (eh_frame_hdr_info): Add parsed_eh_frames. (_bfd_elf_begin_eh_frame_parsing): Declare. (_bfd_elf_parse_eh_frame): Declare. (_bfd_elf_end_eh_frame_parsing): Declare. * elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): New function. (_bfd_elf_parse_eh_frame): New function, split out from _bfd_elf_discard_section_eh_frame. Make a first pass through the buffer to calculate the number of entries and CIEs. Allocate memory for them before the main loop. Replace current extended cie representation with a pair of pointers, one to the local eh_cie_fde and one to the full struct cie. Allocate a separate array of struct cies if not merging. Merge CIEs during the main loop and set up each u.cie.merged field. Point an FDE's cie_inf field directly at the local CIE. Initially assume that all entries should be removed. (_bfd_elf_end_eh_frame_parsing): New function. (_bfd_elf_discard_section_eh_frame): Assume that the section has already been parsed. Use a separate pass to mark entries that need to be kept. Use the u.cie.merged field to track a CIE's group representative. * elflink.c (bfd_elf_discard_info): Call _bfd_elf_parse_eh_frame before _bfd_elf_discard_section_eh_frame. Wrap loop with calls to _bfd_elf_begin_eh_frame_parsing and _bfd_elf_end_eh_frame_parsing.
2007-12-15bfd/Richard Sandiford3-20/+38
* elf-bfd.h (eh_cie_fde): Put cie_inf in a union. Add a reloc_index field. Use bitfields for fde_encoding, lsda_encoding and lsda_offset. * elf-eh-frame.c (extra_augmentation_data_bytes): Adjust cie_inf accesses after the above change. (_bfd_elf_eh_frame_section_offset): Likewise. (_bfd_elf_write_section_eh_frame): Likewise. (_bfd_elf_discard_section_eh_frame): Likewise. Set up reloc_index.
2007-12-15bfd/Richard Sandiford3-171/+240
* elf-bfd.h (_bfd_elf_gc_mark_rsec, _bfd_elf_gc_mark_reloc): Declare. (_bfd_elf_gc_mark): Use elf_gc_mark_hook_fn. * elflink.c (init_reloc_cookie, fini_reloc_cookie) (init_reloc_cookie_rels, fini_reloc_cookie_rels): New functions, split out from... (bfd_elf_discard_info): ...here. (init_reloc_cookie_for_section): New function. (fini_reloc_cookie_for_section): Likewise. (_bfd_elf_gc_mark_rsec, _bfd_elf_gc_mark_reloc): New functions, split out from... (_bfd_elf_gc_mark): ...here. Use init_reloc_cookie_for_section and fini_reloc_cookie_for_section.
2007-12-14daily updateAlan Modra1-1/+1
2007-12-13daily updateAlan Modra1-1/+1
2007-12-12daily updateAlan Modra1-1/+1
2007-12-12 * elf32-xtensa.c (elf_xtensa_do_reloc): Update self_address along withBob Wilson2-1/+8
address. (print_action_list): Fix name for ta_convert_longcall.
2007-12-11daily updateAlan Modra1-1/+1
2007-12-11 * bfd/elf.c (_bfd_elf_copy_private_symbol_data): Don't copy shndx ifCatherine Moore2-0/+6
the symbol's section is the undefined section. * gas/testsuite/gas/elf/symtab.s: New test. gas/testsuite/gas/elf/symtab.d: New expected output. gas/testsuite/gas/elf/elf.exp: Run the new symbtab test.
2007-12-10warning messages should contain "warning:"Alan Modra2-1/+6
2007-12-10daily updateAlan Modra1-1/+1
2007-12-09daily updateAlan Modra1-1/+1
2007-12-08daily updateAlan Modra1-1/+1
2007-12-07daily updateAlan Modra1-1/+1
2007-12-072007-12-07 Bob Wilson <bob.wilson@acm.org>Bob Wilson2-58/+37
include/elf/ * xtensa.h (R_XTENSA_32_PCREL): New. bfd/ * elf32-xtensa.c (elf_howto_table): Add R_XTENSA_32_PCREL. (elf_xtensa_reloc_type_lookup): Handle BFD_RELOC_32_PCREL. (elf_xtensa_check_relocs): Use default case for all relocations that need nothing done here. (elf_xtensa_do_reloc): Compute self_address for all relocation types. Handle R_XTENSA_32_PCREL. (elf_xtensa_relocate_section): Check for R_XTENSA_32_PCREL for dynamic symbols. (check_section_ebb_pcrels_fit): Ignore R_XTENSA_32_PCREL relocations. gas/ * config/tc-xtensa.c (O_pcrel): Define. (suffix_relocs): Add pcrel suffix. (md_pseudo_table): Add 4byte and 2byte directives. (xtensa_elf_cons): Pass correct pcrel argument to fix_new_exp. (xg_assemble_literal): Likewise. Check for O_pcrel. (expression_maybe_register): Reorganize. Handle BFD_RELOC_32_PCREL. (xg_valid_literal_expression): Allow O_pcrel. (md_pcrel_from, md_apply_fix): Handle BFD_RELOC_32_PCREL. (tc_gen_reloc): Fix punctuation in error message. gas/testsuite/ * gas/xtensa/all.exp: Run new pcrel test. * gas/xtensa/err-pcrel.s: New. * gas/xtensa/pcrel.d: New. * gas/xtensa/pcrel.s: New. * gas/xtensa/xtensa-err.exp: New.
2007-12-06daily updateAlan Modra1-1/+1
2007-12-05daily updateAlan Modra1-1/+1
2007-12-05 * elf32-spu.c (spu_elf_size_stubs): Do consider branches toAlan Modra2-1/+7
non-function symbols for overlay stubs.
2007-12-04daily updateAlan Modra1-1/+1
2007-12-04 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Create DT_PLTGOTBob Wilson2-3/+8
entry for all dynamic objects.
2007-12-04 * elf32-spu.c (spu_elf_size_stubs): Correct section alignment.Alan Modra2-2/+6
2007-12-03daily updateAlan Modra1-1/+1
2007-12-02daily updateAlan Modra1-1/+1
2007-12-01daily updateAlan Modra1-1/+1
2007-11-30daily updateAlan Modra1-1/+1
2007-11-30bfd/Richard Sandiford2-1/+7
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use the ELF header to choose between 32-bit and 64-bit relocation structures.
2007-11-29daily updateAlan Modra1-1/+1