Home | History | Annotate | Line # | Download | only in bfd
ChangeLog revision 1.2
      1  1.2  skrll 2009-03-02  Alan Modra  <amodra (a] bigpond.net.au>
      2  1.2  skrll 
      3  1.2  skrll 	2009-02-15  Alan Modra  <amodra (a] bigpond.net.au>
      4  1.2  skrll 	* elf64-ppc.c (struct _ppc64_elf_section_data): Delete t_symndx,
      5  1.2  skrll 	add toc.symndx and toc.add.
      6  1.2  skrll 	(ppc64_elf_check_relocs): Don't set htab->tls_get_addr here.
      7  1.2  skrll 	Set up toc.add.
      8  1.2  skrll 	(get_tls_mask): Add toc_addend param, set from toc.add.  Adjust all
      9  1.2  skrll 	callers.
     10  1.2  skrll 	(ppc64_elf_tls_setup): Set htab->tls_get_addr and tls_get_addr_fd.
     11  1.2  skrll 	(branch_reloc_hash_match): New function, extracted from..
     12  1.2  skrll 	(ppc64_elf_tls_optimize): ..here.
     13  1.2  skrll 	(ppc64_elf_relocate_section): Properly set addends when optimizing
     14  1.2  skrll 	tls sequences.  Avoid unnecessary reading and writing of insns.
     15  1.2  skrll 	Only redo reloc when symbol changed.  Bypass symbol checks when
     16  1.2  skrll 	using tlsld_got.
     17  1.2  skrll 	* elf32-ppc.c (ppc_elf_tls_setup): Correct comment.
     18  1.2  skrll 	(branch_reloc_hash_match): New function, extracted from..
     19  1.2  skrll 	(ppc_elf_tls_optimize): ..here.
     20  1.2  skrll 	(ppc_elf_relocate_section): Avoid unnecessary reading of insns.
     21  1.2  skrll 	Don't clear addend on zapped __tls_get_addr reloc.
     22  1.2  skrll 
     23  1.2  skrll 	2009-02-01  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
     24  1.2  skrll 	* elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.
     25  1.2  skrll 	(_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.
     26  1.2  skrll 
     27  1.2  skrll 	2009-01-26  Nathan Sidwell  <nathan (a] codesourcery.com>
     28  1.2  skrll 	* elf32-ppc.c (ppc_elf_relax_section): Add space for relocs
     29  1.2  skrll 	describing the trampolines.
     30  1.2  skrll 	(ppc_elf_relocate_section): Update relocs to describe the
     31  1.2  skrll 	trampolines.
     32  1.2  skrll 
     33  1.2  skrll 	2009-01-22  Alan Modra  <amodra (a] bigpond.net.au>
     34  1.2  skrll 	PR 6832
     35  1.2  skrll 	* dwarf2.c (find_line): Don't update stash->sec_info_ptr until
     36  1.2  skrll 	after comp_unit_find_line call.
     37  1.2  skrll 
     38  1.2  skrll 	2009-01-14  Alan Modra  <amodra (a] bigpond.net.au>
     39  1.2  skrll 	PR 9735
     40  1.2  skrll 	* syms.c (_bfd_stab_section_find_nearest_line): Don't free
     41  1.2  skrll 	saved filename, use bfd_alloc rather than bfd_malloc for it.
     42  1.2  skrll 
     43  1.2  skrll 	2009-01-11  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
     44  1.2  skrll 	* elflink.c (_bfd_elf_section_already_linked): Handle g++-3.4
     45  1.2  skrll 	relocations in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'.
     46  1.2  skrll 
     47  1.2  skrll 	2008-12-11  Alan Modra  <amodra (a] bigpond.net.au>
     48  1.2  skrll 	PR 7041
     49  1.2  skrll 	* elf64-ppc.c (func_desc_adjust): Correct logic making fake function
     50  1.2  skrll 	descriptors.  Similarly correct making function descriptors dynamic.
     51  1.2  skrll 
     52  1.2  skrll 	2008-11-14  Nathan Sidwell  <nathan (a] codesourcery.com>
     53  1.2  skrll 	* elf.c (assign_file_positions_for_load_sections): Use header_size
     54  1.2  skrll 	to avoid moving the load address of file headers.
     55  1.2  skrll 	(assign_file_positions_for_load_sections): Set header_size for
     56  1.2  skrll 	segments containing the file header.
     57  1.2  skrll 
     58  1.2  skrll 	2008-11-13  Hans-Peter Nilsson  <hp (a] axis.com>
     59  1.2  skrll 	PR ld/7028
     60  1.2  skrll 	* elf.c (assign_file_positions_for_load_sections): Allocate phrds
     61  1.2  skrll 	with bfd_zalloc2 instead of bfd_alloc2.  For the amount, use
     62  1.2  skrll 	the possibly-preset header-size, not the computed one.
     63  1.2  skrll 
     64  1.2  skrll 	2008-11-13  Alan Modra  <amodra (a] bigpond.net.au>
     65  1.2  skrll 	PR 7023
     66  1.2  skrll 	* elf.c (bfd_section_from_shdr <SHT_SYMTAB>): Fail on invalid sh_info.
     67  1.2  skrll 
     68  1.2  skrll 	2008-11-11  Alan Modra  <amodra (a] bigpond.net.au>
     69  1.2  skrll 	PR 7012
     70  1.2  skrll 	* dwarf2.c (find_line): Don't keep stale pointers into realloc'd
     71  1.2  skrll 	memory.  Return on errors.  Fix memory leak.
     72  1.2  skrll 	(_bfd_dwarf2_cleanup_debug_info): Free dwarf_str_buffer.
     73  1.2  skrll 
     74  1.2  skrll 	2008-10-10  Nathan Froyd  <froydnj (a] codesourcery.com>
     75  1.2  skrll 	* elf32-ppc.c (ppc_elf_merge_obj_attributes): Merge
     76  1.2  skrll 	Tag_GNU_Power_ABI_Struct_Return.
     77  1.2  skrll 
     78  1.2  skrll 	2008-10-03  Alan Modra  <amodra (a] bigpond.net.au>
     79  1.2  skrll 	* elf.c (bfd_elf_set_group_contents): Assign sh_info for ld -r when
     80  1.2  skrll 	the signature symbol is global.
     81  1.2  skrll 	* elflink.c (elf_link_input_bfd): Ensure group signature symbol
     82  1.2  skrll 	is output when ld -r.  Set group sh_info when local.
     83  1.2  skrll 	* linker.c (default_indirect_link_order): Handle group sections
     84  1.2  skrll 	specially.
     85  1.2  skrll 
     86  1.2  skrll 	2008-09-28  Alan Modra  <amodra (a] bigpond.net.au>
     87  1.2  skrll 	* elf.c (_bfd_elf_init_private_section_data): Tweak union copy.
     88  1.2  skrll 	(bfd_section_from_shdr): Don't change SHT_GROUP section name.
     89  1.2  skrll 	* elflink.c (section_signature): New function.
     90  1.2  skrll 	(_bfd_elf_section_already_linked): Use it.
     91  1.2  skrll 
     92  1.2  skrll 2009-02-15  Bjoern Haase  <bjoern.m.haase (a] web.de>
     93  1.2  skrll 
     94  1.2  skrll 	PR 9841
     95  1.2  skrll 	* elf32-avr.c: Handle case where no local symbos exist correctly.
     96  1.2  skrll 
     97  1.2  skrll 2009-02-04  Eric B. Weddington  <eric.weddington (a] atmel.com>
     98  1.2  skrll 
     99  1.2  skrll 	* elf32-avr.c (avr_final_link_relocate): Allow avr25 to wraparound.
    100  1.2  skrll 
    101  1.2  skrll 2009-02-03  Tristan Gingold  <gingold (a] adacore.com>
    102  1.2  skrll 
    103  1.2  skrll 	* Makefile.am (RELEASE): Unset.
    104  1.2  skrll 	* Makefile.in: Regenerated.
    105  1.2  skrll 
    106  1.1  skrll 2009-02-02  Tristan Gingold  <gingold (a] adacore.com>
    107  1.1  skrll 
    108  1.1  skrll 	* configure.in: Bump version to 2.19.1
    109  1.1  skrll 	* Makefile.am (RELEASE): Set.
    110  1.1  skrll 	* configure, Makefile.in: Regenerated.
    111  1.1  skrll 
    112  1.1  skrll 2009-01-14  Joseph Myers  <joseph (a] codesourcery.com>
    113  1.1  skrll 
    114  1.1  skrll 	* elf32-arm.c (elf32_arm_final_link_relocate): Do not turn
    115  1.1  skrll 	branches to undefine weak symbols into branches to the next
    116  1.1  skrll 	instruction if creating PLT entries for those symbols.
    117  1.1  skrll 
    118  1.1  skrll 2008-12-23  Nick Clifton  <nickc (a] redhat.com>
    119  1.1  skrll 
    120  1.1  skrll 	* Import this patch from the mainline:
    121  1.1  skrll 	2008-11-10  Andreas Schwab  <schwab (a] suse.de>
    122  1.1  skrll 
    123  1.1  skrll 	PR 7011
    124  1.1  skrll 	* elf.c (assign_file_positions_for_non_load_sections): Handle
    125  1.1  skrll 	PT_GNU_RELRO specially.
    126  1.1  skrll 
    127  1.1  skrll 2008-11-20  Alan Modra  <amodra (a] bigpond.net.au>
    128  1.1  skrll 
    129  1.1  skrll 	* elf32-ppc.c (allocate_dynrelocs): Always use tlsld_got for
    130  1.1  skrll 	TLS_LD even when symbol is used with other TLS reloc types.
    131  1.1  skrll 	(ppc_elf_relocate_section): Bypass symbol checks when using tlsld_got.
    132  1.1  skrll 	Leave addend zero on LD DTPMOD dynamic reloc.
    133  1.1  skrll 
    134  1.1  skrll 2008-11-17  Eric B. Weddington  <eric.weddington (a] atmel.com>
    135  1.1  skrll 
    136  1.1  skrll 	PR 7022
    137  1.1  skrll 	* elf32-avr.c (bfd_elf_avr_final_write_processing):
    138  1.1  skrll 	Add missing break statements.
    139  1.1  skrll 
    140  1.1  skrll 2008-10-28  Tristan Gingold  <gingold (a] adacore.com>
    141  1.1  skrll 
    142  1.1  skrll 	* configure.in: Bump version to 2.19.0
    143  1.1  skrll 	* Makefile.am (RELEASE): Unset.
    144  1.1  skrll 	* configure, Makefile.in: Regenerated.
    145  1.1  skrll 
    146  1.1  skrll 2008-10-16  Tristan Gingold  <gingold (a] adacore.com>
    147  1.1  skrll 
    148  1.1  skrll 	* configure.in: Bump version to 2.19
    149  1.1  skrll 	* Makefile.am (RELEASE): Set.
    150  1.1  skrll 	* configure, Makefile.in: Regenerated.
    151  1.1  skrll 
    152  1.1  skrll 2008-10-09  Tristan Gingold  <gingold (a] adacore.com>
    153  1.1  skrll 
    154  1.1  skrll 	* configure.in: Bump version to 2.18.93
    155  1.1  skrll 	* configure: Regenerated.
    156  1.1  skrll 
    157  1.1  skrll 2008-10-09  Alan Modra  <amodra (a] bigpond.net.au>
    158  1.1  skrll 
    159  1.1  skrll 	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't attempt to
    160  1.1  skrll 	read plt relocs if no dynamic syms.
    161  1.1  skrll 
    162  1.1  skrll 2008-10-08  Alan Modra  <amodra (a] bigpond.net.au>
    163  1.1  skrll 
    164  1.1  skrll 	* elf.c (assign_file_positions_for_load_sections): When checking
    165  1.1  skrll 	a segment for contents, don't assume that a non-TLS nobits section
    166  1.1  skrll 	must only be followed by nobits sections.
    167  1.1  skrll 
    168  1.1  skrll 2008-10-02  Tristan Gingold  <gingold (a] adacore.com>
    169  1.1  skrll 
    170  1.1  skrll 	* configure.in: Bump version to 2.18.92
    171  1.1  skrll 	* configure: Regenerated.
    172  1.1  skrll 
    173  1.1  skrll 2008-09-30  Alan Modra  <amodra (a] bigpond.net.au>
    174  1.1  skrll 
    175  1.1  skrll 	PR 6789
    176  1.1  skrll 	* elf.c (assign_file_positions_for_load_sections): Call
    177  1.1  skrll 	_bfd_elf_map_sections_to_segments, not elf_modify_segment_map.
    178  1.1  skrll 	(get_program_header_size): Protect against NULL info.
    179  1.1  skrll 	(_bfd_elf_map_sections_to_segments): Likewise.
    180  1.1  skrll 	* elf32-spu.c (spu_elf_additional_program_headers): Likewise.
    181  1.1  skrll 
    182  1.1  skrll 2008-09-29  Nick Clifton  <nickc (a] redhat.com>
    183  1.1  skrll 
    184  1.1  skrll 	* po/vi.po: Updated Vietnamese translation.
    185  1.1  skrll 
    186  1.1  skrll 2008-09-19  Alan Modra  <amodra (a] bigpond.net.au>
    187  1.1  skrll 
    188  1.1  skrll 	* elf32-ppc.c (ppc_elf_finish_dynamic_sections): Handle vxworks
    189  1.1  skrll 	_GLOBAL_OFFSET_TABLE_ in .got.plt section.  Add BFD_ASSERTs.
    190  1.1  skrll 
    191  1.1  skrll 2008-09-17  H.J. Lu  <hongjiu.lu (a] intel.com>
    192  1.1  skrll 	    Daniel Jacobowitz  <dan (a] codesourcery.com>
    193  1.1  skrll 
    194  1.1  skrll 	PR ld/3191
    195  1.1  skrll 	* dwarf2.c (struct adjusted_section): Renamed from struct
    196  1.1  skrll 	loadable_section.
    197  1.1  skrll 	(struct dwarf2_debug): Adjust for renaming.  Add version field.
    198  1.1  skrll 	(read_attribute_value): Correctly handle DW_FORM_ref_addr for
    199  1.1  skrll 	DWARF3.
    200  1.1  skrll 	(find_abstract_instance_name): Pass a pointer to
    201  1.1  skrll 	attribute instead of offset.  For DW_FORM_ref_addr, get the
    202  1.1  skrll 	entry at the offset from the .debug_info section.
    203  1.1  skrll 	(scan_unit_for_symbols): Update.
    204  1.1  skrll 	(parse_comp_unit): Allow DWARF3.  Save the version.
    205  1.1  skrll 	(unset_sections): Update for renaming.
    206  1.1  skrll 	(place_sections): Likewise.  Set new VMAs for DWARF sections
    207  1.1  skrll 	also.
    208  1.1  skrll 
    209  1.1  skrll 2008-09-17  Bob Wilson  <bob.wilson (a] acm.org>
    210  1.1  skrll 
    211  1.1  skrll         * elf32-xtensa.c (elf_xtensa_check_relocs): Check for negative refcount.
    212  1.1  skrll 
    213  1.1  skrll 2008-09-17  Tristan Gingold  <gingold (a] adacore.com>
    214  1.1  skrll 
    215  1.1  skrll 	* configure.in: Bump version to 2.18.91
    216  1.1  skrll 	* configure: Regenerated.
    217  1.1  skrll 
    218  1.1  skrll 2008-09-17  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    219  1.1  skrll 
    220  1.1  skrll 	PR 6893 - Do not consider FDEs for discarded sections as invalid.
    221  1.1  skrll 	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): New REQUIRE_CLEARED_RELOCS.
    222  1.1  skrll 	Consider FDEs with cleared relocations as valid and ignorable.
    223  1.1  skrll 
    224  1.1  skrll 2008-09-16  Alan Modra  <amodra (a] bigpond.net.au>
    225  1.1  skrll 
    226  1.1  skrll 	PR 6844
    227  1.1  skrll 	* elf32-ppc.c (SYM_VAL): Define.  Use throughout to find symbol vma.
    228  1.1  skrll 	(ppc_elf_relocate_section): Correct GOT offset calculation.
    229  1.1  skrll 	(ppc_elf_finish_dynamic_symbol): Use PPC_HA and PPC_LO.
    230  1.1  skrll 	(ppc_elf_finish_dynamic_sections): Likewise.  Error if
    231  1.1  skrll 	htab->elf.hgot symbol is not defined in htab->got section.
    232  1.1  skrll 
    233  1.1  skrll 2008-09-16  Alan Modra  <amodra (a] bigpond.net.au>
    234  1.1  skrll 
    235  1.1  skrll 	PR 6888
    236  1.1  skrll 	* elf32-ppc.c (ppc_elf_relocate_section): Handle NULL symbol section
    237  1.1  skrll 	on R_PPC_TOC16, R_PPC_SDAREL16, R_PPC_EMB_SDA2REL, R_PPC_EMB_SDA21,
    238  1.1  skrll 	R_PPC_EMB_RELSDA, R_PPC_SECTOFF* relocs.
    239  1.1  skrll 
    240  1.1  skrll 2008-09-09  Tristan Gingold  <gingold (a] adacore.com>
    241  1.1  skrll 
    242  1.1  skrll 	* configure.in: Bump version to 2.18.90
    243  1.1  skrll 	* configure: Regenerate.
    244  1.1  skrll 
    245  1.1  skrll 2008-09-09  Alan Modra  <amodra (a] bigpond.net.au>
    246  1.1  skrll 
    247  1.1  skrll 	* Makefile.am: Run "make dep-am".
    248  1.1  skrll 	* Makefile.in: Regenerate.
    249  1.1  skrll 	* po/bfd.pot: Regenerate.
    250  1.1  skrll 
    251  1.1  skrll 2008-09-05  Daniel Jacobowitz  <dan (a] codesourcery.com>
    252  1.1  skrll 
    253  1.1  skrll 	* dwarf2.c: Change leading whitespace to tabs.
    254  1.1  skrll 
    255  1.1  skrll 2008-09-05  Tristan Gingold  <gingold (a] adacore.com>
    256  1.1  skrll 
    257  1.1  skrll 	Add MacOSX 64 bits support.
    258  1.1  skrll 	* mach-o.h (bfd_mach_o_ppc_thread_flavour): Add
    259  1.1  skrll 	BFD_MACH_O_PPC_THREAD_STATE_64.
    260  1.1  skrll 	(bfd_mach_o_i386_thread_flavour): Add BFD_MACH_O_x86_THREAD_STATE64,
    261  1.1  skrll 	BFD_MACH_O_x86_FLOAT_STATE64, BFD_MACH_O_x86_EXCEPTION_STATE64,
    262  1.1  skrll 	BFD_MACH_O_x86_THREAD_STATE, BFD_MACH_O_x86_FLOAT_STATE,
    263  1.1  skrll 	BFD_MACH_O_x86_EXCEPTION_STATE.
    264  1.1  skrll 	(bfd_mach_o_load_command_type): Add
    265  1.1  skrll 	BFD_MACH_O_LC_SEGMENT_64, BFD_MACH_O_LC_ROUTINES_64,
    266  1.1  skrll 	BFD_MACH_O_LC_UUID.	
    267  1.1  skrll 	(BFD_MACH_O_CPU_IS64BIT): Added.
    268  1.1  skrll 	(bfd_mach_o_cpu_type): Add BFD_MACH_O_CPU_TYPE_POWERPC_64,
    269  1.1  skrll 	BFD_MACH_O_CPU_TYPE_X86_64.
    270  1.1  skrll 	(bfd_mach_o_header): Add version field.
    271  1.1  skrll 	(bfd_mach_o_section) Add reserved3 field.
    272  1.1  skrll 	(bfd_mach_o_segment_command): Add initprot and maxprot fields.
    273  1.1  skrll 
    274  1.1  skrll 	* mach-o.c (N_TEXT, N_DATA, N_BSS): Added.
    275  1.1  skrll 	(bfd_mach_o_version): New function.
    276  1.1  skrll 	(bfd_mach_o_valid): Handle 64bits cpus.
    277  1.1  skrll 	(bfd_mach_o_write_header): handler 64bits headers.
    278  1.1  skrll 	(bfd_mach_o_scan_write_section_32, bfd_mach_o_scan_write_section_64):
    279  1.1  skrll 	New functions (from bfd_mach_o_scan_write_section) to handle both
    280  1.1  skrll 	flavors.
    281  1.1  skrll 	(bfd_mach_o_scan_write_segment): Parameter wide added to support
    282  1.1  skrll 	both flavors.
    283  1.1  skrll 	(bfd_mach_o_write_contents): Support both flavors.
    284  1.1  skrll 	(bfd_mach_o_read_header): Ditto.
    285  1.1  skrll 	(bfd_mach_o_scan_read_section_32, bfd_mach_o_scan_read_section_64):
    286  1.1  skrll 	New functions (from bfd_mach_o_scan_read_section) to support both
    287  1.1  skrll 	flavors.
    288  1.1  skrll 	(bfd_mach_o_scan_read_symtab_symbol): Support both flavors.
    289  1.1  skrll 	(bfd_mach_o_scan_read_symtab): Ditto.
    290  1.1  skrll 	(bfd_mach_o_scan_read_segment): Parameter wide added to support
    291  1.1  skrll 	both flavors.
    292  1.1  skrll 	(bfd_mach_o_scan_read_segment_32, bfd_mach_o_scan_read_segment_64):
    293  1.1  skrll 	New functions to call bfd_mach_o_scan_read_segment.
    294  1.1  skrll 	(bfd_mach_o_flatten_sections): Support both flavors.
    295  1.1  skrll 	(bfd_mach_o_scan_start_address): Ditto.
    296  1.1  skrll 	(bfd_mach_o_scan): Ditto.
    297  1.1  skrll 	(bfd_mach_o_lookup_section): Ditto.
    298  1.1  skrll 	
    299  1.1  skrll 2008-08-27  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
    300  1.1  skrll 
    301  1.1  skrll 	* elf-hppa.h (elf_hppa_reloc_final_type): Handle R_PARISC_GPREL64,
    302  1.1  skrll 	R_PARISC_SEGREL32 and R_PARISC_SEGREL64.
    303  1.1  skrll 	* som.c (som_fixup_formats): Add R_DATA_GPREL fixup.
    304  1.1  skrll 	(som_hppa_howto_table): Likewise.
    305  1.1  skrll 	(hppa_som_gen_reloc_type): In case R_HPPA_GOTOFF, detect R_DATA_GPREL
    306  1.1  skrll 	final type.
    307  1.1  skrll 	(som_write_fixups): Handle R_DATA_GPREL.
    308  1.1  skrll 
    309  1.1  skrll 2008-08-26  Nick Clifton  <nickc (a] redhat.com>
    310  1.1  skrll 
    311  1.1  skrll 	* elf32-arm.c: Fix up comment describing Thumb to ARM interworking
    312  1.1  skrll 	stub.
    313  1.1  skrll 
    314  1.1  skrll 2008-08-25  Christophe Lyon  <christophe.lyon (a] st.com>
    315  1.1  skrll 
    316  1.1  skrll 	* elf32-arm.c (arm_thumb_arm_v4t_short_branch_stub): Define.
    317  1.1  skrll 	(elf32_arm_stub_type): Add arm_thumb_arm_v4t_stub_short_branch.
    318  1.1  skrll 	(arm_type_of_stub): Handle armv4t short branches. Update
    319  1.1  skrll 	prototype.
    320  1.1  skrll 	(arm_stub_is_thumb): Handle arm_thumb_arm_v4t_stub_short_branch.
    321  1.1  skrll 	(arm_build_one_stub): Likewise.
    322  1.1  skrll 	(arm_size_one_stub): Likewise.
    323  1.1  skrll 	(elf32_arm_size_stubs): Use new arm_type_of_stub prototype.
    324  1.1  skrll 	(arm_map_one_stub): Handle arm_thumb_arm_v4t_stub_short_branch.
    325  1.1  skrll 
    326  1.1  skrll 2008-08-24  Andreas Schwab  <schwab (a] suse.de>
    327  1.1  skrll 
    328  1.1  skrll 	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Do proper
    329  1.1  skrll 	extension when calculating difference of offsets.
    330  1.1  skrll 
    331  1.1  skrll 2008-08-24  Alan Modra  <amodra (a] bigpond.net.au>
    332  1.1  skrll 
    333  1.1  skrll 	* configure.in: Update a number of obsolete autoconf macros.
    334  1.1  skrll 	* aclocal.m4: Regenerate.
    335  1.1  skrll 
    336  1.1  skrll 2008-08-23  Andreas Schwab  <schwab (a] suse.de>
    337  1.1  skrll 
    338  1.1  skrll 	* opncls.c (find_separate_debug_file): Use the canonical
    339  1.1  skrll 	absolute name of the bfd object for finding the debug file in
    340  1.1  skrll 	the global debugfile directory.
    341  1.1  skrll 
    342  1.1  skrll 2008-08-22  Jakub Jelinek  <jakub (a] redhat.com>
    343  1.1  skrll 
    344  1.1  skrll 	Fix PR ld/3290 regression for cross-files DW_FORM_ref_addr relocations.
    345  1.1  skrll 	* elflink.c (elf_link_add_object_symbols): Make debug symbols local
    346  1.1  skrll 	now only for non-RELOCATABLE targets.
    347  1.1  skrll 
    348  1.1  skrll 2008-08-20  Bob Wilson  <bob.wilson (a] acm.org>
    349  1.1  skrll 
    350  1.1  skrll 	* elf-bfd.h (elf_object_id): Add XTENSA_ELF_TDATA.
    351  1.1  skrll 	* elf32-xtensa.c (elf_howto_table): Add TLS relocations.
    352  1.1  skrll 	(elf_xtensa_reloc_type_lookup): Likewise.
    353  1.1  skrll 	(TCB_SIZE): Define.
    354  1.1  skrll 	(elf_xtensa_link_hash_entry): New.
    355  1.1  skrll 	(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE, GOT_TLS_ANY): Define.
    356  1.1  skrll 	(elf_xtensa_hash_entry): Define.
    357  1.1  skrll 	(elf_xtensa_obj_tdata): New.
    358  1.1  skrll 	(elf_xtensa_tdata): Define.
    359  1.1  skrll 	(elf_xtensa_local_got_tls_type): Define.
    360  1.1  skrll 	(elf_xtensa_local_tlsfunc_refcounts): Define.
    361  1.1  skrll 	(is_xtensa_elf): Define.
    362  1.1  skrll 	(elf_xtensa_mkobject): New.
    363  1.1  skrll 	(elf_xtensa_link_hash_table): Add tlsbase field.
    364  1.1  skrll 	(elf_xtensa_link_hash_newfunc): New.
    365  1.1  skrll 	(elf_xtensa_link_hash_table_create): Use elf_xtensa_link_hash_newfunc.
    366  1.1  skrll 	Create an entry for "_TLS_MODULE_BASE_" and save it in tlsbase field.
    367  1.1  skrll 	(elf_xtensa_copy_indirect_symbol): New.
    368  1.1  skrll 	(elf_xtensa_check_relocs): Rewrite to handle TLS relocations.
    369  1.1  skrll 	(elf_xtensa_gc_sweep_hook): Likewise.
    370  1.1  skrll 	(elf_xtensa_allocate_dynrelocs): Optimize away GOT entries for
    371  1.1  skrll 	TLSDESC_FN relocations when an IE reference is seen.
    372  1.1  skrll 	(elf_xtensa_allocate_local_got_size): Likewise.
    373  1.1  skrll 	(elf_xtensa_always_size_sections): New.
    374  1.1  skrll 	(dtpoff_base, tpoff): New.
    375  1.1  skrll 	(elf_xtensa_do_reloc): Handle TLS relocations.
    376  1.1  skrll 	(replace_tls_insn): New.
    377  1.1  skrll 	(IS_XTENSA_TLS_RELOC): Define.
    378  1.1  skrll 	(elf_xtensa_relocate_section): Handle TLS relocations.
    379  1.1  skrll 	(get_indirect_call_dest_reg): New.
    380  1.1  skrll 	(bfd_elf32_mkobject): Define.
    381  1.1  skrll 	(elf_backend_always_size_sections): New.
    382  1.1  skrll 	(elf_backend_copy_indirect_symbol): New.
    383  1.1  skrll 	* reloc.c (BFD_RELOC_XTENSA_TLSDESC_FN, BFD_RELOC_XTENSA_TLSDESC_ARG)
    384  1.1  skrll 	(BFD_RELOC_XTENSA_TLS_DTPOFF, BFD_RELOC_XTENSA_TLS_TPOFF)
    385  1.1  skrll 	(BFD_RELOC_XTENSA_TLS_FUNC, BFD_RELOC_XTENSA_TLS_ARG)
    386  1.1  skrll 	(BFD_RELOC_XTENSA_TLS_CALL): New.
    387  1.1  skrll 	* bfd-in2.h: Regenerate.
    388  1.1  skrll 	* libbfd.h: Regenerate.
    389  1.1  skrll 
    390  1.1  skrll 2008-08-18  Richard Sandiford  <rdsandiford (a] googlemail.com>
    391  1.1  skrll 
    392  1.1  skrll 	* elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Copy MIPS16
    393  1.1  skrll 	stub information.
    394  1.1  skrll 
    395  1.1  skrll 2008-08-17  Nick Clifton  <nickc (a] redhat.com>
    396  1.1  skrll 
    397  1.1  skrll 	* elf32-arm.c: Tidy up the code.
    398  1.1  skrll 	(bfd_elf32_arm_allocate_interworking_sections): Move common code
    399  1.1  skrll 	into...
    400  1.1  skrll 	(arm_allocate_glue_section_space): ... New function.
    401  1.1  skrll 	(bfd_elf32_arm_add_glue_sections_to_bfd): Move common code
    402  1.1  skrll 	into...
    403  1.1  skrll 	(arm_make_glue_section): ... New function.
    404  1.1  skrll 
    405  1.1  skrll 	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Handle the situation
    406  1.1  skrll 	where the sym_hashes are not available.
    407  1.1  skrll 
    408  1.1  skrll 2008-08-17  Alan Modra  <amodra (a] bigpond.net.au>
    409  1.1  skrll 
    410  1.1  skrll 	* bfd.c (struct _bfd): Correct outsymbols comment.
    411  1.1  skrll 	* bfd-in2.h: Regenerate.
    412  1.1  skrll 	* linker.c (bfd_generic_link_read_symbols): Renamed from..
    413  1.1  skrll 	(generic_link_read_symbols): ..this, and made global.
    414  1.1  skrll 
    415  1.1  skrll 2008-08-15  Alan Modra  <amodra (a] bigpond.net.au>
    416  1.1  skrll 
    417  1.1  skrll 	PR 6526
    418  1.1  skrll 	* configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS.
    419  1.1  skrll 	* Makefile.in: Regenerate.
    420  1.1  skrll 	* aclocal.m4: Regenerate.
    421  1.1  skrll 	* config.in: Regenerate.
    422  1.1  skrll 	* configure: Regenerate.
    423  1.1  skrll 
    424  1.1  skrll 2008-08-14  Jaka Monik  <jaka (a] xlab.si>
    425  1.1  skrll 
    426  1.1  skrll 	* coffgen.c (coff_find_nearest_line): Correct cached line index.
    427  1.1  skrll 
    428  1.1  skrll 2008-08-12  Alan Modra  <amodra (a] bigpond.net.au>
    429  1.1  skrll 
    430  1.1  skrll 	* elf32-ppc.c (allocate_dynrelocs): Ignore dyn_relocs when
    431  1.1  skrll 	!dynamic_sections_created.  Don't make symbols with got
    432  1.1  skrll 	references dynamic if !dynamic_sections_created.
    433  1.1  skrll 	* elf64-ppc.c (allocate_dynrelocs): Likewise.  Alloc dynamic
    434  1.1  skrll 	relocs on undefined symbols.
    435  1.1  skrll 	(ppc64_elf_relocate_section): Allow dynamic relocs on
    436  1.1  skrll 	undefined symbols.
    437  1.1  skrll 
    438  1.1  skrll 2008-08-11  Alan Modra  <amodra (a] bigpond.net.au>
    439  1.1  skrll 
    440  1.1  skrll 	* elf64-ppc.c (toc_adjusting_stub_needed): Any call via the plt
    441  1.1  skrll 	needs r2 valid, not just those to external syms.
    442  1.1  skrll 
    443  1.1  skrll 2008-08-09  Pedro Alves  <pedro (a] codesourcery.com>
    444  1.1  skrll 
    445  1.1  skrll 	* archive.c (_bfd_archive_bsd_update_armap_timestamp): Cast stat
    446  1.1  skrll 	st_mtime to long before comparison.
    447  1.1  skrll 
    448  1.1  skrll 2008-08-08  Anatoly Sokolov  <aesok (a] post.ru>
    449  1.1  skrll 
    450  1.1  skrll 	* archures.c (bfd_mach_avr25, bfd_mach_avr31, bfd_mach_avr35,
    451  1.1  skrll 	bfd_mach_avr51): New.
    452  1.1  skrll 	* bfd-in2.h: Regenerate.
    453  1.1  skrll 	* cpu-avr.c (arch_info_struct): Add avr25, avr31, avr35, and avr51
    454  1.1  skrll 	architectures. Change comments to match architecture comments in GCC.
    455  1.1  skrll 	(compatible): Add test for new AVR architectures.
    456  1.1  skrll 	* elf32-avr.c (bfd_elf_avr_final_write_processing): Recognize
    457  1.1  skrll 	bfd_mach_avr25, bfd_mach_avr31, bfd_mach_avr35 and bfd_mach_avr51.
    458  1.1  skrll 	(elf32_avr_object_p): Recognize E_AVR_MACH_AVR25, E_AVR_MACH_AVR31,
    459  1.1  skrll 	E_AVR_MACH_AVR35 and E_AVR_MACH_AVR51.
    460  1.1  skrll 
    461  1.1  skrll 
    462  1.1  skrll 2008-08-08  Richard Sandiford  <rdsandiford (a] googlemail.com>
    463  1.1  skrll 	    Daniel Jacobowitz  <dan (a] codesourcery.com>
    464  1.1  skrll 	    Catherine Moore  <clm (a] codesourcery.com>
    465  1.1  skrll 	    Mark Shinwell  <shinwell (a] codesourcery.com>
    466  1.1  skrll 	    Maxim Kuvyrkov  <maxim (a] codesourcery.com>
    467  1.1  skrll 
    468  1.1  skrll 	* elf32-mips.c (mips_vxworks_copy_howto_rela): Replace with...
    469  1.1  skrll 	(elf_mips_copy_howto): ...this howto.  Clear the size fields.
    470  1.1  skrll 	(mips_vxworks_jump_slot_howto_rela): Replace with...
    471  1.1  skrll 	(elf_mips_jump_slot_howto): ...this howto.
    472  1.1  skrll 	(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS_COPY
    473  1.1  skrll 	and BFD_RELOC_MIPS_JUMP_SLOT.
    474  1.1  skrll 	(bfd_elf32_bfd_reloc_name_lookup): Handle "R_MIPS_COPY" and
    475  1.1  skrll 	"R_MIPS_JUMP_SLOT".
    476  1.1  skrll 	(mips_elf32_rtype_to_howto): Handle R_MIPS_COPY and R_MIPS_JUMP_SLOT.
    477  1.1  skrll 	(elf_backend_plt_readonly): Define.
    478  1.1  skrll 	(elf_backend_plt_sym_val): Define for non-VxWorks targets.
    479  1.1  skrll 	(mips_vxworks_bfd_reloc_type_lookup): Delete.
    480  1.1  skrll 	(mips_vxworks_bfd_reloc_name_lookup): Likewise.
    481  1.1  skrll 	(mips_vxworks_rtype_to_howto): Likewise.
    482  1.1  skrll 	(elf_backend_want_dynbss): Don't define for VxWorks.
    483  1.1  skrll 	(elf_backend_plt_readonly): Likewise.
    484  1.1  skrll 	(bfd_elf32_bfd_reloc_type_lookup): Likewise.
    485  1.1  skrll 	(bfd_elf32_bfd_reloc_name_lookup): Likewise.
    486  1.1  skrll 	(elf_backend_mips_rtype_to_howto): Likewise.
    487  1.1  skrll 	(elf_backend_adjust_dynamic_symbol): Likewise.
    488  1.1  skrll 	(elf_backend_got_symbol_offset): Don't define.
    489  1.1  skrll 	* elfn32-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto): New.
    490  1.1  skrll 	(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS_COPY
    491  1.1  skrll 	and BFD_RELOC_MIPS_JUMP_SLOT.
    492  1.1  skrll 	(bfd_elf32_bfd_reloc_name_lookup): Handle "R_MIPS_COPY" and
    493  1.1  skrll 	"R_MIPS_JUMP_SLOT".
    494  1.1  skrll 	(mips_elf32_n32_rtype_to_howto): Handle R_MIPS_COPY and
    495  1.1  skrll 	R_MIPS_JUMP_SLOT.
    496  1.1  skrll 	(elf_backend_rela_plts_and_copies_p, elf_backend_plt_readonly)
    497  1.1  skrll 	(elf_backend_plt_sym_val): Define.
    498  1.1  skrll 	* elf64-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto): New.
    499  1.1  skrll 	(bfd_elf64_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS_COPY
    500  1.1  skrll 	and BFD_RELOC_MIPS_JUMP_SLOT.
    501  1.1  skrll 	(bfd_elf64_bfd_reloc_name_lookup): Handle "R_MIPS_COPY" and
    502  1.1  skrll 	"R_MIPS_JUMP_SLOT".
    503  1.1  skrll 	(mips_elf64_rtype_to_howto): Handle R_MIPS_COPY and R_MIPS_JUMP_SLOT.
    504  1.1  skrll 	(elf_backend_rela_plts_and_copies_p, elf_backend_plt_readonly)
    505  1.1  skrll 	(elf_backend_plt_sym_val): Define.
    506  1.1  skrll 	* elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Delete.
    507  1.1  skrll 	(_bfd_mips_elf_use_plts_and_copy_relocs, _bfd_mips_elf_init_stubs)
    508  1.1  skrll 	(_bfd_mips_elf_plt_sym_val, _bfd_mips_post_process_headers): Declare.
    509  1.1  skrll 	* elfxx-mips.c (mips_elf_la25_stub): New structure.
    510  1.1  skrll 	(LA25_LUI, LA25_J, LA25_ADDIU): New macros.
    511  1.1  skrll 	(mips_elf_link_hash_entry): Add "la25_stubs", "has_static_relocs"
    512  1.1  skrll 	and "has_nonpic_branches" fields.  Remove "is_relocation_target" and
    513  1.1  skrll 	"is_branch_target".
    514  1.1  skrll 	(mips_elf_link_hash_table): Add blank lines.  Add
    515  1.1  skrll 	"use_plts_and_copy_relocs", "reserved_gotno", "strampoline",
    516  1.1  skrll 	"la25_stubs" and "add_stub_section" fields.
    517  1.1  skrll 	(mips_htab_traverse_info): New structure.
    518  1.1  skrll 	(PIC_OBJECT_P, MIPS_ELF_LOAD_WORD): New macros.
    519  1.1  skrll 	(MIPS_RESERVED_GOTNO): Delete.
    520  1.1  skrll 	(mips_o32_exec_plt0_entry, mips_n32_exec_plt0_entry)
    521  1.1  skrll 	(mips_n64_exec_plt0_entry, mips_exec_plt_entry): New tables.
    522  1.1  skrll 	(mips_elf_link_hash_newfunc): Update after the changes to
    523  1.1  skrll 	mips_elf_link_hash_entry.
    524  1.1  skrll 	(mips_elf_check_mips16_stubs): Replace the DATA parameter with
    525  1.1  skrll 	an INFO parameter.  Don't look through warnings symbols here;
    526  1.1  skrll 	do it in mips_elf_check_symbols instead.
    527  1.1  skrll 	(mips_elf_create_stub_symbol): New function.
    528  1.1  skrll 	(mips_elf_la25_stub_hash, mips_elf_la25_stub_eq): New functions.
    529  1.1  skrll 	(_bfd_mips_elf_init_stubs, mips_elf_local_pic_function_p): Likewise.
    530  1.1  skrll 	(mips_elf_add_la25_intro, mips_elf_add_la25_trampoline): Likewise.
    531  1.1  skrll 	(mips_elf_add_la25_stub, mips_elf_check_symbols): New functions.
    532  1.1  skrll 	(mips_elf_gotplt_index): Check for VxWorks.
    533  1.1  skrll 	(mips_elf_output_dynamic_relocation): Take the relocation index
    534  1.1  skrll 	as an extra parameter.  Do not increment reloc_count here.
    535  1.1  skrll 	(mips_elf_initialize_tls_slots): Update the calls to
    536  1.1  skrll 	mips_elf_output_dynamic_relocation accordingly.
    537  1.1  skrll 	(mips_elf_multi_got): Use htab->reserved_gotno instead of
    538  1.1  skrll 	MIPS_RESERVED_GOTNO.
    539  1.1  skrll 	(mips_elf_create_got_section): Don't allocate reserved GOT
    540  1.1  skrll 	entries here.  Unconditionally create .got.plt, but don't
    541  1.1  skrll 	set its alignment here.
    542  1.1  skrll 	(mips_elf_relocation_needs_la25_stub): New function.
    543  1.1  skrll 	(mips_elf_calculate_relocation): Redirect branches and jumps to
    544  1.1  skrll 	a non-PIC stub if one exists.  Check !h->has_static_relocs instead
    545  1.1  skrll 	of !htab->is_vxworks when deciding whether to create dynamic
    546  1.1  skrll 	relocations for R_MIPS_32, R_MIPS_REL32 and R_MIPS_64.
    547  1.1  skrll 	(_bfd_mips_elf_create_dynamic_sections): Unconditionally call
    548  1.1  skrll 	_bfd_elf_create_dynamic_sections.  Unconditionally set up
    549  1.1  skrll 	htab->splt and htab->sdynbss.  Set htab->srelplt to ".rel.plt"
    550  1.1  skrll 	if !htab->is_vxworks.  Add non-VxWorks values of
    551  1.1  skrll 	htab->plt_header_size and htab->plt_entry_size.
    552  1.1  skrll 	(_bfd_mips_elf_check_relocs): Set pointer_equality_needed for
    553  1.1  skrll 	non-branch static relocations.  Set has_nonpic_branches when an la25
    554  1.1  skrll 	stub might be required.  Set can_make_dynamic_p to TRUE if R_MIPS_32,
    555  1.1  skrll 	R_MIPS_REL32 and R_MIPS_64 relocations can be made dynamic,
    556  1.1  skrll 	rather than duplicating the condition.  Do not make them dynamic
    557  1.1  skrll 	for read-only sections in non-PIC executable objects.
    558  1.1  skrll 	Do not protect this code with dynobj == NULL || htab->sgot == NULL;
    559  1.1  skrll 	handle each group of cases separately.  Add a default case that
    560  1.1  skrll 	sets has_static_relocs for non-GOT relocations that cannot be
    561  1.1  skrll 	made dynamic.  Don't set is_relocation_target and is_branch_target.
    562  1.1  skrll 	Reject non-PIC static relocations in shared objects.
    563  1.1  skrll 	(_bfd_mips_vxworks_adjust_dynamic_symbol): Fold into...
    564  1.1  skrll 	(_bfd_mips_elf_adjust_dynamic_symbol): ...here, using
    565  1.1  skrll 	htab->use_plts_and_copy_relocs instead of htab->is_vxworks
    566  1.1  skrll 	to select PLT and copy-reloc handling.  Set the alignment of
    567  1.1  skrll 	.plt and .got.plt when allocating the first entry.  Generalize
    568  1.1  skrll 	code to handle REL as well as RELA sections and 64-bit as well as
    569  1.1  skrll 	32-bit GOT entries.  Complain if we find a static-only reloc
    570  1.1  skrll 	against an externally-defined symbol and if we cannot create
    571  1.1  skrll 	dynamic relocations for it.  Allocate copy relocs using
    572  1.1  skrll 	mips_elf_allocate_dynamic_relocations on non-VxWorks targets.
    573  1.1  skrll 	Set possibly_dynamic_relocs to 0 when using PLTs or copy relocs.
    574  1.1  skrll 	Skip reserved .got.plt entries.
    575  1.1  skrll 	(_bfd_mips_elf_always_size_sections): Use mips_elf_check_symbols
    576  1.1  skrll 	instead of mips_elf_check_mips16_stubs to process each symbol.
    577  1.1  skrll 	Do the traversal for relocatable objects too.
    578  1.1  skrll 	(mips_elf_lay_out_got): Use htab->reserved_gotno instead of
    579  1.1  skrll 	MIPS_RESERVED_GOTNO.
    580  1.1  skrll 	(_bfd_mips_elf_size_dynamic_sections): Exclude sdynbss if it
    581  1.1  skrll 	is empty.  Extend the DT_PLTREL, DT_JMPREL and DT_PLTRELSZ handling
    582  1.1  skrll 	to non-VxWorks targets.  Only add DT_REL{,A}, DT_REL{,A}SZ and
    583  1.1  skrll 	DT_REL{,A}ENT if .rel.dyn is nonempty.  Create a symbol for the
    584  1.1  skrll 	PLT.  Allocate a nop at the end of the PLT.  Allocate DT_MIPS_PLTGOT.
    585  1.1  skrll 	(mips_elf_create_la25_stub_info): New function.
    586  1.1  skrll 	(_bfd_mips_elf_finish_dynamic_symbol): Write out PLT entries
    587  1.1  skrll 	and copy relocs where necessary.  Check pointer_equality_needed.
    588  1.1  skrll 	(mips_finish_exec_plt): New function.
    589  1.1  skrll 	(_bfd_mips_elf_finish_dynamic_sections): Always set DT_PLTGOT
    590  1.1  skrll 	to the beginning of htab->sgot.  Use htab->reserved_gotno instead
    591  1.1  skrll 	of MIPS_RESERVED_GOTNO.  Assert htab->use_plts_and_copy_relocs
    592  1.1  skrll 	instead of htab->is_vxworks for DT_PLTREL, DT_PLTRELSZ and DT_JMPREL.
    593  1.1  skrll 	Set DT_PLTREL to DT_REL instead of DT_RELA on non-VxWorks targets.
    594  1.1  skrll 	Use mips_finish_exec_plt to create non-VxWorks PLT headers.  Set
    595  1.1  skrll 	DT_MIPS_PLTGOT.
    596  1.1  skrll 	(_bfd_mips_elf_copy_indirect_symbol): Copy has_static_relocs
    597  1.1  skrll 	from the indirect symbol to the direct symbol.  Also copy
    598  1.1  skrll 	has_nonpic_branches for indirect symbols.
    599  1.1  skrll 	(_bfd_mips_elf_get_target_dtag): Handle DT_MIPS_PLTGOT and
    600  1.1  skrll 	DT_MIPS_RWPLT.
    601  1.1  skrll 	(_bfd_mips_elf_link_hash_table_create): Initialize the new
    602  1.1  skrll 	mips_elf_link_hash_table fields.
    603  1.1  skrll 	(_bfd_mips_vxworks_link_hash_table_create): Set
    604  1.1  skrll 	use_plts_and_copy_relocs to TRUE.  Use TRUE rather than 1
    605  1.1  skrll 	when setting is_vxworks.
    606  1.1  skrll 	(_bfd_mips_elf_use_plts_and_copy_relocs): New function.
    607  1.1  skrll 	(_bfd_mips_elf_final_link): Call mips_elf_create_la25_stub for
    608  1.1  skrll 	each la25_stub.
    609  1.1  skrll 	(_bfd_mips_elf_merge_private_bfd_data): Treat dynamic objects
    610  1.1  skrll 	as PIC.  Generalize message about linking PIC and non-PIC.
    611  1.1  skrll 	(_bfd_mips_elf_plt_sym_val, _bfd_mips_post_process_headers): New
    612  1.1  skrll 	functions.
    613  1.1  skrll 	* reloc.c: Update comment near BFD_RELOC_MIPS_JUMP_SLOT.
    614  1.1  skrll 	* bfd-in2.h: Regenerated.
    615  1.1  skrll 
    616  1.1  skrll 2008-08-08  Alan Modra  <amodra (a] bigpond.net.au>
    617  1.1  skrll 
    618  1.1  skrll 	* elf.c (bfd_elf_get_elf_syms): Don't leak memory on error.
    619  1.1  skrll 	* elflink.c (_bfd_elf_link_read_relocs): bfd_release on error.
    620  1.1  skrll 	(elf_link_add_object_symbols): Don't leak memory on error.
    621  1.1  skrll 	(bfd_elf_size_dynsym_hash_dynstr): Likewise.
    622  1.1  skrll 	(elf_fixup_link_order): Free sections.
    623  1.1  skrll 
    624  1.1  skrll 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
    625  1.1  skrll 
    626  1.1  skrll 	* elf-bfd.h (elf_backend_data): Add a "rela_plts_and_copies_p" field.
    627  1.1  skrll 	* elfxx-target.h (elf_backend_rela_plts_and_copies_p): New macro.
    628  1.1  skrll 	(elfNN_bed): Use it.
    629  1.1  skrll 	* elf.c (_bfd_elf_get_synthetic_symtab): Use rela_plts_and_copies_p
    630  1.1  skrll 	instead of default_use_rela_p to choose between ".rel.plt" and
    631  1.1  skrll 	".rela.plt".
    632  1.1  skrll 	* elflink.c (_bfd_elf_create_dynamic_sections): Use
    633  1.1  skrll 	rela_plts_and_copies_p instead of default_use_rela_p to choose
    634  1.1  skrll 	between ".rel.plt" and ".rela.plt", and between ".rel.bss" and
    635  1.1  skrll 	".rela.bss".
    636  1.1  skrll 
    637  1.1  skrll 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
    638  1.1  skrll 
    639  1.1  skrll 	* elf-bfd.h (MIPS_ELF_TDATA): New elf_object_id.
    640  1.1  skrll 	* elf32-mips.c (bfd_elf32_mkobject): Define.
    641  1.1  skrll 	* elf64-mips.c (bfd_elf64_mkobject): Likewise.
    642  1.1  skrll 	* elfn32-mips.c (bfd_elf32_mkobject): Likewise.
    643  1.1  skrll 	* elfxx-mips.h (_bfd_mips_elf_mkobject): Declare.
    644  1.1  skrll 	* elfxx-mips.c (is_mips_elf): New macro.
    645  1.1  skrll 	(_bfd_mips_elf_mkobject): New function.
    646  1.1  skrll 	(_bfd_mips_elf_final_link): Use is_mips_elf.
    647  1.1  skrll 	(_bfd_mips_elf_merge_private_bfd_data): Likewise.
    648  1.1  skrll 
    649  1.1  skrll 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
    650  1.1  skrll 
    651  1.1  skrll 	* elfxx-mips.c (mips_elf_record_relocs): Defer allocation of a
    652  1.1  skrll 	global GOT entry when deferring allocation of dynamic relocations.
    653  1.1  skrll 	(allocate_dynrelocs): When allocating deferred dynamic relocations,
    654  1.1  skrll 	also do the deferred allocation of a GOT entry.
    655  1.1  skrll 
    656  1.1  skrll 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
    657  1.1  skrll 
    658  1.1  skrll 	* elfxx-mips.c (mips_got_info): Add a "reloc_only_gotno" field.
    659  1.1  skrll 	(mips_elf_got_section): Delete.
    660  1.1  skrll 	(mips_elf_sort_hash_table): Use g->reloc_only_gotno to decide
    661  1.1  skrll 	how many reloc-only entries there are.
    662  1.1  skrll 	(mips_elf_count_got_symbols): Adjust g->reloc_only_gotno as
    663  1.1  skrll 	well as g->global_gotno.
    664  1.1  skrll 	(mips_elf_make_got_per_bfd): Initialize reloc_only_gotno.
    665  1.1  skrll 	(mips_elf_multi_got): Likewise.  Use gg->reloc_only_gotno
    666  1.1  skrll 	rather than gg->assigned_gotno to store the number of
    667  1.1  skrll 	reloc-only GOT entries.
    668  1.1  skrll 	(mips_elf_create_got_section): Remove the MAYBE_EXCLUDE parameter.
    669  1.1  skrll 	Initialize reloc_only_gotno.
    670  1.1  skrll 	(mips_elf_calculate_relocation): Check htab->got_info instead of
    671  1.1  skrll 	dynobj when deciding whether to call mips_elf_adjust_gp,
    672  1.1  skrll 	(_bfd_mips_elf_create_dynamic_sections): Adjust the call
    673  1.1  skrll 	to mips_elf_create_got_section.
    674  1.1  skrll 	(mips_elf_record_relocs): Likewise.  Remove redundant
    675  1.1  skrll 	"dynobj == NULL" code.  Do not use mips_elf_create_got_section
    676  1.1  skrll 	or mips_elf_record_global_got_symbol for R_MIPS_32, R_MIPS_REL32
    677  1.1  skrll 	and R_MIPS_64; limit global_got_area to GGA_RELOC_ONLY instead.
    678  1.1  skrll 	(_bfd_mips_elf_finish_dynamic_symbol): Use htab->sgot instead
    679  1.1  skrll 	of mips_elf_got_section.
    680  1.1  skrll 	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
    681  1.1  skrll 	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
    682  1.1  skrll 	Move the initial assignment of G to the block that uses it;
    683  1.1  skrll 	it is used for an unrelated purpose later.
    684  1.1  skrll 
    685  1.1  skrll 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
    686  1.1  skrll 
    687  1.1  skrll 	* elfxx-mips.c (count_section_dynsyms): Move before the new first use.
    688  1.1  skrll 	(mips_elf_sort_hash_table): Take the output bfd as a parameter.
    689  1.1  skrll 	Remove the MAX_LOCAL parameter.  Exit early if there are no
    690  1.1  skrll 	dynamic symbols, if there is no dynobj, or if there is no
    691  1.1  skrll 	GOT section.  Use count_section_dynsyms instead of MAX_LOCAL.
    692  1.1  skrll 	Assert == rather than <= when checking hsd.max_unref_got_dynindx.
    693  1.1  skrll 	Also assert that g->global_gotno is right.
    694  1.1  skrll 	(mips_elf_count_forced_local_got_symbols): Rename to...
    695  1.1  skrll 	(mips_elf_count_got_symbols): ...and count global GOT entries too.
    696  1.1  skrll 	Set the global_got_area of a forced-local GGA_RELOC_ONLY symbol
    697  1.1  skrll 	to GGA_NONE.
    698  1.1  skrll 	(mips_elf_multi_got): Don't sort the symbol table.
    699  1.1  skrll 	(mips_elf_lay_out_got): Likewise.  Use mips_elf_count_got_symbols
    700  1.1  skrll 	to count the number of global GOT entries.
    701  1.1  skrll 	(_bfd_mips_elf_final_link): Unconditionally call
    702  1.1  skrll 	mips_elf_sort_hash_table.
    703  1.1  skrll 
    704  1.1  skrll 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
    705  1.1  skrll 
    706  1.1  skrll 	* elfxx-mips.c (GGA_NORMAL, GGA_RELOC_ONLY, GGA_NONE): New macros.
    707  1.1  skrll 	(mips_elf_link_hash_entry): Add a "global_got_area" field.
    708  1.1  skrll 	(mips_elf_link_hash_newfunc): Initialize it.
    709  1.1  skrll 	(mips_elf_sort_hash_table_f): Use h->global_got_area instead of
    710  1.1  skrll 	h->root.got.offset.  Do not handle forced_local symbols specially.
    711  1.1  skrll 	(mips_elf_record_global_got_symbol): Set h->global_got_area
    712  1.1  skrll 	instead of h->root.got.offset.
    713  1.1  skrll 	(mips_elf_recreate_got): Assert that h->global_got_area == GGA_NONE
    714  1.1  skrll 	for indirect and warning symbols.
    715  1.1  skrll 	(mips_elf_count_forced_local_got_symbols): Change the argument
    716  1.1  skrll 	from a "elf_link_hash_entry" to "mips_elf_link_hash_entry".
    717  1.1  skrll 	Use and set h->global_got_area instead of h->root.got.offset.
    718  1.1  skrll 	Set it to GGA_NONE for all forced-local symbols.
    719  1.1  skrll 	(mips_elf_set_global_got_offset): Set h->global_got_area
    720  1.1  skrll 	instead of h->root.got.offset.  Use g->global_got_area instead
    721  1.1  skrll 	of a combination of dynindx, forced_local and tls_type.
    722  1.1  skrll 	(mips_elf_multi_got): Remove disabled code.  Pass GGA_* values to
    723  1.1  skrll 	mips_elf_set_global_got_offset.
    724  1.1  skrll 	(mips_elf_lay_out_got): Use mips_elf_link_hash_traverse instead
    725  1.1  skrll 	of elf_link_hash_traverse.
    726  1.1  skrll 	(_bfd_mips_elf_copy_indirect_symbol): Copy the indirect symbol's
    727  1.1  skrll 	global_got_area to the direct symbol if the latter's value is higher.
    728  1.1  skrll 	Set the indirect symbol's area to GGA_NONE.
    729  1.1  skrll 
    730  1.1  skrll 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
    731  1.1  skrll 
    732  1.1  skrll 	* elf32-mips.c (elf_backend_hide_symbol): Delete.
    733  1.1  skrll 	* elfn32-mips.c (elf_backend_hide_symbol): Likewise.
    734  1.1  skrll 	* elf64-mips.c (elf_backend_hide_symbol): Likewise.
    735  1.1  skrll 	* elfxx-mips.h (elf_backend_hide_symbol): Likewise.
    736  1.1  skrll 	* elfxx-mips.c (mips_elf_link_hash_entry): Remove "forced_local"
    737  1.1  skrll 	and add "needs_lazy_stub".
    738  1.1  skrll 	(mips_elf_link_hash_newfunc): Update accordingly.
    739  1.1  skrll 	(mips_elf_link_hash_table): Remove "computed_got_sizes" and
    740  1.1  skrll 	add "lazy_stub_count".
    741  1.1  skrll 	(_bfd_mips_elf_link_hash_table_create): Update accordingly.
    742  1.1  skrll 	(mips_elf_output_extsym): Use hd->needs_lazy_stub to detect
    743  1.1  skrll 	cases where a lazy stub is being used.
    744  1.1  skrll 	(mips_elf_sort_hash_table_f): Use h->root.forced_local instead
    745  1.1  skrll 	of h->forced_local.
    746  1.1  skrll 	(mips_elf_record_global_got_symbol): Use _bfd_elf_link_hash_hide_symbol
    747  1.1  skrll 	instead of _bfd_mips_elf_hide_symbol.  Do not increment local_gotno
    748  1.1  skrll 	here.
    749  1.1  skrll 	(mips_elf_allocate_dynamic_relocations): Move before new first use.
    750  1.1  skrll 	(mips_elf_check_recreate_got, mips_elf_recreate_got): New functions.
    751  1.1  skrll 	(mips_elf_resolve_final_got_entries): Move earlier in file.  Make at
    752  1.1  skrll 	most two passes over the hash table.  Use mips_elf_check_recreate_got
    753  1.1  skrll 	to see if there are any indirect or warning entries and
    754  1.1  skrll 	mips_elf_recreate_got to create a new GOT without them.
    755  1.1  skrll 	Return a boolean success value.
    756  1.1  skrll 	(mips_elf_count_forced_local_got_entries): New function.
    757  1.1  skrll 	(mips_elf_make_got_per_bfd): Check h->root.forced_local instead of
    758  1.1  skrll 	h->forced_local.
    759  1.1  skrll 	(mips_elf_set_global_got_offset): Likewise.
    760  1.1  skrll 	(mips_elf_set_no_stub): Replace with...
    761  1.1  skrll 	(mips_elf_forbid_lazy_stubs): ...this new function.
    762  1.1  skrll 	(mips_elf_resolve_final_got_entry): Delete.
    763  1.1  skrll 	(mips_elf_multi_got): Fix formatting.  Use mips_elf_forbid_lazy_stubs
    764  1.1  skrll 	instead of mips_elf_set_no_stub.  Move the code that sets
    765  1.1  skrll 	global offsets and allocates dynamic relocations from the main
    766  1.1  skrll 	_bfd_mips_elf_size_dynamic_sections loop to here.
    767  1.1  skrll 	(_bfd_mips_elf_adjust_dynamic_symbol): Do not allocate room in
    768  1.1  skrll 	.MIPS.stubs here; just set hmips->needs_lazy_stub and increment
    769  1.1  skrll 	htab->lazy_stub_count.
    770  1.1  skrll 	(_bfd_mips_elf_always_size_sections): Move the stub-estimation
    771  1.1  skrll 	code to mips_elf_estimate_stub_size and the GOT-sizing code to
    772  1.1  skrll 	mips_elf_lay_out_got.  Do not call these functions here.
    773  1.1  skrll 	(mips_elf_estimate_stub_size): New function, split
    774  1.1  skrll 	out from _bfd_mips_elf_always_size_sections.  Call
    775  1.1  skrll 	mips_elf_resolve_final_got_entries earlier.  Count the number
    776  1.1  skrll 	of forced-local entries.  Do not add stub sizes to loadable_size;
    777  1.1  skrll 	after this patch, the stub sizes are already included in the main
    778  1.1  skrll 	estimate.  Allocate dynamic relocations here rather than in the
    779  1.1  skrll 	main _bfd_mips_elf_size_dynamic_sections loop.
    780  1.1  skrll 	(mips_elf_estimate_stub_size): New function, split out from
    781  1.1  skrll 	_bfd_mips_elf_always_size_sections.
    782  1.1  skrll 	(mips_elf_allocate_lazy_stub): New function.
    783  1.1  skrll 	(mips_elf_lay_out_lazy_stubs): Likewise.
    784  1.1  skrll 	(_bfd_mips_elf_size_dynamic_sections): Call mips_elf_estimate_stub_size,
    785  1.1  skrll 	mips_elf_lay_out_got and mips_elf_lay_out_lazy_stubs.  Do not handle
    786  1.1  skrll 	the allocation of sreldyn specially.
    787  1.1  skrll 	(_bfd_mips_elf_hide_symbol): Delete.
    788  1.1  skrll 
    789  1.1  skrll 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
    790  1.1  skrll 
    791  1.1  skrll 	* elfxx-mips.c (allocate_dynrelocs): Ignore indirect and warning
    792  1.1  skrll 	symbols.
    793  1.1  skrll 
    794  1.1  skrll 2008-08-06  Richard Sandiford  <rdsandiford (a] googlemail.com>
    795  1.1  skrll 
    796  1.1  skrll 	* elfxx-mips.c (mips_elf_link_hash_entry): Move bfd_boolean
    797  1.1  skrll 	fields to the end of the structure and make them single-bit
    798  1.1  skrll 	bitfields.
    799  1.1  skrll 	(mips_elf_link_hash_newfunc): Make the initialization statements
    800  1.1  skrll 	follow the new field order.
    801  1.1  skrll 
    802  1.1  skrll 2008-08-06  Richard Sandiford  <rdsandiford (a] googlemail.com>
    803  1.1  skrll 
    804  1.1  skrll 	* elfxx-mips.c (_mips_elf_section_data): Remove the "u.got_info" field.
    805  1.1  skrll 	(mips_elf_link_hash_table): Add "sgot" and "got_info" fields.
    806  1.1  skrll 	(_bfd_mips_elf_link_hash_table_create): Initialize them.
    807  1.1  skrll 	(mips_elf_got_section): Always apply the !maybe_excluded behavior.
    808  1.1  skrll 	(mips_elf_got_info): Delete.
    809  1.1  skrll 	(mips_elf_initialize_tls_slots): Remove the DYNOBJ local variable.
    810  1.1  skrll 	Adjust the call to mips_elf_got_section.
    811  1.1  skrll 	(mips_elf_local_got_index): Don't call mips_elf_got_info.
    812  1.1  skrll 	Update the call to mips_elf_create_local_got_entry.
    813  1.1  skrll 	Use htab->got_info.
    814  1.1  skrll 	(mips_elf_global_got_index): Don't call mips_elf_got_info;
    815  1.1  skrll 	use htab->got_info and htab->sgot instead.
    816  1.1  skrll 	(mips_elf_got_page): Don't call mips_elf_got_info.  Update the
    817  1.1  skrll 	call to mips_elf_create_local_got_entry.
    818  1.1  skrll 	(mips_elf_got16_entry): Likewise.
    819  1.1  skrll 	(mips_elf_got_offset_from_index): Replace with DYNOBJ parameter
    820  1.1  skrll 	with an INFO parameter.  Don't call mips_elf_got_info; use htab->sgot
    821  1.1  skrll 	and htab->got_info instead.
    822  1.1  skrll 	(mips_elf_create_local_got_entry): Remove the GG and SGOT parameters.
    823  1.1  skrll 	Use htab->sgot and htab->got_info.
    824  1.1  skrll 	(mips_elf_sort_hash_table): Remove the DYNOBJ local variable.
    825  1.1  skrll 	Don't call mips_elf_got_info; use htab->got_info instead.
    826  1.1  skrll 	(mips_elf_record_global_got_symbol): Turn G from a paramter to
    827  1.1  skrll 	a local variable and read it from htab->got_info.
    828  1.1  skrll 	(mips_elf_record_local_got_symbol): Replace the G parameter with
    829  1.1  skrll 	an INFO parameter.  Make G a local variable and read it from
    830  1.1  skrll 	htab->got_info instead.
    831  1.1  skrll 	(mips_elf_record_got_page_entry): Likewise.
    832  1.1  skrll 	(mips_elf_multi_got): Remove the G parameter and make it a local
    833  1.1  skrll 	variable instead.  Read it from htab->got_info.
    834  1.1  skrll 	(mips_elf_create_got_section): Cache the GOT section in htab->sgot.
    835  1.1  skrll 	Store the GOT information in htab->got_info.
    836  1.1  skrll 	(mips_elf_calculate_relocation): Don't call mips_elf_got_section
    837  1.1  skrll 	and mips_elf_got_info; use htab->sgot and htab->got_info instead.
    838  1.1  skrll 	Adjust the calls to mips_elf_got_offset_from_index and
    839  1.1  skrll 	mips_elf_adjust_gp.
    840  1.1  skrll 	(_bfd_mips_elf_check_relocs): Remove the G and SGOT local variables.
    841  1.1  skrll 	Adjust the calls to mips_elf_record_local_got_symbol,
    842  1.1  skrll 	mips_elf_record_global_got_symbol and mips_elf_record_got_page_entry.
    843  1.1  skrll 	Use htab->sgot.
    844  1.1  skrll 	(_bfd_mips_elf_always_size_sections): Remove the DYNOBJ local variable.
    845  1.1  skrll 	Don't call mips_elf_got_info; use htab->sgot and htab->got_info instead.
    846  1.1  skrll 	Update the call to mips_elf_multi_got.
    847  1.1  skrll 	(_bfd_mips_elf_size_dynamic_sections): Don't call mips_elf_got_info;
    848  1.1  skrll 	use htab->got_info instead.
    849  1.1  skrll 	(_bfd_mips_elf_finish_dynamic_symbol): Update the call to
    850  1.1  skrll 	mips_elf_got_section.  Get the got_info from the hash table
    851  1.1  skrll 	rather than the GOT section.
    852  1.1  skrll 	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
    853  1.1  skrll 	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
    854  1.1  skrll 	(_bfd_mips_elf_hide_symbol): Don't call mips_elf_got_section;
    855  1.1  skrll 	get the got_info from the hash table instead.  Remove the GOT
    856  1.1  skrll 	local variable.
    857  1.1  skrll 	(_bfd_mips_elf_final_link): Likewise.  Also remove the DYNOBJ
    858  1.1  skrll 	local variable.
    859  1.1  skrll 
    860  1.1  skrll 2008-08-06  Richard Sandiford  <rdsandiford (a] googlemail.com>
    861  1.1  skrll 
    862  1.1  skrll 	* elfxx-mips.c (mips_elf_link_hash_table): Add an "sstubs" field.
    863  1.1  skrll 	(_bfd_mips_elf_create_dynamic_sections): Use it to cache the stubs
    864  1.1  skrll 	section.  Don't check whether the section already exists.
    865  1.1  skrll 	(_bfd_mips_elf_adjust_dynamic_symbol): Use htab->sstubs.
    866  1.1  skrll 	(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
    867  1.1  skrll 	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
    868  1.1  skrll 	(_bfd_mips_elf_size_dynamic_sections): Likewise.  Don't add the
    869  1.1  skrll 	dummy stub to an empty section.
    870  1.1  skrll 	(_bfd_mips_elf_link_hash_table_create): Initialize the "sstubs" field.
    871  1.1  skrll 
    872  1.1  skrll 2008-08-06  Richard Sandiford  <rdsandiford (a] googlemail.com>
    873  1.1  skrll 
    874  1.1  skrll 	* reloc.c (BFD_RELOC_MIPS16_GOT16, BFD_RELOC_MIPS16_CALL16): Declare.
    875  1.1  skrll 	* libbfd.h, bfd-in2.h: Regenerate.
    876  1.1  skrll 	* elf32-mips.c (elf_mips16_howto_table_rel): Fill in reserved
    877  1.1  skrll 	R_MIPS16_GOT16 and R_MIPS16_CALL16 entries.
    878  1.1  skrll 	(mips16_reloc_map): Add mappings.
    879  1.1  skrll 	* elf64-mips.c (mips16_elf64_howto_table_rel): Fill in reserved
    880  1.1  skrll 	R_MIPS16_GOT16 and R_MIPS16_CALL16 entries.
    881  1.1  skrll 	(mips16_elf64_howto_table_rela): Likewise.
    882  1.1  skrll 	(mips16_reloc_map): Add mappings.
    883  1.1  skrll 	* elfn32-mips.c (elf_mips16_howto_table_rel): Fill in reserved
    884  1.1  skrll 	R_MIPS16_GOT16 and R_MIPS16_CALL16 entries.
    885  1.1  skrll 	(elf_mips16_howto_table_rela): Likewise.
    886  1.1  skrll 	(mips16_reloc_map): Add mappings.
    887  1.1  skrll 	* elfxx-mips.c (mips_elf_create_shadow_symbol): New function.
    888  1.1  skrll 	(section_allows_mips16_refs_p): Likewise.
    889  1.1  skrll 	(mips16_stub_symndx): Likewise.
    890  1.1  skrll 	(mips_elf_check_mips16_stubs): Treat the data argument as a
    891  1.1  skrll 	bfd_link_info.  Mark every dynamic symbol as needing MIPS16 stubs
    892  1.1  skrll 	and create a "shadow" symbol for the original MIPS16 definition.
    893  1.1  skrll 	(mips16_reloc_p, got16_reloc_p, call16_reloc_p, hi16_reloc_p)
    894  1.1  skrll 	(lo16_reloc_p, mips16_call_reloc_p): New functions.
    895  1.1  skrll 	(_bfd_mips16_elf_reloc_unshuffle): Use mips16_reloc_p to generalize
    896  1.1  skrll 	relocation checks.
    897  1.1  skrll 	(_bfd_mips16_elf_reloc_shuffle): Likewise.
    898  1.1  skrll 	(_bfd_mips_elf_lo16_reloc): Handle R_MIPS16_GOT16.
    899  1.1  skrll 	(mips_elf_got16_entry): Add comment.
    900  1.1  skrll 	(mips_elf_calculate_relocation): Use hi16_reloc_p,
    901  1.1  skrll 	lo16_reloc_p, mips16_call_reloc_p, call16_reloc_p and got16_reloc_p
    902  1.1  skrll 	to generalize relocation checks.  Use section_allows_mips16_refs_p
    903  1.1  skrll 	instead of mips16_stub_section_p.   Handle R_MIPS16_CALL16 and
    904  1.1  skrll 	R_MIPS16_GOT16, allowing the former to refer directly to a
    905  1.1  skrll 	MIPS16 function if its stub is not needed.
    906  1.1  skrll 	(mips16_stub_section_p): Delete.
    907  1.1  skrll 	(_bfd_mips_elf_symbol_processing): Convert odd-valued function
    908  1.1  skrll 	symbols into even MIPS16 symbols.
    909  1.1  skrll 	(mips_elf_add_lo16_rel_addend): Use mips16_reloc_p to generalize
    910  1.1  skrll 	a relocation check.
    911  1.1  skrll 	(_bfd_mips_elf_check_relocs): Calculate "bed" and "rel_end"
    912  1.1  skrll 	earlier in the function.  Use mips16_stub_symndx to identify
    913  1.1  skrll 	the target function.  Avoid out-of-bounds accesses when the
    914  1.1  skrll 	stub has no relocations; report an error instead.  Use
    915  1.1  skrll 	section_allows_mips16_refs_p instead of mips16_stub_section_p.
    916  1.1  skrll 	Use mips16_call_reloc_p and got16_reloc_p to generalize relocation
    917  1.1  skrll 	checks.  Handle R_MIPS16_CALL16 and R_MIPS16_GOT16.  Don't create
    918  1.1  skrll 	dynamic relocations for absolute references to __gnu_local_gp.
    919  1.1  skrll 	(_bfd_mips_elf_always_size_sections): Pass a bfd_link_info as
    920  1.1  skrll 	the argument to mips_elf_check_mips16_stubs.  Generalize comment.
    921  1.1  skrll 	(_bfd_mips_elf_relocate_section): Use hi16_reloc_p and got16_reloc_p
    922  1.1  skrll 	to generalize relocation checks.
    923  1.1  skrll 	(_bfd_mips_elf_finish_dynamic_symbol): If a dynamic MIPS16 function
    924  1.1  skrll 	symbol has a non-MIPS16 stub, redirect the symbol to the stub.
    925  1.1  skrll 	Fix an overly long line.  Don't give dynamic symbols type STO_MIPS16.
    926  1.1  skrll 	(_bfd_mips_elf_gc_sweep_hook): Handle R_MIPS16_CALL16 and
    927  1.1  skrll 	R_MIPS16_GOT16.
    928  1.1  skrll 
    929  1.1  skrll 2008-08-06  Alan Modra  <amodra (a] bigpond.net.au>
    930  1.1  skrll 
    931  1.1  skrll 	* elf32-ppc.c (ppc_elf_relax_section): Clear R_PPC_PLTREL24 addend.
    932  1.1  skrll 	(ppc_elf_relocate_section <R_PPC_RELAX32_PLT>): Don't bother here.
    933  1.1  skrll 
    934  1.1  skrll 2008-08-05  Alan Modra  <amodra (a] bigpond.net.au>
    935  1.1  skrll 	    Jaka Monik <jaka (a] xlab.si>
    936  1.1  skrll 
    937  1.1  skrll 	* coffcode.h (coff_slurp_line_table): bfd_alloc lineno_cache first
    938  1.1  skrll 	so that we don't inadvertently free it.  Use bfd_alloc for sort
    939  1.1  skrll 	arrays, and memcpy sorted line table.
    940  1.1  skrll 
    941  1.1  skrll 2008-08-04  Alan Modra  <amodra (a] bigpond.net.au>
    942  1.1  skrll 
    943  1.1  skrll 	* elf32-spu.c (spu_elf_auto_overlay): Use the maximum possible
    944  1.1  skrll 	if --fixed-space request is too large.
    945  1.1  skrll 
    946  1.1  skrll 2008-08-04  Alan Modra  <amodra (a] bigpond.net.au>
    947  1.1  skrll 
    948  1.1  skrll 	* Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Set LC_ALL=C.
    949  1.1  skrll 	* Makefile.in: Regenerate.
    950  1.1  skrll 	* po/SRC-POTFILES.in: Regenerate.
    951  1.1  skrll 
    952  1.1  skrll 2008-08-02  Alan Modra  <amodra (a] bigpond.net.au>
    953  1.1  skrll 
    954  1.1  skrll 	* elf32-spu.c (mark_overlay_section): Move code calculating
    955  1.1  skrll 	max_overlay_size to correct block.
    956  1.1  skrll 	(spu_elf_auto_overlay): Don't use %x in einfo error message.
    957  1.1  skrll 
    958  1.1  skrll 2008-08-01  Alan Modra  <amodra (a] bigpond.net.au>
    959  1.1  skrll 	    Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    960  1.1  skrll 
    961  1.1  skrll 	* elfcore.h (elf_core_file_p): Ensure we have a backend match
    962  1.1  skrll 	with the correct arch size before rejecting the generic fallback.
    963  1.1  skrll 	* elfcode.h (elf_object_p): Likewise.  Ensure arch size matches
    964  1.1  skrll 	before accepting a target.
    965  1.1  skrll 
    966  1.1  skrll 2008-08-01  Alan Modra  <amodra (a] bigpond.net.au>
    967  1.1  skrll 
    968  1.1  skrll 	PR 6774
    969  1.1  skrll 	* elf.c (rewrite_elf_program_header): Don't wrap p_paddr to
    970  1.1  skrll 	include file or program headers.
    971  1.1  skrll 
    972  1.1  skrll 2008-07-30  Alan Modra  <amodra (a] bigpond.net.au>
    973  1.1  skrll 
    974  1.1  skrll 	* coff-ppc.c, coffgen.c, ecoff.c, ecofflink.c, elf.c, elf32-frv.c,
    975  1.1  skrll 	elf32-iq2000.c, elf32-m32c.c, elf32-mep.c, elf32-mt.c,
    976  1.1  skrll 	elf32-sh-symbian.c, elf64-hppa.c, mach-o.c, peXXigen.c, pef.c,
    977  1.1  skrll 	ppcboot.c, vms-misc.c, xsym.c: Silence gcc warnings.
    978  1.1  skrll 
    979  1.1  skrll 2008-07-28  Daniel Jacobowitz  <dan (a] codesourcery.com>
    980  1.1  skrll 
    981  1.1  skrll 	* elfxx-mips.c (mips_elf_calculate_relocation): Avoid generating
    982  1.1  skrll 	relocations for undefined weak symbols with non-default visibility.
    983  1.1  skrll 	(_bfd_mips_elf_check_relocs): Use possibly_dynamic_relocs for
    984  1.1  skrll 	global symbols in shared libraries.
    985  1.1  skrll 	(allocate_dynrelocs): New function.
    986  1.1  skrll 	(_bfd_mips_elf_adjust_dynamic_symbol): Do not handle
    987  1.1  skrll 	possibly_dynamic_relocs here.
    988  1.1  skrll 	(_bfd_mips_elf_size_dynamic_sections): Call allocate_dynrelocs.
    989  1.1  skrll 
    990  1.1  skrll 2008-07-28  Alexandre Oliva  <aoliva (a] redhat.com>
    991  1.1  skrll 
    992  1.1  skrll 	* elf32-i386.c (struct elf_i386_link_hash_table): Added field
    993  1.1  skrll 	tls_module_base.
    994  1.1  skrll 	(elf_i386_link_hash_table_create): Initialize it.
    995  1.1  skrll 	(elf_i386_always_size_sections): Set it.
    996  1.1  skrll 	(set_tls_module_base): New.
    997  1.1  skrll 	(elf_i386_relocate_sections): Call it.
    998  1.1  skrll 	* elf64-x86-64.c (struct elf64_x86_64_link_hash_table): Added
    999  1.1  skrll 	field tls_module_base.
   1000  1.1  skrll 	(elf64_x86_64_link_hash_table_create): Initialize it.
   1001  1.1  skrll 	(elf64_x86_64_always_size_sections): Set it.
   1002  1.1  skrll 	(set_tls_module_base): New.
   1003  1.1  skrll 	(elf64_x86_64_relocate_sections): Call it.
   1004  1.1  skrll 	Reported by Cary Coutant <ccoutant (a] google.com>
   1005  1.1  skrll 
   1006  1.1  skrll 2008-07-28  Ineiev  <ineiev (a] yahoo.co.uk>
   1007  1.1  skrll 
   1008  1.1  skrll 	* elf32-arm.c (arm_map_one_stub): Declare variables at beginning
   1009  1.1  skrll 	of block.
   1010  1.1  skrll 	* elf32-avr.c (get_local_syms): Likewise.
   1011  1.1  skrll 
   1012  1.1  skrll 2008-07-28  Alan Modra  <amodra (a] bigpond.net.au>
   1013  1.1  skrll 
   1014  1.1  skrll 	PR 6769
   1015  1.1  skrll 	* bfd-in.h (BFD_VMA_FMT): Define.
   1016  1.1  skrll 	(printf_vma, sprintf_vma): Use the above.
   1017  1.1  skrll 	(_bfd_int64_low, _bfd_int64_high): Delete.
   1018  1.1  skrll 	* bfd-in2.h: Regenerate.
   1019  1.1  skrll 
   1020  1.1  skrll 2008-07-27  Alan Modra  <amodra (a] bigpond.net.au>
   1021  1.1  skrll 
   1022  1.1  skrll 	* elf.c (_bfd_elf_make_section_from_shdr): Ignore return from
   1023  1.1  skrll 	elf_parse_notes.  Use bfd_malloc_and_get_section.
   1024  1.1  skrll 	(elf_parse_notes): Validate note namesz and descsz.
   1025  1.1  skrll 
   1026  1.1  skrll 2008-07-26  Michael Eager <eager (a] eagercon.com>
   1027  1.1  skrll 
   1028  1.1  skrll 	* elf32-ppc.c (ppc_elf_merge_obj_attributes): Check compatibility
   1029  1.1  skrll 	between single-float, double-float, and soft-float.
   1030  1.1  skrll 
   1031  1.1  skrll 2008-07-24  Daniel Jacobowitz  <dan (a] codesourcery.com>
   1032  1.1  skrll 
   1033  1.1  skrll 	* elf32-mips.c (elf_backend_write_section): Define.
   1034  1.1  skrll 
   1035  1.1  skrll 2008-07-24  Nick Clifton  <nickc (a] redhat.com>
   1036  1.1  skrll 
   1037  1.1  skrll 	* elf.c (_bfd_elf_map_sections_to_segments): Catch off by one
   1038  1.1  skrll 	error assigning sections to segments.
   1039  1.1  skrll 
   1040  1.1  skrll 2008-07-22  Nick Clifton  <nickc (a] redhat.com>
   1041  1.1  skrll 
   1042  1.1  skrll 	* elf.c (_bfd_elf_map_sections_to_segments): Allow sections in
   1043  1.1  skrll 	adjoining pages to be included in the same segment.
   1044  1.1  skrll 
   1045  1.1  skrll 2008-07-22  Simon Baldwin  <simonb (a] google.com>
   1046  1.1  skrll 
   1047  1.1  skrll 	* elflink.c (elf_link_output_extsym): Set st_size to zero for
   1048  1.1  skrll 	symbols from dynamic libraries.
   1049  1.1  skrll 
   1050  1.1  skrll 2008-07-21  H.J. Lu  <hongjiu.lu (a] intel.com>
   1051  1.1  skrll 
   1052  1.1  skrll 	PR ld/4424
   1053  1.1  skrll 	* elflink.c (_bfd_elf_merge_symbol): Call bed->relocs_compatible
   1054  1.1  skrll 	to check if 2 inputs are compatible.
   1055  1.1  skrll 
   1056  1.1  skrll 2008-07-21  Sterling Augustine  <sterling (a] tensilica.com>
   1057  1.1  skrll 
   1058  1.1  skrll 	* elf.c (assign_file_positions_for_load_sections): Print vma in
   1059  1.1  skrll 	error message about overlapping section vmas.
   1060  1.1  skrll 
   1061  1.1  skrll 2008-07-21  H.J. Lu  <hongjiu.lu (a] intel.com>
   1062  1.1  skrll 
   1063  1.1  skrll 	PR ld/6747
   1064  1.1  skrll 	* elf32-frv.c (elf32_frv_relocate_section): Revert the change
   1065  1.1  skrll 	for PR ld/6446 checked in by accident on May 21, 2008.
   1066  1.1  skrll 
   1067  1.1  skrll 2008-07-21  Nick Clifton  <nickc (a] redhat.com>
   1068  1.1  skrll 
   1069  1.1  skrll 	* coff-sh.c (bfd_pe_print_pdata): Define to NULL for non
   1070  1.1  skrll 	COFF_WITH_PE based SH ports.
   1071  1.1  skrll 	* libpei.h (_bfd_XX_print_ce_compressed_pdata): Prototype.
   1072  1.1  skrll 	* arm-wince-pe.c (bfd_pe_print_pdata): Use
   1073  1.1  skrll 	_bfd_pe_print_ce_compressed_pdata.
   1074  1.1  skrll 	(slurp_symcache, cleanup_syms, pe_print_ce_compressed_pdata): Move
   1075  1.1  skrll 	to...
   1076  1.1  skrll 	* peXXigen.c: ... here and rename pe_print_ce_compressed_pdata to
   1077  1.1  skrll 	_bfd_XX_print_ce_compressed_pdata.
   1078  1.1  skrll 
   1079  1.1  skrll 2008-07-21  Alan Modra  <amodra (a] bigpond.net.au>
   1080  1.1  skrll 
   1081  1.1  skrll 	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Drop
   1082  1.1  skrll 	unwanted zero terminators.
   1083  1.1  skrll 
   1084  1.1  skrll 2008-07-21  Alan Modra  <amodra (a] bigpond.net.au>
   1085  1.1  skrll 
   1086  1.1  skrll 	* elf32-spu.c (spu_elf_relocate_section): Expand
   1087  1.1  skrll 	RELOC_FOR_GLOBAL_SYMBOL.  Don't warn about undefined symbols for
   1088  1.1  skrll 	R_SPU_PPU32 and R_SPU_PPU64 relocations.
   1089  1.1  skrll 
   1090  1.1  skrll 2008-07-21  Luis Machado  <luisgpm (a] br.ibm.com>
   1091  1.1  skrll 
   1092  1.1  skrll 	* elf-bfd.h: Declare elfcore_write_ppc_vsx.
   1093  1.1  skrll 	* elf.c (elfcore_grok_ppc_vsx): New function.
   1094  1.1  skrll 	(elfcore_write_ppc_vsx): New function
   1095  1.1  skrll 	(elfcore_grok_note): Handle VSX notes.
   1096  1.1  skrll 	(elfcore_write_register_note): Handle VSX notes.
   1097  1.1  skrll 
   1098  1.1  skrll 2008-07-18  Joseph Myers  <joseph (a] codesourcery.com>
   1099  1.1  skrll 
   1100  1.1  skrll 	* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add new parameter.
   1101  1.1  skrll 	* bfd-in2.h: Regenerate.
   1102  1.1  skrll 	* elf32-arm.c (struct elf_arm_obj_tdata): Add field
   1103  1.1  skrll 	no_wchar_size_warning.
   1104  1.1  skrll 	(bfd_elf32_arm_set_target_relocs): Add new parameter
   1105  1.1  skrll 	no_wchar_warn.
   1106  1.1  skrll 	(elf32_arm_merge_eabi_attributes): Give a warning, not an error,
   1107  1.1  skrll 	for conflicting wchar_t attributes.  Do not warn if
   1108  1.1  skrll 	--no-wchar-size-warning.  Make diagnostic text more specific.
   1109  1.1  skrll 
   1110  1.1  skrll 2008-07-18  H.J. Lu  <hongjiu.lu (a] intel.com>
   1111  1.1  skrll 
   1112  1.1  skrll 	PR ld/6748
   1113  1.1  skrll 	* elf32-arm.c (elf32_arm_link_hash_table_create): Initialize
   1114  1.1  skrll 	new fields added for ARM long call support.
   1115  1.1  skrll 
   1116  1.1  skrll 2008-07-18  Danny Backx  <dannybackx (a] users.sourceforge.net>
   1117  1.1  skrll 
   1118  1.1  skrll 	* pe-arm-wince.c (pe_print_compressed_pdata): Define new function to
   1119  1.1  skrll 	print compressed pdata structure as described on MSDN. This only
   1120  1.1  skrll 	applies to a limited set of architectures (ARM, SH4).
   1121  1.1  skrll 	(slurp_symtab, my_symbol_for_address): Define static helper
   1122  1.1  skrll 	functions for pe_print_compressed_pdata.
   1123  1.1  skrll 	* coffcode.h (bfd_coff_backend_data): Add _bfd_coff_print_pdata field.
   1124  1.1  skrll 	(bfd_coff_have_print_pdata, bfd_coff_print_pdata): Define.
   1125  1.1  skrll 	* bfd/peXXigen.c (_bfd_XX_print_private_bfd_data_common): Add check on
   1126  1.1  skrll 	bfd_coff_backend_data, call the function if non-null.
   1127  1.1  skrll 	* pei-mcore.c: Add target dependent initialisation for
   1128  1.1  skrll 	bfd_coff_backend_data.
   1129  1.1  skrll 	* coff-sh.c: Likewise.
   1130  1.1  skrll 	* coff64-rs6000.c: Likewise.
   1131  1.1  skrll 	* coff-rs6000.c: Likewise.
   1132  1.1  skrll 	* libcoff-in.h: Likewise.
   1133  1.1  skrll 	* cf-i386lynx.c: Likewise.
   1134  1.1  skrll 	* coff-alpha.c: Likewise.
   1135  1.1  skrll 	* coff-apollo.c: Likewise.
   1136  1.1  skrll 	* coff-arm.c: Likewise.
   1137  1.1  skrll 	* coff-aux.c: Likewise.
   1138  1.1  skrll 	* coff-h8300.c: Likewise.
   1139  1.1  skrll 	* coff-h8500.c: Likewise.
   1140  1.1  skrll 	* coff-i386.c: Likewise.
   1141  1.1  skrll 	* coff-i860.c: Likewise.
   1142  1.1  skrll 	* coff-i960.c: Likewise.
   1143  1.1  skrll 	* coff-ia64.c: Likewise.
   1144  1.1  skrll 	* coff-m68k.c: Likewise.
   1145  1.1  skrll 	* coff-m88k.c: Likewise.
   1146  1.1  skrll 	* coff-maxq.c: Likewise.
   1147  1.1  skrll 	* coff-mips.c: Likewise.
   1148  1.1  skrll 	* coff-or32.c: Likewise.
   1149  1.1  skrll 	* coff-sparc.c: Likewise.
   1150  1.1  skrll 	* coff-tic30.c: Likewise.
   1151  1.1  skrll 	* coff-tic4x.c: Likewise.
   1152  1.1  skrll 	* coff-tic54x.c: Likewise.
   1153  1.1  skrll 	* coff-tic80.c: Likewise.
   1154  1.1  skrll 	* coff-w65.c: Likewise.
   1155  1.1  skrll 	* coff-we32k.c: Likewise.
   1156  1.1  skrll 	* coff-x86_64.c: Likewise.
   1157  1.1  skrll 	* coff-z80.c: Likewise.
   1158  1.1  skrll 	* coff-z8k.c: Likewise.
   1159  1.1  skrll 	* pe-mcore.c: Likewise.
   1160  1.1  skrll 	* pe-mips.c: Likewise.
   1161  1.1  skrll 	* pe-ppc.c: Likewise.
   1162  1.1  skrll 	* peXXigen.c: Likewise.
   1163  1.1  skrll 	* pei-ppc.c: Likewise.
   1164  1.1  skrll 	* libcoff.h: Regenerate.
   1165  1.1  skrll 
   1166  1.1  skrll 2008-07-16  Bernd Schmidt  <bernd.schmidt (a] analog.com>
   1167  1.1  skrll 
   1168  1.1  skrll 	* elf32-bfin.c (bfin_check_relocs, bfin_relocate_section,
   1169  1.1  skrll 	bfin_final_link_relocate, bfin_gc_mark_hook, bfin_gc_sweep_hook,
   1170  1.1  skrll 	ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE,
   1171  1.1  skrll 	struct _bfinfdpic_dynamic_got_info): Moved around to keep FD-PIC code
   1172  1.1  skrll 	separate from non-FD-PIC.
   1173  1.1  skrll 
   1174  1.1  skrll 2008-07-14  DJ Delorie  <dj (a] redhat.com>
   1175  1.1  skrll 
   1176  1.1  skrll 	* elf-m10300.c (mn10300_elf_final_link_relocate): Correct overflow
   1177  1.1  skrll 	checks for PCREL8, PCREL16, GOTPC16, GOTOFF16, PLT16, and GOT16
   1178  1.1  skrll 	relocs.
   1179  1.1  skrll 	(mn10300_elf_relax_section): Correct jump offset check when target
   1180  1.1  skrll 	is in a different section.
   1181  1.1  skrll 
   1182  1.1  skrll 2008-07-15  Jie Zhang  <jie.zhang (a] analog.com>
   1183  1.1  skrll 
   1184  1.1  skrll 	* elf32-bfin.c (elf32_bfin_special_sections[]): New.
   1185  1.1  skrll 	(elf_backend_special_sections): Define.
   1186  1.1  skrll 
   1187  1.1  skrll 2008-07-13  Craig Silverstein  <csilvers (a] google.com>
   1188  1.1  skrll 
   1189  1.1  skrll 	PR binutils/6743
   1190  1.1  skrll 	* dwarf2.c (struct dwarf2_debug): New variable info_ptr_memory.
   1191  1.1  skrll 	(find_line): Use info_ptr_memory instead of sec_info_ptr.
   1192  1.1  skrll 	(_bfd_dwarf2_cleanup_debug_info): Likewise.
   1193  1.1  skrll 
   1194  1.1  skrll 2008-07-12  Jie Zhang  <jie.zhang (a] analog.com>
   1195  1.1  skrll 
   1196  1.1  skrll 	Revert
   1197  1.1  skrll 	2008-07-12  Jie Zhang  <jie.zhang (a] analog.com>
   1198  1.1  skrll 	* elf.c (_bfd_elf_map_sections_to_segments): Don't put
   1199  1.1  skrll 	executable sections into the same segment with other
   1200  1.1  skrll 	read only sections if --sep-code.
   1201  1.1  skrll 	* elf32-bfin.c (elf32_bfin_code_in_l1): New variable.
   1202  1.1  skrll 	(elf32_bfin_data_in_l1): New variable.
   1203  1.1  skrll 	(elf32_bfin_final_write_processing): New.
   1204  1.1  skrll 	(elf32_bfin_special_sections[]): New.
   1205  1.1  skrll 	(elf_backend_final_write_processing): Define.
   1206  1.1  skrll 	(elf_backend_special_sections): Define.
   1207  1.1  skrll 
   1208  1.1  skrll 2008-07-12  Jie Zhang  <jie.zhang (a] analog.com>
   1209  1.1  skrll 
   1210  1.1  skrll 	* elf.c (_bfd_elf_map_sections_to_segments): Don't put
   1211  1.1  skrll 	executable sections into the same segment with other
   1212  1.1  skrll 	read only sections if --sep-code.
   1213  1.1  skrll 	* elf32-bfin.c (elf32_bfin_code_in_l1): New variable.
   1214  1.1  skrll 	(elf32_bfin_data_in_l1): New variable.
   1215  1.1  skrll 	(elf32_bfin_final_write_processing): New.
   1216  1.1  skrll 	(elf32_bfin_special_sections[]): New.
   1217  1.1  skrll 	(elf_backend_final_write_processing): Define.
   1218  1.1  skrll 	(elf_backend_special_sections): Define.
   1219  1.1  skrll 
   1220  1.1  skrll 2008-07-11  Andreas Schwab  <schwab (a] suse.de>
   1221  1.1  skrll 
   1222  1.1  skrll 	* dwarf2.c (read_section): Take pointer to bfd_size_type instead
   1223  1.1  skrll 	of unsigned long as last parameter.
   1224  1.1  skrll 	(struct dwarf2_debug): Define dwarf_abbrev_size, dwarf_line_size,
   1225  1.1  skrll 	dwarf_str_size and dwarf_ranges_size as bfd_size_type instead of
   1226  1.1  skrll 	unsigned long.
   1227  1.1  skrll 
   1228  1.1  skrll 2008-07-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1229  1.1  skrll 
   1230  1.1  skrll 	* elfxx-mips.c (mips_elf_calculate_relocation): Calculate GP and GP0
   1231  1.1  skrll 	for all relocation types.  Allow any type of relocation to refer to
   1232  1.1  skrll 	__gnu_local_gp.
   1233  1.1  skrll 
   1234  1.1  skrll 2008-07-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1235  1.1  skrll 
   1236  1.1  skrll 	* elfxx-mips.c (mips_elf_check_mips16_stubs): Use ELF_ST_IS_MIPS16.
   1237  1.1  skrll 	(mips_elf_calculate_relocation): Likewise.
   1238  1.1  skrll 	(_bfd_mips_elf_add_symbol_hook): Likewise.
   1239  1.1  skrll 	(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
   1240  1.1  skrll 	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
   1241  1.1  skrll 
   1242  1.1  skrll 2008-07-10  Andreas Schwab  <schwab (a] suse.de>
   1243  1.1  skrll 
   1244  1.1  skrll 	* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Add missing
   1245  1.1  skrll 	paren.
   1246  1.1  skrll 
   1247  1.1  skrll 2008-07-09  Craig Silverstein  <csilvers (a] google.com>
   1248  1.1  skrll 
   1249  1.1  skrll 	* Makefile.am (BFD32_LIBS): Add compress.lo.
   1250  1.1  skrll 	(BFD32_LIBS_CFILES): Add compress.c.
   1251  1.1  skrll 	(BFD_H_FILES): Likewise.
   1252  1.1  skrll 	* Makefile.in: Regenerate.
   1253  1.1  skrll 	* bfd-in2.h: Regenerate.
   1254  1.1  skrll 	* config.in: Add HAVE_ZLIB_H
   1255  1.1  skrll 	* configure.in: Add test for libz and zlib.h
   1256  1.1  skrll 	* configure: Regenerate.
   1257  1.1  skrll 	* dwarf2.c (read_section): New function.
   1258  1.1  skrll 	(read_indirect_string): Call new function read_section.
   1259  1.1  skrll 	(read_abbrevs): Likewise.
   1260  1.1  skrll 	(decode_line_info): Likewise.
   1261  1.1  skrll 	(read_debug_ranges): Likewise.
   1262  1.1  skrll 	(find_line): Call new function read_section when just one
   1263  1.1  skrll 	.zdebug_info section is found, otherwise read and compress
   1264  1.1  skrll 	multiple sections.
   1265  1.1  skrll 	(_bfd_dwarf2_cleanup_debug_info): Free sec_info_ptr.
   1266  1.1  skrll 	* elf.c (_bfd_elf_make_section_from_shdr): Add zdebug prefix.
   1267  1.1  skrll 	(special_sections_z): New struct.
   1268  1.1  skrll 	(special_sections): Refer to special_sections_z.
   1269  1.1  skrll 	* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Recognize
   1270  1.1  skrll 	sections named .zdebug_*.
   1271  1.1  skrll 	(_bfd_mips_elf_fake_sections): Likewise.
   1272  1.1  skrll 	* compress.c: New file.
   1273  1.1  skrll 	(bfd_uncompress_section_contents): New function.
   1274  1.1  skrll 
   1275  1.1  skrll 2008-07-07  Christophe Lyon  <christophe.lyon (a] st.com>
   1276  1.1  skrll 
   1277  1.1  skrll 	* elf32-arm.c (arm_type_of_stub): Don't crash on local symbols in
   1278  1.1  skrll 	the presence of a PLT.
   1279  1.1  skrll 
   1280  1.1  skrll 2008-07-07  Alan Modra  <amodra (a] bigpond.net.au>
   1281  1.1  skrll 
   1282  1.1  skrll 	* bfd.c (bfd_demangle): Always trim off bfd_get_symbol_leading_char.
   1283  1.1  skrll 
   1284  1.1  skrll 2008-07-02  Alan Modra  <amodra (a] bigpond.net.au>
   1285  1.1  skrll 
   1286  1.1  skrll 	* elf32-ppc.c (is_pic_glink_stub): New function.
   1287  1.1  skrll 	(ppc_elf_get_synthetic_symtab): Don't generate symbols when
   1288  1.1  skrll 	multiple shared/pie stubs per plt entry.
   1289  1.1  skrll 
   1290  1.1  skrll 2008-06-30  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1291  1.1  skrll 
   1292  1.1  skrll 	* elf.c (_bfd_elf_get_synthetic_symtab): Increment p by
   1293  1.1  skrll 	bed->s->int_rels_per_ext_rel.
   1294  1.1  skrll 
   1295  1.1  skrll 2008-06-30  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1296  1.1  skrll 
   1297  1.1  skrll 	* syms.c (BSF_SYNTHETIC): New flag.
   1298  1.1  skrll 	* elf.c (_bfd_elf_get_synthetic_symtab): Set it.
   1299  1.1  skrll 	* elf32-ppc.c (ppc_elf_get_synthetic_symtab): Likewise.
   1300  1.1  skrll 	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Likewise.
   1301  1.1  skrll 	* bfd-in.h (bfd_asymbol_flavour): Return bfd_target_unknown_flavour
   1302  1.1  skrll 	for synthetic symbols.
   1303  1.1  skrll 	* bfd-in2.h: Regenerate.
   1304  1.1  skrll 
   1305  1.1  skrll 2008-06-30  Daniel Jacobowitz  <dan (a] codesourcery.com>
   1306  1.1  skrll 
   1307  1.1  skrll 	* elf32-arm.c (record_arm_to_thumb_glue, record_thumb_to_arm_glue):
   1308  1.1  skrll 	Expand comments.
   1309  1.1  skrll 	(arm_map_one_stub): Use | 1 when setting the low bit.
   1310  1.1  skrll 
   1311  1.1  skrll 2008-06-29  Andreas Schwab  <schwab (a] suse.de>
   1312  1.1  skrll 
   1313  1.1  skrll 	* elf32-m68k.c (elf_m68k_relocate_section): Don't ignore existing
   1314  1.1  skrll 	addend on _GLOBAL_OFFSET_TABLE_.
   1315  1.1  skrll 
   1316  1.1  skrll 2008-06-24  Daniel Jacobowitz  <dan (a] codesourcery.com>
   1317  1.1  skrll 
   1318  1.1  skrll 	* elf32-arm.c (STUB_ENTRY_NAME): Define.
   1319  1.1  skrll 	(arm_thumb_thumb_long_branch_stub): Use bx instead of b.n.
   1320  1.1  skrll 	(arm_pic_long_branch_stub): Mention R_ARM_REL32 instead of
   1321  1.1  skrll 	R_ARM_ABS32.
   1322  1.1  skrll 	(struct elf32_arm_stub_hash_entry): Add output_name.
   1323  1.1  skrll 	(arm_build_one_stub): Move offsets into the offset argument
   1324  1.1  skrll 	of _bfd_final_link_relocate.  Correct offset for
   1325  1.1  skrll 	arm_thumb_arm_v4t_stub_long_branch.
   1326  1.1  skrll 	(elf32_arm_size_stubs): Set stub_entry->output_name.
   1327  1.1  skrll 	(elf32_arm_ouput_plt_map_sym): Rename to elf32_arm_output_map_sym.
   1328  1.1  skrll 	Update all callers.
   1329  1.1  skrll 	(elf32_arm_output_stub_sym): New.
   1330  1.1  skrll 	(arm_map_one_stub): Correct formatting.  Use elf32_arm_output_stub_sym.
   1331  1.1  skrll 
   1332  1.1  skrll 2008-06-20  Alan Modra  <amodra (a] bigpond.net.au>
   1333  1.1  skrll 
   1334  1.1  skrll 	* elf32-spu.c (needs_ovl_stub): Correctly return nonovl_stub for
   1335  1.1  skrll 	non-branch insns.
   1336  1.1  skrll 
   1337  1.1  skrll 2008-06-20  Alan Modra  <amodra (a] bigpond.net.au>
   1338  1.1  skrll 
   1339  1.1  skrll 	* elf32-spu.c (build_stub): Allow wraparound on stub branches.
   1340  1.1  skrll 	(allocate_spuear_stubs, build_spuear_stubs): Return value from
   1341  1.1  skrll 	count_stub/build_stub.
   1342  1.1  skrll 	(spu_elf_build_stubs): Correct location of stub reloc error message.
   1343  1.1  skrll 
   1344  1.1  skrll 2008-06-18  M R Swami Reddy <MR.Swami.Reddy (a] nsc.com>
   1345  1.1  skrll 
   1346  1.1  skrll 	* elf32-cr16.c (ELF_MACHINE_ALT1): Define to EM_CR16_OLD.
   1347  1.1  skrll 
   1348  1.1  skrll 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   1349  1.1  skrll 
   1350  1.1  skrll 	* configure: Regenerate.
   1351  1.1  skrll 
   1352  1.1  skrll 2008-06-17  Alan Modra  <amodra (a] bigpond.net.au>
   1353  1.1  skrll 
   1354  1.1  skrll 	* elf32-spu.c (struct spu_link_hash_table): Add extra_stack_space.
   1355  1.1  skrll 	(spu_elf_check_vma): Add extra_stack_space param, copy to htab.
   1356  1.1  skrll 	(spu_elf_auto_overlay): Use it.
   1357  1.1  skrll 	(RECURSE_UNMARK): Define as 0.
   1358  1.1  skrll 	(unmark_overlay_section): Heed RECURSE_UNMARK.
   1359  1.1  skrll 	* elf32-spu.h (spu_elf_check_vma): Update prototype.
   1360  1.1  skrll 
   1361  1.1  skrll 2008-06-12  DJ Delorie  <dj (a] redhat.com>
   1362  1.1  skrll 
   1363  1.1  skrll 	* elf32-m32c.c (ELF_MACHINE_ALT1): Define as EM_M32C_OLD.
   1364  1.1  skrll 
   1365  1.1  skrll 2008-06-09  Paul Brook  <paul (a] codesourcery.com>
   1366  1.1  skrll 
   1367  1.1  skrll 	bfd/
   1368  1.1  skrll 	* elf32-arm.c (elf32_arm_merge_private_bfd_data): Allow BE8 shared
   1369  1.1  skrll 	libraries.
   1370  1.1  skrll 
   1371  1.1  skrll 2008-06-09  Christophe Lyon  <christophe.lyon (a] st.com>
   1372  1.1  skrll 
   1373  1.1  skrll 	* elf32-arm.c (arm_stub_is_thumb): Define.
   1374  1.1  skrll 	(elf32_arm_final_link_relocate): Handle near mode switching stubs.
   1375  1.1  skrll 
   1376  1.1  skrll 2008-06-07  Alan Modra  <amodra (a] bigpond.net.au>
   1377  1.1  skrll 
   1378  1.1  skrll 	* elf32-spu.c (spu_elf_auto_overlay): Add valid area below sp
   1379  1.1  skrll 	to stack calculation.
   1380  1.1  skrll 
   1381  1.1  skrll 2008-06-06  Paul Brook  <paul (a] codesourcery.com>
   1382  1.1  skrll 
   1383  1.1  skrll 	bfd/
   1384  1.1  skrll 	* elf32-arm.c (elf32_arm_merge_private_bfd_data): Reject BE8 input.
   1385  1.1  skrll 
   1386  1.1  skrll 2008-06-06  Alan Modra  <amodra (a] bigpond.net.au>
   1387  1.1  skrll 
   1388  1.1  skrll 	* elf32-spu.c (spu_elf_auto_overlay): Relax requirement that
   1389  1.1  skrll 	file names be unique.  Specify archive:path in overlay script.
   1390  1.1  skrll 
   1391  1.1  skrll 2008-06-05  Alan Modra  <amodra (a] bigpond.net.au>
   1392  1.1  skrll 
   1393  1.1  skrll 	PR ld/6590
   1394  1.1  skrll 	* elf64-ppc.c (ppc_build_one_stub): Correct reloc offsets.
   1395  1.1  skrll 
   1396  1.1  skrll 2008-06-04  Alan Modra  <amodra (a] bigpond.net.au>
   1397  1.1  skrll 
   1398  1.1  skrll 	* elf.c (ignore_section_sym): Don't test section sym value here.
   1399  1.1  skrll 	(elf_map_symbols): Instead check zero value here as was done prior
   1400  1.1  skrll 	to 2006-05-26 change.
   1401  1.1  skrll 
   1402  1.1  skrll 2008-06-04  Nick Clifton  <nickc (a] redhat.com>
   1403  1.1  skrll 
   1404  1.1  skrll 	PR ld/6019
   1405  1.1  skrll 	* elf32-avr.c (elf32_avr_relax_section): Handle the case where
   1406  1.1  skrll 	there are no local symbols.
   1407  1.1  skrll 
   1408  1.1  skrll 2008-06-04  Alan Modra  <amodra (a] bigpond.net.au>
   1409  1.1  skrll 
   1410  1.1  skrll 	* elf32-spu.c (get_sym_h): Don't attempt to read global syms.
   1411  1.1  skrll 	(process_stubs): Likewise.
   1412  1.1  skrll 	(discover_functions): Don't used cached symbols.
   1413  1.1  skrll 	(maybe_insert_function): Correct condition under which function
   1414  1.1  skrll 	array is realloc'd.
   1415  1.1  skrll 	(mark_functions_via_relocs): Delete unused variable.
   1416  1.1  skrll 
   1417  1.1  skrll 2008-05-30  Frediano Ziglio  <frediano.ziglio (a] vodafone.com>
   1418  1.1  skrll 	    Nick Clifton  <nickc (a] redhat.com>
   1419  1.1  skrll 
   1420  1.1  skrll 	PR ld/6511
   1421  1.1  skrll 	* elf64-hppa.c (allocate_global_data_opd): Default to using the
   1422  1.1  skrll 	dynamic symbol table for local function names in shared libraries.
   1423  1.1  skrll 
   1424  1.1  skrll 2008-05-29  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
   1425  1.1  skrll 
   1426  1.1  skrll 	* elf.c (assign_file_positions_for_load_sections): Adjust pre-section
   1427  1.1  skrll 	gaps based on VMA and P_VADDR instead of LMA and P_PADDR addresses.
   1428  1.1  skrll 
   1429  1.1  skrll 2008-05-28  Alan Modra  <amodra (a] bigpond.net.au>
   1430  1.1  skrll 
   1431  1.1  skrll 	* elf32-spu.c (spu_elf_object_p): New function.
   1432  1.1  skrll 	(elf_backend_object_p): Define.
   1433  1.1  skrll 	(build_stub): Correct second word of 8 byte overlay stubs.
   1434  1.1  skrll 	(spu_elf_relocate_section): Formatting.
   1435  1.1  skrll 
   1436  1.1  skrll 2008-05-24  Carlos Eduardo Seo  <cseo (a] linux.vnet.ibm.com>
   1437  1.1  skrll 
   1438  1.1  skrll 	* elf.c (elfcore_write_register_note): New function.
   1439  1.1  skrll 	* elf-bfd.h (elfcore_write_register_note): New prototype.
   1440  1.1  skrll 
   1441  1.1  skrll 2008-05-22  Christophe Lyon  <christophe.lyon (a] st.com>
   1442  1.1  skrll 
   1443  1.1  skrll 	* elf32-arm.c (arm_type_of_stub): Ignore STT_SECTION symbols.
   1444  1.1  skrll 	(elf32_arm_stub_add_mapping_symbol): Remove.
   1445  1.1  skrll 	(elf32_arm_add_stub): Don't generate mapping symbols. Change
   1446  1.1  skrll 	prototype.
   1447  1.1  skrll 	(elf32_arm_size_stubs): Use new elf32_arm_add_stub
   1448  1.1  skrll 	prototype. Don't generate thumb to arm glue for calls.
   1449  1.1  skrll 	(arm_map_one_stub): Define.
   1450  1.1  skrll 	(elf32_arm_output_arch_local_syms): Generate mapping symbols for
   1451  1.1  skrll 	long calls stubs.
   1452  1.1  skrll 
   1453  1.1  skrll 2008-05-21  Nick Clifton  <nickc (a] redhat.com>
   1454  1.1  skrll 
   1455  1.1  skrll 	* elf32-arm.c (group_sections): Reformat comments.
   1456  1.1  skrll 
   1457  1.1  skrll 	PR ld/6446
   1458  1.1  skrll 	* elf32-frv.c (elf32_frv_relocate_section): Set EF_FRV_PIC by
   1459  1.1  skrll 	default (for FDPIC). Clear it if any inter-segment relocations
   1460  1.1  skrll 	are found.
   1461  1.1  skrll 
   1462  1.1  skrll 	* elf64-hppa.c (elf64_hppa_finalize_opd): Check NULL return
   1463  1.1  skrll 	from elf_link_hash_lookup.
   1464  1.1  skrll 
   1465  1.1  skrll 2008-05-21  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   1466  1.1  skrll 
   1467  1.1  skrll 	Add multi-GOT support for m68k.
   1468  1.1  skrll 	* elf32-m68k.c (struct elf_m68k_link_hash_entry: got_entry_key,
   1469  1.1  skrll 	glist): New fields.
   1470  1.1  skrll 	(struct elf_m68k_got_entry_key, struct elf_m68k_got_entry,
   1471  1.1  skrll 	struct elf_m68k_got, struct elf_m68k_bfd2got_entry,
   1472  1.1  skrll 	struct elf_m68k_multi_got): New data structures.
   1473  1.1  skrll 	(struct elf_m68k_link_hash_table: local_gp_p, use_neg_got_offsets_p,
   1474  1.1  skrll 	allow_multigot_p, multi_got_): New fields.
   1475  1.1  skrll 	(elf_m68k_multi_got): New macro.
   1476  1.1  skrll 	(elf_m68k_link_hash_newfunc): Initialize new fields of
   1477  1.1  skrll 	struct elf_m68k_link_hash_entry.
   1478  1.1  skrll 	(elf_m68k_link_hash_table_create): Initialize new fields of
   1479  1.1  skrll 	struct elf_m68k_link_hash_table.
   1480  1.1  skrll 	(elf_m68k_link_hash_table_free): New static function implementing hook.
   1481  1.1  skrll 	(elf_m68k_init_got, elf_m68k_clear_got, elf_m68k_create_empty_got): New
   1482  1.1  skrll 	static functions for struct elf_m68k_got.
   1483  1.1  skrll 	(elf_m68k_init_got_entry_key, elf_m68k_got_entry_hash,
   1484  1.1  skrll 	elf_m68k_got_entry_eq): New static functions for
   1485  1.1  skrll 	struct elf_m68k_got_entry.
   1486  1.1  skrll 	(ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT,
   1487  1.1  skrll 	ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): New macros.
   1488  1.1  skrll 	(enum elf_m68k_get_entry_howto): New enum.
   1489  1.1  skrll 	(elf_m68k_get_got_entry, elf_m68k_update_got_entry_type,
   1490  1.1  skrll 	elf_m68k_remove_got_entry_type): New static functions for
   1491  1.1  skrll 	struct elf_m68k_got_entry.
   1492  1.1  skrll 	(elf_m68k_add_entry_to_got): New static function.
   1493  1.1  skrll 	(elf_m68k_bfd2got_entry_hash, elf_m68k_bfd2got_entry_eq,
   1494  1.1  skrll 	elf_m68k_bfd2got_entry_del, elf_m68k_get_bfd2got_entry): New static
   1495  1.1  skrll 	functions for struct elf_m68k_bfd2got_entry.
   1496  1.1  skrll 	(struct elf_m68k_can_merge_gots_arg, elf_m68k_can_merge_gots_1,
   1497  1.1  skrll 	elf_m68k_can_merge_gots): New traversal.
   1498  1.1  skrll 	(struct elf_m68k_merge_gots_arg, elf_m68k_merge_gots_1,
   1499  1.1  skrll 	elf_m68k_merge_gots): Ditto.
   1500  1.1  skrll 	(struct elf_m68k_finalize_got_offsets_arg,
   1501  1.1  skrll 	elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Ditto.
   1502  1.1  skrll 	(struct elf_m68k_partition_multi_got_arg,
   1503  1.1  skrll 	elf_m68k_partition_multi_got_1, elf_m68k_init_symndx2h_1,
   1504  1.1  skrll 	elf_m68k_partition_multi_got): Ditto.
   1505  1.1  skrll 	(elf_m68k_find_got_entry_ptr, elf_m68k_remove_got_entry): New static
   1506  1.1  skrll 	functions.
   1507  1.1  skrll 	(elf_m68k_copy_indirect_symbol): New static function implementing
   1508  1.1  skrll 	a hook.
   1509  1.1  skrll 	(elf_m68k_check_relocs): Update to add entries to multi-GOT.
   1510  1.1  skrll 	(elf_m68k_gc_sweep_hook): Update to remove entries from multi-GOT.
   1511  1.1  skrll 	(elf_m68k_always_size_sections): Assign BFDs to GOTs.
   1512  1.1  skrll 	(elf_m68k_relocate_section): Update to properly handle GOT relocations.
   1513  1.1  skrll 	(elf_m68k_finish_dynamic_symbol): Update to traverse all GOT entries
   1514  1.1  skrll 	of a global symbol.
   1515  1.1  skrll 	(bfd_elf_m68k_set_target_options): New function.
   1516  1.1  skrll 	(bfd_elf32_bfd_link_hash_table_free): Define hook.
   1517  1.1  skrll 	(bfd_elf32_bfd_final_link): Change expansion to bfd_elf_final_link
   1518  1.1  skrll 	to skip generic calculation of GOT offsets.
   1519  1.1  skrll 	(elf_backend_copy_indirect_symbol): Define hook.
   1520  1.1  skrll 	* bfd-in.h (bfd_elf_m68k_set_target_options): Declare function.
   1521  1.1  skrll 	* bfd-in2.h: Regenerate.
   1522  1.1  skrll 
   1523  1.1  skrll 2008-05-21  Andr Johansen  <andrejoh (a] gmail.com>
   1524  1.1  skrll 
   1525  1.1  skrll 	PR 868
   1526  1.1  skrll 	* dwarf2.c (_bfd_dwarf2_cleanup_debug_info): Free memory allocated
   1527  1.1  skrll 	for filenames in function tables and variable tables.
   1528  1.1  skrll 
   1529  1.1  skrll 2008-05-19  Alan Modra  <amodra (a] bigpond.net.au>
   1530  1.1  skrll 
   1531  1.1  skrll 	PR 2995, PR 6473
   1532  1.1  skrll 	* elf.c (_bfd_elf_make_section_from_shdr): Leave lma equal to
   1533  1.1  skrll 	vma when all p_paddr fields are zero and there is more than
   1534  1.1  skrll 	one PT_LOAD header.
   1535  1.1  skrll 
   1536  1.1  skrll 2008-05-15  Christophe Lyon  <christophe.lyon (a] st.com>
   1537  1.1  skrll 
   1538  1.1  skrll 	Add long call support for ARM.
   1539  1.1  skrll 	* elf32-arm.c (THM2_MAX_FWD_BRANCH_OFFSET): Define.
   1540  1.1  skrll 	(THM2_MAX_BWD_BRANCH_OFFSET): Define.
   1541  1.1  skrll 	(ARM_MAX_FWD_BRANCH_OFFSET): Define.
   1542  1.1  skrll 	(ARM_MAX_BWD_BRANCH_OFFSET): Define.
   1543  1.1  skrll 	(THM_MAX_FWD_BRANCH_OFFSET): Define.
   1544  1.1  skrll 	(THM_MAX_BWD_BRANCH_OFFSET): Define.
   1545  1.1  skrll 	(arm_long_branch_stub): Define.
   1546  1.1  skrll 	(arm_pic_long_branch_stub): Define.
   1547  1.1  skrll 	(arm_thumb_v4t_long_branch_stub): Define.
   1548  1.1  skrll 	(arm_thumb_thumb_long_branch_stub): Define.
   1549  1.1  skrll 	(arm_thumb_arm_v4t_long_branch_stub): Define.
   1550  1.1  skrll 	(STUB_SUFFIX): Define.
   1551  1.1  skrll 	(elf32_arm_stub_type): Define.
   1552  1.1  skrll 	(elf32_arm_stub_hash_entry): Define.
   1553  1.1  skrll 	(elf32_arm_link_hash_entry): Add stub_cache field.
   1554  1.1  skrll 	(arm_stub_hash_lookup): Define.
   1555  1.1  skrll 	(elf32_arm_link_hash_table): Add stub_hash_table, stub_bfd,
   1556  1.1  skrll 	add_stub_section, layout_sections_again, stub_group, bfd_count,
   1557  1.1  skrll 	top_index, input_list fields.
   1558  1.1  skrll 	(elf32_arm_link_hash_newfunc): Init new field.
   1559  1.1  skrll 	(stub_hash_newfunc): New function.
   1560  1.1  skrll 	(elf32_arm_link_hash_table_create): Init stub_hash_table.
   1561  1.1  skrll 	(elf32_arm_hash_table_free): New function.
   1562  1.1  skrll 	(arm_type_of_stub): New function.
   1563  1.1  skrll 	(elf32_arm_stub_name): New function.
   1564  1.1  skrll 	(elf32_arm_get_stub_entry): New function.
   1565  1.1  skrll 	(elf32_arm_stub_add_mapping_symbol): New function.
   1566  1.1  skrll 	(elf32_arm_add_stub): New function.
   1567  1.1  skrll 	(arm_build_one_stub): New function.
   1568  1.1  skrll 	(arm_size_one_stub): New function.
   1569  1.1  skrll 	(elf32_arm_setup_section_lists): New function.
   1570  1.1  skrll 	(elf32_arm_next_input_section): New function.
   1571  1.1  skrll 	(group_sections): New function.
   1572  1.1  skrll 	(elf32_arm_size_stubs): New function.
   1573  1.1  skrll 	(elf32_arm_build_stubs): New function.
   1574  1.1  skrll 	(bfd_elf32_arm_add_glue_sections_to_bfd): Skip stub sections.
   1575  1.1  skrll 	(bfd_elf32_arm_process_before_allocation): No longer handle
   1576  1.1  skrll 	R_ARM_CALL and R_ARM_THM_CALL.
   1577  1.1  skrll 	(using_thumb_only): New function.
   1578  1.1  skrll 	(elf32_arm_final_link_relocate): Redirect calls to stub if range
   1579  1.1  skrll 	exceeds encoding capabilities.
   1580  1.1  skrll 	(bfd_elf32_bfd_link_hash_table_free): Define.
   1581  1.1  skrll 	* bfd-in.h (R_ARM_max): Fix value to 130.
   1582  1.1  skrll 	(elf32_arm_setup_section_lists): Protype.
   1583  1.1  skrll 	(elf32_arm_next_input_section): Protype.
   1584  1.1  skrll 	(elf32_arm_size_stubs): Protype.
   1585  1.1  skrll 	(elf32_arm_build_stubs): Protype.
   1586  1.1  skrll 	* bfd-in2.h: Regenerate.
   1587  1.1  skrll 
   1588  1.1  skrll 2008-05-14  Ulrich Weigand  <uweigand (a] de.ibm.com>
   1589  1.1  skrll 
   1590  1.1  skrll 	* elf32-ppc.c (ppc_elf_get_synthetic_symtab): Fix memset calls.
   1591  1.1  skrll 	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Likewise.
   1592  1.1  skrll 
   1593  1.1  skrll 2008-05-14  Alan Modra  <amodra (a] bigpond.net.au>
   1594  1.1  skrll 
   1595  1.1  skrll 	* Makefile.am: Run "make dep-am".
   1596  1.1  skrll 	* Makefile.in: Regenerate.
   1597  1.1  skrll 
   1598  1.1  skrll 2008-05-14  Ulrich Weigand  <uweigand (a] de.ibm.com>
   1599  1.1  skrll 	    Alan Modra  <amodra (a] bigpond.net.au>
   1600  1.1  skrll 
   1601  1.1  skrll 	* elf32-ppc.c (section_covers_vma): New function.
   1602  1.1  skrll 	(ppc_elf_get_synthetic_symtab): New function.
   1603  1.1  skrll 	(bfd_elf32_get_synthetic_symtab): Define.
   1604  1.1  skrll 	* elf64-ppc.c (section_covers_vma): New function.
   1605  1.1  skrll 	(ppc64_elf_get_synthetic_symtab): Generate sym@plt on glink branch
   1606  1.1  skrll 	table entries, and __glink_PLTresolve on resolver stub.
   1607  1.1  skrll 	(ppc64_elf_build_stubs): Rename __glink sym to __glink_PLTresolve.
   1608  1.1  skrll 
   1609  1.1  skrll 2008-05-12  Alan Modra  <amodra (a] bigpond.net.au>
   1610  1.1  skrll 
   1611  1.1  skrll 	PR 6443
   1612  1.1  skrll 	* elf32-ppc.c (MUST_BE_DYN_RELOC): Delete.
   1613  1.1  skrll 	(must_be_dyn_reloc): New function.
   1614  1.1  skrll 	(ppc_elf_check_relocs): Don't set DF_STATIC_TLS for tprel relocs
   1615  1.1  skrll 	in pies.
   1616  1.1  skrll 	(ppc_elf_tls_optimize): Optimise pies.
   1617  1.1  skrll 	(ppc_elf_relocate_section): Use a section symbol rather than no
   1618  1.1  skrll 	symbol if possible for LD->IE TLS sequence, but don't error if
   1619  1.1  skrll 	we must use no symbol.
   1620  1.1  skrll 	* elf64-ppc.c (MUST_BE_DYN_RELOC): As for elf32-ppc.c.
   1621  1.1  skrll 	(must_be_dyn_reloc): Likewise.
   1622  1.1  skrll 	(ppc64_elf_check_relocs): Likewise.
   1623  1.1  skrll 	(ppc64_elf_tls_optimize): Likewise.
   1624  1.1  skrll 	(ppc64_elf_relocate_section): Likewise.
   1625  1.1  skrll 
   1626  1.1  skrll 2008-05-12  Alan Modra  <amodra (a] bigpond.net.au>
   1627  1.1  skrll 
   1628  1.1  skrll 	* elf32-spu.c (spu_elf_relocate_section): Rename is_ea to is_ea_sym.
   1629  1.1  skrll 
   1630  1.1  skrll 2008-05-10  Paul Pluzhnikov  <ppluzhnikov (a] google.com>
   1631  1.1  skrll 
   1632  1.1  skrll 	* elfcore.h (elf_core_file_p): Warn about core truncation.
   1633  1.1  skrll 
   1634  1.1  skrll 2008-05-07  Bob Wilson  <bob.wilson (a] acm.org>
   1635  1.1  skrll 
   1636  1.1  skrll 	* elf32-xtensa.c (xtensa_property_section_name): New.
   1637  1.1  skrll 	(xtensa_make_property_section): New.
   1638  1.1  skrll 	(xtensa_get_property_section): Make static.  Do not create a new
   1639  1.1  skrll 	section if it does not exist.
   1640  1.1  skrll 
   1641  1.1  skrll 2008-05-08  Alan Modra  <amodra (a] bigpond.net.au>
   1642  1.1  skrll 
   1643  1.1  skrll 	* elf32-spu.c (spu_elf_special_sections): Add "._ea".
   1644  1.1  skrll 	(spu_elf_relocate_section): Handle relocations against symbols
   1645  1.1  skrll 	defined in ._ea specially.
   1646  1.1  skrll 
   1647  1.1  skrll 2008-05-03  Daniel Jacobowitz  <dan (a] codesourcery.com>
   1648  1.1  skrll 
   1649  1.1  skrll 	* elf32-arm.c (elf32_arm_symbian_link_hash_table_create): Use
   1650  1.1  skrll 	ARRAY_SIZE.
   1651  1.1  skrll 	(elf32_arm_symbian_plt_sym_val): New.
   1652  1.1  skrll 	(elf_backend_plt_sym_val): Define.
   1653  1.1  skrll 
   1654  1.1  skrll 2008-05-03  Alan Modra  <amodra (a] bigpond.net.au>
   1655  1.1  skrll 
   1656  1.1  skrll 	PR 2995, PR 6473
   1657  1.1  skrll 	* elf.c (rewrite_elf_program_header): Rather than clearing
   1658  1.1  skrll 	p_paddr_valid at end, don't set it in the first place.  Delete
   1659  1.1  skrll 	comment no longer relevant.  When not p_paddr_valid, don't set
   1660  1.1  skrll 	paddr from vaddr, and don't set p_vaddr_offset.
   1661  1.1  skrll 
   1662  1.1  skrll 2008-05-01  Cary Coutant  <ccoutant (a] google.com>
   1663  1.1  skrll 
   1664  1.1  skrll 	* elf.c (bfd_elf_get_str_section): Fix memory leak caused by
   1665  1.1  skrll 	corrupt string table.
   1666  1.1  skrll 
   1667  1.1  skrll 2008-05-01  Joel Brobecker  <brobecker (a] adacore.com>
   1668  1.1  skrll 
   1669  1.1  skrll 	* cache.c (cache_bread_1): Renames cache_bread.
   1670  1.1  skrll 	(cache_bread): New function.
   1671  1.1  skrll 
   1672  1.1  skrll 2008-05-01  Alan Modra  <amodra (a] bigpond.net.au>
   1673  1.1  skrll 
   1674  1.1  skrll 	PR 2995, PR 6473
   1675  1.1  skrll 	* elf.c (_bfd_elf_make_section_from_shdr): Always set lma from p_paddr.
   1676  1.1  skrll 	(assign_file_positions_for_load_sections): Combine nested "if".
   1677  1.1  skrll 	(copy_elf_program_header): Don't set p_paddr_valid or p_vaddr_offset
   1678  1.1  skrll 	when all header p_paddr fields are zero.
   1679  1.1  skrll 
   1680  1.1  skrll 2008-04-30  Edmar Wienskoski  <edmar (a] freescale.com>
   1681  1.1  skrll 
   1682  1.1  skrll 	* cpu-powerpc.c (bfd_powerpc_archs): Add e500mc entry.
   1683  1.1  skrll 
   1684  1.1  skrll 2008-04-29  Daniel Jacobowitz  <dan (a] codesourcery.com>
   1685  1.1  skrll 
   1686  1.1  skrll 	* elf.c (_bfd_elf_get_dynamic_reloc_upper_bound)
   1687  1.1  skrll 	(_bfd_elf_canonicalize_dynamic_reloc): Find dynamic relocations
   1688  1.1  skrll 	even if they are not loaded.
   1689  1.1  skrll 	* elflink.c (_bfd_elf_init_2_index_sections): Set data_index_section
   1690  1.1  skrll 	first.
   1691  1.1  skrll 
   1692  1.1  skrll 2008-04-25  Jay Foad  <jay.foad (a] gmail.com>
   1693  1.1  skrll 
   1694  1.1  skrll 	* reloc16.c (bfd_coff_reloc16_get_value): Add support for
   1695  1.1  skrll 	undefined weak symbols.
   1696  1.1  skrll 
   1697  1.1  skrll 2008-04-25  Nick Clifton  <nickc (a] redhat.com>
   1698  1.1  skrll 
   1699  1.1  skrll 	* po/vi.po: Updated Vietnamese translation.
   1700  1.1  skrll 
   1701  1.1  skrll 2008-04-23  Paolo Bonzini  <bonzini (a] gnu.org>
   1702  1.1  skrll 
   1703  1.1  skrll 	* aclocal.m4: Regenerate.
   1704  1.1  skrll 	* configure: Regenerate.
   1705  1.1  skrll 
   1706  1.1  skrll 2008-04-21  Cary Coutant  <ccoutant (a] google.com>
   1707  1.1  skrll 
   1708  1.1  skrll 	* archive.c (_bfd_write_archive_contents): Fix incorrect use of
   1709  1.1  skrll 	ARFMAG.
   1710  1.1  skrll 
   1711  1.1  skrll 2008-04-21  Nathan Sidwell  <nathan (a] codesourcery.com>
   1712  1.1  skrll 
   1713  1.1  skrll 	* elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Don't
   1714  1.1  skrll 	set the value of undefined symbols in shared objects.
   1715  1.1  skrll 	(_bfd_mips_vxworks_finish_dynamic_symbol): Clear value for
   1716  1.1  skrll 	undefined symbols unless pointer equality is needed.
   1717  1.1  skrll 
   1718  1.1  skrll 2008-04-18  Dennis Roberts  <dennis.roberts (a] sunquestinfo.com>
   1719  1.1  skrll 
   1720  1.1  skrll 	* aix5ppc-core.c: Define macros for the default architecture and
   1721  1.1  skrll 	machine for matching core files.
   1722  1.1  skrll 	(xcoff64_core_p): Set the architecture and machine to the default
   1723  1.1  skrll 	values defined in the macros mentioned above.
   1724  1.1  skrll 	* rs6000-core.c: Define macros to determine whether or not the
   1725  1.1  skrll 	core file header uses the core_dumpxx header format.
   1726  1.1  skrll 	(rs6000coff_core_p): Don't match core files that use the
   1727  1.1  skrll 	core_dumpxx header format.
   1728  1.1  skrll 
   1729  1.1  skrll 2008-04-16  Pedro Alves  <pedro (a] codesourcery.com>
   1730  1.1  skrll 
   1731  1.1  skrll 	* config.bfd (i[3-7]86-*-dicos*, x86_64-*-dicos*): Add.
   1732  1.1  skrll 
   1733  1.1  skrll 2008-04-16  David S. Miller  <davem (a] davemloft.net>
   1734  1.1  skrll 
   1735  1.1  skrll 	* reloc.c (BFD_RELOC_SPARC_GOTDATA_HIX22,
   1736  1.1  skrll 	BFD_RELOC_SPARC_GOTDATA_LOX10, BFD_RELOC_SPARC_GOTDATA_OP_HIX22,
   1737  1.1  skrll 	BFD_RELOC_SPARC_GOTDATA_OP_LOX10, BFD_RELOC_SPARC_GOTDATA_OP): New.
   1738  1.1  skrll 	* libbfd.h: Regnerate.
   1739  1.1  skrll 	* bfd-in2.h: Regenerate.
   1740  1.1  skrll 	* elfxx-sparc.c (_bfd_sparc_elf_howto_table): Add entries for
   1741  1.1  skrll 	GOTDATA relocations.
   1742  1.1  skrll 	(sparc_reloc_map): Likewise.
   1743  1.1  skrll 	(_bfd_sparc_elf_check_relocs): Handle R_SPARC_GOTDATA_* like
   1744  1.1  skrll 	R_SPARC_GOT*.
   1745  1.1  skrll 	(_bfd_sparc_elf_gc_sweep_hook): Likewise.
   1746  1.1  skrll 	(_bfd_sparc_elf_relocate_section): Transform R_SPARC_GOTDATA_HIX22,
   1747  1.1  skrll 	R_SPARC_GOTDATA_LOX10, R_SPARC_GOTDATA_OP_HIX22, and
   1748  1.1  skrll 	R_SPARC_GOTDATA_OP_LOX10 into the equivalent R_SPARC_GOT* reloc.
   1749  1.1  skrll 	Simply ignore R_SPARC_GOTDATA_OP relocations.
   1750  1.1  skrll 
   1751  1.1  skrll 2008-04-14  Aurelien Jarno  <aurelien (a] aurel32.net>
   1752  1.1  skrll 
   1753  1.1  skrll 	* configure.in: Link with the PIC version of libiberty on
   1754  1.1  skrll 	Linux/MIPS hosts.
   1755  1.1  skrll 	* configure: Regenerate.
   1756  1.1  skrll 
   1757  1.1  skrll 2008-04-14  Edmar Wienskoski  <edmar (a] freescale.com>
   1758  1.1  skrll 
   1759  1.1  skrll 	* archures.c: Add bfd_mach_ppc_e500mc.
   1760  1.1  skrll 	* bfd-in2.h: Regenerate.
   1761  1.1  skrll 
   1762  1.1  skrll 2008-04-08  Alan Modra  <amodra (a] bigpond.net.au>
   1763  1.1  skrll 
   1764  1.1  skrll 	* elf32-spu.c (spu_elf_build_stubs): Correct error message.
   1765  1.1  skrll 	(mark_functions_via_relocs): Remove premature init of symtab_hdr.
   1766  1.1  skrll 	(collect_overlays): Commment typo fix.
   1767  1.1  skrll 
   1768  1.1  skrll 2008-04-08  Kees Cook  <kees (a] canonical.com>
   1769  1.1  skrll 
   1770  1.1  skrll 	* elflink.c (bfd_elf_size_dynamic_sections): Ignore GNU-stack note
   1771  1.1  skrll 	in EXEC_P bfds.
   1772  1.1  skrll 
   1773  1.1  skrll 2008-04-08  Alan Modra  <amodra (a] bigpond.net.au>
   1774  1.1  skrll 
   1775  1.1  skrll 	* elf32-spu.c: Include libiberty.h.
   1776  1.1  skrll 	(struct spu_link_hash_table): Add local_stire, overlay_fixed, reserved,
   1777  1.1  skrll 	non_ovly_stub, spu_elf_load_ovl_mgr, spu_elf_open_overlay_script,
   1778  1.1  skrll 	spu_elf_relink, auto_overlay fields.
   1779  1.1  skrll 	(AUTO_OVERLAY, AUTO_RELINK, OVERLAY_RODATA): Define.
   1780  1.1  skrll 	(needs_ovl_stub): Flip test so that call to non-function warning
   1781  1.1  skrll 	is emitted during relocate_section rather than earlier.
   1782  1.1  skrll 	(spu_elf_check_vma): Stash --auto-overlay parameters, and clear
   1783  1.1  skrll 	auto_overlay if no section exceeds local store.
   1784  1.1  skrll 	(struct call_info): Add count, max_depth, is_pasted fields.
   1785  1.1  skrll 	(struct function_info): Add rodata, last_caller, call_count,
   1786  1.1  skrll 	depth, new visit flags.
   1787  1.1  skrll 	(insert_callee): Increment call count.
   1788  1.1  skrll 	(copy_callee): New function.
   1789  1.1  skrll 	(mark_functions_via_relocs): Investigate all reloc types to count
   1790  1.1  skrll 	possible function pointer stubs for --auto-overlay.  Track
   1791  1.1  skrll 	last_caller and increment function call_count.
   1792  1.1  skrll 	(pasted_function): Insert a "call" into call info for pasted section.
   1793  1.1  skrll 	(remove_cycles): Track max depth of calls.  Don't emit call graph
   1794  1.1  skrll 	pruning warning for --auto-overlay.
   1795  1.1  skrll 	(build_call_tree): Don't transfer_calls for --auto-overlay.
   1796  1.1  skrll 	Adjust remove_cycles call.
   1797  1.1  skrll 	(sort_calls, sort_lib, sort_bfds): New functions.
   1798  1.1  skrll 	(struct _mos_param, struct _uos_param, struct _cl_param): New.
   1799  1.1  skrll 	(mark_overlay_section, unmark_overlay_section): New functions.
   1800  1.1  skrll 	(collect_lib_sectios, auto_ovl_lib_functions): New functions.
   1801  1.1  skrll 	(collect_overlays, find_pasted_call): New functions.
   1802  1.1  skrll 	(sum_stack): Deal with is_pasted "calls".  Exit before printing
   1803  1.1  skrll 	when --auto-overlay.
   1804  1.1  skrll 	(spu_elf_auto_overlay): New function.
   1805  1.1  skrll 	(spu_elf_final_link): Call spu_elf_auto_overlay.
   1806  1.1  skrll 	* elf32-spu.h (spu_elf_check_vma): Update prototype.
   1807  1.1  skrll 
   1808  1.1  skrll 2008-04-07  Alan Modra  <amodra (a] bigpond.net.au>
   1809  1.1  skrll 
   1810  1.1  skrll 	* elf32-spu.c (allocate_spuear_stubs): Ensure _SPUEAR_ symbol
   1811  1.1  skrll 	is defined in overlay section before creating a stub.
   1812  1.1  skrll 	(build_spuear_stubs): Likewise.
   1813  1.1  skrll 	(spu_elf_size_stubs, spu_elf_build_stubs): Adjust calls.
   1814  1.1  skrll 
   1815  1.1  skrll 2008-04-02  Alan Modra  <amodra (a] bigpond.net.au>
   1816  1.1  skrll 
   1817  1.1  skrll 	* elf32-spu.c (insert_callee): Reorder call list so most recent
   1818  1.1  skrll 	call is always first.
   1819  1.1  skrll 	(interesting_section): Move.
   1820  1.1  skrll 	(mark_functions_via_relocs): Fold interesting_section and
   1821  1.1  skrll 	reloc_count tests in callers to here.  Simplify output section
   1822  1.1  skrll 	owner test.
   1823  1.1  skrll 	(discover_functions): Set "gaps" when no symbols and some
   1824  1.1  skrll 	"interesting_section".  Run pasted_function loop for no symbol
   1825  1.1  skrll 	bfds.
   1826  1.1  skrll 	(for_each_node, transfer_calls): New functions.
   1827  1.1  skrll 	(mark_non_root): Adjust to suit for_each_node.
   1828  1.1  skrll 	(call_graph_traverse): Likewise.  Fix memory leak.  Rename to..
   1829  1.1  skrll 	(remove_cycles): ..this.
   1830  1.1  skrll 	(build_call_tree): Use for_each_node and transfer_calls.
   1831  1.1  skrll 	(struct _sum_stack_param): New.
   1832  1.1  skrll 	(sum_stack): Adjust to suit for_each_node.  Return error on
   1833  1.1  skrll 	malloc failure.  Move code to print root node cumulative stack from..
   1834  1.1  skrll 	(spu_elf_stack_analysis): ..here.  Use for_each_node.
   1835  1.1  skrll 
   1836  1.1  skrll 2008-03-31  Cary Coutant  <ccoutant (a] google.com>
   1837  1.1  skrll 
   1838  1.1  skrll 	PR 6006
   1839  1.1  skrll 	* archive.c (_bfd_slurp_extended_name_table): Change
   1840  1.1  skrll 	ARFMAG[0] to ARFMAG[1].
   1841  1.1  skrll 	(_bfd_construct_extended_name_table): Likewise.
   1842  1.1  skrll 
   1843  1.1  skrll 2008-03-31  Daniel Jacobowitz  <dan (a] codesourcery.com>
   1844  1.1  skrll 
   1845  1.1  skrll 	* elfxx-mips.c (mips_elf_record_got_page_entry): Update comment.
   1846  1.1  skrll 	(_bfd_mips_elf_check_relocs): Update comments.  Always call
   1847  1.1  skrll 	mips_elf_record_got_page_entry for R_MIPS_GOT_PAGE.
   1848  1.1  skrll 
   1849  1.1  skrll 2008-03-27  Cary Coutant  <ccoutant (a] google.com>
   1850  1.1  skrll 
   1851  1.1  skrll 	Add support for thin archives.
   1852  1.1  skrll 	* archive.c (_bfd_find_nested_archive): New function.
   1853  1.1  skrll 	(get_extended_arelt_filename): Add origin parameter.
   1854  1.1  skrll 	(_bfd_generic_read_ar_hdr_mag): Deal with extended name
   1855  1.1  skrll 	combined with a file offset.
   1856  1.1  skrll 	(append_relative_path): New function.
   1857  1.1  skrll 	(_bfd_get_elt_at_filepos): Deal with external members and
   1858  1.1  skrll 	nested archives.
   1859  1.1  skrll 	(bfd_generic_openr_next_archived_file): Thin archives.
   1860  1.1  skrll 	(bfd_generic_archive_p): Recognize new magic string.
   1861  1.1  skrll 	(adjust_relative_path): New function.
   1862  1.1  skrll 	(_bfd_construct_extended_name_table): Construct extended
   1863  1.1  skrll 	names for thin archive members.
   1864  1.1  skrll 	(_bfd_write_archive_contents): Emit new magic string, skip
   1865  1.1  skrll 	copying files for thin archives.
   1866  1.1  skrll 	* bfd-in.h (bfd_is_thin_archive): New macro.
   1867  1.1  skrll 	* bfd.c (struct bfd): New fields for thin archives.
   1868  1.1  skrll 	* libbfd-in.h (struct areltdata): New field for thin archives.
   1869  1.1  skrll 	* opncls.c (bfd_close): Delete BFDs for nested archives.
   1870  1.1  skrll 
   1871  1.1  skrll 2008-03-25  Bernd Schmidt  <bernd.schmidt (a] analog.com>
   1872  1.1  skrll 
   1873  1.1  skrll 	* elf32-bfin.c (bfin_final_link_relocate): New function, wrapper around
   1874  1.1  skrll 	_bfd_final_link_relocate that also handles R_pcrel24 relocs.
   1875  1.1  skrll 	(bfinfdpic_relocate_section, bfin_relocate_section): Use it.
   1876  1.1  skrll 
   1877  1.1  skrll 2008-03-25  Nathan Sidwell  <nathan (a] codesourcery.com>
   1878  1.1  skrll 
   1879  1.1  skrll 	* elf32-arm.c (elf32_arm_final_link_relocate): Skip dynamic relocs
   1880  1.1  skrll 	in vxworks tls_vars sections.
   1881  1.1  skrll 	(allocate_dynrelocs, elf32_arm_size_dynamic_sections): Likewise.
   1882  1.1  skrll 	* elf32-i386.c (allocate_dynrelocs,
   1883  1.1  skrll 	elf_i386_size_dynamic_sections, elf_i386_relocate_section): Likewise.
   1884  1.1  skrll 	* elf32-ppc.c (allocate_dynrelocs, ppc_elf_size_dynamic_sections,
   1885  1.1  skrll 	ppc_elf_relocate_section): Likewise.
   1886  1.1  skrll 	* elf32-sh.c (allocate_dynrelocs, sh_elf_size_dynamic_sections,
   1887  1.1  skrll 	sh_elf_relocate_section): Likewise.
   1888  1.1  skrll 	* elfxx-sparc.c (allocate_dynrelocs,
   1889  1.1  skrll 	_bfd_sparc_elf_size_dynamic_sections,
   1890  1.1  skrll 	_bfd_sparc_elf_relocate_section): Likewise.
   1891  1.1  skrll 
   1892  1.1  skrll 2008-03-21  Adam Nemet  <anemet (a] caviumnetworks.com>
   1893  1.1  skrll 
   1894  1.1  skrll 	* elf.c (_bfd_elf_print_private_bfd_data): Use bfd_fprintf_vma to
   1895  1.1  skrll 	print the values from the dynamic section.
   1896  1.1  skrll 
   1897  1.1  skrll 2008-03-20  Richard Sandiford  <rsandifo (a] nildram.co.uk>
   1898  1.1  skrll 
   1899  1.1  skrll 	* elfxx-mips.c (MIPS_ELF_GNU_GOT1_MASK): New macro.
   1900  1.1  skrll 	(_bfd_mips_elf_finish_dynamic_sections): Use it instead of 0x80000000.
   1901  1.1  skrll 
   1902  1.1  skrll 2008-03-20  Alan Modra  <amodra (a] bigpond.net.au>
   1903  1.1  skrll 
   1904  1.1  skrll 	* elf32-spu.c (spu_elf_create_sections): Remove output_bfd parameter.
   1905  1.1  skrll 	(spu_elf_find_overlays, spu_elf_size_stubs): Likewise
   1906  1.1  skrll 	(process_stubs, discover_functions, build_call_tree): Likewise.
   1907  1.1  skrll 	(spu_elf_stack_analysis): Likewise.
   1908  1.1  skrll 	(spu_elf_check_vma): Likewise.  Move.
   1909  1.1  skrll 	(struct call_info): Make "is_tail" a bitfield.
   1910  1.1  skrll 	(insert_callee): Clear fun->start and set fun->is_func if we find
   1911  1.1  skrll 	a non-tail call.
   1912  1.1  skrll 	* elf32-spu.h (spu_elf_create_sections): Update prototype.
   1913  1.1  skrll 	(spu_elf_find_overlays, spu_elf_size_stubs, spu_elf_check_vma): Ditto.
   1914  1.1  skrll 
   1915  1.1  skrll 2008-03-17  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   1916  1.1  skrll 
   1917  1.1  skrll 	* aclocal.m4: Regenerate.
   1918  1.1  skrll 	* configure: Likewise.
   1919  1.1  skrll 	* Makefile.in: Likewise.
   1920  1.1  skrll 
   1921  1.1  skrll 2008-03-16  H.J. Lu  <hongjiu.lu (a] intel.com>
   1922  1.1  skrll 
   1923  1.1  skrll 	PR ld/5789
   1924  1.1  skrll 	PR ld/5943
   1925  1.1  skrll 	* elf32-i386.c  (elf_i386_relocate_section): Issue an error
   1926  1.1  skrll 	for R_386_GOTOFF relocaton against undefined hidden/internal
   1927  1.1  skrll 	symbols when building a shared object.
   1928  1.1  skrll 
   1929  1.1  skrll 	* elf64-x86-64.c (elf64_x86_64_relocate_section): Issue an
   1930  1.1  skrll 	error for R_X86_64_PC8/R_X86_64_PC16/R_X86_64_PC32
   1931  1.1  skrll 	relocaton against undefined hidden/internal symbols when
   1932  1.1  skrll 	building a shared object.
   1933  1.1  skrll 	(elf64_x86_64_finish_dynamic_symbol): Return FALSE when symbol
   1934  1.1  skrll 	is referenced locally, but isn't defined in a regular file.
   1935  1.1  skrll 
   1936  1.1  skrll 2008-03-15  H.J. Lu  <hongjiu.lu (a] intel.com>
   1937  1.1  skrll 
   1938  1.1  skrll 	* bfd-in.h (BFD_NO_FLAGS, HAS_RELOC, EXEC_P, HAS_LINENO,
   1939  1.1  skrll 	HAS_DEBUG, HAS_SYMS, HAS_LOCALS, DYNAMIC, WP_TEXT, D_PAGED,
   1940  1.1  skrll 	BFD_IS_RELAXABLE, BFD_TRADITIONAL_FORMAT, BFD_IN_MEMORY,
   1941  1.1  skrll 	HAS_LOAD_PAGE, BFD_LINKER_CREATED): Moved to ...
   1942  1.1  skrll 	* bfd.c: Here.
   1943  1.1  skrll 
   1944  1.1  skrll 	* bfd.c (bfd): Change cacheable, target_defaulted, opened_once,
   1945  1.1  skrll 	mtime_set, no_export, output_has_begun and has_armap to bit
   1946  1.1  skrll 	field.
   1947  1.1  skrll 
   1948  1.1  skrll 	* bfd-in2.h: Regenerated.
   1949  1.1  skrll 
   1950  1.1  skrll 2008-03-14  Daniel Jacobowitz  <dan (a] codesourcery.com>
   1951  1.1  skrll 
   1952  1.1  skrll 	* cache.c (close_one): Remove mtime hack.
   1953  1.1  skrll 
   1954  1.1  skrll 2008-03-14  H.J. Lu  <hongjiu.lu (a] intel.com>
   1955  1.1  skrll 
   1956  1.1  skrll 	PR ld/5913
   1957  1.1  skrll 	* elfxx-ia64.c (elfNN_ia64_tprel_base): Remove BFD_ASSERT.
   1958  1.1  skrll 	(elfNN_ia64_dtprel_base): Likewise.
   1959  1.1  skrll 	(elfNN_ia64_relocate_section): Go to missing_tls_sec if
   1960  1.1  skrll 	tls_sec is NULL before calling elfNN_ia64_tprel_base or
   1961  1.1  skrll 	elfNN_ia64_dtprel_base.  Report unsupported TLS relocations.
   1962  1.1  skrll 
   1963  1.1  skrll 2008-03-14  Alan Modra  <amodra (a] bigpond.net.au>
   1964  1.1  skrll 
   1965  1.1  skrll 	* elf32-spu.c (process_stubs, spu_elf_relocate_section): Move
   1966  1.1  skrll 	common code to..
   1967  1.1  skrll 	(maybe_needs_stub): ..here, a new function that also omits stubs
   1968  1.1  skrll 	for .eh_frame, and..
   1969  1.1  skrll 	(needs_ovl_stub): ..here.  Create stubs for labels in code section
   1970  1.1  skrll 	referenced by switch jump table.
   1971  1.1  skrll 	(spu_elf_find_overlays): Set htab->ovly_load and htab->ovly_return.
   1972  1.1  skrll 	(enum _insn_type): Delete.
   1973  1.1  skrll 	(enum _stub_type): New.
   1974  1.1  skrll 	(count_stub, build_stub): Adjust.
   1975  1.1  skrll 	(allocate_spuear_stubs, build_spuear_stubs): Adjust.
   1976  1.1  skrll 
   1977  1.1  skrll 2008-03-13  Alan Modra  <amodra (a] bigpond.net.au>
   1978  1.1  skrll 
   1979  1.1  skrll 	* elf.c (_bfd_elf_make_section_from_shdr): Remove unnecessary cast.
   1980  1.1  skrll 	(_bfd_elf_assign_file_position_for_section): Simplify align.
   1981  1.1  skrll 	(_bfd_elf_init_reloc_shdr): Ensure shift expression wide enough
   1982  1.1  skrll 	for sh_addralign.
   1983  1.1  skrll 	(elf_fake_sections, swap_out_syms): Likewise.
   1984  1.1  skrll 	* elflink.c (bfd_elf_final_link): Likewise.
   1985  1.1  skrll 
   1986  1.1  skrll 2008-03-13  Alan Modra  <amodra (a] bigpond.net.au>
   1987  1.1  skrll 
   1988  1.1  skrll 	* Makefile.am: Run "make dep-am".
   1989  1.1  skrll 	* Makefile.in: Regenerate.
   1990  1.1  skrll 	* po/SRC-POTFILES.in: Regenerate.
   1991  1.1  skrll 
   1992  1.1  skrll 2008-03-12  Bernd Schmidt  <bernd.schmidt (a] analog.com>
   1993  1.1  skrll 
   1994  1.1  skrll 	From Jie Zhang <jie.zhang (a] analog.com>
   1995  1.1  skrll 	* elf32-bfin.c (struct bfinfdpic_relocs_info): Make got17m4,
   1996  1.1  skrll 	gothilo, fd, fdgot17m4, fdgothilo, fdgoff17m4, fdgoffhilo,
   1997  1.1  skrll 	gotoff, call and sym not bitfields.
   1998  1.1  skrll 	(bfinfdpic_gc_sweep_hook): New function; update the relocation
   1999  1.1  skrll 	information for the relocations of the section being removed.
   2000  1.1  skrll 	(bfinfdpic_check_relocs): Accumulate the number of relocations
   2001  1.1  skrll 	which set got17m4, gothilo, fd, fdgot17m4, fdgothilo, fdgoff17m4,
   2002  1.1  skrll 	fdgoffhilo, gotoff, call and sym fields.
   2003  1.1  skrll 	(elf_backend_gc_sweep_hook): Redefine for FD-PIC.
   2004  1.1  skrll 
   2005  1.1  skrll 2008-03-12  Alan Modra  <amodra (a] bigpond.net.au>
   2006  1.1  skrll 
   2007  1.1  skrll 	PR 5900
   2008  1.1  skrll 	* elf-bfd.h: Include elf/internal.h after elf/external.h.
   2009  1.1  skrll 	* elfcode.h (elf_swap_symbol_in): Map reserved shndx range.
   2010  1.1  skrll 	(elf_swap_symbol_out): Adjust SHN_XINDEX test.
   2011  1.1  skrll 	(elf_swap_ehdr_out): Mask SHN_LORESERVE and SHN_XINDEX to values
   2012  1.1  skrll 	seen in external structs.
   2013  1.1  skrll 	(valid_section_index_p): Delete.
   2014  1.1  skrll 	(elf_object_p): Don't increment section numbers over reserved range.
   2015  1.1  skrll 	Simplify test for valid sh_link, sh_info and e_shstrndx fields.
   2016  1.1  skrll 	(elf_write_shdrs_and_ehdr): Mask SHN_LORESERVE and SHN_XINDEX to values
   2017  1.1  skrll 	seen in external structs.  Don't increment section numbers over
   2018  1.1  skrll 	reserved range.
   2019  1.1  skrll 	* elf.c (bfd_elf_sym_name): Remove redundant tests on st_shndx.
   2020  1.1  skrll 	(bfd_section_from_shdr): Likewise.
   2021  1.1  skrll 	(group_signature): Range check before accessing elf_elfsections.
   2022  1.1  skrll 	(_bfd_elf_setup_sections): Likewise.
   2023  1.1  skrll 	(bfd_section_from_shdr): Likewise.
   2024  1.1  skrll 	(bfd_section_from_shdr): Don't increment section number over
   2025  1.1  skrll 	reserved sections.
   2026  1.1  skrll 	(assign_file_positions_for_non_load_sections): Likewise.
   2027  1.1  skrll 	(assign_file_positions_except_relocs): Likewise.
   2028  1.1  skrll 	(_bfd_elf_write_object_contents): Likewise.
   2029  1.1  skrll 	(assign_section_numbers): Likewise.  Adjust for changed SHN_*.
   2030  1.1  skrll 	(prep_headers): Delete unused variable.
   2031  1.1  skrll 	* elflink.c (bfd_elf_link_record_local_dynamic_symbol): Adjust
   2032  1.1  skrll 	for changed SHN_* values.
   2033  1.1  skrll 	(check_dynsym, elf_link_input_bfd): Likewise.
   2034  1.1  skrll 	(bfd_elf_final_link): Likewise.  Don't skip over reserved section
   2035  1.1  skrll 	range.
   2036  1.1  skrll 	(elf_fixup_link_order): Check that sh_link field is valid.
   2037  1.1  skrll 	* elf-hppa.h (elf_hppa_add_symbol_hook): Make "index" unsigned.
   2038  1.1  skrll 	* elf32-arm.c (elf32_arm_gc_mark_extra_sections): Range check before
   2039  1.1  skrll 	accesssing elf_elfsections.
   2040  1.1  skrll 	* elf32-avr.c (elf32_avr_size_stubs): Likewise.
   2041  1.1  skrll 	* elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
   2042  1.1  skrll 	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Likewise.
   2043  1.1  skrll 	* elf64-hppa.c (elf64_hppa_check_relocs): Adjust for changed
   2044  1.1  skrll 	SHN_* defines.  Test for SHN_BAD return from
   2045  1.1  skrll 	_bfd_elf_section_from_bfd_section
   2046  1.1  skrll 
   2047  1.1  skrll 2008-03-12  Alan Modra  <amodra (a] bigpond.net.au>
   2048  1.1  skrll 
   2049  1.1  skrll 	* elf-bfd.h (_bfd_elf_section_from_bfd_section): Update prototype.
   2050  1.1  skrll 	* elf.c (_bfd_elf_section_from_bfd_section): Return unsigned int,
   2051  1.1  skrll 	SHN_BAD on error.
   2052  1.1  skrll 	(_bfd_elf_print_private_bfd_data): Test for SHN_BAD result from
   2053  1.1  skrll 	_bfd_elf_section_from_bfd_section, not -1.
   2054  1.1  skrll 	(swap_out_syms): Likewise.
   2055  1.1  skrll 	* elflink.c (elf_link_add_object_symbols): Likewise.
   2056  1.1  skrll 	(bfd_elf_get_bfd_needed_list): Likewise.
   2057  1.1  skrll 	(bfd_elf_match_symbols_in_sections): Likewise.
   2058  1.1  skrll 	(elf_link_add_object_symbols): Don't bother testing for symbols
   2059  1.1  skrll 	using normal sections before calling bfd_section_from_elf_index.
   2060  1.1  skrll 	(elf_link_input_bfd, bfd_elf_final_link): Likewise.
   2061  1.1  skrll 	(bfd_elf_reloc_symbol_deleted_p): Likewise.
   2062  1.1  skrll 	* elfcode.h (elf_slurp_symbol_table): Likewise.
   2063  1.1  skrll 	* elf32-spu.c (get_sym_h): Likewise.
   2064  1.1  skrll 	* elf32-xtensa.c (get_elf_r_symndx_section): Likewise.
   2065  1.1  skrll 	* elf64-ppc.c (opd_entry_value, get_sym_h, ppc64_elf_edit_toc): Ditto.
   2066  1.1  skrll 	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
   2067  1.1  skrll 
   2068  1.1  skrll 2008-03-11  Alan Modra  <amodra (a] bigpond.net.au>
   2069  1.1  skrll 
   2070  1.1  skrll 	* elf32-spu.c (spu_elf_relocate_section): Test identical conditions
   2071  1.1  skrll 	to those in process_stubs for overlay symbols.
   2072  1.1  skrll 
   2073  1.1  skrll 2008-03-09  Paul Brook  <paul (a] codesourcery.com>
   2074  1.1  skrll 
   2075  1.1  skrll 	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new
   2076  1.1  skrll 	Tag_VFP_arch values.
   2077  1.1  skrll 
   2078  1.1  skrll 2008-03-08  Paul Brook  <paul (a] codesourcery.com>
   2079  1.1  skrll 
   2080  1.1  skrll 	* elf32-arm.c (insert_thumb_branch): Rewrite.
   2081  1.1  skrll 	(elf32_thumb_to_arm_stub): Use new insert_thumb_branch.
   2082  1.1  skrll 
   2083  1.1  skrll 2008-03-07  Paul Brook  <paul (a] codesourcery.com>
   2084  1.1  skrll 
   2085  1.1  skrll 	* elf32-arm.c (elf32_arm_howto_table_1): Fix bitmasks for MOVW and
   2086  1.1  skrll 	MOVT relocations.
   2087  1.1  skrll 	(elf32_arm_final_link_relocate): Fix off by one MOVW/MOVT sign
   2088  1.1  skrll 	extension.
   2089  1.1  skrll 	(elf32_arm_relocate_section): Handle MOVW and MOVT
   2090  1.1  skrll 	relocations.  Improve safety check for other weird relocations.
   2091  1.1  skrll 	(elf32_arm_check_relocs): Only set h->needs_plt for branch/call
   2092  1.1  skrll 	relocations.
   2093  1.1  skrll 
   2094  1.1  skrll 2008-03-03  Bob Wilson  <bob.wilson (a] acm.org>
   2095  1.1  skrll 
   2096  1.1  skrll 	* xtensa-isa.c (xtensa_isa_num_pipe_stages): Make max_stage static and
   2097  1.1  skrll 	only compute its value once.
   2098  1.1  skrll 
   2099  1.1  skrll 2008-03-03  Alan Modra  <amodra (a] bigpond.net.au>
   2100  1.1  skrll 
   2101  1.1  skrll 	* elf32-spu.c (struct got_entry): Add "addend" field.
   2102  1.1  skrll 	(count_stub, build_stub): Use a new stub if relocation addend
   2103  1.1  skrll 	differs from existing stubs for this symbol.
   2104  1.1  skrll 	(process_stubs): Deal with addends.
   2105  1.1  skrll 	(spu_elf_relocate_section, spu_elf_output_symbol_hook): Likewise.
   2106  1.1  skrll 
   2107  1.1  skrll 2008-03-02  H.J. Lu  <hongjiu.lu (a] intel.com>
   2108  1.1  skrll 
   2109  1.1  skrll 	PR ld/5789
   2110  1.1  skrll 	* elflink.c (_bfd_elf_symbol_refs_local_p): Always return true
   2111  1.1  skrll 	for hidden and local symbols.
   2112  1.1  skrll 
   2113  1.1  skrll 2008-03-03  Alan Modra  <amodra (a] bigpond.net.au>
   2114  1.1  skrll 
   2115  1.1  skrll 	* elf32-ppc.c (allocate_dynrelocs): Discard relocs on
   2116  1.1  skrll 	undefined symbols with internal or hidden visibility.
   2117  1.1  skrll 	(ppc_elf_relocate_section): Likewise.  Use SYMBOL_CALLS_LOCAL
   2118  1.1  skrll 	rather than SYMBOL_REFERENCES_LOCAL on branches.  Don't
   2119  1.1  skrll 	return immediately on dynamic reloc error.
   2120  1.1  skrll 
   2121  1.1  skrll 2008-03-01  Alan Modra  <amodra (a] bigpond.net.au>
   2122  1.1  skrll 
   2123  1.1  skrll 	* elf64-ppc.c (build_plt_stub): Add relocs on plt call stubs
   2124  1.1  skrll 	if emitrelocations.
   2125  1.1  skrll 	(get_relocs): New function, split out from..
   2126  1.1  skrll 	(ppc_build_one_stub): ..here.  Add relocs on plt_branch stubs if
   2127  1.1  skrll 	emitrelocations.  Remove indx temp.
   2128  1.1  skrll 	(ppc_size_one_stub): Count new stub relocs.
   2129  1.1  skrll 	(ppc64_elf_size_stubs): Count new glink reloc.
   2130  1.1  skrll 	(ppc64_elf_build_stubs): Emit glink reloc if emitrelocations.
   2131  1.1  skrll 	(ppc64_elf_finish_dynamic_sections): Output glink relocs.
   2132  1.1  skrll 	* elf32-ppc.c (ppc_elf_finish_dynamic_sections): Describe non-pic
   2133  1.1  skrll 	glink code.
   2134  1.1  skrll 
   2135  1.1  skrll 2008-02-28  Alan Modra  <amodra (a] bigpond.net.au>
   2136  1.1  skrll 
   2137  1.1  skrll 	* elf32-spu.c (mark_functions_via_relocs): Don't assume that
   2138  1.1  skrll 	the "->start" pointer reaches to function origin, so that we
   2139  1.1  skrll 	can handle functions split over more than two sections.
   2140  1.1  skrll 	(build_call_tree): Likewise.
   2141  1.1  skrll 	(pasted_function): Don't attempt to set fun->start back to the
   2142  1.1  skrll 	function origin, just go back one section.
   2143  1.1  skrll 
   2144  1.1  skrll 2008-02-27  Catherine Moore  <clm (a] codesourcery.com>
   2145  1.1  skrll 
   2146  1.1  skrll 	* elf.c ( _bfd_elf_print_private_bfd_data): Call
   2147  1.1  skrll 	elf_backend_get_target_dtag if defined.
   2148  1.1  skrll 	* elf32-mips.c (elf_backend_get_target_dtag): Define.
   2149  1.1  skrll 	* elf64-mips.c: Likewise.
   2150  1.1  skrll 	* elfn32-mips.c: Likewise.
   2151  1.1  skrll 	* elfxx-mips.c (_bfd_mips_elf_get_target_dtag): New.
   2152  1.1  skrll 	* elfxx-mips.h (_bfd_mips_elf_get_target_dtag): Declare.
   2153  1.1  skrll 	* elf-bfd.h (elf_backend_get_target_dtag): Add prototype.
   2154  1.1  skrll 	* elfxx-target.h (elf_backend_get_target_dtag): Add default.
   2155  1.1  skrll 	(elf_backend_data): Add elf_backend_get_target_dtag.
   2156  1.1  skrll 
   2157  1.1  skrll 2008-02-26  Alan Modra  <amodra (a] bigpond.net.au>
   2158  1.1  skrll 
   2159  1.1  skrll 	* elf32-ppc.c (ppc_elf_check_relocs): Set pointer_equality_needed
   2160  1.1  skrll 	for R_PPC_REL32 syms.  Don't set non_got_ref on branch reloc syms,
   2161  1.1  skrll 	and assume branch relocs are not dynamic when non-shared.
   2162  1.1  skrll 	(readonly_dynrelocs): New function, split out from..
   2163  1.1  skrll 	(maybe_set_textrel): ..here, renamed from old readonly_dynrelocs.
   2164  1.1  skrll 	(ppc_elf_adjust_dynamic_symbol): For symbols generating plt entries,
   2165  1.1  skrll 	clear non_got_ref..
   2166  1.1  skrll 	(allocate_dynrelocs): ..and don't set u.def for undefined weak.
   2167  1.1  skrll 	Do allow dynamic relocs on undefined symbols.
   2168  1.1  skrll 	(ppc_elf_adjust_dynamic_symbol): Use readonly_dynrelocs.
   2169  1.1  skrll 	(ppc_elf_relocate_section): Mirror dynamic reloc changes in
   2170  1.1  skrll 	check_relocs.
   2171  1.1  skrll 	(ppc_elf_finish_dynamic_symbol): Don't give a warning on weak
   2172  1.1  skrll 	plt symbols needing pointer_equality_needed.
   2173  1.1  skrll 
   2174  1.1  skrll 2008-02-23  Alan Modra  <amodra (a] bigpond.net.au>
   2175  1.1  skrll 
   2176  1.1  skrll 	* elf32-ppc.c (ppc_elf_check_relocs): Revert non_got_ref change.
   2177  1.1  skrll 
   2178  1.1  skrll 2008-02-23  Alan Modra  <amodra (a] bigpond.net.au>
   2179  1.1  skrll 
   2180  1.1  skrll 	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Copy
   2181  1.1  skrll 	pointer_equality_needed.
   2182  1.1  skrll 	(ppc_elf_check_relocs): Split out non-branch relocs from others
   2183  1.1  skrll 	that might emit dynamic relocs.  Set pointer_equality_needed
   2184  1.1  skrll 	for their symbols.  Don't set non_got_ref on branch reloc symbols.
   2185  1.1  skrll 	(ppc_elf_hash_symbol): New function.
   2186  1.1  skrll 	(elf_backend_hash_symbol): Define.
   2187  1.1  skrll 	(ppc_elf_finish_dynamic_symbol): Handle pointer_equality_needed.
   2188  1.1  skrll 	Error if pointer_equality_needed on weak plt symbol.
   2189  1.1  skrll 
   2190  1.1  skrll 2008-02-22  H.J. Lu  <hongjiu.lu (a] intel.com>
   2191  1.1  skrll 
   2192  1.1  skrll 	PR ld/5788
   2193  1.1  skrll 	* elflink.c (elf_create_symbuf): Correct buffer size and
   2194  1.1  skrll 	position.
   2195  1.1  skrll 
   2196  1.1  skrll 2008-02-22  Nick Clifton  <nickc (a] redhat.com>
   2197  1.1  skrll 
   2198  1.1  skrll 	PR 868
   2199  1.1  skrll 	* dwarf2.c: Revert previous patch.  All of the allocate memory is
   2200  1.1  skrll 	on an obstack which will be freed at some other time.
   2201  1.1  skrll 
   2202  1.1  skrll 2008-02-20  Nick Clifton  <nickc (a] redhat.com>
   2203  1.1  skrll 
   2204  1.1  skrll 	PR 868
   2205  1.1  skrll 	* libbfd.c (bfd_realloc_or_free): New function.  Performs like
   2206  1.1  skrll 	bfd_realloc, but if the (re)allocation fails, the pointer is
   2207  1.1  skrll 	freed.
   2208  1.1  skrll 	* libbfd-in.h: Prototype.
   2209  1.1  skrll 	* libbfd.h: Regenerate.
   2210  1.1  skrll 	* bfdio.c (bfd_bwrite): Use the new function.
   2211  1.1  skrll 	(bfd_seek): Likewise.
   2212  1.1  skrll 	* bfdwin.c:(bfd_get_file_window): Likewise.
   2213  1.1  skrll 	* elf-strtab.c (_bfd_elf_strtab_add): Likewise.
   2214  1.1  skrll 	* elf32-ppc.c (ppc_elf_relax_section): Likewise.
   2215  1.1  skrll 	* elf32-xtensa.c (vsprintf_msg): Likewise.
   2216  1.1  skrll 	* mach-o.c (bfd_mach_o_core_fetch_environment): Likewise.
   2217  1.1  skrll 	* stabs.c (_bfd_link_seciton_stabs): Likewise.
   2218  1.1  skrll 	* vms-misc.c (_bfd_vms_get_record): Likewise.
   2219  1.1  skrll 	* vms-tir.c (check_section): Likewise.
   2220  1.1  skrll 	* vms.c (vms_new_section_hook): Likewise.
   2221  1.1  skrll 	* elf32-arm.c (elf32_arm_section_map_add): Check that the
   2222  1.1  skrll 	allocation of sec_data->map succeeded before using it.
   2223  1.1  skrll 	* elflink.c (elf_link_output_sym): Do not overwrite finfo->
   2224  1.1  skrll 	symshndxbuf until it is known that the reallocation succeeded.
   2225  1.1  skrll 
   2226  1.1  skrll 2008-02-20  Diogo de Carvalho Kraemer  <diogo (a] kraemer.eng.br>
   2227  1.1  skrll 	    Nick Clifton  <nickc (a] redhat.com>
   2228  1.1  skrll 
   2229  1.1  skrll 	PR 868
   2230  1.1  skrll 	* dwarf2.c (read_abbrevs): Free the abbreviation table if we run
   2231  1.1  skrll 	out of memory.
   2232  1.1  skrll 	(decode_line_info): Free the line_info_table before returning a
   2233  1.1  skrll 	failure result.
   2234  1.1  skrll 	(_bfd_dwarf2_cleanup_debug_info): Free the abbreviation table.
   2235  1.1  skrll 	Free the line table.  Free the function table.  Free the variable
   2236  1.1  skrll 	table.
   2237  1.1  skrll 
   2238  1.1  skrll 2008-02-17  Mark Kettenis  <kettenis (a] gnu.org>
   2239  1.1  skrll 
   2240  1.1  skrll 	* elf.c (swap_out_syms): Avoid preprocessing directive within
   2241  1.1  skrll 	macro arg.
   2242  1.1  skrll 
   2243  1.1  skrll 2008-02-17  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
   2244  1.1  skrll 
   2245  1.1  skrll 	* elf.c (assign_file_positions_for_load_sections): Set the type of
   2246  1.1  skrll 	PT_NOTE sections to SHT_NOTE.
   2247  1.1  skrll 
   2248  1.1  skrll 2008-02-17  Ulrich Weigand  <uweigand (a] de.ibm.com>
   2249  1.1  skrll 
   2250  1.1  skrll 	* simple.c (bfd_simple_get_relocated_section_contents): Set
   2251  1.1  skrll 	link_info.output_bfd.
   2252  1.1  skrll 
   2253  1.1  skrll 2008-02-16  Nathan Sidwell  <nathan (a] codesourcery.com>
   2254  1.1  skrll 
   2255  1.1  skrll 	* dwarf2.c (find_line): Don't trust debug information after an
   2256  1.1  skrll 	unparseable compilation unit.
   2257  1.1  skrll 
   2258  1.1  skrll 2008-02-15  Alan Modra  <amodra (a] bigpond.net.au>
   2259  1.1  skrll 
   2260  1.1  skrll 	PR 5765
   2261  1.1  skrll 	* section.c (SEC_LINK_DUPLICATES): Correct.  Renumber following flags.
   2262  1.1  skrll 	* bfd-in2.h: Regenerate.
   2263  1.1  skrll 
   2264  1.1  skrll 2008-02-15  Alan Modra  <amodra (a] bigpond.net.au>
   2265  1.1  skrll 
   2266  1.1  skrll 	* elf-bfd.h (enum elf_object_id): Add HPPA_ELF_TDATA.
   2267  1.1  skrll 	* elf.c (bfd_elf_allocate_object): Don't check for already allocated
   2268  1.1  skrll 	tdata.
   2269  1.1  skrll 	* elf32-hppa.c (elf32_hppa_mkobject): New function.
   2270  1.1  skrll 	(bfd_elf32_mkobject): Define.
   2271  1.1  skrll 	* elf32-ppc.c (is_ppc_elf_target): Delete.  Replace all uses with..
   2272  1.1  skrll 	(is_ppc_elf): ..this new macro.
   2273  1.1  skrll 	* elf64-ppc.c (is_ppc64_elf_target): Delete.  Replace all uses with..
   2274  1.1  skrll 	(is_ppc64_elf): ..this new macro.
   2275  1.1  skrll 
   2276  1.1  skrll 2008-02-15  Alan Modra  <amodra (a] bigpond.net.au>
   2277  1.1  skrll 
   2278  1.1  skrll 	* elflink.c: Replace all accesses to hash->creator field with
   2279  1.1  skrll 	output_bfd->xvec.
   2280  1.1  skrll 	* cofflink.c: Likewise.
   2281  1.1  skrll 	* coff-h8300.c: Likewise.
   2282  1.1  skrll 	* ecoff.c: Likewise.
   2283  1.1  skrll 	* elf32-m68hc1x.c: Likewise.
   2284  1.1  skrll 	* elf32-ppc.c: Likewise.
   2285  1.1  skrll 	* elf64-alpha.c: Likewise.
   2286  1.1  skrll 	* elf64-ppc.c: Likewise.
   2287  1.1  skrll 	* elf64-sparc.c: Likewise.
   2288  1.1  skrll 	* elfxx-mips.c: Likewise.
   2289  1.1  skrll 	* i386linux.c: Likewise.
   2290  1.1  skrll 	* m68klinux.c: Likewise.
   2291  1.1  skrll 	* sparclinux.c: Likewise.
   2292  1.1  skrll 	* sunos.c: Likewise.
   2293  1.1  skrll 	* xcofflink.c: Likewise.
   2294  1.1  skrll 	* linker.c: Likewise.
   2295  1.1  skrll 	(_bfd_link_hash_table_init): Don't store creator.
   2296  1.1  skrll 
   2297  1.1  skrll 2008-02-14  Peter Jones  <pjones (a] redhat.com>
   2298  1.1  skrll 
   2299  1.1  skrll 	* efi-rtdrv-ia32.c: New file.
   2300  1.1  skrll 	* efi-bsdrv-ia32.c: New file.
   2301  1.1  skrll 	* efi-rtdrv-ia64.c: New file.
   2302  1.1  skrll 	* efi-bsdrv-ia64.c: New file.
   2303  1.1  skrll 	* efi-rtdrv-x86_64.c: New file.
   2304  1.1  skrll 	* efi-bsdrv-x86_64.c: New file.
   2305  1.1  skrll 	* peicode.h (pe_bfd_object_p): Add support for boot service and
   2306  1.1  skrll 	runtime service drivers.
   2307  1.1  skrll 	* libpei.h: Add macros for EFI formats, and rename the efi application
   2308  1.1  skrll 	format macros to disambiguate.
   2309  1.1  skrll 	* targets.c: Add bfd_target _vec externs.
   2310  1.1  skrll 	(_bfd_tar): Add EFI _vec entries.
   2311  1.1  skrll 	* config.bfd: Add EFI vectors into the selection routines.
   2312  1.1  skrll 	* configure.in: add EFI _vec entries.
   2313  1.1  skrll 	* configure: Regenerate.
   2314  1.1  skrll 	* Makefile.am: Add EFI files.
   2315  1.1  skrll 	* Makefile.in: Regenerate.
   2316  1.1  skrll 
   2317  1.1  skrll 2008-02-14  Nathan Sidwell  <nathan (a] codesourcery.com>
   2318  1.1  skrll 
   2319  1.1  skrll 	* dwarf1.c (struct dwarf1_debug): Add syms member.
   2320  1.1  skrll 	(alloc_dwarf1_unit, alloc_dwarf1_func): Check for out of memory.
   2321  1.1  skrll 	(parse_line_table, _bfd_dwarf1_find_nearest_line): Relocate
   2322  1.1  skrll 	section contents, check for out of memory.
   2323  1.1  skrll 
   2324  1.1  skrll 	* dwarf1.c (struct dwarf1_debug): Change data pointers to bfd_byte.
   2325  1.1  skrll 	(parse_die): Change data pointers to bfd_byte.
   2326  1.1  skrll 	(parse_line_table, parse_functions_in_unit): Likewise.
   2327  1.1  skrll 
   2328  1.1  skrll 2008-02-14  Alan Modra  <amodra (a] bigpond.net.au>
   2329  1.1  skrll 
   2330  1.1  skrll 	* elflink.c (compute_bucket_count): Warning fixes.
   2331  1.1  skrll 
   2332  1.1  skrll 2008-02-12  DJ Delorie  <dj (a] redhat.com>
   2333  1.1  skrll 
   2334  1.1  skrll 	* elf32-iq2000.c (iq2000_elf_relocate_section): Adjust addend of
   2335  1.1  skrll 	relocation pointing to local symbol in merged section.
   2336  1.1  skrll 
   2337  1.1  skrll 	* elf32-iq2000.c (iq2000_elf_relocate_offset16): New.
   2338  1.1  skrll 	(iq2000_elf_relocate_section): Call it.
   2339  1.1  skrll 
   2340  1.1  skrll 2008-02-12  Nick Clifton  <nickc (a] redhat.com>
   2341  1.1  skrll 
   2342  1.1  skrll 	PR ld/5692
   2343  1.1  skrll 	* elf-bfd.h (enum elf_object_id): New enum, used to identify
   2344  1.1  skrll 	target specific extensions to the elf_obj_tdata structure.
   2345  1.1  skrll 	(struct elf_obj_tdata): New field 'object_id'.
   2346  1.1  skrll 	(elf_object_id, elf_program_header_size, elf_symtab_hdr): New
   2347  1.1  skrll 	macros for accessing fields in the elf_obj_tdata structure.
   2348  1.1  skrll 	(bfd_elf_mkobject): Rename to bfd_elf_make_generic_object.
   2349  1.1  skrll 	(bfd_elf_allocate_object): New function.
   2350  1.1  skrll 	* elf.c (bfd_elf_mkobject): Rename to bfd_elf_make_generic_object
   2351  1.1  skrll 	and implement by calling bfd_elf_allocate_object.
   2352  1.1  skrll 	(bfd_elf_allocate_object): New function: Allocates an
   2353  1.1  skrll 	elf_obj_tdata structure, possibly with a target specific
   2354  1.1  skrll 	extension.
   2355  1.1  skrll 	* elfxx-target.h (bfd_elfNN_mkobject): Use
   2356  1.1  skrll 	bfd_elf_make_generic_object as the default value.
   2357  1.1  skrll 	* elf32-arm.c (elf32_arm_obj_tdata): Rename to elf_arm_obj_tdata
   2358  1.1  skrll 	for consistency with other, similar structures.
   2359  1.1  skrll 	(is_arm_elf): New macro.  Checks a BFD to make sure that is an ARM
   2360  1.1  skrll 	ELF bfd.
   2361  1.1  skrll 	(elf32_arm_mkobject): Call bfd_elf_allocate_object.
   2362  1.1  skrll 	(bfd_elf32_arm_vfp11_erratum_scan): Use is_arm_elf macro to check
   2363  1.1  skrll 	the bfd being processed.
   2364  1.1  skrll 	(bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
   2365  1.1  skrll 	(bfd_elf32_arm_set_target_relocs): Likewise.
   2366  1.1  skrll 	(bfd_elf32_arm_final_link_relocate): Likewise.
   2367  1.1  skrll 	(bfd_elf32_arm_copy_private_bfd_data): Likewise.
   2368  1.1  skrll 	(bfd_elf32_arm_merge_eabi_attributes): Likewise.
   2369  1.1  skrll 	(bfd_elf32_arm_merge_private_bfd_data): Likewise.
   2370  1.1  skrll 	(bfd_elf32_arm_check_relocs): Likewise.
   2371  1.1  skrll 	(bfd_elf32_arm_gc_mark_extra_sections): Likewise.
   2372  1.1  skrll 	(bfd_elf32_arm_size_dynamic_sections): Likewise.
   2373  1.1  skrll 	(bfd_elf32_arm_process_before_allocation): Use elf_symtab_hdr.
   2374  1.1  skrll 	(bfd_elf32_arm_init_maps): Likewise.
   2375  1.1  skrll 	(bfd_elf32_arm_final_link_relocate): Likewise.
   2376  1.1  skrll 	(bfd_elf32_arm_relocate_section): Likewise.
   2377  1.1  skrll 	(bfd_elf32_arm_gc_sweep_hook): Likewise.
   2378  1.1  skrll 	(bfd_elf32_arm_check_relocs): Likewise.
   2379  1.1  skrll 	(bfd_elf32_arm_size_dynamic_sections): Likewise.
   2380  1.1  skrll 	* elf32-i386.c (elf_i386_mkobject): Call bfd_elf_allocate_object.
   2381  1.1  skrll 	(is_i386_elf): New macro.  Checks a BFD to make sure that is an x86
   2382  1.1  skrll 	ELF bfd.
   2383  1.1  skrll 	(elf_i386_check_relocs): Use is_i386_elf macro to check    the bfd
   2384  1.1  skrll 	being processed.
   2385  1.1  skrll 	(elf_i386_size_dynamic_sections): Likewise.
   2386  1.1  skrll 	(elf_i386_relocate_section): Likewise.
   2387  1.1  skrll 	(elf_i386_check_relocs): Use elf_symtab_hdr.
   2388  1.1  skrll 	(elf_i386_gc_sweep_hook): Likewise.
   2389  1.1  skrll 	(elf_i386_size_dynamic_sections): Likewise.
   2390  1.1  skrll 	(elf_i386_relocate_section): Likewise.
   2391  1.1  skrll 	* elf32-ppc.c (ppc_elf_mkobject): Call bfd_elf_allocate_object.
   2392  1.1  skrll 	(elf_create_pointer_linker_section): Use is_ppc_elf_target to
   2393  1.1  skrll 	verify that the bfd before accessing target specific fields.
   2394  1.1  skrll 	(ppc_elf_check_relocs): Likewise.
   2395  1.1  skrll 	(elf_finish_pointer_linker_section): Likewise.
   2396  1.1  skrll 	(elf_create_pointer_linker_section): Use elf_symtab_hdr.
   2397  1.1  skrll 	(ppc_elf_check_relocs): Likewise.
   2398  1.1  skrll 	(ppc_elf_gc_sweep_hook): Likewise.
   2399  1.1  skrll 	(ppc_elf_tls_optimize): Likewise.
   2400  1.1  skrll 	(ppc_elf_size_dynamic_sections): Likewise.
   2401  1.1  skrll 	(ppc_elf_relax_section): Likewise.
   2402  1.1  skrll 	(ppc_elf_relocate_section): Likewise.
   2403  1.1  skrll 	* elf32-s390.c (struct elf_s390_obj_tdata): Add a comment
   2404  1.1  skrll 	reminding programmers to keep this structure in sync with the one
   2405  1.1  skrll 	defined in elf64-s390.c.
   2406  1.1  skrll 	(elf_s390_mkobject): Call bfd_elf_allocate_object.
   2407  1.1  skrll 	(is_s390_elf): New macro.  Checks a BFD to make sure that is an s390
   2408  1.1  skrll 	ELF bfd.
   2409  1.1  skrll 	(elf_s390_check_relocs): Use is_s390_elf macro to check    the bfd
   2410  1.1  skrll 	being processed.
   2411  1.1  skrll 	(elf_s390_size_dynamic_sections): Likewise.
   2412  1.1  skrll 	(elf_s390_relocate_section): Likewise.
   2413  1.1  skrll 	(elf_s390_check_relocs): Use elf_symtab_hdr.
   2414  1.1  skrll 	(elf_s390_gc_sweep_hook): Likewise.
   2415  1.1  skrll 	(elf_s390_size_dynamic_sections): Likewise.
   2416  1.1  skrll 	(elf_s390_relocate_section): Likewise.
   2417  1.1  skrll 	* elf32-sh.c (sh_elf_mkobject): Call bfd_elf_allocate_object.
   2418  1.1  skrll 	(is_sh_elf): New macro.  Checks a BFD to make sure that is an SH
   2419  1.1  skrll 	ELF bfd.
   2420  1.1  skrll 	(sh_elf_size_dynamic_sections): Use is_sh_elf macro to check the
   2421  1.1  skrll 	bfd being processed.
   2422  1.1  skrll 	(sh_elf_relocate_section): Likewise.
   2423  1.1  skrll 	(sh_elf_check_relocs): Likewise.
   2424  1.1  skrll 	(sh_elf_copy_private_data): Likewise.
   2425  1.1  skrll 	(sh_elf_relax_section): Use elf_symtab_hdr.
   2426  1.1  skrll 	(sh_elf_size_dynamic_sections): Likewise.
   2427  1.1  skrll 	(sh_elf_relocate_section): Likewise.
   2428  1.1  skrll 	(sh_elf_get_relocated_section_contents): Likewise.
   2429  1.1  skrll 	(sh_elf_gc_sweep_hook): Likewise.
   2430  1.1  skrll 	(sh_elf_check_relocs): Likewise.
   2431  1.1  skrll 	* elf64-alpha.c (elf64_alpha_mkobject): Call bfd_elf_allocate_object.
   2432  1.1  skrll 	(is_alpha_elf): New macro.  Checks a BFD to make sure that is an
   2433  1.1  skrll 	Alpha ELF bfd.
   2434  1.1  skrll 	(elf64_alpha_create_got_section): Use is_alpha_elf macro to check
   2435  1.1  skrll 	the bfd being processed.
   2436  1.1  skrll 	(elf64_alpha_create_dynamic_section): Likewise.
   2437  1.1  skrll 	(elf64_alpha_check_relocs): Likewise.
   2438  1.1  skrll 	(elf64_alpha_size_got_sections): Likewise.
   2439  1.1  skrll 	(elf64_alpha_relax_section): Likewise.
   2440  1.1  skrll 	(elf64_alpha_relocate_section): Likewise.
   2441  1.1  skrll 	(elf64_alpha_final_link): Likewise.
   2442  1.1  skrll 	(elf64_alpha_check_relocs): Use elf_symtab_hdr.
   2443  1.1  skrll 	(elf64_alpha_relax_section): Likewise.
   2444  1.1  skrll 	(elf64_alpha_relocate_section_r): Likewise.
   2445  1.1  skrll 	(elf64_alpha_relocate_section): Likewise.
   2446  1.1  skrll 	* elf64-ppc.c (ppc64_elf_mkobject): Call bfd_elf_allocate_object.
   2447  1.1  skrll 	(ppc64_elf_check_relocs): Use is_ppc64_elf_target to check the bfd
   2448  1.1  skrll 	being processed.
   2449  1.1  skrll 	(opd_entry_value): Likewise.
   2450  1.1  skrll 	(allocate_dynrelocs): Likewise.
   2451  1.1  skrll 	(ppc64_elf_relocate_section): Likewise.
   2452  1.1  skrll 	(ppc64_elf_check_relocs): Use elf_symtab_hdr.
   2453  1.1  skrll 	(opd_entry_value): Likewise.
   2454  1.1  skrll 	(ppc64_elf_gc_sweep_hook): Likewise.
   2455  1.1  skrll 	(get_sym_h): Likewise.
   2456  1.1  skrll 	(ppc64_elf_edit_opd): Likewise.
   2457  1.1  skrll 	(ppc64_elf_tls_optimize): Likewise.
   2458  1.1  skrll 	(ppc64_elf_edit_toc): Likewise.
   2459  1.1  skrll 	(ppc64_elf_size_dynamic_sections): Likewise.
   2460  1.1  skrll 	(toc_adjusting_stub_needed): Likewise.
   2461  1.1  skrll 	(ppc64_elf_size_stubs): Likewise.
   2462  1.1  skrll 	(ppc64_elf_relocate_section): Likewise.
   2463  1.1  skrll 	* elf64-s390.c (struct elf_s390_obj_tdata): Add a comment
   2464  1.1  skrll 	reminding programmers to keep this structure in sync with the one
   2465  1.1  skrll 	defined in elf32-s390.c.
   2466  1.1  skrll 	(elf_s390_mkobject): Call bfd_elf_allocate_object.
   2467  1.1  skrll 	(is_s390_elf): New macro.  Checks a BFD to make sure that is an s390
   2468  1.1  skrll 	ELF bfd.
   2469  1.1  skrll 	(elf_s390_check_relocs): Use is_s390_elf macro to check    the bfd
   2470  1.1  skrll 	being processed.
   2471  1.1  skrll 	(elf_s390_size_dynamic_sections): Likewise.
   2472  1.1  skrll 	(elf_s390_relocate_section): Likewise.
   2473  1.1  skrll 	(elf_s390_check_relocs): Use elf_symtab_hdr.
   2474  1.1  skrll 	(elf_s390_gc_sweep_hook): Likewise.
   2475  1.1  skrll 	(elf_s390_size_dynamic_sections): Likewise.
   2476  1.1  skrll 	(elf_s390_relocate_section): Likewise.
   2477  1.1  skrll 	* elf64-x86_64.c (elf64_x86_64_mkobject): Call bfd_elf_allocate_object.
   2478  1.1  skrll 	(is_x86_64_elf): New macro.  Checks a BFD to make sure that is an
   2479  1.1  skrll 	x86_64 ELF bfd.
   2480  1.1  skrll 	(elf64_x86_64_check_relocs): Use is_x86_64_elf macro to check the bfd
   2481  1.1  skrll 	being processed.
   2482  1.1  skrll 	(elf64_x86_64_size_dynamic_sections): Likewise.
   2483  1.1  skrll 	(elf64_x86_64_relocate_section): Likewise.
   2484  1.1  skrll 	(elf64_x86_64_check_relocs): Use elf_symtab_hdr.
   2485  1.1  skrll 	(elf64_x86_64_gc_sweep_hook): Likewise.
   2486  1.1  skrll 	(elf64_x86_64_size_dynamic_sections): Likewise.
   2487  1.1  skrll 	(elf64_x86_64_relocate_section): Likewise.
   2488  1.1  skrll 	* elfxx-sparc.c (_bfd_sparc_elf_mkobject): Call bfd_elf_allocate_object.
   2489  1.1  skrll 	(is_sparc_elf): New macro.  Checks a BFD to make sure that is a Sparc
   2490  1.1  skrll 	ELF bfd.
   2491  1.1  skrll 	(_bfd_sparc_elf_check_relocs): Use is_sparc_elf macro to check the
   2492  1.1  skrll 	bfd being processed.
   2493  1.1  skrll 	(_bfd_sparc_elf_gc_sweep_hook): Likewise.
   2494  1.1  skrll 	(_bfd_sparc_elf_size_dynamic_sections): Likewise.
   2495  1.1  skrll 	(_bfd_sparc_elf_check_relocs): Use elf_symtab_hdr.
   2496  1.1  skrll 	(_bfd_sparc_elf_gc_sweep_hook): Likewise.
   2497  1.1  skrll 	(_bfd_sparc_elf_size_dynamic_sections): Likewise.
   2498  1.1  skrll 	(_bfd_sparc_elf_relocate_section): Likewise.
   2499  1.1  skrll 
   2500  1.1  skrll 2008-02-12  Alan Modra  <amodra (a] bigpond.net.au>
   2501  1.1  skrll 
   2502  1.1  skrll 	PR 5303, 5755
   2503  1.1  skrll 	* arange-set.c: Delete.
   2504  1.1  skrll 	* arange-set.h: Delete.
   2505  1.1  skrll 	* dwarf2.c: Revert 2007-09-21 changes.
   2506  1.1  skrll 	* Makefile.am: Likewise.
   2507  1.1  skrll 	* Makefile.in: Regenerate.
   2508  1.1  skrll 	* po/SRC-POTFILES.in: Regenerate.
   2509  1.1  skrll 
   2510  1.1  skrll 2008-02-11  Bernd Schmidt  <bernd.schmidt (a] analog.com>
   2511  1.1  skrll 
   2512  1.1  skrll 	* elf32-bfin.c (bfin_relocate_section): Set up dynobj before using it
   2513  1.1  skrll 	if necessary.
   2514  1.1  skrll 	(elf32_bfin_merge_private_bfd_data): Simplify, and ensure object type
   2515  1.1  skrll 	mismatches are detected.
   2516  1.1  skrll 
   2517  1.1  skrll 	* elf32-bfin.c (bfinfdpic_relocate_section): Take more care not to
   2518  1.1  skrll 	emit invalid relocs or rofixup entries for deleted .eh_frame entries.
   2519  1.1  skrll 
   2520  1.1  skrll 2008-02-11  Daniel Jacobowitz  <dan (a] codesourcery.com>
   2521  1.1  skrll 
   2522  1.1  skrll 	* cache.c (cache_bread): Set bfd_error_file_truncated if EOF
   2523  1.1  skrll 	was reached.
   2524  1.1  skrll 	* srec.c (srec_scan): Calculate the checksum.  Complain on mismatch.
   2525  1.1  skrll 
   2526  1.1  skrll 2008-02-07  Alan Modra  <amodra (a] bigpond.net.au>
   2527  1.1  skrll 
   2528  1.1  skrll 	* elf32-spu.c (spu_elf_size_stubs): Revert 2008-01-28 doubling
   2529  1.1  skrll 	of _ovly_buf_table size.
   2530  1.1  skrll 	(spu_elf_build_stubs): Use low bit of .size as "present" bit.
   2531  1.1  skrll 	Adjust initialisations relating to _ovly_buf_table.
   2532  1.1  skrll 
   2533  1.1  skrll 2008-02-04  Bob Wilson  <bob.wilson (a] acm.org>
   2534  1.1  skrll 
   2535  1.1  skrll 	* elf32-xtensa (elf_xtensa_relocate_section): After finding an invalid
   2536  1.1  skrll 	relocation, do not continue processing it.  Ignore R_XTENSA_ASM_EXPAND
   2537  1.1  skrll 	relocations against dynamic symbols.
   2538  1.1  skrll 	(elf_xtensa_finish_dynamic_sections): Do not fail if there is no
   2539  1.1  skrll 	.xt.lit section.
   2540  1.1  skrll 
   2541  1.1  skrll 2008-02-04  Kai Tietz  <kai.tietz (a] onevision.com>
   2542  1.1  skrll 	    H.J. Lu  <hongjiu.lu (a] intel.com>
   2543  1.1  skrll 
   2544  1.1  skrll 	PR 5715
   2545  1.1  skrll 	* warning.m4: Enable -Wno-format by default when using gcc on
   2546  1.1  skrll 	mingw.
   2547  1.1  skrll 	* configure: Regenerated.
   2548  1.1  skrll 
   2549  1.1  skrll 2008-02-04  Adam Nemet  <anemet (a] caviumnetworks.com>
   2550  1.1  skrll 
   2551  1.1  skrll 	* archures.c: Update copyright.
   2552  1.1  skrll 	(bfd_mach_mips_octeon): New macro.
   2553  1.1  skrll 	* bfd-in2.h: Regenerate.
   2554  1.1  skrll 	* elfxx-mips.c (_bfd_elf_mips_mach): Handle Octeon.
   2555  1.1  skrll 	(mips_set_isa_flags): Likewise.
   2556  1.1  skrll 	(mips_mach_extensions): Add Octeon.
   2557  1.1  skrll 	* cpu-mips.c: Update copyright.
   2558  1.1  skrll 	(I_mipsocteon): New enum constant.
   2559  1.1  skrll 	(arch_info_struct): Add Octeon.
   2560  1.1  skrll 
   2561  1.1  skrll 2008-02-04  Alan Modra  <amodra (a] bigpond.net.au>
   2562  1.1  skrll 
   2563  1.1  skrll 	* elf32-spu.c (spu_elf_relocate_section): Correct return type.
   2564  1.1  skrll 	Return error status on unexpected relocation errors.
   2565  1.1  skrll 
   2566  1.1  skrll 2008-02-04  Alan Modra  <amodra (a] bigpond.net.au>
   2567  1.1  skrll 
   2568  1.1  skrll 	PR ld/5692
   2569  1.1  skrll 	* elf.c (bfd_elf_get_elf_syms): Revert 2008-01-31.  Instead abort
   2570  1.1  skrll 	on non-ELF input.
   2571  1.1  skrll 	* elf32-arm.c (elf32_arm_size_dynamic_sections): Skip glue
   2572  1.1  skrll 	processing on non-ELF input.
   2573  1.1  skrll 
   2574  1.1  skrll 2008-01-31  Marc Gauthier  <marc (a] tensilica.com>
   2575  1.1  skrll 
   2576  1.1  skrll 	* config.bfd (xtensa*-*-*): Recognize processor variants.
   2577  1.1  skrll 
   2578  1.1  skrll 2008-01-31  Nick Clifton  <nickc (a] redhat.com>
   2579  1.1  skrll 
   2580  1.1  skrll 	PR ld/5692
   2581  1.1  skrll 	* elf.c (bfd_elf_get_elf_syms): Check the return value of
   2582  1.1  skrll 	get_elf_backend_data.
   2583  1.1  skrll 
   2584  1.1  skrll 2008-01-28  Fabian Groffen  <grobian (a] gentoo.org>
   2585  1.1  skrll 
   2586  1.1  skrll 	* config.bfd (x86_64-*-solaris2): Add support for this target.
   2587  1.1  skrll 
   2588  1.1  skrll 2008-01-28  Alan Modra  <amodra (a] bigpond.net.au>
   2589  1.1  skrll 
   2590  1.1  skrll 	Rewrite SPU overlay handling code.  Put overlay calls stubs in the
   2591  1.1  skrll 	overlays where possible.  Use a faster call stub, or optionally at
   2592  1.1  skrll 	compile time, a more compact stub.  Double size of _ovly_buf_table
   2593  1.1  skrll 	so that low bit of _ovly_table.buf can be used as a "present" bit.
   2594  1.1  skrll 	Reserve an extra _ovly_table entry for index zero.
   2595  1.1  skrll 	* elf32-spu.c: (struct spu_link_hash_table): Delete a number of fields,
   2596  1.1  skrll 	add new ones.
   2597  1.1  skrll 	(struct got_entry): New.
   2598  1.1  skrll 	(struct spu_stub_hash_entry): Delete.
   2599  1.1  skrll 	(stub_hash_newfunc, spu_elf_link_hash_table_free): Delete.
   2600  1.1  skrll 	(spu_elf_link_hash_table_create): Adjust for struct changes.
   2601  1.1  skrll 	(spu_stub_name): Delete.
   2602  1.1  skrll 	(spu_elf_find_overlays): Don't track sections from overlay regions.
   2603  1.1  skrll 	Instead set ovl_buf number in spu elf section data.  Error if
   2604  1.1  skrll 	overlays in one region don't start at the same address.  Adjust
   2605  1.1  skrll 	for struct _spu_elf_section_data changes.
   2606  1.1  skrll 	(SIZEOF_STUB1, SIZEOF_STUB2, ILA_79, ILA_78): Delete.
   2607  1.1  skrll 	(OVL_STUB_SIZE, BRSL, LNOP, ILA): Define.
   2608  1.1  skrll 	(needs_ovl_stub): Adjust for struct _spu_elf_section_data changes.
   2609  1.1  skrll 	(enum _insn_type): New.
   2610  1.1  skrll 	(count_stub, build_stub): New functions.
   2611  1.1  skrll 	(allocate_spuear_stubs): Use count_stub.
   2612  1.1  skrll 	(build_spuear_stubs): Use build_stub.
   2613  1.1  skrll 	(populate_stubs, sort_stubs): Delete.
   2614  1.1  skrll 	(process_stubs): New function.
   2615  1.1  skrll 	(write_one_stub): Delete.
   2616  1.1  skrll 	(spu_elf_size_stubs, spu_elf_build_stubs): Rewrite.
   2617  1.1  skrll 	(alloc_stack_info): Adjust for struct _spu_elf_section_data changes.
   2618  1.1  skrll 	(maybe_insert_function, check_function_ranges): Likewise.
   2619  1.1  skrll 	(find_function, pasted_function, build_call_tree): Likewise.
   2620  1.1  skrll 	(spu_elf_stack_analysis, spu_elf_modify_segment_map): Likewise.
   2621  1.1  skrll 	(spu_elf_modify_program_headers): Likewise.
   2622  1.1  skrll 	(interesting_section): Detect stub sections differently.  Delete
   2623  1.1  skrll 	htab param, adjust all callers.
   2624  1.1  skrll 	(spu_elf_relocate_section): Rewrite stub handling.
   2625  1.1  skrll 	(spu_elf_output_symbol_hook): Likewise.
   2626  1.1  skrll 	(bfd_elf32_bfd_link_hash_table_free): Delete.
   2627  1.1  skrll 	* elf32-spu.h (struct _spu_elf_section_data): Move input-only and
   2628  1.1  skrll 	output-only fields into a union.  Add ovl_buf.
   2629  1.1  skrll 	(spu_elf_size_stubs, spu_elf_build_stubs): Update prototypes.
   2630  1.1  skrll 
   2631  1.1  skrll 2008-01-25  DJ Delorie  <dj (a] redhat.com>
   2632  1.1  skrll 
   2633  1.1  skrll 	* elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): New.
   2634  1.1  skrll 
   2635  1.1  skrll 2008-01-25  Kai Tietz  <kai.tietz (a] onevision.com>
   2636  1.1  skrll 
   2637  1.1  skrll 	* bfd-in.h: Add mingw I64 support.
   2638  1.1  skrll 	* bfd-in2.h: Regenerated.
   2639  1.1  skrll 	* bfd.c: (bfd_get_sign_extend_vma): Add pe-x86-64 and pei-x86-64.
   2640  1.1  skrll 
   2641  1.1  skrll 2008-01-21  Alan Modra  <amodra (a] bigpond.net.au>
   2642  1.1  skrll 
   2643  1.1  skrll 	PR 4453
   2644  1.1  skrll 	* format.c (bfd_check_format_matches): Don't accept archives as
   2645  1.1  skrll 	fully matching unless they have a map.
   2646  1.1  skrll 
   2647  1.1  skrll 2008-01-21  Alan Modra  <amodra (a] bigpond.net.au>
   2648  1.1  skrll 
   2649  1.1  skrll 	* elflink.c (_bfd_elf_link_output_relocs): Correct error return.
   2650  1.1  skrll 
   2651  1.1  skrll 2008-01-21  Alan Modra  <amodra (a] bigpond.net.au>
   2652  1.1  skrll 
   2653  1.1  skrll 	* ecoff.c (_bfd_ecoff_archive_p): Delete.
   2654  1.1  skrll 	* libecoff.h (_bfd_ecoff_archive_p): Delete.
   2655  1.1  skrll 	* coff-alpha.c (ecoffalpha_little_vec): Use bfd_generic_archive_p.
   2656  1.1  skrll 	* coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
   2657  1.1  skrll 	(ecoff_biglittle_vec): Likewise.
   2658  1.1  skrll 
   2659  1.1  skrll 2008-01-19  Alan Modra  <amodra (a] bigpond.net.au>
   2660  1.1  skrll 
   2661  1.1  skrll 	PR 5646
   2662  1.1  skrll 	* elf64-ppc.c (ppc64_elf_tls_optimize): Ensure htab->tls_get_addr
   2663  1.1  skrll 	non-NULL before dereferencing.
   2664  1.1  skrll 
   2665  1.1  skrll 2008-01-15  Alan Modra  <amodra (a] bigpond.net.au>
   2666  1.1  skrll 
   2667  1.1  skrll 	PR 5604
   2668  1.1  skrll 	* elf-bfd.h (struct elf_backend_data): Add gc_keep.  Remove param
   2669  1.1  skrll 	names from others.
   2670  1.1  skrll 	(_bfd_elf_gc_keep): Declare.
   2671  1.1  skrll 	* elfxx-target.h (elf_backend_gc_keep): Define.
   2672  1.1  skrll 	(elfNN_bed): Init new field.
   2673  1.1  skrll 	* elflink.c (_bfd_elf_gc_keep): New function.
   2674  1.1  skrll 	(bfd_elf_gc_sections): Call gc_keep.
   2675  1.1  skrll 	* elf64-ppc.c (elf_backend_gc_keep): Define.
   2676  1.1  skrll 	(struct _ppc64_elf_section_data): Move .opd related fields to
   2677  1.1  skrll 	a struct so they don't occupy the same storage.  Adjust accesses
   2678  1.1  skrll 	throughout file.
   2679  1.1  skrll 	(ppc64_elf_gc_keep): New function, split out from..
   2680  1.1  skrll 	(ppc64_elf_gc_mark_hook): ..here.  Don't call _bfd_elf_gc_mark
   2681  1.1  skrll 	to mark .opd section, just set gc_mark.
   2682  1.1  skrll 	(ppc64_elf_edit_opd): Remove no_opd_opt parm.  Don't set opd->adjust
   2683  1.1  skrll 	unless we are changing .opd.  Test non-NULL opd->adjust at all
   2684  1.1  skrll 	accesses throughout file.
   2685  1.1  skrll 	* elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
   2686  1.1  skrll 
   2687  1.1  skrll 2008-01-15  Alan Modra  <amodra (a] bigpond.net.au>
   2688  1.1  skrll 
   2689  1.1  skrll 	* bfd-in.h (BFD_HOST_LONG_LONG): Delete.
   2690  1.1  skrll 	* bfd-in2.h: Regenerate.
   2691  1.1  skrll 
   2692  1.1  skrll 2008-01-11  Tristan Gingold  <gingold (a] adacore.com>
   2693  1.1  skrll 	    Eric Botcazou  <ebotcazou (a] adacore.com>
   2694  1.1  skrll 
   2695  1.1  skrll 	* elf32-ppc.c (ppc_elf_gc_sweep_hook): Exit early if generating a
   2696  1.1  skrll 	relocatable.
   2697  1.1  skrll 	* elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
   2698  1.1  skrll 	* elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
   2699  1.1  skrll 	* elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
   2700  1.1  skrll 	* elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
   2701  1.1  skrll 	* elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
   2702  1.1  skrll 	* elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
   2703  1.1  skrll 	* elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
   2704  1.1  skrll 	* elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
   2705  1.1  skrll 	* elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
   2706  1.1  skrll 	* elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
   2707  1.1  skrll 	* elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
   2708  1.1  skrll 	* elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
   2709  1.1  skrll 	* elf64-ppc.c (ppc64_elf_gc_sweep_hook): Likewise.
   2710  1.1  skrll 	* elfxx-mips.c (_bfd_mips_elf_gc_sweep_hook): Likewise.
   2711  1.1  skrll 	* elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Likewise.
   2712  1.1  skrll 	* elflink.c (bfd_elf_gc_sections): Do not punt on relocatable output
   2713  1.1  skrll 	or executable output with relocations.
   2714  1.1  skrll 
   2715  1.1  skrll 2008-01-09  Nick Clifton  <nickc (a] redhat.com>
   2716  1.1  skrll 
   2717  1.1  skrll 	PR gas/5552
   2718  1.1  skrll 	* elf32-fr30.c (fr30_elf_howto_table): Set partial_inplace field
   2719  1.1  skrll 	to FALSE for all relocs.
   2720  1.1  skrll 
   2721  1.1  skrll 2008-01-09  Richard Sandiford  <rsandifo (a] nildram.co.uk>
   2722  1.1  skrll 
   2723  1.1  skrll 	PR ld/5526
   2724  1.1  skrll 	* elf-bfd.h (eh_cie_fde): Add u.cie.u.full_cie and u.cie.merged
   2725  1.1  skrll 	fields.  Rename u.cie.u.merged to u.cie.u.merged_with.
   2726  1.1  skrll 	(eh_frame_sec_info): Add a cies field.
   2727  1.1  skrll 	(eh_frame_hdr_info): Add a merge_cies field.
   2728  1.1  skrll 	* elf-eh-frame.c (cie): Add a reloc_index member to the personality
   2729  1.1  skrll 	union.
   2730  1.1  skrll 	(_bfd_elf_begin_eh_frame_parsing): Set hdr_info->merge_cies instead
   2731  1.1  skrll 	of hdr_info->cies.
   2732  1.1  skrll 	(_bfd_elf_parse_eh_frame): Remove tmp_cie.  Ccreate an array of
   2733  1.1  skrll 	cie structures in all cases and use it instead of extended_cies.
   2734  1.1  skrll 	If merging, store the cie array in sec_info->cies and point each
   2735  1.1  skrll 	CIE's eh_fde_cie at the associated element.  Do not try to
   2736  1.1  skrll 	calculate the value of the personality routine here; record the
   2737  1.1  skrll 	offset of the relocation instead.  Do not merge CIEs here.
   2738  1.1  skrll 	(_bfd_elf_end_eh_frame_parsing): Do not free hdr_info->cies here...
   2739  1.1  skrll 	(_bfd_elf_discard_section_eh_frame_hdr): ...do it here instead.
   2740  1.1  skrll 	(_bfd_elf_gc_mark_fdes): Mark the original (unmerged) CIE.
   2741  1.1  skrll 	(find_merged_cie): New function.
   2742  1.1  skrll 	(_bfd_elf_gc_mark_fdes): Use it.  Free sec_info->cies.
   2743  1.1  skrll 
   2744  1.1  skrll 2008-01-07  Nick Clifton  <nickc (a] redhat.com>
   2745  1.1  skrll 
   2746  1.1  skrll 	PR binutils/5535
   2747  1.1  skrll 	* vms.c (vms_close_and_cleanup): Check for the presence of a
   2748  1.1  skrll 	vms_private_data_struct before examining any of its fields.
   2749  1.1  skrll 
   2750  1.1  skrll 2008-01-07  H.J. Lu  <hongjiu.lu (a] intel.com>
   2751  1.1  skrll 
   2752  1.1  skrll 	PR ld/5522
   2753  1.1  skrll 	* elflink.c (elf_link_input_bfd): Don't write out a section if
   2754  1.1  skrll 	its output section is marked with SEC_NEVER_LOAD.
   2755  1.1  skrll 
   2756  1.1  skrll For older changes see ChangeLog-2007
   2757  1.1  skrll 
   2759  1.1  skrll Local Variables:
   2760  1.1  skrll mode: change-log
   2761  1.1  skrll left-margin: 8
   2762  1.1  skrll fill-column: 74
   2763  1.1  skrll version-control: never
   2764             End:
   2765