Home | History | Annotate | Line # | Download | only in bfd
      1  1.1  christos 2008-12-29  Arnold Metselaar  <arnold.metselaar (a] planet.nl>
      2  1.1  christos 
      3  1.1  christos 	* coff-z80.c (r_imm32): Fix copy-paste bug that caused z80-objdump to
      4  1.1  christos 	issue warnings about stabs debugging symbols rather than to show them.
      5  1.1  christos 
      6  1.1  christos 2008-12-23  Jon Beniston <jon (a] beniston.com>
      7  1.1  christos 
      8  1.1  christos 	* Makefile.am: Add LM32 object files and dependencies.
      9  1.1  christos 	* Makefile.in: Regenerate.
     10  1.1  christos 	* archures.c: Add LM32 architechiture info.
     11  1.1  christos 	* targets.c: Likewise.
     12  1.1  christos 	* reloc.c: Likewise.
     13  1.1  christos 	* bfd-in2.h: Regenerate.
     14  1.1  christos 	* config.bfd: Add LM32 targets.
     15  1.1  christos 	* configure.in: Likewise.
     16  1.1  christos 	* configure: Regenerate.
     17  1.1  christos 	* cpu-lm32.c: New file.
     18  1.1  christos 	* elf32-lm32.c: New file.
     19  1.1  christos 
     20  1.1  christos 2008-12-23  H.J. Lu  <hongjiu.lu (a] intel.com>
     21  1.1  christos 
     22  1.1  christos 	PR ld/7036
     23  1.1  christos 	* elfxx-ia64.c (elfNN_ia64_relax_section): Assume linker will
     24  1.1  christos 	always insert 32byte between the .plt and .text sections after
     25  1.1  christos 	the first relaxation pass.
     26  1.1  christos 
     27  1.1  christos 2008-12-23  Nick Clifton  <nickc (a] redhat.com>
     28  1.1  christos 
     29  1.1  christos 	PR 7093
     30  1.1  christos 	* elf32-arm.c (bfd_elf32_arm_init_maps): Only process ARM ELF
     31  1.1  christos 	object files.
     32  1.1  christos 
     33  1.1  christos 2008-12-23  Tristan Gingold  <gingold (a] adacore.com>
     34  1.1  christos 
     35  1.1  christos 	* mach-o.c (bfd_mach_o_make_bfd_section): Use the standard ELF name
     36  1.1  christos 	.eh_frame for __TEXT.__eh_frame so that it is recognized by gdb.
     37  1.1  christos 	Use shorter sections name for well known sections.
     38  1.1  christos 	(bfd_mach_o_scan_read_dylinker): Only put dylinker name in the
     39  1.1  christos 	section content.
     40  1.1  christos 	(bfd_mach_o_scan_read_segment): Use shorter sections name for
     41  1.1  christos 	well known segments.
     42  1.1  christos 	(bfd_mach_o_scan_read_command): Ignore some new commands.
     43  1.1  christos 	(bfd_mach_o_openr_next_archived_file): Use more descriptive names
     44  1.1  christos 	for members filename.
     45  1.1  christos 	(bfd_mach_o_fat_extract): New function to easily extract members
     46  1.1  christos 	of a fat binary.
     47  1.1  christos 	* mach-o.h (bfd_mach_o_load_command_type): Add new constants.
     48  1.1  christos 	(bfd_mach_o_dylinker_command): Fix comment and reindent.
     49  1.1  christos 	(bfd_mach_o_fat_extract): New prototype.
     50  1.1  christos 
     51  1.1  christos 2008-12-23  Johan Olmutz Nielsen  <jnielsen (a] ddci.com>
     52  1.1  christos 
     53  1.1  christos 	* coffcode.h (coff_write_object_contents): Always initialise
     54  1.1  christos 	section.s_page.
     55  1.1  christos 
     56  1.1  christos 2008-12-23  Andreas Schwab  <schwab (a] suse.de>
     57  1.1  christos 
     58  1.1  christos 	* elf32-m68k.c (elf_m68k_discard_copies): Use SYMBOL_CALLS_LOCAL.
     59  1.1  christos 	(elf_m68k_relocate_section): Use SYMBOL_CALLS_LOCAL and
     60  1.1  christos 	SYMBOL_REFERENCES_LOCAL.
     61  1.1  christos 	(elf_m68k_relocate_section): Likewise.
     62  1.1  christos 
     63  1.1  christos 2008-12-23  Nick Clifton  <nickc (a] redhat.com>
     64  1.1  christos 
     65  1.1  christos 	* elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs
     66  1.1  christos 	field.
     67  1.1  christos 	(_bfd_elf_make_ifunc_reloc_section): Remove prototype.
     68  1.1  christos 	* elf.c (swap_out_syms): Remove STT_IFUNC support.
     69  1.1  christos 	(elf_find_function): Likewise.
     70  1.1  christos 	* elf32-arm.c (arm_elf_find_function): Likewise.
     71  1.1  christos 	(elf32_arm_adjust_dynamic_symbol): Likewise.
     72  1.1  christos 	(elf32_arm_swap_symbol_in): Likewise.
     73  1.1  christos 	(elf32_arm_is_function_type): Likewise.
     74  1.1  christos 	* elf32-i386.c (is_indirect_symbol): Delete.
     75  1.1  christos 	(elf_i386_check_relocs): Remove STT_IFUNC support.
     76  1.1  christos 	(allocate_dynrelocs): Likewise.
     77  1.1  christos 	(elf_i386_relocate_section): Likewise.
     78  1.1  christos 	* elf64-x86-64.c (is_indirect_symbol): Delete.
     79  1.1  christos 	(elf64_x86_64_check_relocs): Remove STT_IFUNC support.
     80  1.1  christos 	(allocate_dynrelocs): Likewise.
     81  1.1  christos 	(elf64_x86_64_relocate_section): Likewise.
     82  1.1  christos 	* elfcode.h (elf_slurp_symbol_table): Likewise.
     83  1.1  christos 	* elflink.c (_bfd_elf_adjust_symbol): Likewise.
     84  1.1  christos 	(get_ifunc_reloc_section_name): Delete.
     85  1.1  christos 	(_bfd_elf_make_ifunc_reloc_section): Delete.
     86  1.1  christos 	* syms.c (BSF_INDIRECT_FUNCTION): Delete.
     87  1.1  christos 	(bfd_print_symbol_vandf): Remove STT_IFUNC support.
     88  1.1  christos 	(bfd_decode_symclass): Likewise.
     89  1.1  christos 	* bfd-in2.h: Regenerate.
     90  1.1  christos 
     91  1.1  christos 2008-12-20  Hans-Peter Nilsson  <hp (a] axis.com>
     92  1.1  christos 
     93  1.1  christos 	* elf32-cris.c 	(cris_elf_howto_table): Add entry for R_CRIS_32_IE.
     94  1.1  christos 	(cris_reloc_map): Similarly.
     95  1.1  christos 	(cris_elf_relocate_section, cris_elf_gc_sweep_hook)
     96  1.1  christos 	(cris_elf_check_relocs): Handle R_CRIS_32_IE.
     97  1.1  christos 	* reloc.c (bfd_reloc_code_type): Add entry for R_CRIS_32_IE.
     98  1.1  christos 	* bfd-in2.h, libbfd.h: Regenerate.
     99  1.1  christos 
    100  1.1  christos 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
    101  1.1  christos 
    102  1.1  christos 	* configure: Regenerate.
    103  1.1  christos 
    104  1.1  christos 2008-12-17  Hans-Peter Nilsson  <hp (a] axis.com>
    105  1.1  christos 
    106  1.1  christos 	* elf32-cris.c (elf_cris_copy_indirect_symbol): Return without
    107  1.1  christos 	action for symbols other than bfd_link_hash_indirect.
    108  1.1  christos 	(cris_elf_relocate_section) <R_CRIS_8, R_CRIS_16, R_CRIS_32>: Add missing
    109  1.1  christos 	gate h != NULL for h->def_regular test.
    110  1.1  christos 
    111  1.1  christos 2008-12-15  Hans-Peter Nilsson  <hp (a] axis.com>
    112  1.1  christos 
    113  1.1  christos 	* elf32-cris.c (elf_cris_copy_indirect_symbol): New function.
    114  1.1  christos 	(elf_backend_copy_indirect_symbol): Define to above.
    115  1.1  christos 
    116  1.1  christos 	* elf32-cris.c (struct elf_cris_pcrel_relocs_copied): New member
    117  1.1  christos 	r_type.  Fix formatting.
    118  1.1  christos 	(cris_elf_relocate_section) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
    119  1.1  christos 	<R_CRIS_32_PCREL>: Also break early if the symbol doesn't get
    120  1.1  christos 	emitted as a dynamic one.
    121  1.1  christos 	(cris_elf_check_relocs) <R_CRIS_7, R_CRIS_16, R_CRIS_32>: Fork
    122  1.1  christos 	from PCREL relocs code and simplify; don't fall through.
    123  1.1  christos 	<R_CRIS_8_PCREL, R_CRIS_16_PCREL, R_CRIS_32_PCREL>: Simplify for
    124  1.1  christos 	pcrel only.  For non-local or overridable symbols in a DSO, always
    125  1.1  christos 	keep count of relocs, not just when -Bsymbolic.  Don't emit
    126  1.1  christos 	message nor mark as TEXTREL here.
    127  1.1  christos 	(elf_cris_discard_excess_dso_dynamics): Emit warning and mark as
    128  1.1  christos 	TEXTREL here, if there are nondiscarded pcrel relocs.
    129  1.1  christos 
    130  1.1  christos 	* elf32-cris.c (elf_cris_got_elt_size) <symtab_hdr>: Initialize
    131  1.1  christos 	using ibfd, not abfd.
    132  1.1  christos 
    133  1.1  christos 2008-12-11  Alan Modra  <amodra (a] bigpond.net.au>
    134  1.1  christos 
    135  1.1  christos 	PR 7041
    136  1.1  christos 	* elf64-ppc.c (func_desc_adjust): Correct logic making fake function
    137  1.1  christos 	descriptors.  Similarly correct making function descriptors dynamic.
    138  1.1  christos 
    139  1.1  christos 2008-12-10  Alan Modra  <amodra (a] bigpond.net.au>
    140  1.1  christos 
    141  1.1  christos 	* elf32-spu.h (struct spu_elf_params): Add num_regions.
    142  1.1  christos 	* elf32-spu.c (spu_elf_auto_overlay): Handle multiple overlay regions.
    143  1.1  christos 
    144  1.1  christos 2008-12-10  Alan Modra  <amodra (a] bigpond.net.au>
    145  1.1  christos 
    146  1.1  christos 	* elf32-spu.g (struct spu_elf_params, enum _ovly_flavour): New.
    147  1.1  christos 	(spu_elf_setup): Declare.
    148  1.1  christos 	(spu_elf_create_sections, spu_elf_size_stubs): Update prototype.
    149  1.1  christos 	(spu_elf_build_stubs, spu_elf_check_vma): Likewise.
    150  1.1  christos 	* elf32-spu.c (struct spu_link_hash_table): Add "params". Remove
    151  1.1  christos 	various other fields now in "params".  Adjust code throughout.
    152  1.1  christos 	(struct call_info, struct function_info): Move earlier in file.
    153  1.1  christos 	(struct spu_elf_stack_info): Likewise.
    154  1.1  christos 	(spu_elf_setup): New function.
    155  1.1  christos 	(spu_elf_create_sections): Remove args other than "info".
    156  1.1  christos 	(spu_elf_size_stubs, spu_elf_build_stubs, spu_elf_check_vma): Likewise.
    157  1.1  christos 	(maybe_needs_stubs): Remove "output_bfd" arg.  Adjust all calls.
    158  1.1  christos 	(interesting_section): Similarly with "obfd" arg.
    159  1.1  christos 	(needs_ovl_stub): Adjust output_section test.
    160  1.1  christos 	(allocate_spuear_stubs): Likewise.
    161  1.1  christos 	(OVL_STUB_SIZE): Don't define.
    162  1.1  christos 	(ovl_stub_size): New function, use in place of OVL_STUB_SIZE.
    163  1.1  christos 	(build_stub): Test params->ovly_flavour rather than OVL_STUB_SIZE.
    164  1.1  christos 	(spu_elf_auto_overlay): Remove args other than "info".  Make use
    165  1.1  christos 	of size returned from spu_elf_load_ovl_mgr.
    166  1.1  christos 	(spu_elf_stack_analysis): Remove args other than "info".
    167  1.1  christos 	(spu_elf_relocate_section): Tidy setting of "ea".
    168  1.1  christos 
    169  1.1  christos 2008-12-10  Alan Modra  <amodra (a] bigpond.net.au>
    170  1.1  christos 
    171  1.1  christos 	* elf32-spu.c (find_function_stack_adjust): Don't limit number
    172  1.1  christos 	of insns scanned.  Correct sp tests.  Handle "fsmbi" and "andbi".
    173  1.1  christos 	(mark_detached_root): New function.
    174  1.1  christos 	(build_call_tree): Call it.
    175  1.1  christos 	(sort_calls): Don't do void* arithmetic.
    176  1.1  christos 	(define_ovtab_symbol): Don't abort on symbols defined in linker scripts.
    177  1.1  christos 	(discover_functions): Consider STT_SECTION symbols too.
    178  1.1  christos 	(collect_lib_sections): Don't cut short call tree traversal
    179  1.1  christos 	when function size is too large.
    180  1.1  christos 
    181  1.1  christos 2008-12-09  Tom Tromey  <tromey (a] redhat.com>
    182  1.1  christos 
    183  1.1  christos 	* pef.c (bfd_pef_parse_traceback_table): Add parens to placate gcc
    184  1.1  christos 	4.4.
    185  1.1  christos 
    186  1.1  christos 2008-12-09  Tristan Gingold  <gingold (a] adacore.com>
    187  1.1  christos 
    188  1.1  christos 	* cpu-avr.c (compatible): Makes avr-6 compatible only with itself.
    189  1.1  christos 
    190  1.1  christos 2008-12-04  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
    191  1.1  christos 
    192  1.1  christos 	* elf64-s390.c (elf_s390_check_relocs): Initialize
    193  1.1  christos 	htab->elf.dynobj if necessary.
    194  1.1  christos 
    195  1.1  christos 2008-12-03  Nick Clifton  <nickc (a] redhat.com>
    196  1.1  christos 
    197  1.1  christos 	* syms.c (struct bfd_symbol): Add new flag BSF_INDIRECT_FUNCTION.
    198  1.1  christos 	Remove redundant flag BFD_FORT_COMM_DEFAULT_VALUE.  Renumber flags
    199  1.1  christos 	to remove gaps.
    200  1.1  christos 	(bfd_print_symbol_vandf): Return 'i' for BSF_INDIRECT_FUNCTION.
    201  1.1  christos 	(bfd_decode_symclass): Likewise.
    202  1.1  christos 	* elf.c (swap_out_syms): Translate BSF_INDIRECT_FUNCTION into
    203  1.1  christos 	STT_IFUNC.
    204  1.1  christos 	(elf_find_function): Treat STT_IFUNC in the same way as STT_FUNC.
    205  1.1  christos 	(_bfd_elf_is_function_type): Likewise.
    206  1.1  christos 	* elf32-arm.c (arm_elf_find_function): Likewise.
    207  1.1  christos 	(elf32_arm_adjust_dynamic_symbol): Likewise.
    208  1.1  christos 	(elf32_arm_swap_symbol_in): Likewise.
    209  1.1  christos 	(elf32_arm_additional_program_headers): Likewise.
    210  1.1  christos 	* elf32-i386.c (is_indirect_symbol): New function.
    211  1.1  christos 	(elf_i386_check_relocs): Also generate dynamic relocs for
    212  1.1  christos 	relocations against STT_IFUNC symbols.
    213  1.1  christos 	(allocate_dynrelocs): Likewise.
    214  1.1  christos 	(elf_i386_relocate_section): Likewise.
    215  1.1  christos 	* elf64-x86-64.c (is_indirect_symbol): New function.
    216  1.1  christos 	(elf64_x86_64_check_relocs): Also generate dynamic relocs for
    217  1.1  christos 	relocations against STT_IFUNC symbols.
    218  1.1  christos 	(allocate_dynrelocs): Likewise.
    219  1.1  christos 	(elf64_x86_64_relocate_section): Likewise.
    220  1.1  christos 	* elfcode.h (elf_slurp_symbol_table): Translate STT_IFUNC into
    221  1.1  christos 	BSF_INDIRECT_FUNCTION.
    222  1.1  christos 	* elflink.c (_bfd_elf_adjust_dynamic_reloc_section): Add support
    223  1.1  christos 	for STT_IFUNC symbols.
    224  1.1  christos 	(get_ifunc_reloc_section_name): New function.
    225  1.1  christos 	(_bfd_elf_make_ifunc_reloc_section): New function.
    226  1.1  christos 	* elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocs field.
    227  1.1  christos 	* bfd-in2.h: Regenerate.
    228  1.1  christos 
    229  1.1  christos 2008-12-02  Tristan Gingold  <gingold (a] adacore.com>
    230  1.1  christos 
    231  1.1  christos 	* config.bfd: Add x86_64-*-darwin*
    232  1.1  christos 
    233  1.1  christos 2008-11-28  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
    234  1.1  christos 
    235  1.1  christos 	* hpux-core.c: Don't include sys/file.h.
    236  1.1  christos 
    237  1.1  christos 2008-11-28  Joshua Kinard  <kumba (a] gentoo.org>
    238  1.1  christos 
    239  1.1  christos 	* aoutx.h (NAME): Add case statements for bfd_mach_mips14000,
    240  1.1  christos 	bfd_mach_mips16000.
    241  1.1  christos 	* archures.c (bfd_architecture): Add .#defines for bfd_mach_mips14000,
    242  1.1  christos 	bfd_mach_mips16000.
    243  1.1  christos 	* bfd-in2.h: Regenerate.
    244  1.1  christos 	* cpu-mips.c: Add enums I_mips14000, I_mips16000.
    245  1.1  christos 	(arch_info_struct): Add refs to R14000, R16000.
    246  1.1  christos 	* elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips14000,
    247  1.1  christos 	bfd_mach_mips16000.
    248  1.1  christos 	(mips_mach_extensions): Map R14000, R16000 to R10000.
    249  1.1  christos 
    250  1.1  christos 2008-11-27   M R Swami Reddy <MR.Swami.Reddy (a] nsc.com>
    251  1.1  christos 
    252  1.1  christos 	* Add PIC support for CR16 target.
    253  1.1  christos 	* elf32-cr16.c (R_CR16_GOT_REGREL20, R_CR16_GOTC_REGREL20 and
    254  1.1  christos 	R_CR16_GLOB_DAT): New macros
    255  1.1  christos 	(cr16_elf_howto_table): Add entries for for R_CR16_GOT_REGREL20,
    256  1.1  christos 	R_CR16_GOTC_REGREL20 and R_CR16_GLOB_DAT.
    257  1.1  christos 	(cr16_reloc_map): Ditto
    258  1.1  christos 	(_bfd_cr16_elf_create_got_section): New function to create GOT section.
    259  1.1  christos 	(_bfd_cr16_elf_create_dynamic_sections): New function to create dynamic
    260  1.1  christos 	section.
    261  1.1  christos 	(_bfd_cr16_elf_adjust_dynamic_symbol): New function to adjust symbol
    262  1.1  christos 	defined by dynamic object.
    263  1.1  christos 	(_bfd_cr16_elf_size_dynamic_sections): New function to find the size of
    264  1.1  christos 	dynamic sections.
    265  1.1  christos 	(_bfd_cr16_elf_finish_dynamic_symbol): New function to handle dynamic
    266  1.1  christos 	symbols.
    267  1.1  christos 	(_bfd_cr16_elf_finish_dynamic_symbol): New function to handle dynamic
    268  1.1  christos 	sections.
    269  1.1  christos 	(bfd_cr16_elf32_create_embedded_relocs): New function to create
    270  1.1  christos 	embedded relocs in .emreloc section in memory for .data.rel section.
    271  1.1  christos 	(_bfd_cr16_elf_reloc_type_class): New function for classify reloc types.
    272  1.1  christos 	(cr16_elf_check_relocs): New function for checking reloc types in first
    273  1.1  christos 	phase.
    274  1.1  christos 	(cr16_elf_final_link_relocate): Update for handling the new reloc types
    275  1.1  christos 	R_CR16_GOT_REGREL20 and R_CR16_GOTC_REGREL20.
    276  1.1  christos 	(elf32_cr16_relax_section): Update relax implementation.
    277  1.1  christos 	* reloc.c (bfd_reloc_code_type): Add entries for R_CR16_GOT_REGREL20,
    278  1.1  christos 	R_CR16_GOTC_REGREL20 and R_CR16_GLOB_DAT.
    279  1.1  christos 	* bfd-in.h (bfd_boolean bfd_cr16_elf32_create_embedded_relocs): Declared
    280  1.1  christos 	* libbfd.h, bfd-in2.h: Regenerate.
    281  1.1  christos 
    282  1.1  christos 2008-11-26  Alan Modra  <amodra (a] bigpond.net.au>
    283  1.1  christos 
    284  1.1  christos 	PR 7047
    285  1.1  christos 	* configure.in: Bump version.
    286  1.1  christos 	* configure: Regenerate.
    287  1.1  christos 	* elflink.c (_bfd_elf_link_assign_sym_version): Continue matching
    288  1.1  christos 	against version nodes when a global match is a wildcard.  Similarly
    289  1.1  christos 	continue matching on local wildcard matches, rather than only
    290  1.1  christos 	continuing for "*".  Have any global wildcard match override a
    291  1.1  christos 	local wildcard match.  Correct logic hiding unversioned symbol.
    292  1.1  christos 	(bfd_elf_size_dynamic_sections): Update for changes to struct
    293  1.1  christos 	bfd_elf_version_expr.
    294  1.1  christos 
    295  1.1  christos 2008-11-25  Joel Brobecker  <brobecker (a] adacore.com>
    296  1.1  christos 
    297  1.1  christos 	* configure.in: Deactivate large-file support on native x86-solaris
    298  1.1  christos 	as well unless the user explicitly requested it.
    299  1.1  christos 	* configure: Regenerate.
    300  1.1  christos 
    301  1.1  christos 2008-11-25  Joseph Myers  <joseph (a] codesourcery.com>
    302  1.1  christos 
    303  1.1  christos 	* elf32-arm.c (elf32_arm_final_link_relocate): Do not turn
    304  1.1  christos 	branches to undefine weak symbols into branches to the next
    305  1.1  christos 	instruction if creating PLT entries for those symbols.
    306  1.1  christos 
    307  1.1  christos 2008-11-25  Nick Clifton  <nickc (a] redhat.com>
    308  1.1  christos 
    309  1.1  christos 	* elflink.c (is_reloc_section): New function.  Returns true if the
    310  1.1  christos 	given name matches the name of the reloc-containing section
    311  1.1  christos 	associated with the given section.
    312  1.1  christos 	(get_dynamic_reloc_section_name): New function.  Computes the name
    313  1.1  christos 	of the section that contains the dynamic relocs associated with
    314  1.1  christos 	the given section.
    315  1.1  christos 	(_bfd_elf_get_dynamic_reloc_section): New function.  Returns a
    316  1.1  christos 	pointer to the section containing the dynamic relocs associated
    317  1.1  christos 	with the given section.
    318  1.1  christos 	(_bfd_elf_make_dynamic_reloc_section): New function.  Creates a
    319  1.1  christos 	section to contain the dynamic relocs associated with a given
    320  1.1  christos 	section.
    321  1.1  christos 	* elf-bfd.h: Prototype the new functions.
    322  1.1  christos 	* elf-m10300.c (mn10300_elf_check_relocs): Use new functions.
    323  1.1  christos 	(mn10300_elf_final_link_relocs): Likewise.
    324  1.1  christos 	* elf32-arm.c (reloc_section_p): Delete - replaced by new
    325  1.1  christos 	functions.
    326  1.1  christos 	(elf32_arm_final_link_relocate): Use new functions.
    327  1.1  christos 	(elf32_arm_check_relocs): Likewise.
    328  1.1  christos 	* elf32-cris.c (cris_elf_relocate_section): Likewise.
    329  1.1  christos 	(elf_cris_check_relocs): Likewise.
    330  1.1  christos 	* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
    331  1.1  christos 	* elf32-i370.c (i370_elf_check_relocs): Likewise.
    332  1.1  christos 	(i370_elf_relocate_section): Likewise.
    333  1.1  christos 	* elf32-i386.c (elf_i386_check_relocs): Likewise.
    334  1.1  christos 	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
    335  1.1  christos 	(m32r_elf_check_relocs): Likewise.
    336  1.1  christos 	* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
    337  1.1  christos 	* elf32_ppc.c (ppc_elf_check_relocs): Likewise.
    338  1.1  christos 	(ppc_elf_relocate_section): Likewise.
    339  1.1  christos 	* elf32-s390.c (elf_s390_check_relocs): Likewise.
    340  1.1  christos 	* elf32-sh.c (sh_elf_relocate_section): Likewise.
    341  1.1  christos 	(sh_elf_check_relocs): Likewise.
    342  1.1  christos 	* elf32-vax.c (elf_vax_check_relocs): Likewise.
    343  1.1  christos 	(elf_vax_relocate_section): Likewise.
    344  1.1  christos 	* elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
    345  1.1  christos 	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
    346  1.1  christos 	* elf64-s390.c (elf_s390_check_relocs): Likewise.
    347  1.1  christos 	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
    348  1.1  christos 	* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
    349  1.1  christos 	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
    350  1.1  christos 	* elf32-bfin.c (bfin_check_relocs): Remove redundant local
    351  1.1  christos 	variable 'sreloc'.
    352  1.1  christos 	(bfin_relocate_section): Likewise.
    353  1.1  christos 	* elf32-v850.c (v850_elf_check_relocs): Likewise.
    354  1.1  christos 
    355  1.1  christos 2008-11-23  Hans-Peter Nilsson  <hp (a] axis.com>
    356  1.1  christos 
    357  1.1  christos 	Implement TLS for CRIS.
    358  1.1  christos 	* elf32-cris.c: Include limits.h.
    359  1.1  christos 	(TLSHOWTO16): Redefine in terms of and move contents to...
    360  1.1  christos 	(TLSHOWTO16X): New macro.
    361  1.1  christos 	(TLSHOWTO16S, LGOT_REG_NDX, LGOT_DTP_NDX, LGOT_ALLOC_NELTS_FOR)
    362  1.1  christos 	(elf_cris_hash_entry): New macros.
    363  1.1  christos 	(cris_elf_howto_table): Make R_CRIS_16_DTPREL,
    364  1.1  christos 	R_CRIS_16_GOT_TPREL, R_CRIS_16_TPREL check overflow for signed,
    365  1.1  christos 	not unsigned values.
    366  1.1  christos 	(cris_info_to_howto_rela): Make r_type a enum elf_cris_reloc_type,
    367  1.1  christos 	not unsigned int.
    368  1.1  christos 	(struct elf_cris_link_hash_entry): New members reg_got_refcount,
    369  1.1  christos 	tprel_refcount, and dtp_refcount.
    370  1.1  christos 	(struct elf_cris_link_hash_table): New member dtpmod_refcount.
    371  1.1  christos 	(elf_cris_link_hash_newfunc): Initialize new members.
    372  1.1  christos 	(elf_cris_link_hash_table_create): Similar.
    373  1.1  christos 	(cris_final_link_relocate, elf_cris_reloc_type_class): Use a
    374  1.1  christos 	temporary variable when testing the relocation type.
    375  1.1  christos 	(cris_elf_gc_mark_hook): Ditto.  Add default case where needed.
    376  1.1  christos 	(cris_elf_gc_sweep_hook): Ditto.  Handle reference-counting for
    377  1.1  christos 	the new assembly-generated relocs.  Rewrite refcount handling to
    378  1.1  christos 	set temporary variables to pointers to reloc-specific variables
    379  1.1  christos 	and entry size and common code for the update.
    380  1.1  christos 	(additional_relocation_error_msg_count): New variable.
    381  1.1  christos 	(cris_elf_relocate_section): Use a function-local variable srelgot
    382  1.1  christos 	for the .rela.got section instead of looking it up for every need.
    383  1.1  christos 	Make r_type a enum elf_cris_reloc_type, not int.  Actually set
    384  1.1  christos 	symname for non-local symbols.  Handle new assembly-generated
    385  1.1  christos 	relocs.  For overflow, emit additional messages for the new 16-bit
    386  1.1  christos 	relocs as well as R_CRIS_16_GOTPLT and R_CRIS_16_GOT.
    387  1.1  christos 	(elf_cris_finish_dynamic_symbol): Use elf_cris_finish_dynamic_symbol
    388  1.1  christos 	instead of plain casts.  Check new hash entry member
    389  1.1  christos 	reg_got_refcount when checking whether to emit a GOT entry.
    390  1.1  christos 	(elf_cris_finish_dynamic_sections): Update head comment to warn
    391  1.1  christos 	about emitting relocs here.  Use a temporary variable when testing
    392  1.1  christos 	the relocation type.
    393  1.1  christos 	(elf_cris_discard_excess_program_dynamics)
    394  1.1  christos 	(elf_cris_adjust_gotplt_to_got): Handle reference counting change
    395  1.1  christos 	regarding h->reg_got_refcount.
    396  1.1  christos 	(cris_elf_check_relocs): Rewrite refcount handling to set
    397  1.1  christos 	temporary variables and entry size and common code for the update
    398  1.1  christos 	for local symbols.  Use new macro elf_cris_hash_entry.  Adjust
    399  1.1  christos 	allocation for change in reference counting of GOT entries for
    400  1.1  christos 	local symbols.
    401  1.1  christos 	(elf_cris_size_dynamic_sections): Adjust calculated size of
    402  1.1  christos 	.got.plt and .rela.got if we need a GOT entry for a
    403  1.1  christos 	R_CRIS_DTPMOD relocation.
    404  1.1  christos 	(elf_cris_got_elt_size): New function.
    405  1.1  christos 	(elf_backend_got_elt_size): Define.
    406  1.1  christos 
    407  1.1  christos 2008-11-21  Sterling Augustine  <sterling (a] tensilica.com>
    408  1.1  christos 
    409  1.1  christos 	* xtensa-isa.c (xtensa_state_is_shared_or): New function.
    410  1.1  christos 
    411  1.1  christos 2008-11-21  Hans-Peter Nilsson  <hp (a] axis.com>
    412  1.1  christos 
    413  1.1  christos 	* elf-bfd.h (struct elf_backend_data): New member got_elt_size.
    414  1.1  christos 	(_bfd_elf_default_got_elt_size): Declare.
    415  1.1  christos 	* elflink.c (struct alloc_got_off_arg): Replace member got_elt_size
    416  1.1  christos 	by new member info.
    417  1.1  christos 	(elf_gc_allocate_got_offsets): Adjust for calling bed->got_elt_size
    418  1.1  christos 	to get the element size instead of using a gofarg entry.
    419  1.1  christos 	(bfd_elf_gc_common_finalize_got_offsets): Similar.
    420  1.1  christos 	(_bfd_elf_default_got_elt_size): New function.
    421  1.1  christos 	* elfxx-target.h: New macro elf_backend_got_elt_size.
    422  1.1  christos 	(elfNN_bed): Use it.
    423  1.1  christos 
    424  1.1  christos 2008-11-20  Tristan Gingold  <gingold (a] adacore.com>
    425  1.1  christos 
    426  1.1  christos 	* bfdwin.c: Fix comment.
    427  1.1  christos 
    428  1.1  christos 2008-11-20  Tristan Gingold  <gingold (a] adacore.com>
    429  1.1  christos 
    430  1.1  christos 	* bfd.c (is32bit): Use architecture information for non-ELF
    431  1.1  christos 	targets.
    432  1.1  christos 
    433  1.1  christos 2008-11-20  Alan Modra  <amodra (a] bigpond.net.au>
    434  1.1  christos 
    435  1.1  christos 	* elf32-ppc.c (allocate_dynrelocs): Always use tlsld_got for
    436  1.1  christos 	TLS_LD even when symbol is used with other TLS reloc types.
    437  1.1  christos 	(ppc_elf_relocate_section): Bypass symbol checks when using tlsld_got.
    438  1.1  christos 	Leave addend zero on LD DTPMOD dynamic reloc.
    439  1.1  christos 
    440  1.1  christos 2008-11-19  Bob Wilson  <bob.wilson (a] acm.org>
    441  1.1  christos 
    442  1.1  christos 	* xtensa-modules.c (sysregs): Add MMID, VECBASE, EPC5, EPC6, EPC7,
    443  1.1  christos 	EXCSAVE5, EXCSAVE6, EXCSAVE7, EPS5, EPS6, EPS7, CPENABLE,
    444  1.1  christos 	SCOMPARE1, and THREADPTR registers.
    445  1.1  christos 	(NUM_SYSREGS, MAX_USER_REG): Update.
    446  1.1  christos 	(states): Change width of INTERRUPT, WindowBase, WindowStart, and
    447  1.1  christos 	INTENABLE.  Add VECBASE, EPC5, EPC6, EPC7, EXCSAVE5, EXCSAVE6,
    448  1.1  christos 	EXCSAVE7, EPS6, EPS6, EPS7, THREADPTR, CPENABLE, and SCOMPARE1 states.
    449  1.1  christos 	(NUM_STATES): Update.
    450  1.1  christos 	(enum xtensa_state_id): Add entries for new states.
    451  1.1  christos 	(enum xtensa_field_id): Add entries for xt_wbr15_imm and xt_wbr18_imm
    452  1.1  christos 	fields, along with functions to extract and set them.
    453  1.1  christos 	(regfiles): Change number of AR registers to 32.
    454  1.1  christos 	(Operand_ar0_encode, Operand_ar4_encode, Operand_ar8_encode,
    455  1.1  christos 	Operand_ar12_encode, Operand_ars_entry_encode): Update register mask.
    456  1.1  christos 	(operands): Add entries for tp7, xt_wbr15_label, xt_wbr18_label,
    457  1.1  christos 	xt_wbr15_imm, and xt_wbr18_imm operands, along with functions to
    458  1.1  christos 	encode and decode them.
    459  1.1  christos 	(enum xtensa_operand_id): Add entries for new operands.
    460  1.1  christos 	(Iclass_xt_iclass_rfi_stateArgs): Add EPC5, EPC6, EPC7, EPS5, EPS6, and
    461  1.1  christos 	EPC7 states.
    462  1.1  christos 	(Iclass_xt_iclass_rfdo_stateArgs): Replace EPC4 and EPS4 by EPC6 and
    463  1.1  christos 	EPS6, respectively.
    464  1.1  christos 	(iclasses): Add entries for rur_threadptr, wur_threadptr,
    465  1.1  christos 	xt_iclass_wsr_176, xt_iclass_rsr_epc5, xt_iclass_wsr_epc5,
    466  1.1  christos 	xt_iclass_xsr_epc5, xt_iclass_rsr_excsave5, xt_iclass_wsr_excsave5,
    467  1.1  christos 	xt_iclass_xsr_excsave5, xt_iclass_rsr_epc6, xt_iclass_wsr_epc6,
    468  1.1  christos 	xt_iclass_xsr_epc6, xt_iclass_rsr_excsave6, xt_iclass_wsr_excsave6,
    469  1.1  christos 	xt_iclass_xsr_excsave6, xt_iclass_rsr_epc7, xt_iclass_wsr_epc7,
    470  1.1  christos 	xt_iclass_xsr_epc7, xt_iclass_rsr_excsave7, xt_iclass_wsr_excsave7,
    471  1.1  christos 	xt_iclass_xsr_excsave7, xt_iclass_rsr_eps5, xt_iclass_wsr_eps5,
    472  1.1  christos 	xt_iclass_xsr_eps5, xt_iclass_rsr_eps6, xt_iclass_wsr_eps6,
    473  1.1  christos 	xt_iclass_xsr_eps6, xt_iclass_rsr_eps7, xt_iclass_wsr_eps7,
    474  1.1  christos 	xt_iclass_xsr_eps7, xt_iclass_rsr_vecbase, xt_iclass_wsr_vecbase,
    475  1.1  christos 	xt_iclass_xsr_vecbase, xt_iclass_mul16, xt_iclass_wsr_mmid,
    476  1.1  christos 	xt_iclass_icache_lock, xt_iclass_dcache_lock, xt_iclass_rsr_cpenable,
    477  1.1  christos 	xt_iclass_wsr_cpenable, xt_iclass_xsr_cpenable, xt_iclass_clamp,
    478  1.1  christos 	xt_iclass_minmax, xt_iclass_sx, xt_iclass_l32ai, xt_iclass_s32ri,
    479  1.1  christos 	xt_iclass_s32c1i, xt_iclass_rsr_scompare1, xt_iclass_wsr_scompare1,
    480  1.1  christos 	xt_iclass_xsr_scompare1, xt_iclass_div, and xt_iclass_mul32, along
    481  1.1  christos 	with corresponding argument and state argument arrays.  Change
    482  1.1  christos 	number of state arguments for xt_iclass_rfi.  Add arguments for
    483  1.1  christos 	xt_iclass_rfdo.
    484  1.1  christos 	(enum xtensa_iclass_id): Add entries for new iclasses.
    485  1.1  christos 	(opcodes): Add entries for RUR_THREADPTR, WUR_THREADPTR, WSR_176,
    486  1.1  christos 	RSR_EPC5, WSR_EPC5, XSR_EPC5, RSR_EXCSAVE5, WSR_EXCSAVE5, XSR_EXCSAVE5,
    487  1.1  christos 	RSR_EPC6, WSR_EPC6, XSR_EPC6, RSR_EXCSAVE6, WSR_EXCSAVE6, XSR_EXCSAVE6,
    488  1.1  christos 	RSR_EPC7, WSR_EPC7, XSR_EPC7, RSR_EXCSAVE7, WSR_EXCSAVE7, XSR_EXCSAVE7,
    489  1.1  christos 	RSR_EPS5, WSR_EPS5, XSR_EPS5, RSR_EPS6, WSR_EPS6, XSR_EPS6, RSR_EPS7,
    490  1.1  christos 	WSR_EPS7, XSR_EPS7, RSR_VECBASE, WSR_VECBASE, XSR_VECBASE, MUL16U,
    491  1.1  christos 	MUL16S, WSR_MMID, IPFL, IHU, IIU, DPFL, DHU, DIU, RSR_CPENABLE,
    492  1.1  christos 	WSR_CPENABLE, XSR_CPENABLE, CLAMPS, MIN, MAX, MINU, MAXU, SEXT, L32AI,
    493  1.1  christos 	S32RI, S32C1I, RSR_SCOMPARE1, WSR_SCOMPARE1, XSR_SCOMPARE1, QUOU, QUOS,
    494  1.1  christos 	REMU, REMS, and MULL opcodes, along with the corresponding functions
    495  1.1  christos 	to encode them.
    496  1.1  christos 	(enum xtensa_opcode_id): Add entries for new opcodes.
    497  1.1  christos 	(Slot_inst_decode): Handle new opcodes.
    498  1.1  christos 	(Slot_inst_get_field_fns, Slot_inst_set_field_fns): Add entries for
    499  1.1  christos 	xt_wbr15_imm and xt_wbr18_imm fields.
    500  1.1  christos 	(Slot_inst16a_get_field_fns, Slot_inst16a_set_field_fns): Likewise.
    501  1.1  christos 	(Slot_inst16b_get_field_fns, Slot_inst16b_set_field_fns): Likewise.
    502  1.1  christos 	(xtensa_modules): Update number of fields, operands, iclasses and
    503  1.1  christos 	opcodes.
    504  1.1  christos 
    505  1.1  christos 2008-11-19  Nix  <nix (a] esperi.org.uk>
    506  1.1  christos 
    507  1.1  christos 	* elf.c (swap_out_syms) [USE_STT_COMMON]: Fix syntax error.
    508  1.1  christos 
    509  1.1  christos 2008-11-19  Nick Clifton  <nickc (a] redhat.com>
    510  1.1  christos 
    511  1.1  christos 	PR 7027
    512  1.1  christos 	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Treat WPLT30 relocs
    513  1.1  christos 	against local symbols in 64-bit binaries as if they were WDISP30
    514  1.1  christos 	relocs.
    515  1.1  christos 	(_bfd_sparc_elf_relocate_section): Likewise.
    516  1.1  christos 
    517  1.1  christos 2008-11-18  Catherine Moore  <clm (a] codesourcery.com>
    518  1.1  christos 
    519  1.1  christos 	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge
    520  1.1  christos 	half-precision attributes.
    521  1.1  christos 	(elf32_arm_copy_one_eabi_other_attribute): New.
    522  1.1  christos 	(elf32_arm_copy_other_attribute_list): New.
    523  1.1  christos 
    524  1.1  christos 2008-11-18  Nick Clifton  <nickc (a] redhat.com>
    525  1.1  christos 
    526  1.1  christos 	* dwarf2.c (read_section): Fix formatting.
    527  1.1  christos 	(read_n_bytes): Remove unhelpful comment.
    528  1.1  christos 	(read_indirect_string): Pass symbol table to read_section in case
    529  1.1  christos 	the .debug_str section needs relocating.
    530  1.1  christos 
    531  1.1  christos 	PR 7037
    532  1.1  christos 	* elf32-cr16.c (cr16_elf_howto_table): Zero the src_mask field of
    533  1.1  christos 	the reloc descriptions.
    534  1.1  christos 
    535  1.1  christos 2008-11-14  Eric B. Weddington  <eric.weddington (a] atmel.com>
    536  1.1  christos 
    537  1.1  christos 	PR 7022
    538  1.1  christos 	* elf32-avr.c (bfd_elf_avr_final_write_processing):
    539  1.1  christos 	Add missing break statements.
    540  1.1  christos 
    541  1.1  christos 2008-11-14  Bob Wilson  <bob.wilson (a] acm.org>
    542  1.1  christos 
    543  1.1  christos 	* xtensa-modules.c (xtensa_state_id): New enum, replacing STATE macros.
    544  1.1  christos 	(xtensa_field_id, xtensa_regfile_id, xtensa_operand_id)
    545  1.1  christos 	(xtensa_iclass_id, xtensa_opcode_id): New enums.
    546  1.1  christos 	Replace hardcoded constants throughout this file with enum values.
    547  1.1  christos 
    548  1.1  christos 2008-11-14  Nathan Sidwell  <nathan (a] codesourcery.com>
    549  1.1  christos 
    550  1.1  christos 	* elf.c (assign_file_positions_for_load_sections): Use header_size
    551  1.1  christos 	to avoid moving the load address of file headers.
    552  1.1  christos 	(assign_file_positions_for_load_sections): Set header_size for
    553  1.1  christos 	segments containing the file header.
    554  1.1  christos 
    555  1.1  christos 2008-11-14  Tristan Gingold  <gingold (a] adacore.com>
    556  1.1  christos 
    557  1.1  christos 	* configure.com: Handle bfd_default_target_size, BFD_HOST_LONG_LONG,
    558  1.1  christos 	BFD_HOST_64BIT_LONG_LONG, BFD_HOSTPTR_T, bfd_file_ptr.
    559  1.1  christos 	Generate bfdver.h.
    560  1.1  christos 	* vms-hdr.c (_bfd_vms_write_hdr): Use strdup/free instead of alloca.
    561  1.1  christos 	* hosts/alphavms.h: Defines macros to bypass i18n.
    562  1.1  christos 	* makefile.vms (OBJS): Update file list.
    563  1.1  christos 	(DEFS): Remove VMS_DEBUG, const, add DEBUGDIR.
    564  1.1  christos 	(CFLAGS): Update flags.
    565  1.1  christos 	* bfdio.c (real_fopen): Add code specific to VMS: extract attributes
    566  1.1  christos 	from modes.
    567  1.1  christos 
    568  1.1  christos 2008-11-13  Joel Brobecker  <brobecker (a] adacore.com>
    569  1.1  christos 
    570  1.1  christos 	* configure.in: Deactivate large-file support on native 32bit
    571  1.1  christos 	sparc-solaris unless the user explicitly requested it.
    572  1.1  christos 	* configure: Regenerate.
    573  1.1  christos 
    574  1.1  christos 2008-11-13  Hans-Peter Nilsson  <hp (a] axis.com>
    575  1.1  christos 
    576  1.1  christos 	PR ld/7028
    577  1.1  christos 	* elf.c (assign_file_positions_for_load_sections): Allocate phrds
    578  1.1  christos 	with bfd_zalloc2 instead of bfd_alloc2.  For the amount, use
    579  1.1  christos 	the possibly-preset header-size, not the computed one.
    580  1.1  christos 
    581  1.1  christos 2008-11-13  Alan Modra  <amodra (a] bigpond.net.au>
    582  1.1  christos 
    583  1.1  christos 	PR 7023
    584  1.1  christos 	* elf.c (bfd_section_from_shdr <SHT_SYMTAB>): Fail on invalid sh_info.
    585  1.1  christos 
    586  1.1  christos 2008-11-11  Alan Modra  <amodra (a] bigpond.net.au>
    587  1.1  christos 
    588  1.1  christos 	* elf.c (assign_file_positions_for_non_load_sections): Consolidate
    589  1.1  christos 	PT_GNU_RELRO handling.
    590  1.1  christos 
    591  1.1  christos 2008-11-11  Alan Modra  <amodra (a] bigpond.net.au>
    592  1.1  christos 
    593  1.1  christos 	PR 7012
    594  1.1  christos 	* dwarf2.c (find_line): Don't keep stale pointers into realloc'd
    595  1.1  christos 	memory.  Return on errors.  Fix memory leak.
    596  1.1  christos 	(_bfd_dwarf2_cleanup_debug_info): Free dwarf_str_buffer.
    597  1.1  christos 
    598  1.1  christos 2008-11-10  Andreas Schwab  <schwab (a] suse.de>
    599  1.1  christos 
    600  1.1  christos 	PR 7011
    601  1.1  christos 	* elf.c (assign_file_positions_for_non_load_sections): Handle
    602  1.1  christos 	PT_GNU_RELRO specially.
    603  1.1  christos 
    604  1.1  christos 2008-11-06  Joel Sherrill <joel.sherrill (a] oarcorp.com>
    605  1.1  christos 
    606  1.1  christos 	* config.bfd: Add m32c-*-rtems* and m32r-*-rtems*.
    607  1.1  christos 
    608  1.1  christos 2008-11-06  Tom Tromey  <tromey (a] redhat.com>
    609  1.1  christos 
    610  1.1  christos 	* configure, config.in: Rebuild.
    611  1.1  christos 	* configure.in: Check for fileno.
    612  1.1  christos 	* bfdio.c (close_on_exec): New function.
    613  1.1  christos 	(real_fopen): Use it.
    614  1.1  christos 	(FD_CLOEXEC): New define.
    615  1.1  christos 
    616  1.1  christos 2008-11-06  Tristan Gingold  <gingold (a] adacore.com>
    617  1.1  christos 
    618  1.1  christos 	* mach-o.h (BFD_MACH_O_NO_SECT): Add; reorders the macros.
    619  1.1  christos 	(BFD_MACH_O_SYM_NTYPE, BFD_MACH_O_SYM_NSECT,
    620  1.1  christos 	BFD_MACH_O_SYM_NDESC): New macros.
    621  1.1  christos 	(bfd_mach_o_i386_thread_flavour): Define according to the latest
    622  1.1  christos 	definition from system header.
    623  1.1  christos 	(bfd_mach_o_load_command_type): Add BFD_MACH_O_LC_RPATH,
    624  1.1  christos 	BFD_MACH_O_LC_CODE_SIGNATURE.
    625  1.1  christos 	(BFD_MACH_O_SECTION_TYPE_MASK, BFD_MACH_O_SECTION_ATTRIBUTES_MASK,
    626  1.1  christos 	BFD_MACH_O_SECTION_ATTRIBUTES_SYS, BFD_MACH_O_SECTION_ATTRIBUTES_USR,
    627  1.1  christos 	BFD_MACH_O_S_ATTR_LOC_RELOC, BFD_MACH_O_S_ATTR_EXT_RELOC,
    628  1.1  christos 	BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS, BFD_MACH_O_S_ATTR_DEBUG,
    629  1.1  christos 	BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS): Add.
    630  1.1  christos 	(bfd_mach_o_segment_command): Add room for a nul terminator in
    631  1.1  christos 	segname field.
    632  1.1  christos 	(BFD_MACH_O_PROT_READ, BFD_MACH_O_PROT_WRITE,
    633  1.1  christos 	BFD_MACH_O_PROT_EXECUTE): Add.
    634  1.1  christos 	(INDIRECT_SYMBOL_LOCAL): Renames to BFD_MACH_O_INDIRECT_SYMBOL_LOCAL.
    635  1.1  christos 	(INDIRECT_SYMBOL_ABS): Renames to BFD_MACH_O_INDIRECT_SYMBOL_ABS.
    636  1.1  christos 	(bfd_mach_o_uuid_command): Add the structure.
    637  1.1  christos 	(bfd_mach_o_load_command): Add uuid field.
    638  1.1  christos 	(bfd_get_mach_o_data): New macro.
    639  1.1  christos 	* mach-o.c (bfd_mach_o_bfd_print_private_bfd_data): New function which
    640  1.1  christos 	replaces the macro.
    641  1.1  christos 	(SECTION_TYPE, SECTION_ATTRIBUTES, SECTION_ATTRIBUTES_USR,
    642  1.1  christos 	S_ATTR_PURE_INSTRUCTIONS, SECTION_ATTRIBUTES_SYS,
    643  1.1  christos 	S_ATTR_SOME_INSTRUCTIONS, S_ATTR_EXT_RELOC, S_ATTR_LOC_RELOC): Renamed
    644  1.1  christos 	and moved to mach-o.h.
    645  1.1  christos 	(N_STAB, N_TYPE, N_EXT, N_UNDF, N_ABS, N_TEXT, N_DATA, N_BSS,
    646  1.1  christos 	N_SECT, N_INDR): Removed as they duplicated macros in mach-o.h.
    647  1.1  christos 	(bfd_mach_o_print_symbol): Print much more details.
    648  1.1  christos 	(bfd_mach_o_make_bfd_section): Add prot argument, use canonical
    649  1.1  christos 	dwarf name for dwarf sections.  Precisely set section flags.
    650  1.1  christos 	(bfd_mach_o_scan_read_section_32): Add prot argument.
    651  1.1  christos 	(bfd_mach_o_scan_read_section_64): Ditto.
    652  1.1  christos 	(bfd_mach_o_scan_read_section): Ditto.
    653  1.1  christos 	(bfd_mach_o_scan_read_symtab_symbol): Set section for debugging
    654  1.1  christos 	stabs, set BSF_GLOBAL and LOCAL flags correctly.  Fix section
    655  1.1  christos 	for N_SECT symbols.
    656  1.1  christos 	(bfd_mach_o_i386_flavour_string): Reindent and adjust for new
    657  1.1  christos 	names.
    658  1.1  christos 	(bfd_mach_o_scan_read_symtab): Set HAS_SYMS flags on bfd if there
    659  1.1  christos 	are symbols.
    660  1.1  christos 	(bfd_mach_o_scan_read_uuid): New function.
    661  1.1  christos 	(bfd_mach_o_scan_read_segment): Add a trailing nul.  Segments
    662  1.1  christos 	flags are now simply HAS_CONTENTS.  Pass protection to
    663  1.1  christos 	bfd_mach_o_scan_read_section.
    664  1.1  christos 	(bfd_mach_o_scan_read_command): Decode UUID command.
    665  1.1  christos 	(bfd_mach_o_flatten_sections): Add comments.  Fix flavour names.
    666  1.1  christos 	(bfd_mach_o_scan): Set flags according to file type.
    667  1.1  christos 	(mach_o_fat_archentry): Remove abfd field.
    668  1.1  christos 	(bfd_mach_o_archive_p): Remove initialization of abfd field.
    669  1.1  christos 	(bfd_mach_o_openr_next_archived_file): Find previous archive
    670  1.1  christos 	by position and not by bfd (as former bfds may have been freed).
    671  1.1  christos 	Give architecture name to archived file.
    672  1.1  christos 	* mach-o-target.c (TARGET_NAME): Use generic archive for non fat
    673  1.1  christos 	targets.
    674  1.1  christos 
    675  1.1  christos 2008-10-30  Jay Krell  <jay.krell (a] cornell.edu>
    676  1.1  christos 
    677  1.1  christos 	* cache.c (cache_bread): Cast void * pointer before performing
    678  1.1  christos 	arithmetic on it.
    679  1.1  christos 
    680  1.1  christos 2008-10-20  Alan Modra  <amodra (a] bigpond.net.au>
    681  1.1  christos 
    682  1.1  christos 	* elf64-ppc.c (ppc64_elf_process_dot_syms): Renamed from
    683  1.1  christos 	ppc64_elf_check_directives.
    684  1.1  christos 	* elf32-sh-symbian.c (sh_symbian_process_directives): Combine..
    685  1.1  christos 	(sh_symbian_check_directives): ..this
    686  1.1  christos 	(bfd_elf32_sh_symbian_process_directives) ..and this function.
    687  1.1  christos 
    688  1.1  christos 2008-10-20  Alan Modra  <amodra (a] bigpond.net.au>
    689  1.1  christos 
    690  1.1  christos 	* elflink.c (bfd_elf_final_link): Move code reading relocs to..
    691  1.1  christos 	* elf32-spu.c (spu_elf_count_relocs): ..here.  Adjust params.
    692  1.1  christos 	* elf-bfd.h (struct elf_backend_data): Update elf_backend_count_relocs
    693  1.1  christos 	params.
    694  1.1  christos 
    695  1.1  christos 2008-10-20  Alan Modra  <amodra (a] bigpond.net.au>
    696  1.1  christos 
    697  1.1  christos 	* elflink.c (bfd_elf_final_link): Use d_ptr rather than d_val
    698  1.1  christos 	where Elf_Internal_Dyn holds an address.
    699  1.1  christos 
    700  1.1  christos 2008-10-10  Nathan Froyd  <froydnj (a] codesourcery.com>
    701  1.1  christos 
    702  1.1  christos 	* elf32-ppc.c (ppc_elf_merge_obj_attributes): Merge
    703  1.1  christos 	Tag_GNU_Power_ABI_Struct_Return.
    704  1.1  christos 
    705  1.1  christos 2008-10-09  Kai Tietz  <kai.tietz (a] onevision.com>
    706  1.1  christos 
    707  1.1  christos 	* cofflink.c (_bfd_coff_generic_relocate_section): Dump bfd_vma
    708  1.1  christos 	sized addresses instead of long sized.
    709  1.1  christos 
    710  1.1  christos 2008-10-09  Alan Modra  <amodra (a] bigpond.net.au>
    711  1.1  christos 
    712  1.1  christos 	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't attempt to
    713  1.1  christos 	read plt relocs if no dynamic syms.
    714  1.1  christos 
    715  1.1  christos 2008-10-08  Nick Clifton  <nickc (a] redhat.com>
    716  1.1  christos 
    717  1.1  christos 	* configure.in (ALL_LINGUAS): Add "id".
    718  1.1  christos 	* configure: Regenerate.
    719  1.1  christos 	* po/id.po: New Indonesian translation.
    720  1.1  christos 
    721  1.1  christos 2008-10-08  Alan Modra  <amodra (a] bigpond.net.au>
    722  1.1  christos 
    723  1.1  christos 	* elf.c (assign_file_positions_for_load_sections): When checking
    724  1.1  christos 	a segment for contents, don't assume that a non-TLS nobits section
    725  1.1  christos 	must only be followed by nobits sections.
    726  1.1  christos 
    727  1.1  christos 2008-10-04  Hans-Peter Nilsson  <hp (a] axis.com>
    728  1.1  christos 
    729  1.1  christos 	* elf32-cris.c (TLSHOWTO32, TLSHOWTO16): New macros.
    730  1.1  christos 	(cris_elf_howto_table): Add entries for R_CRIS_32_GOT_GD,
    731  1.1  christos 	R_CRIS_16_GOT_GD, R_CRIS_32_GD, R_CRIS_DTP, R_CRIS_32_DTPREL,
    732  1.1  christos 	R_CRIS_16_DTPREL, R_CRIS_DTPMOD, R_CRIS_32_GOT_TPREL,
    733  1.1  christos 	R_CRIS_16_GOT_TPREL,  R_CRIS_32_TPREL,  R_CRIS_16_TPREL.
    734  1.1  christos 	(cris_reloc_map): Similarly.
    735  1.1  christos 	* reloc.c (bfd_reloc_code_type): Add entries for
    736  1.1  christos 	BFD_RELOC_CRIS_32_GOT_GD, BFD_RELOC_CRIS_16_GOT_GD,
    737  1.1  christos 	BFD_RELOC_CRIS_32_GD, BFD_RELOC_CRIS_DTP,
    738  1.1  christos 	BFD_RELOC_CRIS_32_DTPREL, BFD_RELOC_CRIS_16_DTPREL,
    739  1.1  christos 	BFD_RELOC_CRIS_DTPMOD, BFD_RELOC_CRIS_32_GOT_TPREL,
    740  1.1  christos 	BFD_RELOC_CRIS_16_GOT_TPREL, BFD_RELOC_CRIS_32_TPREL,
    741  1.1  christos 	BFD_RELOC_CRIS_16_TPREL.
    742  1.1  christos 	* libbfd.h, bfd-in2.h: Regenerate.
    743  1.1  christos 
    744  1.1  christos 2008-10-03  Alan Modra  <amodra (a] bigpond.net.au>
    745  1.1  christos 
    746  1.1  christos 	PR 6931
    747  1.1  christos 	* elf.c (bfd_elf_set_group_contents): Assign sh_info for ld -r when
    748  1.1  christos 	the signature symbol is global.
    749  1.1  christos 	* elflink.c (elf_link_input_bfd): Ensure group signature symbol
    750  1.1  christos 	is output when ld -r.  Set group sh_info when local.
    751  1.1  christos 	* linker.c (default_indirect_link_order): Handle group sections
    752  1.1  christos 	specially.
    753  1.1  christos 
    754  1.1  christos 2008-09-30  Wesley W. Terpstra  <wesley (a] terpstra.ca>
    755  1.1  christos 	    Nick Clifton  <nickc (a] redhat.com>
    756  1.1  christos 
    757  1.1  christos 	* coffgen.c (coff_write_symbols): Check to see if a symbol's flags
    758  1.1  christos 	do not match it class and if necessary update the class.
    759  1.1  christos 	(null_error_handler): New function.  Suppresses the generation of
    760  1.1  christos 	bfd error messages.
    761  1.1  christos 	* coff64-rs6000.c (bfd_xcoff_backend_data): Update comment.
    762  1.1  christos 
    763  1.1  christos 2008-09-30  Alan Modra  <amodra (a] bigpond.net.au>
    764  1.1  christos 
    765  1.1  christos 	* Makefile.am: Run "make dep-am".
    766  1.1  christos 	* Makefile.in: Regenerate.
    767  1.1  christos 
    768  1.1  christos 2008-09-30  Alan Modra  <amodra (a] bigpond.net.au>
    769  1.1  christos 
    770  1.1  christos 	* elflink.c (elf_link_add_object_symbols): Don't ignore returned
    771  1.1  christos 	value of check_directives.
    772  1.1  christos 
    773  1.1  christos 2008-09-29  Peter O'Gorman  <pogma (a] thewrittenword.com>
    774  1.1  christos 	    Steve Ellcey  <sje (a] cup.hp.com>
    775  1.1  christos 
    776  1.1  christos 	* configure: Regenerate for new libtool.
    777  1.1  christos 	* aclocal.m4: Ditto.
    778  1.1  christos 	* Makefile.in: Ditto.
    779  1.1  christos 	* doc/Makefile.in: Ditto.
    780  1.1  christos 
    781  1.1  christos 2008-09-29  Alan Modra  <amodra (a] bigpond.net.au>
    782  1.1  christos 
    783  1.1  christos 	PR 6789
    784  1.1  christos 	* elf.c (assign_file_positions_for_load_sections): Call
    785  1.1  christos 	_bfd_elf_map_sections_to_segments, not elf_modify_segment_map.
    786  1.1  christos 	(get_program_header_size): Protect against NULL info.
    787  1.1  christos 	(_bfd_elf_map_sections_to_segments): Likewise.
    788  1.1  christos 	* elf32-spu.c (spu_elf_additional_program_headers): Likewise.
    789  1.1  christos 
    790  1.1  christos 2008-09-29  Nick Clifton  <nickc (a] redhat.com>
    791  1.1  christos 
    792  1.1  christos 	* po/vi.po: Updated Vietnamese translation.
    793  1.1  christos 
    794  1.1  christos 2008-09-28  Alan Modra  <amodra (a] bigpond.net.au>
    795  1.1  christos 
    796  1.1  christos 	* elf.c (_bfd_elf_init_private_section_data): Tweak union copy.
    797  1.1  christos 	(bfd_section_from_shdr): Don't change SHT_GROUP section name.
    798  1.1  christos 	* elflink.c (section_signature): New function.
    799  1.1  christos 	(_bfd_elf_section_already_linked): Use it.
    800  1.1  christos 
    801  1.1  christos 2008-09-19  Alan Modra  <amodra (a] bigpond.net.au>
    802  1.1  christos 
    803  1.1  christos 	* elf32-ppc.c (ppc_elf_finish_dynamic_sections): Handle vxworks
    804  1.1  christos 	_GLOBAL_OFFSET_TABLE_ in .got.plt section.  Add BFD_ASSERTs.
    805  1.1  christos 
    806  1.1  christos 2008-09-17  Bob Wilson  <bob.wilson (a] acm.org>
    807  1.1  christos 
    808  1.1  christos 	* elf32-xtensa.c (elf_xtensa_check_relocs): Check for negative
    809  1.1  christos 	refcount.
    810  1.1  christos 
    811  1.1  christos 2008-09-17  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    812  1.1  christos 
    813  1.1  christos 	PR 6893 - Do not consider FDEs for discarded sections as invalid.
    814  1.1  christos 	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): New REQUIRE_CLEARED_RELOCS.
    815  1.1  christos 	Consider FDEs with cleared relocations as valid and ignorable.
    816  1.1  christos 
    817  1.1  christos 2008-09-16  H.J. Lu  <hongjiu.lu (a] intel.com>
    818  1.1  christos 
    819  1.1  christos 	PR ld/6877
    820  1.1  christos 	* elflink.c (_bfd_elf_merge_symbol): Allow a common symbol to
    821  1.1  christos 	override the function in a shared library.
    822  1.1  christos 
    823  1.1  christos 2008-09-16  Alan Modra  <amodra (a] bigpond.net.au>
    824  1.1  christos 
    825  1.1  christos 	PR 6844
    826  1.1  christos 	* elf32-ppc.c (SYM_VAL): Define.  Use throughout to find symbol vma.
    827  1.1  christos 	(ppc_elf_relocate_section): Correct GOT offset calculation.
    828  1.1  christos 	(ppc_elf_finish_dynamic_symbol): Use PPC_HA and PPC_LO.
    829  1.1  christos 	(ppc_elf_finish_dynamic_sections): Likewise.  Error if
    830  1.1  christos 	htab->elf.hgot symbol is not defined in htab->got section.
    831  1.1  christos 
    832  1.1  christos 2008-09-16  Alan Modra  <amodra (a] bigpond.net.au>
    833  1.1  christos 
    834  1.1  christos 	PR 6888
    835  1.1  christos 	* elf32-ppc.c (ppc_elf_relocate_section): Handle NULL symbol section
    836  1.1  christos 	on R_PPC_TOC16, R_PPC_SDAREL16, R_PPC_EMB_SDA2REL, R_PPC_EMB_SDA21,
    837  1.1  christos 	R_PPC_EMB_RELSDA, R_PPC_SECTOFF* relocs.
    838  1.1  christos 
    839  1.1  christos 2008-09-11  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    840  1.1  christos 
    841  1.1  christos 	Fix loading large elf64 binaries on 32bit hosts.
    842  1.1  christos 	* configure.in: Call AC_SYS_LARGEFILE.
    843  1.1  christos 	* config.in: Regenerate.
    844  1.1  christos 	* configure: Regenerate.
    845  1.1  christos 
    846  1.1  christos 2008-09-08  Tom Tromey  <tromey (a] redhat.com>
    847  1.1  christos 
    848  1.1  christos 	* elfxx-mips.c (mips16_stub_symndx) <sec>: Mark argument as
    849  1.1  christos 	unused.
    850  1.1  christos 
    851  1.1  christos 2008-09-08  H.J. Lu  <hongjiu.lu (a] intel.com>
    852  1.1  christos 	    Daniel Jacobowitz  <dan (a] codesourcery.com>
    853  1.1  christos 
    854  1.1  christos 	PR ld/3191
    855  1.1  christos 	* dwarf2.c (struct adjusted_section): Renamed from struct
    856  1.1  christos 	loadable_section.
    857  1.1  christos 	(struct dwarf2_debug): Adjust for renaming.  Add version field.
    858  1.1  christos 	(read_attribute_value): Correctly handle DW_FORM_ref_addr for
    859  1.1  christos 	DWARF3.
    860  1.1  christos 	(find_abstract_instance_name): Pass a pointer to
    861  1.1  christos 	attribute instead of offset.  For DW_FORM_ref_addr, get the
    862  1.1  christos 	entry at the offset from the .debug_info section.
    863  1.1  christos 	(scan_unit_for_symbols): Update.
    864  1.1  christos 	(parse_comp_unit): Allow DWARF3.  Save the version.
    865  1.1  christos 	(unset_sections): Update for renaming.
    866  1.1  christos 	(place_sections): Likewise.  Set new VMAs for DWARF sections
    867  1.1  christos 	also.
    868  1.1  christos 
    869  1.1  christos 2008-09-08  Tristan Gingold  <gingold (a] adacore.com>
    870  1.1  christos 
    871  1.1  christos 	* configure.in: Update version to 2.19.50
    872  1.1  christos 	* configure: Regenerated.
    873  1.1  christos 
    874  1.1  christos 2008-09-05  Daniel Jacobowitz  <dan (a] codesourcery.com>
    875  1.1  christos 
    876  1.1  christos 	* dwarf2.c: Change leading whitespace to tabs.
    877  1.1  christos 
    878  1.1  christos 2008-09-05  Tristan Gingold  <gingold (a] adacore.com>
    879  1.1  christos 
    880  1.1  christos 	Add MacOSX 64 bits support.
    881  1.1  christos 	* mach-o.h (bfd_mach_o_ppc_thread_flavour): Add
    882  1.1  christos 	BFD_MACH_O_PPC_THREAD_STATE_64.
    883  1.1  christos 	(bfd_mach_o_i386_thread_flavour): Add BFD_MACH_O_x86_THREAD_STATE64,
    884  1.1  christos 	BFD_MACH_O_x86_FLOAT_STATE64, BFD_MACH_O_x86_EXCEPTION_STATE64,
    885  1.1  christos 	BFD_MACH_O_x86_THREAD_STATE, BFD_MACH_O_x86_FLOAT_STATE,
    886  1.1  christos 	BFD_MACH_O_x86_EXCEPTION_STATE.
    887  1.1  christos 	(bfd_mach_o_load_command_type): Add
    888  1.1  christos 	BFD_MACH_O_LC_SEGMENT_64, BFD_MACH_O_LC_ROUTINES_64,
    889  1.1  christos 	BFD_MACH_O_LC_UUID.
    890  1.1  christos 	(BFD_MACH_O_CPU_IS64BIT): Added.
    891  1.1  christos 	(bfd_mach_o_cpu_type): Add BFD_MACH_O_CPU_TYPE_POWERPC_64,
    892  1.1  christos 	BFD_MACH_O_CPU_TYPE_X86_64.
    893  1.1  christos 	(bfd_mach_o_header): Add version field.
    894  1.1  christos 	(bfd_mach_o_section) Add reserved3 field.
    895  1.1  christos 	(bfd_mach_o_segment_command): Add initprot and maxprot fields.
    896  1.1  christos 
    897  1.1  christos 	* mach-o.c (N_TEXT, N_DATA, N_BSS): Added.
    898  1.1  christos 	(bfd_mach_o_version): New function.
    899  1.1  christos 	(bfd_mach_o_valid): Handle 64bits cpus.
    900  1.1  christos 	(bfd_mach_o_write_header): handler 64bits headers.
    901  1.1  christos 	(bfd_mach_o_scan_write_section_32, bfd_mach_o_scan_write_section_64):
    902  1.1  christos 	New functions (from bfd_mach_o_scan_write_section) to handle both
    903  1.1  christos 	flavors.
    904  1.1  christos 	(bfd_mach_o_scan_write_segment): Parameter wide added to support
    905  1.1  christos 	both flavors.
    906  1.1  christos 	(bfd_mach_o_write_contents): Support both flavors.
    907  1.1  christos 	(bfd_mach_o_read_header): Ditto.
    908  1.1  christos 	(bfd_mach_o_scan_read_section_32, bfd_mach_o_scan_read_section_64):
    909  1.1  christos 	New functions (from bfd_mach_o_scan_read_section) to support both
    910  1.1  christos 	flavors.
    911  1.1  christos 	(bfd_mach_o_scan_read_symtab_symbol): Support both flavors.
    912  1.1  christos 	(bfd_mach_o_scan_read_symtab): Ditto.
    913  1.1  christos 	(bfd_mach_o_scan_read_segment): Parameter wide added to support
    914  1.1  christos 	both flavors.
    915  1.1  christos 	(bfd_mach_o_scan_read_segment_32, bfd_mach_o_scan_read_segment_64):
    916  1.1  christos 	New functions to call bfd_mach_o_scan_read_segment.
    917  1.1  christos 	(bfd_mach_o_flatten_sections): Support both flavors.
    918  1.1  christos 	(bfd_mach_o_scan_start_address): Ditto.
    919  1.1  christos 	(bfd_mach_o_scan): Ditto.
    920  1.1  christos 	(bfd_mach_o_lookup_section): Ditto.
    921  1.1  christos 
    922  1.1  christos 2008-08-27  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
    923  1.1  christos 
    924  1.1  christos 	* elf-hppa.h (elf_hppa_reloc_final_type): Handle R_PARISC_GPREL64,
    925  1.1  christos 	R_PARISC_SEGREL32 and R_PARISC_SEGREL64.
    926  1.1  christos 	* som.c (som_fixup_formats): Add R_DATA_GPREL fixup.
    927  1.1  christos 	(som_hppa_howto_table): Likewise.
    928  1.1  christos 	(hppa_som_gen_reloc_type): In case R_HPPA_GOTOFF, detect R_DATA_GPREL
    929  1.1  christos 	final type.
    930  1.1  christos 	(som_write_fixups): Handle R_DATA_GPREL.
    931  1.1  christos 
    932  1.1  christos 2008-08-26  Nick Clifton  <nickc (a] redhat.com>
    933  1.1  christos 
    934  1.1  christos 	* elf32-arm.c: Fix up comment describing Thumb to ARM interworking
    935  1.1  christos 	stub.
    936  1.1  christos 
    937  1.1  christos 2008-08-25  Christophe Lyon  <christophe.lyon (a] st.com>
    938  1.1  christos 
    939  1.1  christos 	* elf32-arm.c (arm_thumb_arm_v4t_short_branch_stub): Define.
    940  1.1  christos 	(elf32_arm_stub_type): Add arm_thumb_arm_v4t_stub_short_branch.
    941  1.1  christos 	(arm_type_of_stub): Handle armv4t short branches. Update
    942  1.1  christos 	prototype.
    943  1.1  christos 	(arm_stub_is_thumb): Handle arm_thumb_arm_v4t_stub_short_branch.
    944  1.1  christos 	(arm_build_one_stub): Likewise.
    945  1.1  christos 	(arm_size_one_stub): Likewise.
    946  1.1  christos 	(elf32_arm_size_stubs): Use new arm_type_of_stub prototype.
    947  1.1  christos 	(arm_map_one_stub): Handle arm_thumb_arm_v4t_stub_short_branch.
    948  1.1  christos 
    949  1.1  christos 2008-08-24  Andreas Schwab  <schwab (a] suse.de>
    950  1.1  christos 
    951  1.1  christos 	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Do proper
    952  1.1  christos 	extension when calculating difference of offsets.
    953  1.1  christos 
    954  1.1  christos 2008-08-24  Alan Modra  <amodra (a] bigpond.net.au>
    955  1.1  christos 
    956  1.1  christos 	* configure.in: Update a number of obsolete autoconf macros.
    957  1.1  christos 	* aclocal.m4: Regenerate.
    958  1.1  christos 
    959  1.1  christos 2008-08-23  Andreas Schwab  <schwab (a] suse.de>
    960  1.1  christos 
    961  1.1  christos 	* opncls.c (find_separate_debug_file): Use the canonical
    962  1.1  christos 	absolute name of the bfd object for finding the debug file in
    963  1.1  christos 	the global debugfile directory.
    964  1.1  christos 
    965  1.1  christos 2008-08-22  Jakub Jelinek  <jakub (a] redhat.com>
    966  1.1  christos 
    967  1.1  christos 	Fix PR ld/3290 regression for cross-files DW_FORM_ref_addr relocations.
    968  1.1  christos 	* elflink.c (elf_link_add_object_symbols): Make debug symbols local
    969  1.1  christos 	now only for non-RELOCATABLE targets.
    970  1.1  christos 
    971  1.1  christos 2008-08-20  Bob Wilson  <bob.wilson (a] acm.org>
    972  1.1  christos 
    973  1.1  christos 	* elf-bfd.h (elf_object_id): Add XTENSA_ELF_TDATA.
    974  1.1  christos 	* elf32-xtensa.c (elf_howto_table): Add TLS relocations.
    975  1.1  christos 	(elf_xtensa_reloc_type_lookup): Likewise.
    976  1.1  christos 	(TCB_SIZE): Define.
    977  1.1  christos 	(elf_xtensa_link_hash_entry): New.
    978  1.1  christos 	(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE, GOT_TLS_ANY): Define.
    979  1.1  christos 	(elf_xtensa_hash_entry): Define.
    980  1.1  christos 	(elf_xtensa_obj_tdata): New.
    981  1.1  christos 	(elf_xtensa_tdata): Define.
    982  1.1  christos 	(elf_xtensa_local_got_tls_type): Define.
    983  1.1  christos 	(elf_xtensa_local_tlsfunc_refcounts): Define.
    984  1.1  christos 	(is_xtensa_elf): Define.
    985  1.1  christos 	(elf_xtensa_mkobject): New.
    986  1.1  christos 	(elf_xtensa_link_hash_table): Add tlsbase field.
    987  1.1  christos 	(elf_xtensa_link_hash_newfunc): New.
    988  1.1  christos 	(elf_xtensa_link_hash_table_create): Use elf_xtensa_link_hash_newfunc.
    989  1.1  christos 	Create an entry for "_TLS_MODULE_BASE_" and save it in tlsbase field.
    990  1.1  christos 	(elf_xtensa_copy_indirect_symbol): New.
    991  1.1  christos 	(elf_xtensa_check_relocs): Rewrite to handle TLS relocations.
    992  1.1  christos 	(elf_xtensa_gc_sweep_hook): Likewise.
    993  1.1  christos 	(elf_xtensa_allocate_dynrelocs): Optimize away GOT entries for
    994  1.1  christos 	TLSDESC_FN relocations when an IE reference is seen.
    995  1.1  christos 	(elf_xtensa_allocate_local_got_size): Likewise.
    996  1.1  christos 	(elf_xtensa_always_size_sections): New.
    997  1.1  christos 	(dtpoff_base, tpoff): New.
    998  1.1  christos 	(elf_xtensa_do_reloc): Handle TLS relocations.
    999  1.1  christos 	(replace_tls_insn): New.
   1000  1.1  christos 	(IS_XTENSA_TLS_RELOC): Define.
   1001  1.1  christos 	(elf_xtensa_relocate_section): Handle TLS relocations.
   1002  1.1  christos 	(get_indirect_call_dest_reg): New.
   1003  1.1  christos 	(bfd_elf32_mkobject): Define.
   1004  1.1  christos 	(elf_backend_always_size_sections): New.
   1005  1.1  christos 	(elf_backend_copy_indirect_symbol): New.
   1006  1.1  christos 	* reloc.c (BFD_RELOC_XTENSA_TLSDESC_FN, BFD_RELOC_XTENSA_TLSDESC_ARG)
   1007  1.1  christos 	(BFD_RELOC_XTENSA_TLS_DTPOFF, BFD_RELOC_XTENSA_TLS_TPOFF)
   1008  1.1  christos 	(BFD_RELOC_XTENSA_TLS_FUNC, BFD_RELOC_XTENSA_TLS_ARG)
   1009  1.1  christos 	(BFD_RELOC_XTENSA_TLS_CALL): New.
   1010  1.1  christos 	* bfd-in2.h: Regenerate.
   1011  1.1  christos 	* libbfd.h: Regenerate.
   1012  1.1  christos 
   1013  1.1  christos 2008-08-18  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1014  1.1  christos 
   1015  1.1  christos 	* elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Copy MIPS16
   1016  1.1  christos 	stub information.
   1017  1.1  christos 
   1018  1.1  christos 2008-08-17  Nick Clifton  <nickc (a] redhat.com>
   1019  1.1  christos 
   1020  1.1  christos 	* elf32-arm.c: Tidy up the code.
   1021  1.1  christos 	(bfd_elf32_arm_allocate_interworking_sections): Move common code
   1022  1.1  christos 	into...
   1023  1.1  christos 	(arm_allocate_glue_section_space): ... New function.
   1024  1.1  christos 	(bfd_elf32_arm_add_glue_sections_to_bfd): Move common code
   1025  1.1  christos 	into...
   1026  1.1  christos 	(arm_make_glue_section): ... New function.
   1027  1.1  christos 
   1028  1.1  christos 	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Handle the situation
   1029  1.1  christos 	where the sym_hashes are not available.
   1030  1.1  christos 
   1031  1.1  christos 2008-08-17  Alan Modra  <amodra (a] bigpond.net.au>
   1032  1.1  christos 
   1033  1.1  christos 	* bfd.c (struct _bfd): Correct outsymbols comment.
   1034  1.1  christos 	* bfd-in2.h: Regenerate.
   1035  1.1  christos 	* linker.c (bfd_generic_link_read_symbols): Renamed from..
   1036  1.1  christos 	(generic_link_read_symbols): ..this, and made global.
   1037  1.1  christos 
   1038  1.1  christos 2008-08-15  Alan Modra  <amodra (a] bigpond.net.au>
   1039  1.1  christos 
   1040  1.1  christos 	PR 6526
   1041  1.1  christos 	* configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS.
   1042  1.1  christos 	* Makefile.in: Regenerate.
   1043  1.1  christos 	* aclocal.m4: Regenerate.
   1044  1.1  christos 	* config.in: Regenerate.
   1045  1.1  christos 	* configure: Regenerate.
   1046  1.1  christos 
   1047  1.1  christos 2008-08-14  Jaka Monik  <jaka (a] xlab.si>
   1048  1.1  christos 
   1049  1.1  christos 	* coffgen.c (coff_find_nearest_line): Correct cached line index.
   1050  1.1  christos 
   1051  1.1  christos 2008-08-12  Alan Modra  <amodra (a] bigpond.net.au>
   1052  1.1  christos 
   1053  1.1  christos 	* elf32-ppc.c (allocate_dynrelocs): Ignore dyn_relocs when
   1054  1.1  christos 	!dynamic_sections_created.  Don't make symbols with got
   1055  1.1  christos 	references dynamic if !dynamic_sections_created.
   1056  1.1  christos 	* elf64-ppc.c (allocate_dynrelocs): Likewise.  Alloc dynamic
   1057  1.1  christos 	relocs on undefined symbols.
   1058  1.1  christos 	(ppc64_elf_relocate_section): Allow dynamic relocs on
   1059  1.1  christos 	undefined symbols.
   1060  1.1  christos 
   1061  1.1  christos 2008-08-11  Alan Modra  <amodra (a] bigpond.net.au>
   1062  1.1  christos 
   1063  1.1  christos 	* elf64-ppc.c (toc_adjusting_stub_needed): Any call via the plt
   1064  1.1  christos 	needs r2 valid, not just those to external syms.
   1065  1.1  christos 
   1066  1.1  christos 2008-08-09  Pedro Alves  <pedro (a] codesourcery.com>
   1067  1.1  christos 
   1068  1.1  christos 	* archive.c (_bfd_archive_bsd_update_armap_timestamp): Cast stat
   1069  1.1  christos 	st_mtime to long before comparison.
   1070  1.1  christos 
   1071  1.1  christos 2008-08-08  Anatoly Sokolov  <aesok (a] post.ru>
   1072  1.1  christos 
   1073  1.1  christos 	* archures.c (bfd_mach_avr25, bfd_mach_avr31, bfd_mach_avr35,
   1074  1.1  christos 	bfd_mach_avr51): New.
   1075  1.1  christos 	* bfd-in2.h: Regenerate.
   1076  1.1  christos 	* cpu-avr.c (arch_info_struct): Add avr25, avr31, avr35, and avr51
   1077  1.1  christos 	architectures. Change comments to match architecture comments in GCC.
   1078  1.1  christos 	(compatible): Add test for new AVR architectures.
   1079  1.1  christos 	* elf32-avr.c (bfd_elf_avr_final_write_processing): Recognize
   1080  1.1  christos 	bfd_mach_avr25, bfd_mach_avr31, bfd_mach_avr35 and bfd_mach_avr51.
   1081  1.1  christos 	(elf32_avr_object_p): Recognize E_AVR_MACH_AVR25, E_AVR_MACH_AVR31,
   1082  1.1  christos 	E_AVR_MACH_AVR35 and E_AVR_MACH_AVR51.
   1083  1.1  christos 
   1084  1.1  christos 
   1085  1.1  christos 2008-08-08  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1086  1.1  christos 	    Daniel Jacobowitz  <dan (a] codesourcery.com>
   1087  1.1  christos 	    Catherine Moore  <clm (a] codesourcery.com>
   1088  1.1  christos 	    Mark Shinwell  <shinwell (a] codesourcery.com>
   1089  1.1  christos 	    Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   1090  1.1  christos 
   1091  1.1  christos 	* elf32-mips.c (mips_vxworks_copy_howto_rela): Replace with...
   1092  1.1  christos 	(elf_mips_copy_howto): ...this howto.  Clear the size fields.
   1093  1.1  christos 	(mips_vxworks_jump_slot_howto_rela): Replace with...
   1094  1.1  christos 	(elf_mips_jump_slot_howto): ...this howto.
   1095  1.1  christos 	(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS_COPY
   1096  1.1  christos 	and BFD_RELOC_MIPS_JUMP_SLOT.
   1097  1.1  christos 	(bfd_elf32_bfd_reloc_name_lookup): Handle "R_MIPS_COPY" and
   1098  1.1  christos 	"R_MIPS_JUMP_SLOT".
   1099  1.1  christos 	(mips_elf32_rtype_to_howto): Handle R_MIPS_COPY and R_MIPS_JUMP_SLOT.
   1100  1.1  christos 	(elf_backend_plt_readonly): Define.
   1101  1.1  christos 	(elf_backend_plt_sym_val): Define for non-VxWorks targets.
   1102  1.1  christos 	(mips_vxworks_bfd_reloc_type_lookup): Delete.
   1103  1.1  christos 	(mips_vxworks_bfd_reloc_name_lookup): Likewise.
   1104  1.1  christos 	(mips_vxworks_rtype_to_howto): Likewise.
   1105  1.1  christos 	(elf_backend_want_dynbss): Don't define for VxWorks.
   1106  1.1  christos 	(elf_backend_plt_readonly): Likewise.
   1107  1.1  christos 	(bfd_elf32_bfd_reloc_type_lookup): Likewise.
   1108  1.1  christos 	(bfd_elf32_bfd_reloc_name_lookup): Likewise.
   1109  1.1  christos 	(elf_backend_mips_rtype_to_howto): Likewise.
   1110  1.1  christos 	(elf_backend_adjust_dynamic_symbol): Likewise.
   1111  1.1  christos 	(elf_backend_got_symbol_offset): Don't define.
   1112  1.1  christos 	* elfn32-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto): New.
   1113  1.1  christos 	(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS_COPY
   1114  1.1  christos 	and BFD_RELOC_MIPS_JUMP_SLOT.
   1115  1.1  christos 	(bfd_elf32_bfd_reloc_name_lookup): Handle "R_MIPS_COPY" and
   1116  1.1  christos 	"R_MIPS_JUMP_SLOT".
   1117  1.1  christos 	(mips_elf32_n32_rtype_to_howto): Handle R_MIPS_COPY and
   1118  1.1  christos 	R_MIPS_JUMP_SLOT.
   1119  1.1  christos 	(elf_backend_rela_plts_and_copies_p, elf_backend_plt_readonly)
   1120  1.1  christos 	(elf_backend_plt_sym_val): Define.
   1121  1.1  christos 	* elf64-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto): New.
   1122  1.1  christos 	(bfd_elf64_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS_COPY
   1123  1.1  christos 	and BFD_RELOC_MIPS_JUMP_SLOT.
   1124  1.1  christos 	(bfd_elf64_bfd_reloc_name_lookup): Handle "R_MIPS_COPY" and
   1125  1.1  christos 	"R_MIPS_JUMP_SLOT".
   1126  1.1  christos 	(mips_elf64_rtype_to_howto): Handle R_MIPS_COPY and R_MIPS_JUMP_SLOT.
   1127  1.1  christos 	(elf_backend_rela_plts_and_copies_p, elf_backend_plt_readonly)
   1128  1.1  christos 	(elf_backend_plt_sym_val): Define.
   1129  1.1  christos 	* elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Delete.
   1130  1.1  christos 	(_bfd_mips_elf_use_plts_and_copy_relocs, _bfd_mips_elf_init_stubs)
   1131  1.1  christos 	(_bfd_mips_elf_plt_sym_val, _bfd_mips_post_process_headers): Declare.
   1132  1.1  christos 	* elfxx-mips.c (mips_elf_la25_stub): New structure.
   1133  1.1  christos 	(LA25_LUI, LA25_J, LA25_ADDIU): New macros.
   1134  1.1  christos 	(mips_elf_link_hash_entry): Add "la25_stubs", "has_static_relocs"
   1135  1.1  christos 	and "has_nonpic_branches" fields.  Remove "is_relocation_target" and
   1136  1.1  christos 	"is_branch_target".
   1137  1.1  christos 	(mips_elf_link_hash_table): Add blank lines.  Add
   1138  1.1  christos 	"use_plts_and_copy_relocs", "reserved_gotno", "strampoline",
   1139  1.1  christos 	"la25_stubs" and "add_stub_section" fields.
   1140  1.1  christos 	(mips_htab_traverse_info): New structure.
   1141  1.1  christos 	(PIC_OBJECT_P, MIPS_ELF_LOAD_WORD): New macros.
   1142  1.1  christos 	(MIPS_RESERVED_GOTNO): Delete.
   1143  1.1  christos 	(mips_o32_exec_plt0_entry, mips_n32_exec_plt0_entry)
   1144  1.1  christos 	(mips_n64_exec_plt0_entry, mips_exec_plt_entry): New tables.
   1145  1.1  christos 	(mips_elf_link_hash_newfunc): Update after the changes to
   1146  1.1  christos 	mips_elf_link_hash_entry.
   1147  1.1  christos 	(mips_elf_check_mips16_stubs): Replace the DATA parameter with
   1148  1.1  christos 	an INFO parameter.  Don't look through warnings symbols here;
   1149  1.1  christos 	do it in mips_elf_check_symbols instead.
   1150  1.1  christos 	(mips_elf_create_stub_symbol): New function.
   1151  1.1  christos 	(mips_elf_la25_stub_hash, mips_elf_la25_stub_eq): New functions.
   1152  1.1  christos 	(_bfd_mips_elf_init_stubs, mips_elf_local_pic_function_p): Likewise.
   1153  1.1  christos 	(mips_elf_add_la25_intro, mips_elf_add_la25_trampoline): Likewise.
   1154  1.1  christos 	(mips_elf_add_la25_stub, mips_elf_check_symbols): New functions.
   1155  1.1  christos 	(mips_elf_gotplt_index): Check for VxWorks.
   1156  1.1  christos 	(mips_elf_output_dynamic_relocation): Take the relocation index
   1157  1.1  christos 	as an extra parameter.  Do not increment reloc_count here.
   1158  1.1  christos 	(mips_elf_initialize_tls_slots): Update the calls to
   1159  1.1  christos 	mips_elf_output_dynamic_relocation accordingly.
   1160  1.1  christos 	(mips_elf_multi_got): Use htab->reserved_gotno instead of
   1161  1.1  christos 	MIPS_RESERVED_GOTNO.
   1162  1.1  christos 	(mips_elf_create_got_section): Don't allocate reserved GOT
   1163  1.1  christos 	entries here.  Unconditionally create .got.plt, but don't
   1164  1.1  christos 	set its alignment here.
   1165  1.1  christos 	(mips_elf_relocation_needs_la25_stub): New function.
   1166  1.1  christos 	(mips_elf_calculate_relocation): Redirect branches and jumps to
   1167  1.1  christos 	a non-PIC stub if one exists.  Check !h->has_static_relocs instead
   1168  1.1  christos 	of !htab->is_vxworks when deciding whether to create dynamic
   1169  1.1  christos 	relocations for R_MIPS_32, R_MIPS_REL32 and R_MIPS_64.
   1170  1.1  christos 	(_bfd_mips_elf_create_dynamic_sections): Unconditionally call
   1171  1.1  christos 	_bfd_elf_create_dynamic_sections.  Unconditionally set up
   1172  1.1  christos 	htab->splt and htab->sdynbss.  Set htab->srelplt to ".rel.plt"
   1173  1.1  christos 	if !htab->is_vxworks.  Add non-VxWorks values of
   1174  1.1  christos 	htab->plt_header_size and htab->plt_entry_size.
   1175  1.1  christos 	(_bfd_mips_elf_check_relocs): Set pointer_equality_needed for
   1176  1.1  christos 	non-branch static relocations.  Set has_nonpic_branches when an la25
   1177  1.1  christos 	stub might be required.  Set can_make_dynamic_p to TRUE if R_MIPS_32,
   1178  1.1  christos 	R_MIPS_REL32 and R_MIPS_64 relocations can be made dynamic,
   1179  1.1  christos 	rather than duplicating the condition.  Do not make them dynamic
   1180  1.1  christos 	for read-only sections in non-PIC executable objects.
   1181  1.1  christos 	Do not protect this code with dynobj == NULL || htab->sgot == NULL;
   1182  1.1  christos 	handle each group of cases separately.  Add a default case that
   1183  1.1  christos 	sets has_static_relocs for non-GOT relocations that cannot be
   1184  1.1  christos 	made dynamic.  Don't set is_relocation_target and is_branch_target.
   1185  1.1  christos 	Reject non-PIC static relocations in shared objects.
   1186  1.1  christos 	(_bfd_mips_vxworks_adjust_dynamic_symbol): Fold into...
   1187  1.1  christos 	(_bfd_mips_elf_adjust_dynamic_symbol): ...here, using
   1188  1.1  christos 	htab->use_plts_and_copy_relocs instead of htab->is_vxworks
   1189  1.1  christos 	to select PLT and copy-reloc handling.  Set the alignment of
   1190  1.1  christos 	.plt and .got.plt when allocating the first entry.  Generalize
   1191  1.1  christos 	code to handle REL as well as RELA sections and 64-bit as well as
   1192  1.1  christos 	32-bit GOT entries.  Complain if we find a static-only reloc
   1193  1.1  christos 	against an externally-defined symbol and if we cannot create
   1194  1.1  christos 	dynamic relocations for it.  Allocate copy relocs using
   1195  1.1  christos 	mips_elf_allocate_dynamic_relocations on non-VxWorks targets.
   1196  1.1  christos 	Set possibly_dynamic_relocs to 0 when using PLTs or copy relocs.
   1197  1.1  christos 	Skip reserved .got.plt entries.
   1198  1.1  christos 	(_bfd_mips_elf_always_size_sections): Use mips_elf_check_symbols
   1199  1.1  christos 	instead of mips_elf_check_mips16_stubs to process each symbol.
   1200  1.1  christos 	Do the traversal for relocatable objects too.
   1201  1.1  christos 	(mips_elf_lay_out_got): Use htab->reserved_gotno instead of
   1202  1.1  christos 	MIPS_RESERVED_GOTNO.
   1203  1.1  christos 	(_bfd_mips_elf_size_dynamic_sections): Exclude sdynbss if it
   1204  1.1  christos 	is empty.  Extend the DT_PLTREL, DT_JMPREL and DT_PLTRELSZ handling
   1205  1.1  christos 	to non-VxWorks targets.  Only add DT_REL{,A}, DT_REL{,A}SZ and
   1206  1.1  christos 	DT_REL{,A}ENT if .rel.dyn is nonempty.  Create a symbol for the
   1207  1.1  christos 	PLT.  Allocate a nop at the end of the PLT.  Allocate DT_MIPS_PLTGOT.
   1208  1.1  christos 	(mips_elf_create_la25_stub_info): New function.
   1209  1.1  christos 	(_bfd_mips_elf_finish_dynamic_symbol): Write out PLT entries
   1210  1.1  christos 	and copy relocs where necessary.  Check pointer_equality_needed.
   1211  1.1  christos 	(mips_finish_exec_plt): New function.
   1212  1.1  christos 	(_bfd_mips_elf_finish_dynamic_sections): Always set DT_PLTGOT
   1213  1.1  christos 	to the beginning of htab->sgot.  Use htab->reserved_gotno instead
   1214  1.1  christos 	of MIPS_RESERVED_GOTNO.  Assert htab->use_plts_and_copy_relocs
   1215  1.1  christos 	instead of htab->is_vxworks for DT_PLTREL, DT_PLTRELSZ and DT_JMPREL.
   1216  1.1  christos 	Set DT_PLTREL to DT_REL instead of DT_RELA on non-VxWorks targets.
   1217  1.1  christos 	Use mips_finish_exec_plt to create non-VxWorks PLT headers.  Set
   1218  1.1  christos 	DT_MIPS_PLTGOT.
   1219  1.1  christos 	(_bfd_mips_elf_copy_indirect_symbol): Copy has_static_relocs
   1220  1.1  christos 	from the indirect symbol to the direct symbol.  Also copy
   1221  1.1  christos 	has_nonpic_branches for indirect symbols.
   1222  1.1  christos 	(_bfd_mips_elf_get_target_dtag): Handle DT_MIPS_PLTGOT and
   1223  1.1  christos 	DT_MIPS_RWPLT.
   1224  1.1  christos 	(_bfd_mips_elf_link_hash_table_create): Initialize the new
   1225  1.1  christos 	mips_elf_link_hash_table fields.
   1226  1.1  christos 	(_bfd_mips_vxworks_link_hash_table_create): Set
   1227  1.1  christos 	use_plts_and_copy_relocs to TRUE.  Use TRUE rather than 1
   1228  1.1  christos 	when setting is_vxworks.
   1229  1.1  christos 	(_bfd_mips_elf_use_plts_and_copy_relocs): New function.
   1230  1.1  christos 	(_bfd_mips_elf_final_link): Call mips_elf_create_la25_stub for
   1231  1.1  christos 	each la25_stub.
   1232  1.1  christos 	(_bfd_mips_elf_merge_private_bfd_data): Treat dynamic objects
   1233  1.1  christos 	as PIC.  Generalize message about linking PIC and non-PIC.
   1234  1.1  christos 	(_bfd_mips_elf_plt_sym_val, _bfd_mips_post_process_headers): New
   1235  1.1  christos 	functions.
   1236  1.1  christos 	* reloc.c: Update comment near BFD_RELOC_MIPS_JUMP_SLOT.
   1237  1.1  christos 	* bfd-in2.h: Regenerated.
   1238  1.1  christos 
   1239  1.1  christos 2008-08-08  Alan Modra  <amodra (a] bigpond.net.au>
   1240  1.1  christos 
   1241  1.1  christos 	* elf.c (bfd_elf_get_elf_syms): Don't leak memory on error.
   1242  1.1  christos 	* elflink.c (_bfd_elf_link_read_relocs): bfd_release on error.
   1243  1.1  christos 	(elf_link_add_object_symbols): Don't leak memory on error.
   1244  1.1  christos 	(bfd_elf_size_dynsym_hash_dynstr): Likewise.
   1245  1.1  christos 	(elf_fixup_link_order): Free sections.
   1246  1.1  christos 
   1247  1.1  christos 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1248  1.1  christos 
   1249  1.1  christos 	* elf-bfd.h (elf_backend_data): Add a "rela_plts_and_copies_p" field.
   1250  1.1  christos 	* elfxx-target.h (elf_backend_rela_plts_and_copies_p): New macro.
   1251  1.1  christos 	(elfNN_bed): Use it.
   1252  1.1  christos 	* elf.c (_bfd_elf_get_synthetic_symtab): Use rela_plts_and_copies_p
   1253  1.1  christos 	instead of default_use_rela_p to choose between ".rel.plt" and
   1254  1.1  christos 	".rela.plt".
   1255  1.1  christos 	* elflink.c (_bfd_elf_create_dynamic_sections): Use
   1256  1.1  christos 	rela_plts_and_copies_p instead of default_use_rela_p to choose
   1257  1.1  christos 	between ".rel.plt" and ".rela.plt", and between ".rel.bss" and
   1258  1.1  christos 	".rela.bss".
   1259  1.1  christos 
   1260  1.1  christos 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1261  1.1  christos 
   1262  1.1  christos 	* elf-bfd.h (MIPS_ELF_TDATA): New elf_object_id.
   1263  1.1  christos 	* elf32-mips.c (bfd_elf32_mkobject): Define.
   1264  1.1  christos 	* elf64-mips.c (bfd_elf64_mkobject): Likewise.
   1265  1.1  christos 	* elfn32-mips.c (bfd_elf32_mkobject): Likewise.
   1266  1.1  christos 	* elfxx-mips.h (_bfd_mips_elf_mkobject): Declare.
   1267  1.1  christos 	* elfxx-mips.c (is_mips_elf): New macro.
   1268  1.1  christos 	(_bfd_mips_elf_mkobject): New function.
   1269  1.1  christos 	(_bfd_mips_elf_final_link): Use is_mips_elf.
   1270  1.1  christos 	(_bfd_mips_elf_merge_private_bfd_data): Likewise.
   1271  1.1  christos 
   1272  1.1  christos 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1273  1.1  christos 
   1274  1.1  christos 	* elfxx-mips.c (mips_elf_record_relocs): Defer allocation of a
   1275  1.1  christos 	global GOT entry when deferring allocation of dynamic relocations.
   1276  1.1  christos 	(allocate_dynrelocs): When allocating deferred dynamic relocations,
   1277  1.1  christos 	also do the deferred allocation of a GOT entry.
   1278  1.1  christos 
   1279  1.1  christos 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1280  1.1  christos 
   1281  1.1  christos 	* elfxx-mips.c (mips_got_info): Add a "reloc_only_gotno" field.
   1282  1.1  christos 	(mips_elf_got_section): Delete.
   1283  1.1  christos 	(mips_elf_sort_hash_table): Use g->reloc_only_gotno to decide
   1284  1.1  christos 	how many reloc-only entries there are.
   1285  1.1  christos 	(mips_elf_count_got_symbols): Adjust g->reloc_only_gotno as
   1286  1.1  christos 	well as g->global_gotno.
   1287  1.1  christos 	(mips_elf_make_got_per_bfd): Initialize reloc_only_gotno.
   1288  1.1  christos 	(mips_elf_multi_got): Likewise.  Use gg->reloc_only_gotno
   1289  1.1  christos 	rather than gg->assigned_gotno to store the number of
   1290  1.1  christos 	reloc-only GOT entries.
   1291  1.1  christos 	(mips_elf_create_got_section): Remove the MAYBE_EXCLUDE parameter.
   1292  1.1  christos 	Initialize reloc_only_gotno.
   1293  1.1  christos 	(mips_elf_calculate_relocation): Check htab->got_info instead of
   1294  1.1  christos 	dynobj when deciding whether to call mips_elf_adjust_gp,
   1295  1.1  christos 	(_bfd_mips_elf_create_dynamic_sections): Adjust the call
   1296  1.1  christos 	to mips_elf_create_got_section.
   1297  1.1  christos 	(mips_elf_record_relocs): Likewise.  Remove redundant
   1298  1.1  christos 	"dynobj == NULL" code.  Do not use mips_elf_create_got_section
   1299  1.1  christos 	or mips_elf_record_global_got_symbol for R_MIPS_32, R_MIPS_REL32
   1300  1.1  christos 	and R_MIPS_64; limit global_got_area to GGA_RELOC_ONLY instead.
   1301  1.1  christos 	(_bfd_mips_elf_finish_dynamic_symbol): Use htab->sgot instead
   1302  1.1  christos 	of mips_elf_got_section.
   1303  1.1  christos 	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
   1304  1.1  christos 	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
   1305  1.1  christos 	Move the initial assignment of G to the block that uses it;
   1306  1.1  christos 	it is used for an unrelated purpose later.
   1307  1.1  christos 
   1308  1.1  christos 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1309  1.1  christos 
   1310  1.1  christos 	* elfxx-mips.c (count_section_dynsyms): Move before the new first use.
   1311  1.1  christos 	(mips_elf_sort_hash_table): Take the output bfd as a parameter.
   1312  1.1  christos 	Remove the MAX_LOCAL parameter.  Exit early if there are no
   1313  1.1  christos 	dynamic symbols, if there is no dynobj, or if there is no
   1314  1.1  christos 	GOT section.  Use count_section_dynsyms instead of MAX_LOCAL.
   1315  1.1  christos 	Assert == rather than <= when checking hsd.max_unref_got_dynindx.
   1316  1.1  christos 	Also assert that g->global_gotno is right.
   1317  1.1  christos 	(mips_elf_count_forced_local_got_symbols): Rename to...
   1318  1.1  christos 	(mips_elf_count_got_symbols): ...and count global GOT entries too.
   1319  1.1  christos 	Set the global_got_area of a forced-local GGA_RELOC_ONLY symbol
   1320  1.1  christos 	to GGA_NONE.
   1321  1.1  christos 	(mips_elf_multi_got): Don't sort the symbol table.
   1322  1.1  christos 	(mips_elf_lay_out_got): Likewise.  Use mips_elf_count_got_symbols
   1323  1.1  christos 	to count the number of global GOT entries.
   1324  1.1  christos 	(_bfd_mips_elf_final_link): Unconditionally call
   1325  1.1  christos 	mips_elf_sort_hash_table.
   1326  1.1  christos 
   1327  1.1  christos 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1328  1.1  christos 
   1329  1.1  christos 	* elfxx-mips.c (GGA_NORMAL, GGA_RELOC_ONLY, GGA_NONE): New macros.
   1330  1.1  christos 	(mips_elf_link_hash_entry): Add a "global_got_area" field.
   1331  1.1  christos 	(mips_elf_link_hash_newfunc): Initialize it.
   1332  1.1  christos 	(mips_elf_sort_hash_table_f): Use h->global_got_area instead of
   1333  1.1  christos 	h->root.got.offset.  Do not handle forced_local symbols specially.
   1334  1.1  christos 	(mips_elf_record_global_got_symbol): Set h->global_got_area
   1335  1.1  christos 	instead of h->root.got.offset.
   1336  1.1  christos 	(mips_elf_recreate_got): Assert that h->global_got_area == GGA_NONE
   1337  1.1  christos 	for indirect and warning symbols.
   1338  1.1  christos 	(mips_elf_count_forced_local_got_symbols): Change the argument
   1339  1.1  christos 	from a "elf_link_hash_entry" to "mips_elf_link_hash_entry".
   1340  1.1  christos 	Use and set h->global_got_area instead of h->root.got.offset.
   1341  1.1  christos 	Set it to GGA_NONE for all forced-local symbols.
   1342  1.1  christos 	(mips_elf_set_global_got_offset): Set h->global_got_area
   1343  1.1  christos 	instead of h->root.got.offset.  Use g->global_got_area instead
   1344  1.1  christos 	of a combination of dynindx, forced_local and tls_type.
   1345  1.1  christos 	(mips_elf_multi_got): Remove disabled code.  Pass GGA_* values to
   1346  1.1  christos 	mips_elf_set_global_got_offset.
   1347  1.1  christos 	(mips_elf_lay_out_got): Use mips_elf_link_hash_traverse instead
   1348  1.1  christos 	of elf_link_hash_traverse.
   1349  1.1  christos 	(_bfd_mips_elf_copy_indirect_symbol): Copy the indirect symbol's
   1350  1.1  christos 	global_got_area to the direct symbol if the latter's value is higher.
   1351  1.1  christos 	Set the indirect symbol's area to GGA_NONE.
   1352  1.1  christos 
   1353  1.1  christos 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1354  1.1  christos 
   1355  1.1  christos 	* elf32-mips.c (elf_backend_hide_symbol): Delete.
   1356  1.1  christos 	* elfn32-mips.c (elf_backend_hide_symbol): Likewise.
   1357  1.1  christos 	* elf64-mips.c (elf_backend_hide_symbol): Likewise.
   1358  1.1  christos 	* elfxx-mips.h (elf_backend_hide_symbol): Likewise.
   1359  1.1  christos 	* elfxx-mips.c (mips_elf_link_hash_entry): Remove "forced_local"
   1360  1.1  christos 	and add "needs_lazy_stub".
   1361  1.1  christos 	(mips_elf_link_hash_newfunc): Update accordingly.
   1362  1.1  christos 	(mips_elf_link_hash_table): Remove "computed_got_sizes" and
   1363  1.1  christos 	add "lazy_stub_count".
   1364  1.1  christos 	(_bfd_mips_elf_link_hash_table_create): Update accordingly.
   1365  1.1  christos 	(mips_elf_output_extsym): Use hd->needs_lazy_stub to detect
   1366  1.1  christos 	cases where a lazy stub is being used.
   1367  1.1  christos 	(mips_elf_sort_hash_table_f): Use h->root.forced_local instead
   1368  1.1  christos 	of h->forced_local.
   1369  1.1  christos 	(mips_elf_record_global_got_symbol): Use _bfd_elf_link_hash_hide_symbol
   1370  1.1  christos 	instead of _bfd_mips_elf_hide_symbol.  Do not increment local_gotno
   1371  1.1  christos 	here.
   1372  1.1  christos 	(mips_elf_allocate_dynamic_relocations): Move before new first use.
   1373  1.1  christos 	(mips_elf_check_recreate_got, mips_elf_recreate_got): New functions.
   1374  1.1  christos 	(mips_elf_resolve_final_got_entries): Move earlier in file.  Make at
   1375  1.1  christos 	most two passes over the hash table.  Use mips_elf_check_recreate_got
   1376  1.1  christos 	to see if there are any indirect or warning entries and
   1377  1.1  christos 	mips_elf_recreate_got to create a new GOT without them.
   1378  1.1  christos 	Return a boolean success value.
   1379  1.1  christos 	(mips_elf_count_forced_local_got_entries): New function.
   1380  1.1  christos 	(mips_elf_make_got_per_bfd): Check h->root.forced_local instead of
   1381  1.1  christos 	h->forced_local.
   1382  1.1  christos 	(mips_elf_set_global_got_offset): Likewise.
   1383  1.1  christos 	(mips_elf_set_no_stub): Replace with...
   1384  1.1  christos 	(mips_elf_forbid_lazy_stubs): ...this new function.
   1385  1.1  christos 	(mips_elf_resolve_final_got_entry): Delete.
   1386  1.1  christos 	(mips_elf_multi_got): Fix formatting.  Use mips_elf_forbid_lazy_stubs
   1387  1.1  christos 	instead of mips_elf_set_no_stub.  Move the code that sets
   1388  1.1  christos 	global offsets and allocates dynamic relocations from the main
   1389  1.1  christos 	_bfd_mips_elf_size_dynamic_sections loop to here.
   1390  1.1  christos 	(_bfd_mips_elf_adjust_dynamic_symbol): Do not allocate room in
   1391  1.1  christos 	.MIPS.stubs here; just set hmips->needs_lazy_stub and increment
   1392  1.1  christos 	htab->lazy_stub_count.
   1393  1.1  christos 	(_bfd_mips_elf_always_size_sections): Move the stub-estimation
   1394  1.1  christos 	code to mips_elf_estimate_stub_size and the GOT-sizing code to
   1395  1.1  christos 	mips_elf_lay_out_got.  Do not call these functions here.
   1396  1.1  christos 	(mips_elf_estimate_stub_size): New function, split
   1397  1.1  christos 	out from _bfd_mips_elf_always_size_sections.  Call
   1398  1.1  christos 	mips_elf_resolve_final_got_entries earlier.  Count the number
   1399  1.1  christos 	of forced-local entries.  Do not add stub sizes to loadable_size;
   1400  1.1  christos 	after this patch, the stub sizes are already included in the main
   1401  1.1  christos 	estimate.  Allocate dynamic relocations here rather than in the
   1402  1.1  christos 	main _bfd_mips_elf_size_dynamic_sections loop.
   1403  1.1  christos 	(mips_elf_estimate_stub_size): New function, split out from
   1404  1.1  christos 	_bfd_mips_elf_always_size_sections.
   1405  1.1  christos 	(mips_elf_allocate_lazy_stub): New function.
   1406  1.1  christos 	(mips_elf_lay_out_lazy_stubs): Likewise.
   1407  1.1  christos 	(_bfd_mips_elf_size_dynamic_sections): Call mips_elf_estimate_stub_size,
   1408  1.1  christos 	mips_elf_lay_out_got and mips_elf_lay_out_lazy_stubs.  Do not handle
   1409  1.1  christos 	the allocation of sreldyn specially.
   1410  1.1  christos 	(_bfd_mips_elf_hide_symbol): Delete.
   1411  1.1  christos 
   1412  1.1  christos 2008-08-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1413  1.1  christos 
   1414  1.1  christos 	* elfxx-mips.c (allocate_dynrelocs): Ignore indirect and warning
   1415  1.1  christos 	symbols.
   1416  1.1  christos 
   1417  1.1  christos 2008-08-06  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1418  1.1  christos 
   1419  1.1  christos 	* elfxx-mips.c (mips_elf_link_hash_entry): Move bfd_boolean
   1420  1.1  christos 	fields to the end of the structure and make them single-bit
   1421  1.1  christos 	bitfields.
   1422  1.1  christos 	(mips_elf_link_hash_newfunc): Make the initialization statements
   1423  1.1  christos 	follow the new field order.
   1424  1.1  christos 
   1425  1.1  christos 2008-08-06  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1426  1.1  christos 
   1427  1.1  christos 	* elfxx-mips.c (_mips_elf_section_data): Remove the "u.got_info" field.
   1428  1.1  christos 	(mips_elf_link_hash_table): Add "sgot" and "got_info" fields.
   1429  1.1  christos 	(_bfd_mips_elf_link_hash_table_create): Initialize them.
   1430  1.1  christos 	(mips_elf_got_section): Always apply the !maybe_excluded behavior.
   1431  1.1  christos 	(mips_elf_got_info): Delete.
   1432  1.1  christos 	(mips_elf_initialize_tls_slots): Remove the DYNOBJ local variable.
   1433  1.1  christos 	Adjust the call to mips_elf_got_section.
   1434  1.1  christos 	(mips_elf_local_got_index): Don't call mips_elf_got_info.
   1435  1.1  christos 	Update the call to mips_elf_create_local_got_entry.
   1436  1.1  christos 	Use htab->got_info.
   1437  1.1  christos 	(mips_elf_global_got_index): Don't call mips_elf_got_info;
   1438  1.1  christos 	use htab->got_info and htab->sgot instead.
   1439  1.1  christos 	(mips_elf_got_page): Don't call mips_elf_got_info.  Update the
   1440  1.1  christos 	call to mips_elf_create_local_got_entry.
   1441  1.1  christos 	(mips_elf_got16_entry): Likewise.
   1442  1.1  christos 	(mips_elf_got_offset_from_index): Replace with DYNOBJ parameter
   1443  1.1  christos 	with an INFO parameter.  Don't call mips_elf_got_info; use htab->sgot
   1444  1.1  christos 	and htab->got_info instead.
   1445  1.1  christos 	(mips_elf_create_local_got_entry): Remove the GG and SGOT parameters.
   1446  1.1  christos 	Use htab->sgot and htab->got_info.
   1447  1.1  christos 	(mips_elf_sort_hash_table): Remove the DYNOBJ local variable.
   1448  1.1  christos 	Don't call mips_elf_got_info; use htab->got_info instead.
   1449  1.1  christos 	(mips_elf_record_global_got_symbol): Turn G from a paramter to
   1450  1.1  christos 	a local variable and read it from htab->got_info.
   1451  1.1  christos 	(mips_elf_record_local_got_symbol): Replace the G parameter with
   1452  1.1  christos 	an INFO parameter.  Make G a local variable and read it from
   1453  1.1  christos 	htab->got_info instead.
   1454  1.1  christos 	(mips_elf_record_got_page_entry): Likewise.
   1455  1.1  christos 	(mips_elf_multi_got): Remove the G parameter and make it a local
   1456  1.1  christos 	variable instead.  Read it from htab->got_info.
   1457  1.1  christos 	(mips_elf_create_got_section): Cache the GOT section in htab->sgot.
   1458  1.1  christos 	Store the GOT information in htab->got_info.
   1459  1.1  christos 	(mips_elf_calculate_relocation): Don't call mips_elf_got_section
   1460  1.1  christos 	and mips_elf_got_info; use htab->sgot and htab->got_info instead.
   1461  1.1  christos 	Adjust the calls to mips_elf_got_offset_from_index and
   1462  1.1  christos 	mips_elf_adjust_gp.
   1463  1.1  christos 	(_bfd_mips_elf_check_relocs): Remove the G and SGOT local variables.
   1464  1.1  christos 	Adjust the calls to mips_elf_record_local_got_symbol,
   1465  1.1  christos 	mips_elf_record_global_got_symbol and mips_elf_record_got_page_entry.
   1466  1.1  christos 	Use htab->sgot.
   1467  1.1  christos 	(_bfd_mips_elf_always_size_sections): Remove the DYNOBJ local variable.
   1468  1.1  christos 	Don't call mips_elf_got_info; use htab->sgot and htab->got_info instead.
   1469  1.1  christos 	Update the call to mips_elf_multi_got.
   1470  1.1  christos 	(_bfd_mips_elf_size_dynamic_sections): Don't call mips_elf_got_info;
   1471  1.1  christos 	use htab->got_info instead.
   1472  1.1  christos 	(_bfd_mips_elf_finish_dynamic_symbol): Update the call to
   1473  1.1  christos 	mips_elf_got_section.  Get the got_info from the hash table
   1474  1.1  christos 	rather than the GOT section.
   1475  1.1  christos 	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
   1476  1.1  christos 	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
   1477  1.1  christos 	(_bfd_mips_elf_hide_symbol): Don't call mips_elf_got_section;
   1478  1.1  christos 	get the got_info from the hash table instead.  Remove the GOT
   1479  1.1  christos 	local variable.
   1480  1.1  christos 	(_bfd_mips_elf_final_link): Likewise.  Also remove the DYNOBJ
   1481  1.1  christos 	local variable.
   1482  1.1  christos 
   1483  1.1  christos 2008-08-06  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1484  1.1  christos 
   1485  1.1  christos 	* elfxx-mips.c (mips_elf_link_hash_table): Add an "sstubs" field.
   1486  1.1  christos 	(_bfd_mips_elf_create_dynamic_sections): Use it to cache the stubs
   1487  1.1  christos 	section.  Don't check whether the section already exists.
   1488  1.1  christos 	(_bfd_mips_elf_adjust_dynamic_symbol): Use htab->sstubs.
   1489  1.1  christos 	(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
   1490  1.1  christos 	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
   1491  1.1  christos 	(_bfd_mips_elf_size_dynamic_sections): Likewise.  Don't add the
   1492  1.1  christos 	dummy stub to an empty section.
   1493  1.1  christos 	(_bfd_mips_elf_link_hash_table_create): Initialize the "sstubs" field.
   1494  1.1  christos 
   1495  1.1  christos 2008-08-06  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1496  1.1  christos 
   1497  1.1  christos 	* reloc.c (BFD_RELOC_MIPS16_GOT16, BFD_RELOC_MIPS16_CALL16): Declare.
   1498  1.1  christos 	* libbfd.h, bfd-in2.h: Regenerate.
   1499  1.1  christos 	* elf32-mips.c (elf_mips16_howto_table_rel): Fill in reserved
   1500  1.1  christos 	R_MIPS16_GOT16 and R_MIPS16_CALL16 entries.
   1501  1.1  christos 	(mips16_reloc_map): Add mappings.
   1502  1.1  christos 	* elf64-mips.c (mips16_elf64_howto_table_rel): Fill in reserved
   1503  1.1  christos 	R_MIPS16_GOT16 and R_MIPS16_CALL16 entries.
   1504  1.1  christos 	(mips16_elf64_howto_table_rela): Likewise.
   1505  1.1  christos 	(mips16_reloc_map): Add mappings.
   1506  1.1  christos 	* elfn32-mips.c (elf_mips16_howto_table_rel): Fill in reserved
   1507  1.1  christos 	R_MIPS16_GOT16 and R_MIPS16_CALL16 entries.
   1508  1.1  christos 	(elf_mips16_howto_table_rela): Likewise.
   1509  1.1  christos 	(mips16_reloc_map): Add mappings.
   1510  1.1  christos 	* elfxx-mips.c (mips_elf_create_shadow_symbol): New function.
   1511  1.1  christos 	(section_allows_mips16_refs_p): Likewise.
   1512  1.1  christos 	(mips16_stub_symndx): Likewise.
   1513  1.1  christos 	(mips_elf_check_mips16_stubs): Treat the data argument as a
   1514  1.1  christos 	bfd_link_info.  Mark every dynamic symbol as needing MIPS16 stubs
   1515  1.1  christos 	and create a "shadow" symbol for the original MIPS16 definition.
   1516  1.1  christos 	(mips16_reloc_p, got16_reloc_p, call16_reloc_p, hi16_reloc_p)
   1517  1.1  christos 	(lo16_reloc_p, mips16_call_reloc_p): New functions.
   1518  1.1  christos 	(_bfd_mips16_elf_reloc_unshuffle): Use mips16_reloc_p to generalize
   1519  1.1  christos 	relocation checks.
   1520  1.1  christos 	(_bfd_mips16_elf_reloc_shuffle): Likewise.
   1521  1.1  christos 	(_bfd_mips_elf_lo16_reloc): Handle R_MIPS16_GOT16.
   1522  1.1  christos 	(mips_elf_got16_entry): Add comment.
   1523  1.1  christos 	(mips_elf_calculate_relocation): Use hi16_reloc_p,
   1524  1.1  christos 	lo16_reloc_p, mips16_call_reloc_p, call16_reloc_p and got16_reloc_p
   1525  1.1  christos 	to generalize relocation checks.  Use section_allows_mips16_refs_p
   1526  1.1  christos 	instead of mips16_stub_section_p.   Handle R_MIPS16_CALL16 and
   1527  1.1  christos 	R_MIPS16_GOT16, allowing the former to refer directly to a
   1528  1.1  christos 	MIPS16 function if its stub is not needed.
   1529  1.1  christos 	(mips16_stub_section_p): Delete.
   1530  1.1  christos 	(_bfd_mips_elf_symbol_processing): Convert odd-valued function
   1531  1.1  christos 	symbols into even MIPS16 symbols.
   1532  1.1  christos 	(mips_elf_add_lo16_rel_addend): Use mips16_reloc_p to generalize
   1533  1.1  christos 	a relocation check.
   1534  1.1  christos 	(_bfd_mips_elf_check_relocs): Calculate "bed" and "rel_end"
   1535  1.1  christos 	earlier in the function.  Use mips16_stub_symndx to identify
   1536  1.1  christos 	the target function.  Avoid out-of-bounds accesses when the
   1537  1.1  christos 	stub has no relocations; report an error instead.  Use
   1538  1.1  christos 	section_allows_mips16_refs_p instead of mips16_stub_section_p.
   1539  1.1  christos 	Use mips16_call_reloc_p and got16_reloc_p to generalize relocation
   1540  1.1  christos 	checks.  Handle R_MIPS16_CALL16 and R_MIPS16_GOT16.  Don't create
   1541  1.1  christos 	dynamic relocations for absolute references to __gnu_local_gp.
   1542  1.1  christos 	(_bfd_mips_elf_always_size_sections): Pass a bfd_link_info as
   1543  1.1  christos 	the argument to mips_elf_check_mips16_stubs.  Generalize comment.
   1544  1.1  christos 	(_bfd_mips_elf_relocate_section): Use hi16_reloc_p and got16_reloc_p
   1545  1.1  christos 	to generalize relocation checks.
   1546  1.1  christos 	(_bfd_mips_elf_finish_dynamic_symbol): If a dynamic MIPS16 function
   1547  1.1  christos 	symbol has a non-MIPS16 stub, redirect the symbol to the stub.
   1548  1.1  christos 	Fix an overly long line.  Don't give dynamic symbols type STO_MIPS16.
   1549  1.1  christos 	(_bfd_mips_elf_gc_sweep_hook): Handle R_MIPS16_CALL16 and
   1550  1.1  christos 	R_MIPS16_GOT16.
   1551  1.1  christos 
   1552  1.1  christos 2008-08-06  Alan Modra  <amodra (a] bigpond.net.au>
   1553  1.1  christos 
   1554  1.1  christos 	* elf32-ppc.c (ppc_elf_relax_section): Clear R_PPC_PLTREL24 addend.
   1555  1.1  christos 	(ppc_elf_relocate_section <R_PPC_RELAX32_PLT>): Don't bother here.
   1556  1.1  christos 
   1557  1.1  christos 2008-08-05  Alan Modra  <amodra (a] bigpond.net.au>
   1558  1.1  christos 	    Jaka Monik <jaka (a] xlab.si>
   1559  1.1  christos 
   1560  1.1  christos 	* coffcode.h (coff_slurp_line_table): bfd_alloc lineno_cache first
   1561  1.1  christos 	so that we don't inadvertently free it.  Use bfd_alloc for sort
   1562  1.1  christos 	arrays, and memcpy sorted line table.
   1563  1.1  christos 
   1564  1.1  christos 2008-08-04  Alan Modra  <amodra (a] bigpond.net.au>
   1565  1.1  christos 
   1566  1.1  christos 	* elf32-spu.c (spu_elf_auto_overlay): Use the maximum possible
   1567  1.1  christos 	if --fixed-space request is too large.
   1568  1.1  christos 
   1569  1.1  christos 2008-08-04  Alan Modra  <amodra (a] bigpond.net.au>
   1570  1.1  christos 
   1571  1.1  christos 	* Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Set LC_ALL=C.
   1572  1.1  christos 	* Makefile.in: Regenerate.
   1573  1.1  christos 	* po/SRC-POTFILES.in: Regenerate.
   1574  1.1  christos 
   1575  1.1  christos 2008-08-02  Alan Modra  <amodra (a] bigpond.net.au>
   1576  1.1  christos 
   1577  1.1  christos 	* elf32-spu.c (mark_overlay_section): Move code calculating
   1578  1.1  christos 	max_overlay_size to correct block.
   1579  1.1  christos 	(spu_elf_auto_overlay): Don't use %x in einfo error message.
   1580  1.1  christos 
   1581  1.1  christos 2008-08-01  Alan Modra  <amodra (a] bigpond.net.au>
   1582  1.1  christos 	    Jan Kratochvil  <jan.kratochvil (a] redhat.com>
   1583  1.1  christos 
   1584  1.1  christos 	* elfcore.h (elf_core_file_p): Ensure we have a backend match
   1585  1.1  christos 	with the correct arch size before rejecting the generic fallback.
   1586  1.1  christos 	* elfcode.h (elf_object_p): Likewise.  Ensure arch size matches
   1587  1.1  christos 	before accepting a target.
   1588  1.1  christos 
   1589  1.1  christos 2008-08-01  Alan Modra  <amodra (a] bigpond.net.au>
   1590  1.1  christos 
   1591  1.1  christos 	PR 6774
   1592  1.1  christos 	* elf.c (rewrite_elf_program_header): Don't wrap p_paddr to
   1593  1.1  christos 	include file or program headers.
   1594  1.1  christos 
   1595  1.1  christos 2008-07-30  Alan Modra  <amodra (a] bigpond.net.au>
   1596  1.1  christos 
   1597  1.1  christos 	* coff-ppc.c, coffgen.c, ecoff.c, ecofflink.c, elf.c, elf32-frv.c,
   1598  1.1  christos 	elf32-iq2000.c, elf32-m32c.c, elf32-mep.c, elf32-mt.c,
   1599  1.1  christos 	elf32-sh-symbian.c, elf64-hppa.c, mach-o.c, peXXigen.c, pef.c,
   1600  1.1  christos 	ppcboot.c, vms-misc.c, xsym.c: Silence gcc warnings.
   1601  1.1  christos 
   1602  1.1  christos 2008-07-28  Daniel Jacobowitz  <dan (a] codesourcery.com>
   1603  1.1  christos 
   1604  1.1  christos 	* elfxx-mips.c (mips_elf_calculate_relocation): Avoid generating
   1605  1.1  christos 	relocations for undefined weak symbols with non-default visibility.
   1606  1.1  christos 	(_bfd_mips_elf_check_relocs): Use possibly_dynamic_relocs for
   1607  1.1  christos 	global symbols in shared libraries.
   1608  1.1  christos 	(allocate_dynrelocs): New function.
   1609  1.1  christos 	(_bfd_mips_elf_adjust_dynamic_symbol): Do not handle
   1610  1.1  christos 	possibly_dynamic_relocs here.
   1611  1.1  christos 	(_bfd_mips_elf_size_dynamic_sections): Call allocate_dynrelocs.
   1612  1.1  christos 
   1613  1.1  christos 2008-07-28  Alexandre Oliva  <aoliva (a] redhat.com>
   1614  1.1  christos 
   1615  1.1  christos 	* elf32-i386.c (struct elf_i386_link_hash_table): Added field
   1616  1.1  christos 	tls_module_base.
   1617  1.1  christos 	(elf_i386_link_hash_table_create): Initialize it.
   1618  1.1  christos 	(elf_i386_always_size_sections): Set it.
   1619  1.1  christos 	(set_tls_module_base): New.
   1620  1.1  christos 	(elf_i386_relocate_sections): Call it.
   1621  1.1  christos 	* elf64-x86-64.c (struct elf64_x86_64_link_hash_table): Added
   1622  1.1  christos 	field tls_module_base.
   1623  1.1  christos 	(elf64_x86_64_link_hash_table_create): Initialize it.
   1624  1.1  christos 	(elf64_x86_64_always_size_sections): Set it.
   1625  1.1  christos 	(set_tls_module_base): New.
   1626  1.1  christos 	(elf64_x86_64_relocate_sections): Call it.
   1627  1.1  christos 	Reported by Cary Coutant <ccoutant (a] google.com>
   1628  1.1  christos 
   1629  1.1  christos 2008-07-28  Ineiev  <ineiev (a] yahoo.co.uk>
   1630  1.1  christos 
   1631  1.1  christos 	* elf32-arm.c (arm_map_one_stub): Declare variables at beginning
   1632  1.1  christos 	of block.
   1633  1.1  christos 	* elf32-avr.c (get_local_syms): Likewise.
   1634  1.1  christos 
   1635  1.1  christos 2008-07-28  Alan Modra  <amodra (a] bigpond.net.au>
   1636  1.1  christos 
   1637  1.1  christos 	PR 6769
   1638  1.1  christos 	* bfd-in.h (BFD_VMA_FMT): Define.
   1639  1.1  christos 	(printf_vma, sprintf_vma): Use the above.
   1640  1.1  christos 	(_bfd_int64_low, _bfd_int64_high): Delete.
   1641  1.1  christos 	* bfd-in2.h: Regenerate.
   1642  1.1  christos 
   1643  1.1  christos 2008-07-27  Alan Modra  <amodra (a] bigpond.net.au>
   1644  1.1  christos 
   1645  1.1  christos 	* elf.c (_bfd_elf_make_section_from_shdr): Ignore return from
   1646  1.1  christos 	elf_parse_notes.  Use bfd_malloc_and_get_section.
   1647  1.1  christos 	(elf_parse_notes): Validate note namesz and descsz.
   1648  1.1  christos 
   1649  1.1  christos 2008-07-26  Michael Eager <eager (a] eagercon.com>
   1650  1.1  christos 
   1651  1.1  christos 	* elf32-ppc.c (ppc_elf_merge_obj_attributes): Check compatibility
   1652  1.1  christos 	between single-float, double-float, and soft-float.
   1653  1.1  christos 
   1654  1.1  christos 2008-07-24  Daniel Jacobowitz  <dan (a] codesourcery.com>
   1655  1.1  christos 
   1656  1.1  christos 	* elf32-mips.c (elf_backend_write_section): Define.
   1657  1.1  christos 
   1658  1.1  christos 2008-07-24  Nick Clifton  <nickc (a] redhat.com>
   1659  1.1  christos 
   1660  1.1  christos 	* elf.c (_bfd_elf_map_sections_to_segments): Catch off by one
   1661  1.1  christos 	error assigning sections to segments.
   1662  1.1  christos 
   1663  1.1  christos 2008-07-22  Nick Clifton  <nickc (a] redhat.com>
   1664  1.1  christos 
   1665  1.1  christos 	* elf.c (_bfd_elf_map_sections_to_segments): Allow sections in
   1666  1.1  christos 	adjoining pages to be included in the same segment.
   1667  1.1  christos 
   1668  1.1  christos 2008-07-22  Simon Baldwin  <simonb (a] google.com>
   1669  1.1  christos 
   1670  1.1  christos 	* elflink.c (elf_link_output_extsym): Set st_size to zero for
   1671  1.1  christos 	symbols from dynamic libraries.
   1672  1.1  christos 
   1673  1.1  christos 2008-07-21  H.J. Lu  <hongjiu.lu (a] intel.com>
   1674  1.1  christos 
   1675  1.1  christos 	PR ld/4424
   1676  1.1  christos 	* elflink.c (_bfd_elf_merge_symbol): Call bed->relocs_compatible
   1677  1.1  christos 	to check if 2 inputs are compatible.
   1678  1.1  christos 
   1679  1.1  christos 2008-07-21  Sterling Augustine  <sterling (a] tensilica.com>
   1680  1.1  christos 
   1681  1.1  christos 	* elf.c (assign_file_positions_for_load_sections): Print vma in
   1682  1.1  christos 	error message about overlapping section vmas.
   1683  1.1  christos 
   1684  1.1  christos 2008-07-21  H.J. Lu  <hongjiu.lu (a] intel.com>
   1685  1.1  christos 
   1686  1.1  christos 	PR ld/6747
   1687  1.1  christos 	* elf32-frv.c (elf32_frv_relocate_section): Revert the change
   1688  1.1  christos 	for PR ld/6446 checked in by accident on May 21, 2008.
   1689  1.1  christos 
   1690  1.1  christos 2008-07-21  Nick Clifton  <nickc (a] redhat.com>
   1691  1.1  christos 
   1692  1.1  christos 	* coff-sh.c (bfd_pe_print_pdata): Define to NULL for non
   1693  1.1  christos 	COFF_WITH_PE based SH ports.
   1694  1.1  christos 	* libpei.h (_bfd_XX_print_ce_compressed_pdata): Prototype.
   1695  1.1  christos 	* arm-wince-pe.c (bfd_pe_print_pdata): Use
   1696  1.1  christos 	_bfd_pe_print_ce_compressed_pdata.
   1697  1.1  christos 	(slurp_symcache, cleanup_syms, pe_print_ce_compressed_pdata): Move
   1698  1.1  christos 	to...
   1699  1.1  christos 	* peXXigen.c: ... here and rename pe_print_ce_compressed_pdata to
   1700  1.1  christos 	_bfd_XX_print_ce_compressed_pdata.
   1701  1.1  christos 
   1702  1.1  christos 2008-07-21  Alan Modra  <amodra (a] bigpond.net.au>
   1703  1.1  christos 
   1704  1.1  christos 	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Drop
   1705  1.1  christos 	unwanted zero terminators.
   1706  1.1  christos 
   1707  1.1  christos 2008-07-21  Alan Modra  <amodra (a] bigpond.net.au>
   1708  1.1  christos 
   1709  1.1  christos 	* elf32-spu.c (spu_elf_relocate_section): Expand
   1710  1.1  christos 	RELOC_FOR_GLOBAL_SYMBOL.  Don't warn about undefined symbols for
   1711  1.1  christos 	R_SPU_PPU32 and R_SPU_PPU64 relocations.
   1712  1.1  christos 
   1713  1.1  christos 2008-07-21  Luis Machado  <luisgpm (a] br.ibm.com>
   1714  1.1  christos 
   1715  1.1  christos 	* elf-bfd.h: Declare elfcore_write_ppc_vsx.
   1716  1.1  christos 	* elf.c (elfcore_grok_ppc_vsx): New function.
   1717  1.1  christos 	(elfcore_write_ppc_vsx): New function
   1718  1.1  christos 	(elfcore_grok_note): Handle VSX notes.
   1719  1.1  christos 	(elfcore_write_register_note): Handle VSX notes.
   1720  1.1  christos 
   1721  1.1  christos 2008-07-18  Joseph Myers  <joseph (a] codesourcery.com>
   1722  1.1  christos 
   1723  1.1  christos 	* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add new parameter.
   1724  1.1  christos 	* bfd-in2.h: Regenerate.
   1725  1.1  christos 	* elf32-arm.c (struct elf_arm_obj_tdata): Add field
   1726  1.1  christos 	no_wchar_size_warning.
   1727  1.1  christos 	(bfd_elf32_arm_set_target_relocs): Add new parameter
   1728  1.1  christos 	no_wchar_warn.
   1729  1.1  christos 	(elf32_arm_merge_eabi_attributes): Give a warning, not an error,
   1730  1.1  christos 	for conflicting wchar_t attributes.  Do not warn if
   1731  1.1  christos 	--no-wchar-size-warning.  Make diagnostic text more specific.
   1732  1.1  christos 
   1733  1.1  christos 2008-07-18  H.J. Lu  <hongjiu.lu (a] intel.com>
   1734  1.1  christos 
   1735  1.1  christos 	PR ld/6748
   1736  1.1  christos 	* elf32-arm.c (elf32_arm_link_hash_table_create): Initialize
   1737  1.1  christos 	new fields added for ARM long call support.
   1738  1.1  christos 
   1739  1.1  christos 2008-07-18  Danny Backx  <dannybackx (a] users.sourceforge.net>
   1740  1.1  christos 
   1741  1.1  christos 	* pe-arm-wince.c (pe_print_compressed_pdata): Define new function to
   1742  1.1  christos 	print compressed pdata structure as described on MSDN. This only
   1743  1.1  christos 	applies to a limited set of architectures (ARM, SH4).
   1744  1.1  christos 	(slurp_symtab, my_symbol_for_address): Define static helper
   1745  1.1  christos 	functions for pe_print_compressed_pdata.
   1746  1.1  christos 	* coffcode.h (bfd_coff_backend_data): Add _bfd_coff_print_pdata field.
   1747  1.1  christos 	(bfd_coff_have_print_pdata, bfd_coff_print_pdata): Define.
   1748  1.1  christos 	* bfd/peXXigen.c (_bfd_XX_print_private_bfd_data_common): Add check on
   1749  1.1  christos 	bfd_coff_backend_data, call the function if non-null.
   1750  1.1  christos 	* pei-mcore.c: Add target dependent initialisation for
   1751  1.1  christos 	bfd_coff_backend_data.
   1752  1.1  christos 	* coff-sh.c: Likewise.
   1753  1.1  christos 	* coff64-rs6000.c: Likewise.
   1754  1.1  christos 	* coff-rs6000.c: Likewise.
   1755  1.1  christos 	* libcoff-in.h: Likewise.
   1756  1.1  christos 	* cf-i386lynx.c: Likewise.
   1757  1.1  christos 	* coff-alpha.c: Likewise.
   1758  1.1  christos 	* coff-apollo.c: Likewise.
   1759  1.1  christos 	* coff-arm.c: Likewise.
   1760  1.1  christos 	* coff-aux.c: Likewise.
   1761  1.1  christos 	* coff-h8300.c: Likewise.
   1762  1.1  christos 	* coff-h8500.c: Likewise.
   1763  1.1  christos 	* coff-i386.c: Likewise.
   1764  1.1  christos 	* coff-i860.c: Likewise.
   1765  1.1  christos 	* coff-i960.c: Likewise.
   1766  1.1  christos 	* coff-ia64.c: Likewise.
   1767  1.1  christos 	* coff-m68k.c: Likewise.
   1768  1.1  christos 	* coff-m88k.c: Likewise.
   1769  1.1  christos 	* coff-maxq.c: Likewise.
   1770  1.1  christos 	* coff-mips.c: Likewise.
   1771  1.1  christos 	* coff-or32.c: Likewise.
   1772  1.1  christos 	* coff-sparc.c: Likewise.
   1773  1.1  christos 	* coff-tic30.c: Likewise.
   1774  1.1  christos 	* coff-tic4x.c: Likewise.
   1775  1.1  christos 	* coff-tic54x.c: Likewise.
   1776  1.1  christos 	* coff-tic80.c: Likewise.
   1777  1.1  christos 	* coff-w65.c: Likewise.
   1778  1.1  christos 	* coff-we32k.c: Likewise.
   1779  1.1  christos 	* coff-x86_64.c: Likewise.
   1780  1.1  christos 	* coff-z80.c: Likewise.
   1781  1.1  christos 	* coff-z8k.c: Likewise.
   1782  1.1  christos 	* pe-mcore.c: Likewise.
   1783  1.1  christos 	* pe-mips.c: Likewise.
   1784  1.1  christos 	* pe-ppc.c: Likewise.
   1785  1.1  christos 	* peXXigen.c: Likewise.
   1786  1.1  christos 	* pei-ppc.c: Likewise.
   1787  1.1  christos 	* libcoff.h: Regenerate.
   1788  1.1  christos 
   1789  1.1  christos 2008-07-16  Bernd Schmidt  <bernd.schmidt (a] analog.com>
   1790  1.1  christos 
   1791  1.1  christos 	* elf32-bfin.c (bfin_check_relocs, bfin_relocate_section,
   1792  1.1  christos 	bfin_final_link_relocate, bfin_gc_mark_hook, bfin_gc_sweep_hook,
   1793  1.1  christos 	ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE,
   1794  1.1  christos 	struct _bfinfdpic_dynamic_got_info): Moved around to keep FD-PIC code
   1795  1.1  christos 	separate from non-FD-PIC.
   1796  1.1  christos 
   1797  1.1  christos 2008-07-14  DJ Delorie  <dj (a] redhat.com>
   1798  1.1  christos 
   1799  1.1  christos 	* elf-m10300.c (mn10300_elf_final_link_relocate): Correct overflow
   1800  1.1  christos 	checks for PCREL8, PCREL16, GOTPC16, GOTOFF16, PLT16, and GOT16
   1801  1.1  christos 	relocs.
   1802  1.1  christos 	(mn10300_elf_relax_section): Correct jump offset check when target
   1803  1.1  christos 	is in a different section.
   1804  1.1  christos 
   1805  1.1  christos 2008-07-15  Jie Zhang  <jie.zhang (a] analog.com>
   1806  1.1  christos 
   1807  1.1  christos 	* elf32-bfin.c (elf32_bfin_special_sections[]): New.
   1808  1.1  christos 	(elf_backend_special_sections): Define.
   1809  1.1  christos 
   1810  1.1  christos 2008-07-13  Craig Silverstein  <csilvers (a] google.com>
   1811  1.1  christos 
   1812  1.1  christos 	PR binutils/6743
   1813  1.1  christos 	* dwarf2.c (struct dwarf2_debug): New variable info_ptr_memory.
   1814  1.1  christos 	(find_line): Use info_ptr_memory instead of sec_info_ptr.
   1815  1.1  christos 	(_bfd_dwarf2_cleanup_debug_info): Likewise.
   1816  1.1  christos 
   1817  1.1  christos 2008-07-12  Jie Zhang  <jie.zhang (a] analog.com>
   1818  1.1  christos 
   1819  1.1  christos 	Revert
   1820  1.1  christos 	2008-07-12  Jie Zhang  <jie.zhang (a] analog.com>
   1821  1.1  christos 	* elf.c (_bfd_elf_map_sections_to_segments): Don't put
   1822  1.1  christos 	executable sections into the same segment with other
   1823  1.1  christos 	read only sections if --sep-code.
   1824  1.1  christos 	* elf32-bfin.c (elf32_bfin_code_in_l1): New variable.
   1825  1.1  christos 	(elf32_bfin_data_in_l1): New variable.
   1826  1.1  christos 	(elf32_bfin_final_write_processing): New.
   1827  1.1  christos 	(elf32_bfin_special_sections[]): New.
   1828  1.1  christos 	(elf_backend_final_write_processing): Define.
   1829  1.1  christos 	(elf_backend_special_sections): Define.
   1830  1.1  christos 
   1831  1.1  christos 2008-07-12  Jie Zhang  <jie.zhang (a] analog.com>
   1832  1.1  christos 
   1833  1.1  christos 	* elf.c (_bfd_elf_map_sections_to_segments): Don't put
   1834  1.1  christos 	executable sections into the same segment with other
   1835  1.1  christos 	read only sections if --sep-code.
   1836  1.1  christos 	* elf32-bfin.c (elf32_bfin_code_in_l1): New variable.
   1837  1.1  christos 	(elf32_bfin_data_in_l1): New variable.
   1838  1.1  christos 	(elf32_bfin_final_write_processing): New.
   1839  1.1  christos 	(elf32_bfin_special_sections[]): New.
   1840  1.1  christos 	(elf_backend_final_write_processing): Define.
   1841  1.1  christos 	(elf_backend_special_sections): Define.
   1842  1.1  christos 
   1843  1.1  christos 2008-07-11  Andreas Schwab  <schwab (a] suse.de>
   1844  1.1  christos 
   1845  1.1  christos 	* dwarf2.c (read_section): Take pointer to bfd_size_type instead
   1846  1.1  christos 	of unsigned long as last parameter.
   1847  1.1  christos 	(struct dwarf2_debug): Define dwarf_abbrev_size, dwarf_line_size,
   1848  1.1  christos 	dwarf_str_size and dwarf_ranges_size as bfd_size_type instead of
   1849  1.1  christos 	unsigned long.
   1850  1.1  christos 
   1851  1.1  christos 2008-07-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1852  1.1  christos 
   1853  1.1  christos 	* elfxx-mips.c (mips_elf_calculate_relocation): Calculate GP and GP0
   1854  1.1  christos 	for all relocation types.  Allow any type of relocation to refer to
   1855  1.1  christos 	__gnu_local_gp.
   1856  1.1  christos 
   1857  1.1  christos 2008-07-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1858  1.1  christos 
   1859  1.1  christos 	* elfxx-mips.c (mips_elf_check_mips16_stubs): Use ELF_ST_IS_MIPS16.
   1860  1.1  christos 	(mips_elf_calculate_relocation): Likewise.
   1861  1.1  christos 	(_bfd_mips_elf_add_symbol_hook): Likewise.
   1862  1.1  christos 	(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
   1863  1.1  christos 	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
   1864  1.1  christos 
   1865  1.1  christos 2008-07-10  Andreas Schwab  <schwab (a] suse.de>
   1866  1.1  christos 
   1867  1.1  christos 	* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Add missing
   1868  1.1  christos 	paren.
   1869  1.1  christos 
   1870  1.1  christos 2008-07-09  Craig Silverstein  <csilvers (a] google.com>
   1871  1.1  christos 
   1872  1.1  christos 	* Makefile.am (BFD32_LIBS): Add compress.lo.
   1873  1.1  christos 	(BFD32_LIBS_CFILES): Add compress.c.
   1874  1.1  christos 	(BFD_H_FILES): Likewise.
   1875  1.1  christos 	* Makefile.in: Regenerate.
   1876  1.1  christos 	* bfd-in2.h: Regenerate.
   1877  1.1  christos 	* config.in: Add HAVE_ZLIB_H
   1878  1.1  christos 	* configure.in: Add test for libz and zlib.h
   1879  1.1  christos 	* configure: Regenerate.
   1880  1.1  christos 	* dwarf2.c (read_section): New function.
   1881  1.1  christos 	(read_indirect_string): Call new function read_section.
   1882  1.1  christos 	(read_abbrevs): Likewise.
   1883  1.1  christos 	(decode_line_info): Likewise.
   1884  1.1  christos 	(read_debug_ranges): Likewise.
   1885  1.1  christos 	(find_line): Call new function read_section when just one
   1886  1.1  christos 	.zdebug_info section is found, otherwise read and compress
   1887  1.1  christos 	multiple sections.
   1888  1.1  christos 	(_bfd_dwarf2_cleanup_debug_info): Free sec_info_ptr.
   1889  1.1  christos 	* elf.c (_bfd_elf_make_section_from_shdr): Add zdebug prefix.
   1890  1.1  christos 	(special_sections_z): New struct.
   1891  1.1  christos 	(special_sections): Refer to special_sections_z.
   1892  1.1  christos 	* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Recognize
   1893  1.1  christos 	sections named .zdebug_*.
   1894  1.1  christos 	(_bfd_mips_elf_fake_sections): Likewise.
   1895  1.1  christos 	* compress.c: New file.
   1896  1.1  christos 	(bfd_uncompress_section_contents): New function.
   1897  1.1  christos 
   1898  1.1  christos 2008-07-07  Christophe Lyon  <christophe.lyon (a] st.com>
   1899  1.1  christos 
   1900  1.1  christos 	* elf32-arm.c (arm_type_of_stub): Don't crash on local symbols in
   1901  1.1  christos 	the presence of a PLT.
   1902  1.1  christos 
   1903  1.1  christos 2008-07-07  Alan Modra  <amodra (a] bigpond.net.au>
   1904  1.1  christos 
   1905  1.1  christos 	* bfd.c (bfd_demangle): Always trim off bfd_get_symbol_leading_char.
   1906  1.1  christos 
   1907  1.1  christos 2008-07-02  Alan Modra  <amodra (a] bigpond.net.au>
   1908  1.1  christos 
   1909  1.1  christos 	* elf32-ppc.c (is_pic_glink_stub): New function.
   1910  1.1  christos 	(ppc_elf_get_synthetic_symtab): Don't generate symbols when
   1911  1.1  christos 	multiple shared/pie stubs per plt entry.
   1912  1.1  christos 
   1913  1.1  christos 2008-06-30  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1914  1.1  christos 
   1915  1.1  christos 	* elf.c (_bfd_elf_get_synthetic_symtab): Increment p by
   1916  1.1  christos 	bed->s->int_rels_per_ext_rel.
   1917  1.1  christos 
   1918  1.1  christos 2008-06-30  Richard Sandiford  <rdsandiford (a] googlemail.com>
   1919  1.1  christos 
   1920  1.1  christos 	* syms.c (BSF_SYNTHETIC): New flag.
   1921  1.1  christos 	* elf.c (_bfd_elf_get_synthetic_symtab): Set it.
   1922  1.1  christos 	* elf32-ppc.c (ppc_elf_get_synthetic_symtab): Likewise.
   1923  1.1  christos 	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Likewise.
   1924  1.1  christos 	* bfd-in.h (bfd_asymbol_flavour): Return bfd_target_unknown_flavour
   1925  1.1  christos 	for synthetic symbols.
   1926  1.1  christos 	* bfd-in2.h: Regenerate.
   1927  1.1  christos 
   1928  1.1  christos 2008-06-30  Daniel Jacobowitz  <dan (a] codesourcery.com>
   1929  1.1  christos 
   1930  1.1  christos 	* elf32-arm.c (record_arm_to_thumb_glue, record_thumb_to_arm_glue):
   1931  1.1  christos 	Expand comments.
   1932  1.1  christos 	(arm_map_one_stub): Use | 1 when setting the low bit.
   1933  1.1  christos 
   1934  1.1  christos 2008-06-29  Andreas Schwab  <schwab (a] suse.de>
   1935  1.1  christos 
   1936  1.1  christos 	* elf32-m68k.c (elf_m68k_relocate_section): Don't ignore existing
   1937  1.1  christos 	addend on _GLOBAL_OFFSET_TABLE_.
   1938  1.1  christos 
   1939  1.1  christos 2008-06-24  Daniel Jacobowitz  <dan (a] codesourcery.com>
   1940  1.1  christos 
   1941  1.1  christos 	* elf32-arm.c (STUB_ENTRY_NAME): Define.
   1942  1.1  christos 	(arm_thumb_thumb_long_branch_stub): Use bx instead of b.n.
   1943  1.1  christos 	(arm_pic_long_branch_stub): Mention R_ARM_REL32 instead of
   1944  1.1  christos 	R_ARM_ABS32.
   1945  1.1  christos 	(struct elf32_arm_stub_hash_entry): Add output_name.
   1946  1.1  christos 	(arm_build_one_stub): Move offsets into the offset argument
   1947  1.1  christos 	of _bfd_final_link_relocate.  Correct offset for
   1948  1.1  christos 	arm_thumb_arm_v4t_stub_long_branch.
   1949  1.1  christos 	(elf32_arm_size_stubs): Set stub_entry->output_name.
   1950  1.1  christos 	(elf32_arm_ouput_plt_map_sym): Rename to elf32_arm_output_map_sym.
   1951  1.1  christos 	Update all callers.
   1952  1.1  christos 	(elf32_arm_output_stub_sym): New.
   1953  1.1  christos 	(arm_map_one_stub): Correct formatting.  Use elf32_arm_output_stub_sym.
   1954  1.1  christos 
   1955  1.1  christos 2008-06-20  Alan Modra  <amodra (a] bigpond.net.au>
   1956  1.1  christos 
   1957  1.1  christos 	* elf32-spu.c (needs_ovl_stub): Correctly return nonovl_stub for
   1958  1.1  christos 	non-branch insns.
   1959  1.1  christos 
   1960  1.1  christos 2008-06-20  Alan Modra  <amodra (a] bigpond.net.au>
   1961  1.1  christos 
   1962  1.1  christos 	* elf32-spu.c (build_stub): Allow wraparound on stub branches.
   1963  1.1  christos 	(allocate_spuear_stubs, build_spuear_stubs): Return value from
   1964  1.1  christos 	count_stub/build_stub.
   1965  1.1  christos 	(spu_elf_build_stubs): Correct location of stub reloc error message.
   1966  1.1  christos 
   1967  1.1  christos 2008-06-18  M R Swami Reddy <MR.Swami.Reddy (a] nsc.com>
   1968  1.1  christos 
   1969  1.1  christos 	* elf32-cr16.c (ELF_MACHINE_ALT1): Define to EM_CR16_OLD.
   1970  1.1  christos 
   1971  1.1  christos 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   1972  1.1  christos 
   1973  1.1  christos 	* configure: Regenerate.
   1974  1.1  christos 
   1975  1.1  christos 2008-06-17  Alan Modra  <amodra (a] bigpond.net.au>
   1976  1.1  christos 
   1977  1.1  christos 	* elf32-spu.c (struct spu_link_hash_table): Add extra_stack_space.
   1978  1.1  christos 	(spu_elf_check_vma): Add extra_stack_space param, copy to htab.
   1979  1.1  christos 	(spu_elf_auto_overlay): Use it.
   1980  1.1  christos 	(RECURSE_UNMARK): Define as 0.
   1981  1.1  christos 	(unmark_overlay_section): Heed RECURSE_UNMARK.
   1982  1.1  christos 	* elf32-spu.h (spu_elf_check_vma): Update prototype.
   1983  1.1  christos 
   1984  1.1  christos 2008-06-12  DJ Delorie  <dj (a] redhat.com>
   1985  1.1  christos 
   1986  1.1  christos 	* elf32-m32c.c (ELF_MACHINE_ALT1): Define as EM_M32C_OLD.
   1987  1.1  christos 
   1988  1.1  christos 2008-06-09  Paul Brook  <paul (a] codesourcery.com>
   1989  1.1  christos 
   1990  1.1  christos 	bfd/
   1991  1.1  christos 	* elf32-arm.c (elf32_arm_merge_private_bfd_data): Allow BE8 shared
   1992  1.1  christos 	libraries.
   1993  1.1  christos 
   1994  1.1  christos 2008-06-09  Christophe Lyon  <christophe.lyon (a] st.com>
   1995  1.1  christos 
   1996  1.1  christos 	* elf32-arm.c (arm_stub_is_thumb): Define.
   1997  1.1  christos 	(elf32_arm_final_link_relocate): Handle near mode switching stubs.
   1998  1.1  christos 
   1999  1.1  christos 2008-06-07  Alan Modra  <amodra (a] bigpond.net.au>
   2000  1.1  christos 
   2001  1.1  christos 	* elf32-spu.c (spu_elf_auto_overlay): Add valid area below sp
   2002  1.1  christos 	to stack calculation.
   2003  1.1  christos 
   2004  1.1  christos 2008-06-06  Paul Brook  <paul (a] codesourcery.com>
   2005  1.1  christos 
   2006  1.1  christos 	bfd/
   2007  1.1  christos 	* elf32-arm.c (elf32_arm_merge_private_bfd_data): Reject BE8 input.
   2008  1.1  christos 
   2009  1.1  christos 2008-06-06  Alan Modra  <amodra (a] bigpond.net.au>
   2010  1.1  christos 
   2011  1.1  christos 	* elf32-spu.c (spu_elf_auto_overlay): Relax requirement that
   2012  1.1  christos 	file names be unique.  Specify archive:path in overlay script.
   2013  1.1  christos 
   2014  1.1  christos 2008-06-05  Alan Modra  <amodra (a] bigpond.net.au>
   2015  1.1  christos 
   2016  1.1  christos 	PR ld/6590
   2017  1.1  christos 	* elf64-ppc.c (ppc_build_one_stub): Correct reloc offsets.
   2018  1.1  christos 
   2019  1.1  christos 2008-06-04  Alan Modra  <amodra (a] bigpond.net.au>
   2020  1.1  christos 
   2021  1.1  christos 	* elf.c (ignore_section_sym): Don't test section sym value here.
   2022  1.1  christos 	(elf_map_symbols): Instead check zero value here as was done prior
   2023  1.1  christos 	to 2006-05-26 change.
   2024  1.1  christos 
   2025  1.1  christos 2008-06-04  Nick Clifton  <nickc (a] redhat.com>
   2026  1.1  christos 
   2027  1.1  christos 	PR ld/6019
   2028  1.1  christos 	* elf32-avr.c (elf32_avr_relax_section): Handle the case where
   2029  1.1  christos 	there are no local symbols.
   2030  1.1  christos 
   2031  1.1  christos 2008-06-04  Alan Modra  <amodra (a] bigpond.net.au>
   2032  1.1  christos 
   2033  1.1  christos 	* elf32-spu.c (get_sym_h): Don't attempt to read global syms.
   2034  1.1  christos 	(process_stubs): Likewise.
   2035  1.1  christos 	(discover_functions): Don't used cached symbols.
   2036  1.1  christos 	(maybe_insert_function): Correct condition under which function
   2037  1.1  christos 	array is realloc'd.
   2038  1.1  christos 	(mark_functions_via_relocs): Delete unused variable.
   2039  1.1  christos 
   2040  1.1  christos 2008-05-30  Frediano Ziglio  <frediano.ziglio (a] vodafone.com>
   2041  1.1  christos 	    Nick Clifton  <nickc (a] redhat.com>
   2042  1.1  christos 
   2043  1.1  christos 	PR ld/6511
   2044  1.1  christos 	* elf64-hppa.c (allocate_global_data_opd): Default to using the
   2045  1.1  christos 	dynamic symbol table for local function names in shared libraries.
   2046  1.1  christos 
   2047  1.1  christos 2008-05-29  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
   2048  1.1  christos 
   2049  1.1  christos 	* elf.c (assign_file_positions_for_load_sections): Adjust pre-section
   2050  1.1  christos 	gaps based on VMA and P_VADDR instead of LMA and P_PADDR addresses.
   2051  1.1  christos 
   2052  1.1  christos 2008-05-28  Alan Modra  <amodra (a] bigpond.net.au>
   2053  1.1  christos 
   2054  1.1  christos 	* elf32-spu.c (spu_elf_object_p): New function.
   2055  1.1  christos 	(elf_backend_object_p): Define.
   2056  1.1  christos 	(build_stub): Correct second word of 8 byte overlay stubs.
   2057  1.1  christos 	(spu_elf_relocate_section): Formatting.
   2058  1.1  christos 
   2059  1.1  christos 2008-05-24  Carlos Eduardo Seo  <cseo (a] linux.vnet.ibm.com>
   2060  1.1  christos 
   2061  1.1  christos 	* elf.c (elfcore_write_register_note): New function.
   2062  1.1  christos 	* elf-bfd.h (elfcore_write_register_note): New prototype.
   2063  1.1  christos 
   2064  1.1  christos 2008-05-22  Christophe Lyon  <christophe.lyon (a] st.com>
   2065  1.1  christos 
   2066  1.1  christos 	* elf32-arm.c (arm_type_of_stub): Ignore STT_SECTION symbols.
   2067  1.1  christos 	(elf32_arm_stub_add_mapping_symbol): Remove.
   2068  1.1  christos 	(elf32_arm_add_stub): Don't generate mapping symbols. Change
   2069  1.1  christos 	prototype.
   2070  1.1  christos 	(elf32_arm_size_stubs): Use new elf32_arm_add_stub
   2071  1.1  christos 	prototype. Don't generate thumb to arm glue for calls.
   2072  1.1  christos 	(arm_map_one_stub): Define.
   2073  1.1  christos 	(elf32_arm_output_arch_local_syms): Generate mapping symbols for
   2074  1.1  christos 	long calls stubs.
   2075  1.1  christos 
   2076  1.1  christos 2008-05-21  Nick Clifton  <nickc (a] redhat.com>
   2077  1.1  christos 
   2078  1.1  christos 	* elf32-arm.c (group_sections): Reformat comments.
   2079  1.1  christos 
   2080  1.1  christos 	PR ld/6446
   2081  1.1  christos 	* elf32-frv.c (elf32_frv_relocate_section): Set EF_FRV_PIC by
   2082  1.1  christos 	default (for FDPIC). Clear it if any inter-segment relocations
   2083  1.1  christos 	are found.
   2084  1.1  christos 
   2085  1.1  christos 	* elf64-hppa.c (elf64_hppa_finalize_opd): Check NULL return
   2086  1.1  christos 	from elf_link_hash_lookup.
   2087  1.1  christos 
   2088  1.1  christos 2008-05-21  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   2089  1.1  christos 
   2090  1.1  christos 	Add multi-GOT support for m68k.
   2091  1.1  christos 	* elf32-m68k.c (struct elf_m68k_link_hash_entry: got_entry_key,
   2092  1.1  christos 	glist): New fields.
   2093  1.1  christos 	(struct elf_m68k_got_entry_key, struct elf_m68k_got_entry,
   2094  1.1  christos 	struct elf_m68k_got, struct elf_m68k_bfd2got_entry,
   2095  1.1  christos 	struct elf_m68k_multi_got): New data structures.
   2096  1.1  christos 	(struct elf_m68k_link_hash_table: local_gp_p, use_neg_got_offsets_p,
   2097  1.1  christos 	allow_multigot_p, multi_got_): New fields.
   2098  1.1  christos 	(elf_m68k_multi_got): New macro.
   2099  1.1  christos 	(elf_m68k_link_hash_newfunc): Initialize new fields of
   2100  1.1  christos 	struct elf_m68k_link_hash_entry.
   2101  1.1  christos 	(elf_m68k_link_hash_table_create): Initialize new fields of
   2102  1.1  christos 	struct elf_m68k_link_hash_table.
   2103  1.1  christos 	(elf_m68k_link_hash_table_free): New static function implementing hook.
   2104  1.1  christos 	(elf_m68k_init_got, elf_m68k_clear_got, elf_m68k_create_empty_got): New
   2105  1.1  christos 	static functions for struct elf_m68k_got.
   2106  1.1  christos 	(elf_m68k_init_got_entry_key, elf_m68k_got_entry_hash,
   2107  1.1  christos 	elf_m68k_got_entry_eq): New static functions for
   2108  1.1  christos 	struct elf_m68k_got_entry.
   2109  1.1  christos 	(ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT,
   2110  1.1  christos 	ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): New macros.
   2111  1.1  christos 	(enum elf_m68k_get_entry_howto): New enum.
   2112  1.1  christos 	(elf_m68k_get_got_entry, elf_m68k_update_got_entry_type,
   2113  1.1  christos 	elf_m68k_remove_got_entry_type): New static functions for
   2114  1.1  christos 	struct elf_m68k_got_entry.
   2115  1.1  christos 	(elf_m68k_add_entry_to_got): New static function.
   2116  1.1  christos 	(elf_m68k_bfd2got_entry_hash, elf_m68k_bfd2got_entry_eq,
   2117  1.1  christos 	elf_m68k_bfd2got_entry_del, elf_m68k_get_bfd2got_entry): New static
   2118  1.1  christos 	functions for struct elf_m68k_bfd2got_entry.
   2119  1.1  christos 	(struct elf_m68k_can_merge_gots_arg, elf_m68k_can_merge_gots_1,
   2120  1.1  christos 	elf_m68k_can_merge_gots): New traversal.
   2121  1.1  christos 	(struct elf_m68k_merge_gots_arg, elf_m68k_merge_gots_1,
   2122  1.1  christos 	elf_m68k_merge_gots): Ditto.
   2123  1.1  christos 	(struct elf_m68k_finalize_got_offsets_arg,
   2124  1.1  christos 	elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Ditto.
   2125  1.1  christos 	(struct elf_m68k_partition_multi_got_arg,
   2126  1.1  christos 	elf_m68k_partition_multi_got_1, elf_m68k_init_symndx2h_1,
   2127  1.1  christos 	elf_m68k_partition_multi_got): Ditto.
   2128  1.1  christos 	(elf_m68k_find_got_entry_ptr, elf_m68k_remove_got_entry): New static
   2129  1.1  christos 	functions.
   2130  1.1  christos 	(elf_m68k_copy_indirect_symbol): New static function implementing
   2131  1.1  christos 	a hook.
   2132  1.1  christos 	(elf_m68k_check_relocs): Update to add entries to multi-GOT.
   2133  1.1  christos 	(elf_m68k_gc_sweep_hook): Update to remove entries from multi-GOT.
   2134  1.1  christos 	(elf_m68k_always_size_sections): Assign BFDs to GOTs.
   2135  1.1  christos 	(elf_m68k_relocate_section): Update to properly handle GOT relocations.
   2136  1.1  christos 	(elf_m68k_finish_dynamic_symbol): Update to traverse all GOT entries
   2137  1.1  christos 	of a global symbol.
   2138  1.1  christos 	(bfd_elf_m68k_set_target_options): New function.
   2139  1.1  christos 	(bfd_elf32_bfd_link_hash_table_free): Define hook.
   2140  1.1  christos 	(bfd_elf32_bfd_final_link): Change expansion to bfd_elf_final_link
   2141  1.1  christos 	to skip generic calculation of GOT offsets.
   2142  1.1  christos 	(elf_backend_copy_indirect_symbol): Define hook.
   2143  1.1  christos 	* bfd-in.h (bfd_elf_m68k_set_target_options): Declare function.
   2144  1.1  christos 	* bfd-in2.h: Regenerate.
   2145  1.1  christos 
   2146  1.1  christos 2008-05-21  Andr Johansen  <andrejoh (a] gmail.com>
   2147  1.1  christos 
   2148  1.1  christos 	PR 868
   2149  1.1  christos 	* dwarf2.c (_bfd_dwarf2_cleanup_debug_info): Free memory allocated
   2150  1.1  christos 	for filenames in function tables and variable tables.
   2151  1.1  christos 
   2152  1.1  christos 2008-05-19  Alan Modra  <amodra (a] bigpond.net.au>
   2153  1.1  christos 
   2154  1.1  christos 	PR 2995, PR 6473
   2155  1.1  christos 	* elf.c (_bfd_elf_make_section_from_shdr): Leave lma equal to
   2156  1.1  christos 	vma when all p_paddr fields are zero and there is more than
   2157  1.1  christos 	one PT_LOAD header.
   2158  1.1  christos 
   2159  1.1  christos 2008-05-15  Christophe Lyon  <christophe.lyon (a] st.com>
   2160  1.1  christos 
   2161  1.1  christos 	Add long call support for ARM.
   2162  1.1  christos 	* elf32-arm.c (THM2_MAX_FWD_BRANCH_OFFSET): Define.
   2163  1.1  christos 	(THM2_MAX_BWD_BRANCH_OFFSET): Define.
   2164  1.1  christos 	(ARM_MAX_FWD_BRANCH_OFFSET): Define.
   2165  1.1  christos 	(ARM_MAX_BWD_BRANCH_OFFSET): Define.
   2166  1.1  christos 	(THM_MAX_FWD_BRANCH_OFFSET): Define.
   2167  1.1  christos 	(THM_MAX_BWD_BRANCH_OFFSET): Define.
   2168  1.1  christos 	(arm_long_branch_stub): Define.
   2169  1.1  christos 	(arm_pic_long_branch_stub): Define.
   2170  1.1  christos 	(arm_thumb_v4t_long_branch_stub): Define.
   2171  1.1  christos 	(arm_thumb_thumb_long_branch_stub): Define.
   2172  1.1  christos 	(arm_thumb_arm_v4t_long_branch_stub): Define.
   2173  1.1  christos 	(STUB_SUFFIX): Define.
   2174  1.1  christos 	(elf32_arm_stub_type): Define.
   2175  1.1  christos 	(elf32_arm_stub_hash_entry): Define.
   2176  1.1  christos 	(elf32_arm_link_hash_entry): Add stub_cache field.
   2177  1.1  christos 	(arm_stub_hash_lookup): Define.
   2178  1.1  christos 	(elf32_arm_link_hash_table): Add stub_hash_table, stub_bfd,
   2179  1.1  christos 	add_stub_section, layout_sections_again, stub_group, bfd_count,
   2180  1.1  christos 	top_index, input_list fields.
   2181  1.1  christos 	(elf32_arm_link_hash_newfunc): Init new field.
   2182  1.1  christos 	(stub_hash_newfunc): New function.
   2183  1.1  christos 	(elf32_arm_link_hash_table_create): Init stub_hash_table.
   2184  1.1  christos 	(elf32_arm_hash_table_free): New function.
   2185  1.1  christos 	(arm_type_of_stub): New function.
   2186  1.1  christos 	(elf32_arm_stub_name): New function.
   2187  1.1  christos 	(elf32_arm_get_stub_entry): New function.
   2188  1.1  christos 	(elf32_arm_stub_add_mapping_symbol): New function.
   2189  1.1  christos 	(elf32_arm_add_stub): New function.
   2190  1.1  christos 	(arm_build_one_stub): New function.
   2191  1.1  christos 	(arm_size_one_stub): New function.
   2192  1.1  christos 	(elf32_arm_setup_section_lists): New function.
   2193  1.1  christos 	(elf32_arm_next_input_section): New function.
   2194  1.1  christos 	(group_sections): New function.
   2195  1.1  christos 	(elf32_arm_size_stubs): New function.
   2196  1.1  christos 	(elf32_arm_build_stubs): New function.
   2197  1.1  christos 	(bfd_elf32_arm_add_glue_sections_to_bfd): Skip stub sections.
   2198  1.1  christos 	(bfd_elf32_arm_process_before_allocation): No longer handle
   2199  1.1  christos 	R_ARM_CALL and R_ARM_THM_CALL.
   2200  1.1  christos 	(using_thumb_only): New function.
   2201  1.1  christos 	(elf32_arm_final_link_relocate): Redirect calls to stub if range
   2202  1.1  christos 	exceeds encoding capabilities.
   2203  1.1  christos 	(bfd_elf32_bfd_link_hash_table_free): Define.
   2204  1.1  christos 	* bfd-in.h (R_ARM_max): Fix value to 130.
   2205  1.1  christos 	(elf32_arm_setup_section_lists): Protype.
   2206  1.1  christos 	(elf32_arm_next_input_section): Protype.
   2207  1.1  christos 	(elf32_arm_size_stubs): Protype.
   2208  1.1  christos 	(elf32_arm_build_stubs): Protype.
   2209  1.1  christos 	* bfd-in2.h: Regenerate.
   2210  1.1  christos 
   2211  1.1  christos 2008-05-14  Ulrich Weigand  <uweigand (a] de.ibm.com>
   2212  1.1  christos 
   2213  1.1  christos 	* elf32-ppc.c (ppc_elf_get_synthetic_symtab): Fix memset calls.
   2214  1.1  christos 	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Likewise.
   2215  1.1  christos 
   2216  1.1  christos 2008-05-14  Alan Modra  <amodra (a] bigpond.net.au>
   2217  1.1  christos 
   2218  1.1  christos 	* Makefile.am: Run "make dep-am".
   2219  1.1  christos 	* Makefile.in: Regenerate.
   2220  1.1  christos 
   2221  1.1  christos 2008-05-14  Ulrich Weigand  <uweigand (a] de.ibm.com>
   2222  1.1  christos 	    Alan Modra  <amodra (a] bigpond.net.au>
   2223  1.1  christos 
   2224  1.1  christos 	* elf32-ppc.c (section_covers_vma): New function.
   2225  1.1  christos 	(ppc_elf_get_synthetic_symtab): New function.
   2226  1.1  christos 	(bfd_elf32_get_synthetic_symtab): Define.
   2227  1.1  christos 	* elf64-ppc.c (section_covers_vma): New function.
   2228  1.1  christos 	(ppc64_elf_get_synthetic_symtab): Generate sym@plt on glink branch
   2229  1.1  christos 	table entries, and __glink_PLTresolve on resolver stub.
   2230  1.1  christos 	(ppc64_elf_build_stubs): Rename __glink sym to __glink_PLTresolve.
   2231  1.1  christos 
   2232  1.1  christos 2008-05-12  Alan Modra  <amodra (a] bigpond.net.au>
   2233  1.1  christos 
   2234  1.1  christos 	PR 6443
   2235  1.1  christos 	* elf32-ppc.c (MUST_BE_DYN_RELOC): Delete.
   2236  1.1  christos 	(must_be_dyn_reloc): New function.
   2237  1.1  christos 	(ppc_elf_check_relocs): Don't set DF_STATIC_TLS for tprel relocs
   2238  1.1  christos 	in pies.
   2239  1.1  christos 	(ppc_elf_tls_optimize): Optimise pies.
   2240  1.1  christos 	(ppc_elf_relocate_section): Use a section symbol rather than no
   2241  1.1  christos 	symbol if possible for LD->IE TLS sequence, but don't error if
   2242  1.1  christos 	we must use no symbol.
   2243  1.1  christos 	* elf64-ppc.c (MUST_BE_DYN_RELOC): As for elf32-ppc.c.
   2244  1.1  christos 	(must_be_dyn_reloc): Likewise.
   2245  1.1  christos 	(ppc64_elf_check_relocs): Likewise.
   2246  1.1  christos 	(ppc64_elf_tls_optimize): Likewise.
   2247  1.1  christos 	(ppc64_elf_relocate_section): Likewise.
   2248  1.1  christos 
   2249  1.1  christos 2008-05-12  Alan Modra  <amodra (a] bigpond.net.au>
   2250  1.1  christos 
   2251  1.1  christos 	* elf32-spu.c (spu_elf_relocate_section): Rename is_ea to is_ea_sym.
   2252  1.1  christos 
   2253  1.1  christos 2008-05-10  Paul Pluzhnikov  <ppluzhnikov (a] google.com>
   2254  1.1  christos 
   2255  1.1  christos 	* elfcore.h (elf_core_file_p): Warn about core truncation.
   2256  1.1  christos 
   2257  1.1  christos 2008-05-07  Bob Wilson  <bob.wilson (a] acm.org>
   2258  1.1  christos 
   2259  1.1  christos 	* elf32-xtensa.c (xtensa_property_section_name): New.
   2260  1.1  christos 	(xtensa_make_property_section): New.
   2261  1.1  christos 	(xtensa_get_property_section): Make static.  Do not create a new
   2262  1.1  christos 	section if it does not exist.
   2263  1.1  christos 
   2264  1.1  christos 2008-05-08  Alan Modra  <amodra (a] bigpond.net.au>
   2265  1.1  christos 
   2266  1.1  christos 	* elf32-spu.c (spu_elf_special_sections): Add "._ea".
   2267  1.1  christos 	(spu_elf_relocate_section): Handle relocations against symbols
   2268  1.1  christos 	defined in ._ea specially.
   2269  1.1  christos 
   2270  1.1  christos 2008-05-03  Daniel Jacobowitz  <dan (a] codesourcery.com>
   2271  1.1  christos 
   2272  1.1  christos 	* elf32-arm.c (elf32_arm_symbian_link_hash_table_create): Use
   2273  1.1  christos 	ARRAY_SIZE.
   2274  1.1  christos 	(elf32_arm_symbian_plt_sym_val): New.
   2275  1.1  christos 	(elf_backend_plt_sym_val): Define.
   2276  1.1  christos 
   2277  1.1  christos 2008-05-03  Alan Modra  <amodra (a] bigpond.net.au>
   2278  1.1  christos 
   2279  1.1  christos 	PR 2995, PR 6473
   2280  1.1  christos 	* elf.c (rewrite_elf_program_header): Rather than clearing
   2281  1.1  christos 	p_paddr_valid at end, don't set it in the first place.  Delete
   2282  1.1  christos 	comment no longer relevant.  When not p_paddr_valid, don't set
   2283  1.1  christos 	paddr from vaddr, and don't set p_vaddr_offset.
   2284  1.1  christos 
   2285  1.1  christos 2008-05-01  Cary Coutant  <ccoutant (a] google.com>
   2286  1.1  christos 
   2287  1.1  christos 	* elf.c (bfd_elf_get_str_section): Fix memory leak caused by
   2288  1.1  christos 	corrupt string table.
   2289  1.1  christos 
   2290  1.1  christos 2008-05-01  Joel Brobecker  <brobecker (a] adacore.com>
   2291  1.1  christos 
   2292  1.1  christos 	* cache.c (cache_bread_1): Renames cache_bread.
   2293  1.1  christos 	(cache_bread): New function.
   2294  1.1  christos 
   2295  1.1  christos 2008-05-01  Alan Modra  <amodra (a] bigpond.net.au>
   2296  1.1  christos 
   2297  1.1  christos 	PR 2995, PR 6473
   2298  1.1  christos 	* elf.c (_bfd_elf_make_section_from_shdr): Always set lma from p_paddr.
   2299  1.1  christos 	(assign_file_positions_for_load_sections): Combine nested "if".
   2300  1.1  christos 	(copy_elf_program_header): Don't set p_paddr_valid or p_vaddr_offset
   2301  1.1  christos 	when all header p_paddr fields are zero.
   2302  1.1  christos 
   2303  1.1  christos 2008-04-30  Edmar Wienskoski  <edmar (a] freescale.com>
   2304  1.1  christos 
   2305  1.1  christos 	* cpu-powerpc.c (bfd_powerpc_archs): Add e500mc entry.
   2306  1.1  christos 
   2307  1.1  christos 2008-04-29  Daniel Jacobowitz  <dan (a] codesourcery.com>
   2308  1.1  christos 
   2309  1.1  christos 	* elf.c (_bfd_elf_get_dynamic_reloc_upper_bound)
   2310  1.1  christos 	(_bfd_elf_canonicalize_dynamic_reloc): Find dynamic relocations
   2311  1.1  christos 	even if they are not loaded.
   2312  1.1  christos 	* elflink.c (_bfd_elf_init_2_index_sections): Set data_index_section
   2313  1.1  christos 	first.
   2314  1.1  christos 
   2315  1.1  christos 2008-04-25  Jay Foad  <jay.foad (a] gmail.com>
   2316  1.1  christos 
   2317  1.1  christos 	* reloc16.c (bfd_coff_reloc16_get_value): Add support for
   2318  1.1  christos 	undefined weak symbols.
   2319  1.1  christos 
   2320  1.1  christos 2008-04-25  Nick Clifton  <nickc (a] redhat.com>
   2321  1.1  christos 
   2322  1.1  christos 	* po/vi.po: Updated Vietnamese translation.
   2323  1.1  christos 
   2324  1.1  christos 2008-04-23  Paolo Bonzini  <bonzini (a] gnu.org>
   2325  1.1  christos 
   2326  1.1  christos 	* aclocal.m4: Regenerate.
   2327  1.1  christos 	* configure: Regenerate.
   2328  1.1  christos 
   2329  1.1  christos 2008-04-21  Cary Coutant  <ccoutant (a] google.com>
   2330  1.1  christos 
   2331  1.1  christos 	* archive.c (_bfd_write_archive_contents): Fix incorrect use of
   2332  1.1  christos 	ARFMAG.
   2333  1.1  christos 
   2334  1.1  christos 2008-04-21  Nathan Sidwell  <nathan (a] codesourcery.com>
   2335  1.1  christos 
   2336  1.1  christos 	* elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Don't
   2337  1.1  christos 	set the value of undefined symbols in shared objects.
   2338  1.1  christos 	(_bfd_mips_vxworks_finish_dynamic_symbol): Clear value for
   2339  1.1  christos 	undefined symbols unless pointer equality is needed.
   2340  1.1  christos 
   2341  1.1  christos 2008-04-18  Dennis Roberts  <dennis.roberts (a] sunquestinfo.com>
   2342  1.1  christos 
   2343  1.1  christos 	* aix5ppc-core.c: Define macros for the default architecture and
   2344  1.1  christos 	machine for matching core files.
   2345  1.1  christos 	(xcoff64_core_p): Set the architecture and machine to the default
   2346  1.1  christos 	values defined in the macros mentioned above.
   2347  1.1  christos 	* rs6000-core.c: Define macros to determine whether or not the
   2348  1.1  christos 	core file header uses the core_dumpxx header format.
   2349  1.1  christos 	(rs6000coff_core_p): Don't match core files that use the
   2350  1.1  christos 	core_dumpxx header format.
   2351  1.1  christos 
   2352  1.1  christos 2008-04-16  Pedro Alves  <pedro (a] codesourcery.com>
   2353  1.1  christos 
   2354  1.1  christos 	* config.bfd (i[3-7]86-*-dicos*, x86_64-*-dicos*): Add.
   2355  1.1  christos 
   2356  1.1  christos 2008-04-16  David S. Miller  <davem (a] davemloft.net>
   2357  1.1  christos 
   2358  1.1  christos 	* reloc.c (BFD_RELOC_SPARC_GOTDATA_HIX22,
   2359  1.1  christos 	BFD_RELOC_SPARC_GOTDATA_LOX10, BFD_RELOC_SPARC_GOTDATA_OP_HIX22,
   2360  1.1  christos 	BFD_RELOC_SPARC_GOTDATA_OP_LOX10, BFD_RELOC_SPARC_GOTDATA_OP): New.
   2361  1.1  christos 	* libbfd.h: Regnerate.
   2362  1.1  christos 	* bfd-in2.h: Regenerate.
   2363  1.1  christos 	* elfxx-sparc.c (_bfd_sparc_elf_howto_table): Add entries for
   2364  1.1  christos 	GOTDATA relocations.
   2365  1.1  christos 	(sparc_reloc_map): Likewise.
   2366  1.1  christos 	(_bfd_sparc_elf_check_relocs): Handle R_SPARC_GOTDATA_* like
   2367  1.1  christos 	R_SPARC_GOT*.
   2368  1.1  christos 	(_bfd_sparc_elf_gc_sweep_hook): Likewise.
   2369  1.1  christos 	(_bfd_sparc_elf_relocate_section): Transform R_SPARC_GOTDATA_HIX22,
   2370  1.1  christos 	R_SPARC_GOTDATA_LOX10, R_SPARC_GOTDATA_OP_HIX22, and
   2371  1.1  christos 	R_SPARC_GOTDATA_OP_LOX10 into the equivalent R_SPARC_GOT* reloc.
   2372  1.1  christos 	Simply ignore R_SPARC_GOTDATA_OP relocations.
   2373  1.1  christos 
   2374  1.1  christos 2008-04-14  Aurelien Jarno  <aurelien (a] aurel32.net>
   2375  1.1  christos 
   2376  1.1  christos 	* configure.in: Link with the PIC version of libiberty on
   2377  1.1  christos 	Linux/MIPS hosts.
   2378  1.1  christos 	* configure: Regenerate.
   2379  1.1  christos 
   2380  1.1  christos 2008-04-14  Edmar Wienskoski  <edmar (a] freescale.com>
   2381  1.1  christos 
   2382  1.1  christos 	* archures.c: Add bfd_mach_ppc_e500mc.
   2383  1.1  christos 	* bfd-in2.h: Regenerate.
   2384  1.1  christos 
   2385  1.1  christos 2008-04-08  Alan Modra  <amodra (a] bigpond.net.au>
   2386  1.1  christos 
   2387  1.1  christos 	* elf32-spu.c (spu_elf_build_stubs): Correct error message.
   2388  1.1  christos 	(mark_functions_via_relocs): Remove premature init of symtab_hdr.
   2389  1.1  christos 	(collect_overlays): Commment typo fix.
   2390  1.1  christos 
   2391  1.1  christos 2008-04-08  Kees Cook  <kees (a] canonical.com>
   2392  1.1  christos 
   2393  1.1  christos 	* elflink.c (bfd_elf_size_dynamic_sections): Ignore GNU-stack note
   2394  1.1  christos 	in EXEC_P bfds.
   2395  1.1  christos 
   2396  1.1  christos 2008-04-08  Alan Modra  <amodra (a] bigpond.net.au>
   2397  1.1  christos 
   2398  1.1  christos 	* elf32-spu.c: Include libiberty.h.
   2399  1.1  christos 	(struct spu_link_hash_table): Add local_stire, overlay_fixed, reserved,
   2400  1.1  christos 	non_ovly_stub, spu_elf_load_ovl_mgr, spu_elf_open_overlay_script,
   2401  1.1  christos 	spu_elf_relink, auto_overlay fields.
   2402  1.1  christos 	(AUTO_OVERLAY, AUTO_RELINK, OVERLAY_RODATA): Define.
   2403  1.1  christos 	(needs_ovl_stub): Flip test so that call to non-function warning
   2404  1.1  christos 	is emitted during relocate_section rather than earlier.
   2405  1.1  christos 	(spu_elf_check_vma): Stash --auto-overlay parameters, and clear
   2406  1.1  christos 	auto_overlay if no section exceeds local store.
   2407  1.1  christos 	(struct call_info): Add count, max_depth, is_pasted fields.
   2408  1.1  christos 	(struct function_info): Add rodata, last_caller, call_count,
   2409  1.1  christos 	depth, new visit flags.
   2410  1.1  christos 	(insert_callee): Increment call count.
   2411  1.1  christos 	(copy_callee): New function.
   2412  1.1  christos 	(mark_functions_via_relocs): Investigate all reloc types to count
   2413  1.1  christos 	possible function pointer stubs for --auto-overlay.  Track
   2414  1.1  christos 	last_caller and increment function call_count.
   2415  1.1  christos 	(pasted_function): Insert a "call" into call info for pasted section.
   2416  1.1  christos 	(remove_cycles): Track max depth of calls.  Don't emit call graph
   2417  1.1  christos 	pruning warning for --auto-overlay.
   2418  1.1  christos 	(build_call_tree): Don't transfer_calls for --auto-overlay.
   2419  1.1  christos 	Adjust remove_cycles call.
   2420  1.1  christos 	(sort_calls, sort_lib, sort_bfds): New functions.
   2421  1.1  christos 	(struct _mos_param, struct _uos_param, struct _cl_param): New.
   2422  1.1  christos 	(mark_overlay_section, unmark_overlay_section): New functions.
   2423  1.1  christos 	(collect_lib_sectios, auto_ovl_lib_functions): New functions.
   2424  1.1  christos 	(collect_overlays, find_pasted_call): New functions.
   2425  1.1  christos 	(sum_stack): Deal with is_pasted "calls".  Exit before printing
   2426  1.1  christos 	when --auto-overlay.
   2427  1.1  christos 	(spu_elf_auto_overlay): New function.
   2428  1.1  christos 	(spu_elf_final_link): Call spu_elf_auto_overlay.
   2429  1.1  christos 	* elf32-spu.h (spu_elf_check_vma): Update prototype.
   2430  1.1  christos 
   2431  1.1  christos 2008-04-07  Alan Modra  <amodra (a] bigpond.net.au>
   2432  1.1  christos 
   2433  1.1  christos 	* elf32-spu.c (allocate_spuear_stubs): Ensure _SPUEAR_ symbol
   2434  1.1  christos 	is defined in overlay section before creating a stub.
   2435  1.1  christos 	(build_spuear_stubs): Likewise.
   2436  1.1  christos 	(spu_elf_size_stubs, spu_elf_build_stubs): Adjust calls.
   2437  1.1  christos 
   2438  1.1  christos 2008-04-02  Alan Modra  <amodra (a] bigpond.net.au>
   2439  1.1  christos 
   2440  1.1  christos 	* elf32-spu.c (insert_callee): Reorder call list so most recent
   2441  1.1  christos 	call is always first.
   2442  1.1  christos 	(interesting_section): Move.
   2443  1.1  christos 	(mark_functions_via_relocs): Fold interesting_section and
   2444  1.1  christos 	reloc_count tests in callers to here.  Simplify output section
   2445  1.1  christos 	owner test.
   2446  1.1  christos 	(discover_functions): Set "gaps" when no symbols and some
   2447  1.1  christos 	"interesting_section".  Run pasted_function loop for no symbol
   2448  1.1  christos 	bfds.
   2449  1.1  christos 	(for_each_node, transfer_calls): New functions.
   2450  1.1  christos 	(mark_non_root): Adjust to suit for_each_node.
   2451  1.1  christos 	(call_graph_traverse): Likewise.  Fix memory leak.  Rename to..
   2452  1.1  christos 	(remove_cycles): ..this.
   2453  1.1  christos 	(build_call_tree): Use for_each_node and transfer_calls.
   2454  1.1  christos 	(struct _sum_stack_param): New.
   2455  1.1  christos 	(sum_stack): Adjust to suit for_each_node.  Return error on
   2456  1.1  christos 	malloc failure.  Move code to print root node cumulative stack from..
   2457  1.1  christos 	(spu_elf_stack_analysis): ..here.  Use for_each_node.
   2458  1.1  christos 
   2459  1.1  christos 2008-03-31  Cary Coutant  <ccoutant (a] google.com>
   2460  1.1  christos 
   2461  1.1  christos 	PR 6006
   2462  1.1  christos 	* archive.c (_bfd_slurp_extended_name_table): Change
   2463  1.1  christos 	ARFMAG[0] to ARFMAG[1].
   2464  1.1  christos 	(_bfd_construct_extended_name_table): Likewise.
   2465  1.1  christos 
   2466  1.1  christos 2008-03-31  Daniel Jacobowitz  <dan (a] codesourcery.com>
   2467  1.1  christos 
   2468  1.1  christos 	* elfxx-mips.c (mips_elf_record_got_page_entry): Update comment.
   2469  1.1  christos 	(_bfd_mips_elf_check_relocs): Update comments.  Always call
   2470  1.1  christos 	mips_elf_record_got_page_entry for R_MIPS_GOT_PAGE.
   2471  1.1  christos 
   2472  1.1  christos 2008-03-27  Cary Coutant  <ccoutant (a] google.com>
   2473  1.1  christos 
   2474  1.1  christos 	Add support for thin archives.
   2475  1.1  christos 	* archive.c (_bfd_find_nested_archive): New function.
   2476  1.1  christos 	(get_extended_arelt_filename): Add origin parameter.
   2477  1.1  christos 	(_bfd_generic_read_ar_hdr_mag): Deal with extended name
   2478  1.1  christos 	combined with a file offset.
   2479  1.1  christos 	(append_relative_path): New function.
   2480  1.1  christos 	(_bfd_get_elt_at_filepos): Deal with external members and
   2481  1.1  christos 	nested archives.
   2482  1.1  christos 	(bfd_generic_openr_next_archived_file): Thin archives.
   2483  1.1  christos 	(bfd_generic_archive_p): Recognize new magic string.
   2484  1.1  christos 	(adjust_relative_path): New function.
   2485  1.1  christos 	(_bfd_construct_extended_name_table): Construct extended
   2486  1.1  christos 	names for thin archive members.
   2487  1.1  christos 	(_bfd_write_archive_contents): Emit new magic string, skip
   2488  1.1  christos 	copying files for thin archives.
   2489  1.1  christos 	* bfd-in.h (bfd_is_thin_archive): New macro.
   2490  1.1  christos 	* bfd.c (struct bfd): New fields for thin archives.
   2491  1.1  christos 	* libbfd-in.h (struct areltdata): New field for thin archives.
   2492  1.1  christos 	* opncls.c (bfd_close): Delete BFDs for nested archives.
   2493  1.1  christos 
   2494  1.1  christos 2008-03-25  Bernd Schmidt  <bernd.schmidt (a] analog.com>
   2495  1.1  christos 
   2496  1.1  christos 	* elf32-bfin.c (bfin_final_link_relocate): New function, wrapper around
   2497  1.1  christos 	_bfd_final_link_relocate that also handles R_pcrel24 relocs.
   2498  1.1  christos 	(bfinfdpic_relocate_section, bfin_relocate_section): Use it.
   2499  1.1  christos 
   2500  1.1  christos 2008-03-25  Nathan Sidwell  <nathan (a] codesourcery.com>
   2501  1.1  christos 
   2502  1.1  christos 	* elf32-arm.c (elf32_arm_final_link_relocate): Skip dynamic relocs
   2503  1.1  christos 	in vxworks tls_vars sections.
   2504  1.1  christos 	(allocate_dynrelocs, elf32_arm_size_dynamic_sections): Likewise.
   2505  1.1  christos 	* elf32-i386.c (allocate_dynrelocs,
   2506  1.1  christos 	elf_i386_size_dynamic_sections, elf_i386_relocate_section): Likewise.
   2507  1.1  christos 	* elf32-ppc.c (allocate_dynrelocs, ppc_elf_size_dynamic_sections,
   2508  1.1  christos 	ppc_elf_relocate_section): Likewise.
   2509  1.1  christos 	* elf32-sh.c (allocate_dynrelocs, sh_elf_size_dynamic_sections,
   2510  1.1  christos 	sh_elf_relocate_section): Likewise.
   2511  1.1  christos 	* elfxx-sparc.c (allocate_dynrelocs,
   2512  1.1  christos 	_bfd_sparc_elf_size_dynamic_sections,
   2513  1.1  christos 	_bfd_sparc_elf_relocate_section): Likewise.
   2514  1.1  christos 
   2515  1.1  christos 2008-03-21  Adam Nemet  <anemet (a] caviumnetworks.com>
   2516  1.1  christos 
   2517  1.1  christos 	* elf.c (_bfd_elf_print_private_bfd_data): Use bfd_fprintf_vma to
   2518  1.1  christos 	print the values from the dynamic section.
   2519  1.1  christos 
   2520  1.1  christos 2008-03-20  Richard Sandiford  <rsandifo (a] nildram.co.uk>
   2521  1.1  christos 
   2522  1.1  christos 	* elfxx-mips.c (MIPS_ELF_GNU_GOT1_MASK): New macro.
   2523  1.1  christos 	(_bfd_mips_elf_finish_dynamic_sections): Use it instead of 0x80000000.
   2524  1.1  christos 
   2525  1.1  christos 2008-03-20  Alan Modra  <amodra (a] bigpond.net.au>
   2526  1.1  christos 
   2527  1.1  christos 	* elf32-spu.c (spu_elf_create_sections): Remove output_bfd parameter.
   2528  1.1  christos 	(spu_elf_find_overlays, spu_elf_size_stubs): Likewise
   2529  1.1  christos 	(process_stubs, discover_functions, build_call_tree): Likewise.
   2530  1.1  christos 	(spu_elf_stack_analysis): Likewise.
   2531  1.1  christos 	(spu_elf_check_vma): Likewise.  Move.
   2532  1.1  christos 	(struct call_info): Make "is_tail" a bitfield.
   2533  1.1  christos 	(insert_callee): Clear fun->start and set fun->is_func if we find
   2534  1.1  christos 	a non-tail call.
   2535  1.1  christos 	* elf32-spu.h (spu_elf_create_sections): Update prototype.
   2536  1.1  christos 	(spu_elf_find_overlays, spu_elf_size_stubs, spu_elf_check_vma): Ditto.
   2537  1.1  christos 
   2538  1.1  christos 2008-03-17  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   2539  1.1  christos 
   2540  1.1  christos 	* aclocal.m4: Regenerate.
   2541  1.1  christos 	* configure: Likewise.
   2542  1.1  christos 	* Makefile.in: Likewise.
   2543  1.1  christos 
   2544  1.1  christos 2008-03-16  H.J. Lu  <hongjiu.lu (a] intel.com>
   2545  1.1  christos 
   2546  1.1  christos 	PR ld/5789
   2547  1.1  christos 	PR ld/5943
   2548  1.1  christos 	* elf32-i386.c  (elf_i386_relocate_section): Issue an error
   2549  1.1  christos 	for R_386_GOTOFF relocaton against undefined hidden/internal
   2550  1.1  christos 	symbols when building a shared object.
   2551  1.1  christos 
   2552  1.1  christos 	* elf64-x86-64.c (elf64_x86_64_relocate_section): Issue an
   2553  1.1  christos 	error for R_X86_64_PC8/R_X86_64_PC16/R_X86_64_PC32
   2554  1.1  christos 	relocaton against undefined hidden/internal symbols when
   2555  1.1  christos 	building a shared object.
   2556  1.1  christos 	(elf64_x86_64_finish_dynamic_symbol): Return FALSE when symbol
   2557  1.1  christos 	is referenced locally, but isn't defined in a regular file.
   2558  1.1  christos 
   2559  1.1  christos 2008-03-15  H.J. Lu  <hongjiu.lu (a] intel.com>
   2560  1.1  christos 
   2561  1.1  christos 	* bfd-in.h (BFD_NO_FLAGS, HAS_RELOC, EXEC_P, HAS_LINENO,
   2562  1.1  christos 	HAS_DEBUG, HAS_SYMS, HAS_LOCALS, DYNAMIC, WP_TEXT, D_PAGED,
   2563  1.1  christos 	BFD_IS_RELAXABLE, BFD_TRADITIONAL_FORMAT, BFD_IN_MEMORY,
   2564  1.1  christos 	HAS_LOAD_PAGE, BFD_LINKER_CREATED): Moved to ...
   2565  1.1  christos 	* bfd.c: Here.
   2566  1.1  christos 
   2567  1.1  christos 	* bfd.c (bfd): Change cacheable, target_defaulted, opened_once,
   2568  1.1  christos 	mtime_set, no_export, output_has_begun and has_armap to bit
   2569  1.1  christos 	field.
   2570  1.1  christos 
   2571  1.1  christos 	* bfd-in2.h: Regenerated.
   2572  1.1  christos 
   2573  1.1  christos 2008-03-14  Daniel Jacobowitz  <dan (a] codesourcery.com>
   2574  1.1  christos 
   2575  1.1  christos 	* cache.c (close_one): Remove mtime hack.
   2576  1.1  christos 
   2577  1.1  christos 2008-03-14  H.J. Lu  <hongjiu.lu (a] intel.com>
   2578  1.1  christos 
   2579  1.1  christos 	PR ld/5913
   2580  1.1  christos 	* elfxx-ia64.c (elfNN_ia64_tprel_base): Remove BFD_ASSERT.
   2581  1.1  christos 	(elfNN_ia64_dtprel_base): Likewise.
   2582  1.1  christos 	(elfNN_ia64_relocate_section): Go to missing_tls_sec if
   2583  1.1  christos 	tls_sec is NULL before calling elfNN_ia64_tprel_base or
   2584  1.1  christos 	elfNN_ia64_dtprel_base.  Report unsupported TLS relocations.
   2585  1.1  christos 
   2586  1.1  christos 2008-03-14  Alan Modra  <amodra (a] bigpond.net.au>
   2587  1.1  christos 
   2588  1.1  christos 	* elf32-spu.c (process_stubs, spu_elf_relocate_section): Move
   2589  1.1  christos 	common code to..
   2590  1.1  christos 	(maybe_needs_stub): ..here, a new function that also omits stubs
   2591  1.1  christos 	for .eh_frame, and..
   2592  1.1  christos 	(needs_ovl_stub): ..here.  Create stubs for labels in code section
   2593  1.1  christos 	referenced by switch jump table.
   2594  1.1  christos 	(spu_elf_find_overlays): Set htab->ovly_load and htab->ovly_return.
   2595  1.1  christos 	(enum _insn_type): Delete.
   2596  1.1  christos 	(enum _stub_type): New.
   2597  1.1  christos 	(count_stub, build_stub): Adjust.
   2598  1.1  christos 	(allocate_spuear_stubs, build_spuear_stubs): Adjust.
   2599  1.1  christos 
   2600  1.1  christos 2008-03-13  Alan Modra  <amodra (a] bigpond.net.au>
   2601  1.1  christos 
   2602  1.1  christos 	* elf.c (_bfd_elf_make_section_from_shdr): Remove unnecessary cast.
   2603  1.1  christos 	(_bfd_elf_assign_file_position_for_section): Simplify align.
   2604  1.1  christos 	(_bfd_elf_init_reloc_shdr): Ensure shift expression wide enough
   2605  1.1  christos 	for sh_addralign.
   2606  1.1  christos 	(elf_fake_sections, swap_out_syms): Likewise.
   2607  1.1  christos 	* elflink.c (bfd_elf_final_link): Likewise.
   2608  1.1  christos 
   2609  1.1  christos 2008-03-13  Alan Modra  <amodra (a] bigpond.net.au>
   2610  1.1  christos 
   2611  1.1  christos 	* Makefile.am: Run "make dep-am".
   2612  1.1  christos 	* Makefile.in: Regenerate.
   2613  1.1  christos 	* po/SRC-POTFILES.in: Regenerate.
   2614  1.1  christos 
   2615  1.1  christos 2008-03-12  Bernd Schmidt  <bernd.schmidt (a] analog.com>
   2616  1.1  christos 
   2617  1.1  christos 	From Jie Zhang <jie.zhang (a] analog.com>
   2618  1.1  christos 	* elf32-bfin.c (struct bfinfdpic_relocs_info): Make got17m4,
   2619  1.1  christos 	gothilo, fd, fdgot17m4, fdgothilo, fdgoff17m4, fdgoffhilo,
   2620  1.1  christos 	gotoff, call and sym not bitfields.
   2621  1.1  christos 	(bfinfdpic_gc_sweep_hook): New function; update the relocation
   2622  1.1  christos 	information for the relocations of the section being removed.
   2623  1.1  christos 	(bfinfdpic_check_relocs): Accumulate the number of relocations
   2624  1.1  christos 	which set got17m4, gothilo, fd, fdgot17m4, fdgothilo, fdgoff17m4,
   2625  1.1  christos 	fdgoffhilo, gotoff, call and sym fields.
   2626  1.1  christos 	(elf_backend_gc_sweep_hook): Redefine for FD-PIC.
   2627  1.1  christos 
   2628  1.1  christos 2008-03-12  Alan Modra  <amodra (a] bigpond.net.au>
   2629  1.1  christos 
   2630  1.1  christos 	PR 5900
   2631  1.1  christos 	* elf-bfd.h: Include elf/internal.h after elf/external.h.
   2632  1.1  christos 	* elfcode.h (elf_swap_symbol_in): Map reserved shndx range.
   2633  1.1  christos 	(elf_swap_symbol_out): Adjust SHN_XINDEX test.
   2634  1.1  christos 	(elf_swap_ehdr_out): Mask SHN_LORESERVE and SHN_XINDEX to values
   2635  1.1  christos 	seen in external structs.
   2636  1.1  christos 	(valid_section_index_p): Delete.
   2637  1.1  christos 	(elf_object_p): Don't increment section numbers over reserved range.
   2638  1.1  christos 	Simplify test for valid sh_link, sh_info and e_shstrndx fields.
   2639  1.1  christos 	(elf_write_shdrs_and_ehdr): Mask SHN_LORESERVE and SHN_XINDEX to values
   2640  1.1  christos 	seen in external structs.  Don't increment section numbers over
   2641  1.1  christos 	reserved range.
   2642  1.1  christos 	* elf.c (bfd_elf_sym_name): Remove redundant tests on st_shndx.
   2643  1.1  christos 	(bfd_section_from_shdr): Likewise.
   2644  1.1  christos 	(group_signature): Range check before accessing elf_elfsections.
   2645  1.1  christos 	(_bfd_elf_setup_sections): Likewise.
   2646  1.1  christos 	(bfd_section_from_shdr): Likewise.
   2647  1.1  christos 	(bfd_section_from_shdr): Don't increment section number over
   2648  1.1  christos 	reserved sections.
   2649  1.1  christos 	(assign_file_positions_for_non_load_sections): Likewise.
   2650  1.1  christos 	(assign_file_positions_except_relocs): Likewise.
   2651  1.1  christos 	(_bfd_elf_write_object_contents): Likewise.
   2652  1.1  christos 	(assign_section_numbers): Likewise.  Adjust for changed SHN_*.
   2653  1.1  christos 	(prep_headers): Delete unused variable.
   2654  1.1  christos 	* elflink.c (bfd_elf_link_record_local_dynamic_symbol): Adjust
   2655  1.1  christos 	for changed SHN_* values.
   2656  1.1  christos 	(check_dynsym, elf_link_input_bfd): Likewise.
   2657  1.1  christos 	(bfd_elf_final_link): Likewise.  Don't skip over reserved section
   2658  1.1  christos 	range.
   2659  1.1  christos 	(elf_fixup_link_order): Check that sh_link field is valid.
   2660  1.1  christos 	* elf-hppa.h (elf_hppa_add_symbol_hook): Make "index" unsigned.
   2661  1.1  christos 	* elf32-arm.c (elf32_arm_gc_mark_extra_sections): Range check before
   2662  1.1  christos 	accesssing elf_elfsections.
   2663  1.1  christos 	* elf32-avr.c (elf32_avr_size_stubs): Likewise.
   2664  1.1  christos 	* elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
   2665  1.1  christos 	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Likewise.
   2666  1.1  christos 	* elf64-hppa.c (elf64_hppa_check_relocs): Adjust for changed
   2667  1.1  christos 	SHN_* defines.  Test for SHN_BAD return from
   2668  1.1  christos 	_bfd_elf_section_from_bfd_section
   2669  1.1  christos 
   2670  1.1  christos 2008-03-12  Alan Modra  <amodra (a] bigpond.net.au>
   2671  1.1  christos 
   2672  1.1  christos 	* elf-bfd.h (_bfd_elf_section_from_bfd_section): Update prototype.
   2673  1.1  christos 	* elf.c (_bfd_elf_section_from_bfd_section): Return unsigned int,
   2674  1.1  christos 	SHN_BAD on error.
   2675  1.1  christos 	(_bfd_elf_print_private_bfd_data): Test for SHN_BAD result from
   2676  1.1  christos 	_bfd_elf_section_from_bfd_section, not -1.
   2677  1.1  christos 	(swap_out_syms): Likewise.
   2678  1.1  christos 	* elflink.c (elf_link_add_object_symbols): Likewise.
   2679  1.1  christos 	(bfd_elf_get_bfd_needed_list): Likewise.
   2680  1.1  christos 	(bfd_elf_match_symbols_in_sections): Likewise.
   2681  1.1  christos 	(elf_link_add_object_symbols): Don't bother testing for symbols
   2682  1.1  christos 	using normal sections before calling bfd_section_from_elf_index.
   2683  1.1  christos 	(elf_link_input_bfd, bfd_elf_final_link): Likewise.
   2684  1.1  christos 	(bfd_elf_reloc_symbol_deleted_p): Likewise.
   2685  1.1  christos 	* elfcode.h (elf_slurp_symbol_table): Likewise.
   2686  1.1  christos 	* elf32-spu.c (get_sym_h): Likewise.
   2687  1.1  christos 	* elf32-xtensa.c (get_elf_r_symndx_section): Likewise.
   2688  1.1  christos 	* elf64-ppc.c (opd_entry_value, get_sym_h, ppc64_elf_edit_toc): Ditto.
   2689  1.1  christos 	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
   2690  1.1  christos 
   2691  1.1  christos 2008-03-11  Alan Modra  <amodra (a] bigpond.net.au>
   2692  1.1  christos 
   2693  1.1  christos 	* elf32-spu.c (spu_elf_relocate_section): Test identical conditions
   2694  1.1  christos 	to those in process_stubs for overlay symbols.
   2695  1.1  christos 
   2696  1.1  christos 2008-03-09  Paul Brook  <paul (a] codesourcery.com>
   2697  1.1  christos 
   2698  1.1  christos 	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new
   2699  1.1  christos 	Tag_VFP_arch values.
   2700  1.1  christos 
   2701  1.1  christos 2008-03-08  Paul Brook  <paul (a] codesourcery.com>
   2702  1.1  christos 
   2703  1.1  christos 	* elf32-arm.c (insert_thumb_branch): Rewrite.
   2704  1.1  christos 	(elf32_thumb_to_arm_stub): Use new insert_thumb_branch.
   2705  1.1  christos 
   2706  1.1  christos 2008-03-07  Paul Brook  <paul (a] codesourcery.com>
   2707  1.1  christos 
   2708  1.1  christos 	* elf32-arm.c (elf32_arm_howto_table_1): Fix bitmasks for MOVW and
   2709  1.1  christos 	MOVT relocations.
   2710  1.1  christos 	(elf32_arm_final_link_relocate): Fix off by one MOVW/MOVT sign
   2711  1.1  christos 	extension.
   2712  1.1  christos 	(elf32_arm_relocate_section): Handle MOVW and MOVT
   2713  1.1  christos 	relocations.  Improve safety check for other weird relocations.
   2714  1.1  christos 	(elf32_arm_check_relocs): Only set h->needs_plt for branch/call
   2715  1.1  christos 	relocations.
   2716  1.1  christos 
   2717  1.1  christos 2008-03-03  Bob Wilson  <bob.wilson (a] acm.org>
   2718  1.1  christos 
   2719  1.1  christos 	* xtensa-isa.c (xtensa_isa_num_pipe_stages): Make max_stage static and
   2720  1.1  christos 	only compute its value once.
   2721  1.1  christos 
   2722  1.1  christos 2008-03-03  Alan Modra  <amodra (a] bigpond.net.au>
   2723  1.1  christos 
   2724  1.1  christos 	* elf32-spu.c (struct got_entry): Add "addend" field.
   2725  1.1  christos 	(count_stub, build_stub): Use a new stub if relocation addend
   2726  1.1  christos 	differs from existing stubs for this symbol.
   2727  1.1  christos 	(process_stubs): Deal with addends.
   2728  1.1  christos 	(spu_elf_relocate_section, spu_elf_output_symbol_hook): Likewise.
   2729  1.1  christos 
   2730  1.1  christos 2008-03-02  H.J. Lu  <hongjiu.lu (a] intel.com>
   2731  1.1  christos 
   2732  1.1  christos 	PR ld/5789
   2733  1.1  christos 	* elflink.c (_bfd_elf_symbol_refs_local_p): Always return true
   2734  1.1  christos 	for hidden and local symbols.
   2735  1.1  christos 
   2736  1.1  christos 2008-03-03  Alan Modra  <amodra (a] bigpond.net.au>
   2737  1.1  christos 
   2738  1.1  christos 	* elf32-ppc.c (allocate_dynrelocs): Discard relocs on
   2739  1.1  christos 	undefined symbols with internal or hidden visibility.
   2740  1.1  christos 	(ppc_elf_relocate_section): Likewise.  Use SYMBOL_CALLS_LOCAL
   2741  1.1  christos 	rather than SYMBOL_REFERENCES_LOCAL on branches.  Don't
   2742  1.1  christos 	return immediately on dynamic reloc error.
   2743  1.1  christos 
   2744  1.1  christos 2008-03-01  Alan Modra  <amodra (a] bigpond.net.au>
   2745  1.1  christos 
   2746  1.1  christos 	* elf64-ppc.c (build_plt_stub): Add relocs on plt call stubs
   2747  1.1  christos 	if emitrelocations.
   2748  1.1  christos 	(get_relocs): New function, split out from..
   2749  1.1  christos 	(ppc_build_one_stub): ..here.  Add relocs on plt_branch stubs if
   2750  1.1  christos 	emitrelocations.  Remove indx temp.
   2751  1.1  christos 	(ppc_size_one_stub): Count new stub relocs.
   2752  1.1  christos 	(ppc64_elf_size_stubs): Count new glink reloc.
   2753  1.1  christos 	(ppc64_elf_build_stubs): Emit glink reloc if emitrelocations.
   2754  1.1  christos 	(ppc64_elf_finish_dynamic_sections): Output glink relocs.
   2755  1.1  christos 	* elf32-ppc.c (ppc_elf_finish_dynamic_sections): Describe non-pic
   2756  1.1  christos 	glink code.
   2757  1.1  christos 
   2758  1.1  christos 2008-02-28  Alan Modra  <amodra (a] bigpond.net.au>
   2759  1.1  christos 
   2760  1.1  christos 	* elf32-spu.c (mark_functions_via_relocs): Don't assume that
   2761  1.1  christos 	the "->start" pointer reaches to function origin, so that we
   2762  1.1  christos 	can handle functions split over more than two sections.
   2763  1.1  christos 	(build_call_tree): Likewise.
   2764  1.1  christos 	(pasted_function): Don't attempt to set fun->start back to the
   2765  1.1  christos 	function origin, just go back one section.
   2766  1.1  christos 
   2767  1.1  christos 2008-02-27  Catherine Moore  <clm (a] codesourcery.com>
   2768  1.1  christos 
   2769  1.1  christos 	* elf.c ( _bfd_elf_print_private_bfd_data): Call
   2770  1.1  christos 	elf_backend_get_target_dtag if defined.
   2771  1.1  christos 	* elf32-mips.c (elf_backend_get_target_dtag): Define.
   2772  1.1  christos 	* elf64-mips.c: Likewise.
   2773  1.1  christos 	* elfn32-mips.c: Likewise.
   2774  1.1  christos 	* elfxx-mips.c (_bfd_mips_elf_get_target_dtag): New.
   2775  1.1  christos 	* elfxx-mips.h (_bfd_mips_elf_get_target_dtag): Declare.
   2776  1.1  christos 	* elf-bfd.h (elf_backend_get_target_dtag): Add prototype.
   2777  1.1  christos 	* elfxx-target.h (elf_backend_get_target_dtag): Add default.
   2778  1.1  christos 	(elf_backend_data): Add elf_backend_get_target_dtag.
   2779  1.1  christos 
   2780  1.1  christos 2008-02-26  Alan Modra  <amodra (a] bigpond.net.au>
   2781  1.1  christos 
   2782  1.1  christos 	* elf32-ppc.c (ppc_elf_check_relocs): Set pointer_equality_needed
   2783  1.1  christos 	for R_PPC_REL32 syms.  Don't set non_got_ref on branch reloc syms,
   2784  1.1  christos 	and assume branch relocs are not dynamic when non-shared.
   2785  1.1  christos 	(readonly_dynrelocs): New function, split out from..
   2786  1.1  christos 	(maybe_set_textrel): ..here, renamed from old readonly_dynrelocs.
   2787  1.1  christos 	(ppc_elf_adjust_dynamic_symbol): For symbols generating plt entries,
   2788  1.1  christos 	clear non_got_ref..
   2789  1.1  christos 	(allocate_dynrelocs): ..and don't set u.def for undefined weak.
   2790  1.1  christos 	Do allow dynamic relocs on undefined symbols.
   2791  1.1  christos 	(ppc_elf_adjust_dynamic_symbol): Use readonly_dynrelocs.
   2792  1.1  christos 	(ppc_elf_relocate_section): Mirror dynamic reloc changes in
   2793  1.1  christos 	check_relocs.
   2794  1.1  christos 	(ppc_elf_finish_dynamic_symbol): Don't give a warning on weak
   2795  1.1  christos 	plt symbols needing pointer_equality_needed.
   2796  1.1  christos 
   2797  1.1  christos 2008-02-23  Alan Modra  <amodra (a] bigpond.net.au>
   2798  1.1  christos 
   2799  1.1  christos 	* elf32-ppc.c (ppc_elf_check_relocs): Revert non_got_ref change.
   2800  1.1  christos 
   2801  1.1  christos 2008-02-23  Alan Modra  <amodra (a] bigpond.net.au>
   2802  1.1  christos 
   2803  1.1  christos 	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Copy
   2804  1.1  christos 	pointer_equality_needed.
   2805  1.1  christos 	(ppc_elf_check_relocs): Split out non-branch relocs from others
   2806  1.1  christos 	that might emit dynamic relocs.  Set pointer_equality_needed
   2807  1.1  christos 	for their symbols.  Don't set non_got_ref on branch reloc symbols.
   2808  1.1  christos 	(ppc_elf_hash_symbol): New function.
   2809  1.1  christos 	(elf_backend_hash_symbol): Define.
   2810  1.1  christos 	(ppc_elf_finish_dynamic_symbol): Handle pointer_equality_needed.
   2811  1.1  christos 	Error if pointer_equality_needed on weak plt symbol.
   2812  1.1  christos 
   2813  1.1  christos 2008-02-22  H.J. Lu  <hongjiu.lu (a] intel.com>
   2814  1.1  christos 
   2815  1.1  christos 	PR ld/5788
   2816  1.1  christos 	* elflink.c (elf_create_symbuf): Correct buffer size and
   2817  1.1  christos 	position.
   2818  1.1  christos 
   2819  1.1  christos 2008-02-22  Nick Clifton  <nickc (a] redhat.com>
   2820  1.1  christos 
   2821  1.1  christos 	PR 868
   2822  1.1  christos 	* dwarf2.c: Revert previous patch.  All of the allocate memory is
   2823  1.1  christos 	on an obstack which will be freed at some other time.
   2824  1.1  christos 
   2825  1.1  christos 2008-02-20  Nick Clifton  <nickc (a] redhat.com>
   2826  1.1  christos 
   2827  1.1  christos 	PR 868
   2828  1.1  christos 	* libbfd.c (bfd_realloc_or_free): New function.  Performs like
   2829  1.1  christos 	bfd_realloc, but if the (re)allocation fails, the pointer is
   2830  1.1  christos 	freed.
   2831  1.1  christos 	* libbfd-in.h: Prototype.
   2832  1.1  christos 	* libbfd.h: Regenerate.
   2833  1.1  christos 	* bfdio.c (bfd_bwrite): Use the new function.
   2834  1.1  christos 	(bfd_seek): Likewise.
   2835  1.1  christos 	* bfdwin.c:(bfd_get_file_window): Likewise.
   2836  1.1  christos 	* elf-strtab.c (_bfd_elf_strtab_add): Likewise.
   2837  1.1  christos 	* elf32-ppc.c (ppc_elf_relax_section): Likewise.
   2838  1.1  christos 	* elf32-xtensa.c (vsprintf_msg): Likewise.
   2839  1.1  christos 	* mach-o.c (bfd_mach_o_core_fetch_environment): Likewise.
   2840  1.1  christos 	* stabs.c (_bfd_link_seciton_stabs): Likewise.
   2841  1.1  christos 	* vms-misc.c (_bfd_vms_get_record): Likewise.
   2842  1.1  christos 	* vms-tir.c (check_section): Likewise.
   2843  1.1  christos 	* vms.c (vms_new_section_hook): Likewise.
   2844  1.1  christos 	* elf32-arm.c (elf32_arm_section_map_add): Check that the
   2845  1.1  christos 	allocation of sec_data->map succeeded before using it.
   2846  1.1  christos 	* elflink.c (elf_link_output_sym): Do not overwrite finfo->
   2847  1.1  christos 	symshndxbuf until it is known that the reallocation succeeded.
   2848  1.1  christos 
   2849  1.1  christos 2008-02-20  Diogo de Carvalho Kraemer  <diogo (a] kraemer.eng.br>
   2850  1.1  christos 	    Nick Clifton  <nickc (a] redhat.com>
   2851  1.1  christos 
   2852  1.1  christos 	PR 868
   2853  1.1  christos 	* dwarf2.c (read_abbrevs): Free the abbreviation table if we run
   2854  1.1  christos 	out of memory.
   2855  1.1  christos 	(decode_line_info): Free the line_info_table before returning a
   2856  1.1  christos 	failure result.
   2857  1.1  christos 	(_bfd_dwarf2_cleanup_debug_info): Free the abbreviation table.
   2858  1.1  christos 	Free the line table.  Free the function table.  Free the variable
   2859  1.1  christos 	table.
   2860  1.1  christos 
   2861  1.1  christos 2008-02-17  Mark Kettenis  <kettenis (a] gnu.org>
   2862  1.1  christos 
   2863  1.1  christos 	* elf.c (swap_out_syms): Avoid preprocessing directive within
   2864  1.1  christos 	macro arg.
   2865  1.1  christos 
   2866  1.1  christos 2008-02-17  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
   2867  1.1  christos 
   2868  1.1  christos 	* elf.c (assign_file_positions_for_load_sections): Set the type of
   2869  1.1  christos 	PT_NOTE sections to SHT_NOTE.
   2870  1.1  christos 
   2871  1.1  christos 2008-02-17  Ulrich Weigand  <uweigand (a] de.ibm.com>
   2872  1.1  christos 
   2873  1.1  christos 	* simple.c (bfd_simple_get_relocated_section_contents): Set
   2874  1.1  christos 	link_info.output_bfd.
   2875  1.1  christos 
   2876  1.1  christos 2008-02-16  Nathan Sidwell  <nathan (a] codesourcery.com>
   2877  1.1  christos 
   2878  1.1  christos 	* dwarf2.c (find_line): Don't trust debug information after an
   2879  1.1  christos 	unparseable compilation unit.
   2880  1.1  christos 
   2881  1.1  christos 2008-02-15  Alan Modra  <amodra (a] bigpond.net.au>
   2882  1.1  christos 
   2883  1.1  christos 	PR 5765
   2884  1.1  christos 	* section.c (SEC_LINK_DUPLICATES): Correct.  Renumber following flags.
   2885  1.1  christos 	* bfd-in2.h: Regenerate.
   2886  1.1  christos 
   2887  1.1  christos 2008-02-15  Alan Modra  <amodra (a] bigpond.net.au>
   2888  1.1  christos 
   2889  1.1  christos 	* elf-bfd.h (enum elf_object_id): Add HPPA_ELF_TDATA.
   2890  1.1  christos 	* elf.c (bfd_elf_allocate_object): Don't check for already allocated
   2891  1.1  christos 	tdata.
   2892  1.1  christos 	* elf32-hppa.c (elf32_hppa_mkobject): New function.
   2893  1.1  christos 	(bfd_elf32_mkobject): Define.
   2894  1.1  christos 	* elf32-ppc.c (is_ppc_elf_target): Delete.  Replace all uses with..
   2895  1.1  christos 	(is_ppc_elf): ..this new macro.
   2896  1.1  christos 	* elf64-ppc.c (is_ppc64_elf_target): Delete.  Replace all uses with..
   2897  1.1  christos 	(is_ppc64_elf): ..this new macro.
   2898  1.1  christos 
   2899  1.1  christos 2008-02-15  Alan Modra  <amodra (a] bigpond.net.au>
   2900  1.1  christos 
   2901  1.1  christos 	* elflink.c: Replace all accesses to hash->creator field with
   2902  1.1  christos 	output_bfd->xvec.
   2903  1.1  christos 	* cofflink.c: Likewise.
   2904  1.1  christos 	* coff-h8300.c: Likewise.
   2905  1.1  christos 	* ecoff.c: Likewise.
   2906  1.1  christos 	* elf32-m68hc1x.c: Likewise.
   2907  1.1  christos 	* elf32-ppc.c: Likewise.
   2908  1.1  christos 	* elf64-alpha.c: Likewise.
   2909  1.1  christos 	* elf64-ppc.c: Likewise.
   2910  1.1  christos 	* elf64-sparc.c: Likewise.
   2911  1.1  christos 	* elfxx-mips.c: Likewise.
   2912  1.1  christos 	* i386linux.c: Likewise.
   2913  1.1  christos 	* m68klinux.c: Likewise.
   2914  1.1  christos 	* sparclinux.c: Likewise.
   2915  1.1  christos 	* sunos.c: Likewise.
   2916  1.1  christos 	* xcofflink.c: Likewise.
   2917  1.1  christos 	* linker.c: Likewise.
   2918  1.1  christos 	(_bfd_link_hash_table_init): Don't store creator.
   2919  1.1  christos 
   2920  1.1  christos 2008-02-14  Peter Jones  <pjones (a] redhat.com>
   2921  1.1  christos 
   2922  1.1  christos 	* efi-rtdrv-ia32.c: New file.
   2923  1.1  christos 	* efi-bsdrv-ia32.c: New file.
   2924  1.1  christos 	* efi-rtdrv-ia64.c: New file.
   2925  1.1  christos 	* efi-bsdrv-ia64.c: New file.
   2926  1.1  christos 	* efi-rtdrv-x86_64.c: New file.
   2927  1.1  christos 	* efi-bsdrv-x86_64.c: New file.
   2928  1.1  christos 	* peicode.h (pe_bfd_object_p): Add support for boot service and
   2929  1.1  christos 	runtime service drivers.
   2930  1.1  christos 	* libpei.h: Add macros for EFI formats, and rename the efi application
   2931  1.1  christos 	format macros to disambiguate.
   2932  1.1  christos 	* targets.c: Add bfd_target _vec externs.
   2933  1.1  christos 	(_bfd_tar): Add EFI _vec entries.
   2934  1.1  christos 	* config.bfd: Add EFI vectors into the selection routines.
   2935  1.1  christos 	* configure.in: add EFI _vec entries.
   2936  1.1  christos 	* configure: Regenerate.
   2937  1.1  christos 	* Makefile.am: Add EFI files.
   2938  1.1  christos 	* Makefile.in: Regenerate.
   2939  1.1  christos 
   2940  1.1  christos 2008-02-14  Nathan Sidwell  <nathan (a] codesourcery.com>
   2941  1.1  christos 
   2942  1.1  christos 	* dwarf1.c (struct dwarf1_debug): Add syms member.
   2943  1.1  christos 	(alloc_dwarf1_unit, alloc_dwarf1_func): Check for out of memory.
   2944  1.1  christos 	(parse_line_table, _bfd_dwarf1_find_nearest_line): Relocate
   2945  1.1  christos 	section contents, check for out of memory.
   2946  1.1  christos 
   2947  1.1  christos 	* dwarf1.c (struct dwarf1_debug): Change data pointers to bfd_byte.
   2948  1.1  christos 	(parse_die): Change data pointers to bfd_byte.
   2949  1.1  christos 	(parse_line_table, parse_functions_in_unit): Likewise.
   2950  1.1  christos 
   2951  1.1  christos 2008-02-14  Alan Modra  <amodra (a] bigpond.net.au>
   2952  1.1  christos 
   2953  1.1  christos 	* elflink.c (compute_bucket_count): Warning fixes.
   2954  1.1  christos 
   2955  1.1  christos 2008-02-12  DJ Delorie  <dj (a] redhat.com>
   2956  1.1  christos 
   2957  1.1  christos 	* elf32-iq2000.c (iq2000_elf_relocate_section): Adjust addend of
   2958  1.1  christos 	relocation pointing to local symbol in merged section.
   2959  1.1  christos 
   2960  1.1  christos 	* elf32-iq2000.c (iq2000_elf_relocate_offset16): New.
   2961  1.1  christos 	(iq2000_elf_relocate_section): Call it.
   2962  1.1  christos 
   2963  1.1  christos 2008-02-12  Nick Clifton  <nickc (a] redhat.com>
   2964  1.1  christos 
   2965  1.1  christos 	PR ld/5692
   2966  1.1  christos 	* elf-bfd.h (enum elf_object_id): New enum, used to identify
   2967  1.1  christos 	target specific extensions to the elf_obj_tdata structure.
   2968  1.1  christos 	(struct elf_obj_tdata): New field 'object_id'.
   2969  1.1  christos 	(elf_object_id, elf_program_header_size, elf_symtab_hdr): New
   2970  1.1  christos 	macros for accessing fields in the elf_obj_tdata structure.
   2971  1.1  christos 	(bfd_elf_mkobject): Rename to bfd_elf_make_generic_object.
   2972  1.1  christos 	(bfd_elf_allocate_object): New function.
   2973  1.1  christos 	* elf.c (bfd_elf_mkobject): Rename to bfd_elf_make_generic_object
   2974  1.1  christos 	and implement by calling bfd_elf_allocate_object.
   2975  1.1  christos 	(bfd_elf_allocate_object): New function: Allocates an
   2976  1.1  christos 	elf_obj_tdata structure, possibly with a target specific
   2977  1.1  christos 	extension.
   2978  1.1  christos 	* elfxx-target.h (bfd_elfNN_mkobject): Use
   2979  1.1  christos 	bfd_elf_make_generic_object as the default value.
   2980  1.1  christos 	* elf32-arm.c (elf32_arm_obj_tdata): Rename to elf_arm_obj_tdata
   2981  1.1  christos 	for consistency with other, similar structures.
   2982  1.1  christos 	(is_arm_elf): New macro.  Checks a BFD to make sure that is an ARM
   2983  1.1  christos 	ELF bfd.
   2984  1.1  christos 	(elf32_arm_mkobject): Call bfd_elf_allocate_object.
   2985  1.1  christos 	(bfd_elf32_arm_vfp11_erratum_scan): Use is_arm_elf macro to check
   2986  1.1  christos 	the bfd being processed.
   2987  1.1  christos 	(bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
   2988  1.1  christos 	(bfd_elf32_arm_set_target_relocs): Likewise.
   2989  1.1  christos 	(bfd_elf32_arm_final_link_relocate): Likewise.
   2990  1.1  christos 	(bfd_elf32_arm_copy_private_bfd_data): Likewise.
   2991  1.1  christos 	(bfd_elf32_arm_merge_eabi_attributes): Likewise.
   2992  1.1  christos 	(bfd_elf32_arm_merge_private_bfd_data): Likewise.
   2993  1.1  christos 	(bfd_elf32_arm_check_relocs): Likewise.
   2994  1.1  christos 	(bfd_elf32_arm_gc_mark_extra_sections): Likewise.
   2995  1.1  christos 	(bfd_elf32_arm_size_dynamic_sections): Likewise.
   2996  1.1  christos 	(bfd_elf32_arm_process_before_allocation): Use elf_symtab_hdr.
   2997  1.1  christos 	(bfd_elf32_arm_init_maps): Likewise.
   2998  1.1  christos 	(bfd_elf32_arm_final_link_relocate): Likewise.
   2999  1.1  christos 	(bfd_elf32_arm_relocate_section): Likewise.
   3000  1.1  christos 	(bfd_elf32_arm_gc_sweep_hook): Likewise.
   3001  1.1  christos 	(bfd_elf32_arm_check_relocs): Likewise.
   3002  1.1  christos 	(bfd_elf32_arm_size_dynamic_sections): Likewise.
   3003  1.1  christos 	* elf32-i386.c (elf_i386_mkobject): Call bfd_elf_allocate_object.
   3004  1.1  christos 	(is_i386_elf): New macro.  Checks a BFD to make sure that is an x86
   3005  1.1  christos 	ELF bfd.
   3006  1.1  christos 	(elf_i386_check_relocs): Use is_i386_elf macro to check    the bfd
   3007  1.1  christos 	being processed.
   3008  1.1  christos 	(elf_i386_size_dynamic_sections): Likewise.
   3009  1.1  christos 	(elf_i386_relocate_section): Likewise.
   3010  1.1  christos 	(elf_i386_check_relocs): Use elf_symtab_hdr.
   3011  1.1  christos 	(elf_i386_gc_sweep_hook): Likewise.
   3012  1.1  christos 	(elf_i386_size_dynamic_sections): Likewise.
   3013  1.1  christos 	(elf_i386_relocate_section): Likewise.
   3014  1.1  christos 	* elf32-ppc.c (ppc_elf_mkobject): Call bfd_elf_allocate_object.
   3015  1.1  christos 	(elf_create_pointer_linker_section): Use is_ppc_elf_target to
   3016  1.1  christos 	verify that the bfd before accessing target specific fields.
   3017  1.1  christos 	(ppc_elf_check_relocs): Likewise.
   3018  1.1  christos 	(elf_finish_pointer_linker_section): Likewise.
   3019  1.1  christos 	(elf_create_pointer_linker_section): Use elf_symtab_hdr.
   3020  1.1  christos 	(ppc_elf_check_relocs): Likewise.
   3021  1.1  christos 	(ppc_elf_gc_sweep_hook): Likewise.
   3022  1.1  christos 	(ppc_elf_tls_optimize): Likewise.
   3023  1.1  christos 	(ppc_elf_size_dynamic_sections): Likewise.
   3024  1.1  christos 	(ppc_elf_relax_section): Likewise.
   3025  1.1  christos 	(ppc_elf_relocate_section): Likewise.
   3026  1.1  christos 	* elf32-s390.c (struct elf_s390_obj_tdata): Add a comment
   3027  1.1  christos 	reminding programmers to keep this structure in sync with the one
   3028  1.1  christos 	defined in elf64-s390.c.
   3029  1.1  christos 	(elf_s390_mkobject): Call bfd_elf_allocate_object.
   3030  1.1  christos 	(is_s390_elf): New macro.  Checks a BFD to make sure that is an s390
   3031  1.1  christos 	ELF bfd.
   3032  1.1  christos 	(elf_s390_check_relocs): Use is_s390_elf macro to check    the bfd
   3033  1.1  christos 	being processed.
   3034  1.1  christos 	(elf_s390_size_dynamic_sections): Likewise.
   3035  1.1  christos 	(elf_s390_relocate_section): Likewise.
   3036  1.1  christos 	(elf_s390_check_relocs): Use elf_symtab_hdr.
   3037  1.1  christos 	(elf_s390_gc_sweep_hook): Likewise.
   3038  1.1  christos 	(elf_s390_size_dynamic_sections): Likewise.
   3039  1.1  christos 	(elf_s390_relocate_section): Likewise.
   3040  1.1  christos 	* elf32-sh.c (sh_elf_mkobject): Call bfd_elf_allocate_object.
   3041  1.1  christos 	(is_sh_elf): New macro.  Checks a BFD to make sure that is an SH
   3042  1.1  christos 	ELF bfd.
   3043  1.1  christos 	(sh_elf_size_dynamic_sections): Use is_sh_elf macro to check the
   3044  1.1  christos 	bfd being processed.
   3045  1.1  christos 	(sh_elf_relocate_section): Likewise.
   3046  1.1  christos 	(sh_elf_check_relocs): Likewise.
   3047  1.1  christos 	(sh_elf_copy_private_data): Likewise.
   3048  1.1  christos 	(sh_elf_relax_section): Use elf_symtab_hdr.
   3049  1.1  christos 	(sh_elf_size_dynamic_sections): Likewise.
   3050  1.1  christos 	(sh_elf_relocate_section): Likewise.
   3051  1.1  christos 	(sh_elf_get_relocated_section_contents): Likewise.
   3052  1.1  christos 	(sh_elf_gc_sweep_hook): Likewise.
   3053  1.1  christos 	(sh_elf_check_relocs): Likewise.
   3054  1.1  christos 	* elf64-alpha.c (elf64_alpha_mkobject): Call bfd_elf_allocate_object.
   3055  1.1  christos 	(is_alpha_elf): New macro.  Checks a BFD to make sure that is an
   3056  1.1  christos 	Alpha ELF bfd.
   3057  1.1  christos 	(elf64_alpha_create_got_section): Use is_alpha_elf macro to check
   3058  1.1  christos 	the bfd being processed.
   3059  1.1  christos 	(elf64_alpha_create_dynamic_section): Likewise.
   3060  1.1  christos 	(elf64_alpha_check_relocs): Likewise.
   3061  1.1  christos 	(elf64_alpha_size_got_sections): Likewise.
   3062  1.1  christos 	(elf64_alpha_relax_section): Likewise.
   3063  1.1  christos 	(elf64_alpha_relocate_section): Likewise.
   3064  1.1  christos 	(elf64_alpha_final_link): Likewise.
   3065  1.1  christos 	(elf64_alpha_check_relocs): Use elf_symtab_hdr.
   3066  1.1  christos 	(elf64_alpha_relax_section): Likewise.
   3067  1.1  christos 	(elf64_alpha_relocate_section_r): Likewise.
   3068  1.1  christos 	(elf64_alpha_relocate_section): Likewise.
   3069  1.1  christos 	* elf64-ppc.c (ppc64_elf_mkobject): Call bfd_elf_allocate_object.
   3070  1.1  christos 	(ppc64_elf_check_relocs): Use is_ppc64_elf_target to check the bfd
   3071  1.1  christos 	being processed.
   3072  1.1  christos 	(opd_entry_value): Likewise.
   3073  1.1  christos 	(allocate_dynrelocs): Likewise.
   3074  1.1  christos 	(ppc64_elf_relocate_section): Likewise.
   3075  1.1  christos 	(ppc64_elf_check_relocs): Use elf_symtab_hdr.
   3076  1.1  christos 	(opd_entry_value): Likewise.
   3077  1.1  christos 	(ppc64_elf_gc_sweep_hook): Likewise.
   3078  1.1  christos 	(get_sym_h): Likewise.
   3079  1.1  christos 	(ppc64_elf_edit_opd): Likewise.
   3080  1.1  christos 	(ppc64_elf_tls_optimize): Likewise.
   3081  1.1  christos 	(ppc64_elf_edit_toc): Likewise.
   3082  1.1  christos 	(ppc64_elf_size_dynamic_sections): Likewise.
   3083  1.1  christos 	(toc_adjusting_stub_needed): Likewise.
   3084  1.1  christos 	(ppc64_elf_size_stubs): Likewise.
   3085  1.1  christos 	(ppc64_elf_relocate_section): Likewise.
   3086  1.1  christos 	* elf64-s390.c (struct elf_s390_obj_tdata): Add a comment
   3087  1.1  christos 	reminding programmers to keep this structure in sync with the one
   3088  1.1  christos 	defined in elf32-s390.c.
   3089  1.1  christos 	(elf_s390_mkobject): Call bfd_elf_allocate_object.
   3090  1.1  christos 	(is_s390_elf): New macro.  Checks a BFD to make sure that is an s390
   3091  1.1  christos 	ELF bfd.
   3092  1.1  christos 	(elf_s390_check_relocs): Use is_s390_elf macro to check    the bfd
   3093  1.1  christos 	being processed.
   3094  1.1  christos 	(elf_s390_size_dynamic_sections): Likewise.
   3095  1.1  christos 	(elf_s390_relocate_section): Likewise.
   3096  1.1  christos 	(elf_s390_check_relocs): Use elf_symtab_hdr.
   3097  1.1  christos 	(elf_s390_gc_sweep_hook): Likewise.
   3098  1.1  christos 	(elf_s390_size_dynamic_sections): Likewise.
   3099  1.1  christos 	(elf_s390_relocate_section): Likewise.
   3100  1.1  christos 	* elf64-x86_64.c (elf64_x86_64_mkobject): Call bfd_elf_allocate_object.
   3101  1.1  christos 	(is_x86_64_elf): New macro.  Checks a BFD to make sure that is an
   3102  1.1  christos 	x86_64 ELF bfd.
   3103  1.1  christos 	(elf64_x86_64_check_relocs): Use is_x86_64_elf macro to check the bfd
   3104  1.1  christos 	being processed.
   3105  1.1  christos 	(elf64_x86_64_size_dynamic_sections): Likewise.
   3106  1.1  christos 	(elf64_x86_64_relocate_section): Likewise.
   3107  1.1  christos 	(elf64_x86_64_check_relocs): Use elf_symtab_hdr.
   3108  1.1  christos 	(elf64_x86_64_gc_sweep_hook): Likewise.
   3109  1.1  christos 	(elf64_x86_64_size_dynamic_sections): Likewise.
   3110  1.1  christos 	(elf64_x86_64_relocate_section): Likewise.
   3111  1.1  christos 	* elfxx-sparc.c (_bfd_sparc_elf_mkobject): Call bfd_elf_allocate_object.
   3112  1.1  christos 	(is_sparc_elf): New macro.  Checks a BFD to make sure that is a Sparc
   3113  1.1  christos 	ELF bfd.
   3114  1.1  christos 	(_bfd_sparc_elf_check_relocs): Use is_sparc_elf macro to check the
   3115  1.1  christos 	bfd being processed.
   3116  1.1  christos 	(_bfd_sparc_elf_gc_sweep_hook): Likewise.
   3117  1.1  christos 	(_bfd_sparc_elf_size_dynamic_sections): Likewise.
   3118  1.1  christos 	(_bfd_sparc_elf_check_relocs): Use elf_symtab_hdr.
   3119  1.1  christos 	(_bfd_sparc_elf_gc_sweep_hook): Likewise.
   3120  1.1  christos 	(_bfd_sparc_elf_size_dynamic_sections): Likewise.
   3121  1.1  christos 	(_bfd_sparc_elf_relocate_section): Likewise.
   3122  1.1  christos 
   3123  1.1  christos 2008-02-12  Alan Modra  <amodra (a] bigpond.net.au>
   3124  1.1  christos 
   3125  1.1  christos 	PR 5303, 5755
   3126  1.1  christos 	* arange-set.c: Delete.
   3127  1.1  christos 	* arange-set.h: Delete.
   3128  1.1  christos 	* dwarf2.c: Revert 2007-09-21 changes.
   3129  1.1  christos 	* Makefile.am: Likewise.
   3130  1.1  christos 	* Makefile.in: Regenerate.
   3131  1.1  christos 	* po/SRC-POTFILES.in: Regenerate.
   3132  1.1  christos 
   3133  1.1  christos 2008-02-11  Bernd Schmidt  <bernd.schmidt (a] analog.com>
   3134  1.1  christos 
   3135  1.1  christos 	* elf32-bfin.c (bfin_relocate_section): Set up dynobj before using it
   3136  1.1  christos 	if necessary.
   3137  1.1  christos 	(elf32_bfin_merge_private_bfd_data): Simplify, and ensure object type
   3138  1.1  christos 	mismatches are detected.
   3139  1.1  christos 
   3140  1.1  christos 	* elf32-bfin.c (bfinfdpic_relocate_section): Take more care not to
   3141  1.1  christos 	emit invalid relocs or rofixup entries for deleted .eh_frame entries.
   3142  1.1  christos 
   3143  1.1  christos 2008-02-11  Daniel Jacobowitz  <dan (a] codesourcery.com>
   3144  1.1  christos 
   3145  1.1  christos 	* cache.c (cache_bread): Set bfd_error_file_truncated if EOF
   3146  1.1  christos 	was reached.
   3147  1.1  christos 	* srec.c (srec_scan): Calculate the checksum.  Complain on mismatch.
   3148  1.1  christos 
   3149  1.1  christos 2008-02-07  Alan Modra  <amodra (a] bigpond.net.au>
   3150  1.1  christos 
   3151  1.1  christos 	* elf32-spu.c (spu_elf_size_stubs): Revert 2008-01-28 doubling
   3152  1.1  christos 	of _ovly_buf_table size.
   3153  1.1  christos 	(spu_elf_build_stubs): Use low bit of .size as "present" bit.
   3154  1.1  christos 	Adjust initialisations relating to _ovly_buf_table.
   3155  1.1  christos 
   3156  1.1  christos 2008-02-04  Bob Wilson  <bob.wilson (a] acm.org>
   3157  1.1  christos 
   3158  1.1  christos 	* elf32-xtensa (elf_xtensa_relocate_section): After finding an invalid
   3159  1.1  christos 	relocation, do not continue processing it.  Ignore R_XTENSA_ASM_EXPAND
   3160  1.1  christos 	relocations against dynamic symbols.
   3161  1.1  christos 	(elf_xtensa_finish_dynamic_sections): Do not fail if there is no
   3162  1.1  christos 	.xt.lit section.
   3163  1.1  christos 
   3164  1.1  christos 2008-02-04  Kai Tietz  <kai.tietz (a] onevision.com>
   3165  1.1  christos 	    H.J. Lu  <hongjiu.lu (a] intel.com>
   3166  1.1  christos 
   3167  1.1  christos 	PR 5715
   3168  1.1  christos 	* warning.m4: Enable -Wno-format by default when using gcc on
   3169  1.1  christos 	mingw.
   3170  1.1  christos 	* configure: Regenerated.
   3171  1.1  christos 
   3172  1.1  christos 2008-02-04  Adam Nemet  <anemet (a] caviumnetworks.com>
   3173  1.1  christos 
   3174  1.1  christos 	* archures.c: Update copyright.
   3175  1.1  christos 	(bfd_mach_mips_octeon): New macro.
   3176  1.1  christos 	* bfd-in2.h: Regenerate.
   3177  1.1  christos 	* elfxx-mips.c (_bfd_elf_mips_mach): Handle Octeon.
   3178  1.1  christos 	(mips_set_isa_flags): Likewise.
   3179  1.1  christos 	(mips_mach_extensions): Add Octeon.
   3180  1.1  christos 	* cpu-mips.c: Update copyright.
   3181  1.1  christos 	(I_mipsocteon): New enum constant.
   3182  1.1  christos 	(arch_info_struct): Add Octeon.
   3183  1.1  christos 
   3184  1.1  christos 2008-02-04  Alan Modra  <amodra (a] bigpond.net.au>
   3185  1.1  christos 
   3186  1.1  christos 	* elf32-spu.c (spu_elf_relocate_section): Correct return type.
   3187  1.1  christos 	Return error status on unexpected relocation errors.
   3188  1.1  christos 
   3189  1.1  christos 2008-02-04  Alan Modra  <amodra (a] bigpond.net.au>
   3190  1.1  christos 
   3191  1.1  christos 	PR ld/5692
   3192  1.1  christos 	* elf.c (bfd_elf_get_elf_syms): Revert 2008-01-31.  Instead abort
   3193  1.1  christos 	on non-ELF input.
   3194  1.1  christos 	* elf32-arm.c (elf32_arm_size_dynamic_sections): Skip glue
   3195  1.1  christos 	processing on non-ELF input.
   3196  1.1  christos 
   3197  1.1  christos 2008-01-31  Marc Gauthier  <marc (a] tensilica.com>
   3198  1.1  christos 
   3199  1.1  christos 	* config.bfd (xtensa*-*-*): Recognize processor variants.
   3200  1.1  christos 
   3201  1.1  christos 2008-01-31  Nick Clifton  <nickc (a] redhat.com>
   3202  1.1  christos 
   3203  1.1  christos 	PR ld/5692
   3204  1.1  christos 	* elf.c (bfd_elf_get_elf_syms): Check the return value of
   3205  1.1  christos 	get_elf_backend_data.
   3206  1.1  christos 
   3207  1.1  christos 2008-01-28  Fabian Groffen  <grobian (a] gentoo.org>
   3208  1.1  christos 
   3209  1.1  christos 	* config.bfd (x86_64-*-solaris2): Add support for this target.
   3210  1.1  christos 
   3211  1.1  christos 2008-01-28  Alan Modra  <amodra (a] bigpond.net.au>
   3212  1.1  christos 
   3213  1.1  christos 	Rewrite SPU overlay handling code.  Put overlay calls stubs in the
   3214  1.1  christos 	overlays where possible.  Use a faster call stub, or optionally at
   3215  1.1  christos 	compile time, a more compact stub.  Double size of _ovly_buf_table
   3216  1.1  christos 	so that low bit of _ovly_table.buf can be used as a "present" bit.
   3217  1.1  christos 	Reserve an extra _ovly_table entry for index zero.
   3218  1.1  christos 	* elf32-spu.c: (struct spu_link_hash_table): Delete a number of fields,
   3219  1.1  christos 	add new ones.
   3220  1.1  christos 	(struct got_entry): New.
   3221  1.1  christos 	(struct spu_stub_hash_entry): Delete.
   3222  1.1  christos 	(stub_hash_newfunc, spu_elf_link_hash_table_free): Delete.
   3223  1.1  christos 	(spu_elf_link_hash_table_create): Adjust for struct changes.
   3224  1.1  christos 	(spu_stub_name): Delete.
   3225  1.1  christos 	(spu_elf_find_overlays): Don't track sections from overlay regions.
   3226  1.1  christos 	Instead set ovl_buf number in spu elf section data.  Error if
   3227  1.1  christos 	overlays in one region don't start at the same address.  Adjust
   3228  1.1  christos 	for struct _spu_elf_section_data changes.
   3229  1.1  christos 	(SIZEOF_STUB1, SIZEOF_STUB2, ILA_79, ILA_78): Delete.
   3230  1.1  christos 	(OVL_STUB_SIZE, BRSL, LNOP, ILA): Define.
   3231  1.1  christos 	(needs_ovl_stub): Adjust for struct _spu_elf_section_data changes.
   3232  1.1  christos 	(enum _insn_type): New.
   3233  1.1  christos 	(count_stub, build_stub): New functions.
   3234  1.1  christos 	(allocate_spuear_stubs): Use count_stub.
   3235  1.1  christos 	(build_spuear_stubs): Use build_stub.
   3236  1.1  christos 	(populate_stubs, sort_stubs): Delete.
   3237  1.1  christos 	(process_stubs): New function.
   3238  1.1  christos 	(write_one_stub): Delete.
   3239  1.1  christos 	(spu_elf_size_stubs, spu_elf_build_stubs): Rewrite.
   3240  1.1  christos 	(alloc_stack_info): Adjust for struct _spu_elf_section_data changes.
   3241  1.1  christos 	(maybe_insert_function, check_function_ranges): Likewise.
   3242  1.1  christos 	(find_function, pasted_function, build_call_tree): Likewise.
   3243  1.1  christos 	(spu_elf_stack_analysis, spu_elf_modify_segment_map): Likewise.
   3244  1.1  christos 	(spu_elf_modify_program_headers): Likewise.
   3245  1.1  christos 	(interesting_section): Detect stub sections differently.  Delete
   3246  1.1  christos 	htab param, adjust all callers.
   3247  1.1  christos 	(spu_elf_relocate_section): Rewrite stub handling.
   3248  1.1  christos 	(spu_elf_output_symbol_hook): Likewise.
   3249  1.1  christos 	(bfd_elf32_bfd_link_hash_table_free): Delete.
   3250  1.1  christos 	* elf32-spu.h (struct _spu_elf_section_data): Move input-only and
   3251  1.1  christos 	output-only fields into a union.  Add ovl_buf.
   3252  1.1  christos 	(spu_elf_size_stubs, spu_elf_build_stubs): Update prototypes.
   3253  1.1  christos 
   3254  1.1  christos 2008-01-25  DJ Delorie  <dj (a] redhat.com>
   3255  1.1  christos 
   3256  1.1  christos 	* elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): New.
   3257  1.1  christos 
   3258  1.1  christos 2008-01-25  Kai Tietz  <kai.tietz (a] onevision.com>
   3259  1.1  christos 
   3260  1.1  christos 	* bfd-in.h: Add mingw I64 support.
   3261  1.1  christos 	* bfd-in2.h: Regenerated.
   3262  1.1  christos 	* bfd.c: (bfd_get_sign_extend_vma): Add pe-x86-64 and pei-x86-64.
   3263  1.1  christos 
   3264  1.1  christos 2008-01-21  Alan Modra  <amodra (a] bigpond.net.au>
   3265  1.1  christos 
   3266  1.1  christos 	PR 4453
   3267  1.1  christos 	* format.c (bfd_check_format_matches): Don't accept archives as
   3268  1.1  christos 	fully matching unless they have a map.
   3269  1.1  christos 
   3270  1.1  christos 2008-01-21  Alan Modra  <amodra (a] bigpond.net.au>
   3271  1.1  christos 
   3272  1.1  christos 	* elflink.c (_bfd_elf_link_output_relocs): Correct error return.
   3273  1.1  christos 
   3274  1.1  christos 2008-01-21  Alan Modra  <amodra (a] bigpond.net.au>
   3275  1.1  christos 
   3276  1.1  christos 	* ecoff.c (_bfd_ecoff_archive_p): Delete.
   3277  1.1  christos 	* libecoff.h (_bfd_ecoff_archive_p): Delete.
   3278  1.1  christos 	* coff-alpha.c (ecoffalpha_little_vec): Use bfd_generic_archive_p.
   3279  1.1  christos 	* coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
   3280  1.1  christos 	(ecoff_biglittle_vec): Likewise.
   3281  1.1  christos 
   3282  1.1  christos 2008-01-19  Alan Modra  <amodra (a] bigpond.net.au>
   3283  1.1  christos 
   3284  1.1  christos 	PR 5646
   3285  1.1  christos 	* elf64-ppc.c (ppc64_elf_tls_optimize): Ensure htab->tls_get_addr
   3286  1.1  christos 	non-NULL before dereferencing.
   3287  1.1  christos 
   3288  1.1  christos 2008-01-15  Alan Modra  <amodra (a] bigpond.net.au>
   3289  1.1  christos 
   3290  1.1  christos 	PR 5604
   3291  1.1  christos 	* elf-bfd.h (struct elf_backend_data): Add gc_keep.  Remove param
   3292  1.1  christos 	names from others.
   3293  1.1  christos 	(_bfd_elf_gc_keep): Declare.
   3294  1.1  christos 	* elfxx-target.h (elf_backend_gc_keep): Define.
   3295  1.1  christos 	(elfNN_bed): Init new field.
   3296  1.1  christos 	* elflink.c (_bfd_elf_gc_keep): New function.
   3297  1.1  christos 	(bfd_elf_gc_sections): Call gc_keep.
   3298  1.1  christos 	* elf64-ppc.c (elf_backend_gc_keep): Define.
   3299  1.1  christos 	(struct _ppc64_elf_section_data): Move .opd related fields to
   3300  1.1  christos 	a struct so they don't occupy the same storage.  Adjust accesses
   3301  1.1  christos 	throughout file.
   3302  1.1  christos 	(ppc64_elf_gc_keep): New function, split out from..
   3303  1.1  christos 	(ppc64_elf_gc_mark_hook): ..here.  Don't call _bfd_elf_gc_mark
   3304  1.1  christos 	to mark .opd section, just set gc_mark.
   3305  1.1  christos 	(ppc64_elf_edit_opd): Remove no_opd_opt parm.  Don't set opd->adjust
   3306  1.1  christos 	unless we are changing .opd.  Test non-NULL opd->adjust at all
   3307  1.1  christos 	accesses throughout file.
   3308  1.1  christos 	* elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
   3309  1.1  christos 
   3310  1.1  christos 2008-01-15  Alan Modra  <amodra (a] bigpond.net.au>
   3311  1.1  christos 
   3312  1.1  christos 	* bfd-in.h (BFD_HOST_LONG_LONG): Delete.
   3313  1.1  christos 	* bfd-in2.h: Regenerate.
   3314  1.1  christos 
   3315  1.1  christos 2008-01-11  Tristan Gingold  <gingold (a] adacore.com>
   3316  1.1  christos 	    Eric Botcazou  <ebotcazou (a] adacore.com>
   3317  1.1  christos 
   3318  1.1  christos 	* elf32-ppc.c (ppc_elf_gc_sweep_hook): Exit early if generating a
   3319  1.1  christos 	relocatable.
   3320  1.1  christos 	* elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
   3321  1.1  christos 	* elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
   3322  1.1  christos 	* elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
   3323  1.1  christos 	* elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
   3324  1.1  christos 	* elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
   3325  1.1  christos 	* elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
   3326  1.1  christos 	* elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
   3327  1.1  christos 	* elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
   3328  1.1  christos 	* elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
   3329  1.1  christos 	* elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
   3330  1.1  christos 	* elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
   3331  1.1  christos 	* elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
   3332  1.1  christos 	* elf64-ppc.c (ppc64_elf_gc_sweep_hook): Likewise.
   3333  1.1  christos 	* elfxx-mips.c (_bfd_mips_elf_gc_sweep_hook): Likewise.
   3334  1.1  christos 	* elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Likewise.
   3335  1.1  christos 	* elflink.c (bfd_elf_gc_sections): Do not punt on relocatable output
   3336  1.1  christos 	or executable output with relocations.
   3337  1.1  christos 
   3338  1.1  christos 2008-01-09  Nick Clifton  <nickc (a] redhat.com>
   3339  1.1  christos 
   3340  1.1  christos 	PR gas/5552
   3341  1.1  christos 	* elf32-fr30.c (fr30_elf_howto_table): Set partial_inplace field
   3342  1.1  christos 	to FALSE for all relocs.
   3343  1.1  christos 
   3344  1.1  christos 2008-01-09  Richard Sandiford  <rsandifo (a] nildram.co.uk>
   3345  1.1  christos 
   3346  1.1  christos 	PR ld/5526
   3347  1.1  christos 	* elf-bfd.h (eh_cie_fde): Add u.cie.u.full_cie and u.cie.merged
   3348  1.1  christos 	fields.  Rename u.cie.u.merged to u.cie.u.merged_with.
   3349  1.1  christos 	(eh_frame_sec_info): Add a cies field.
   3350  1.1  christos 	(eh_frame_hdr_info): Add a merge_cies field.
   3351  1.1  christos 	* elf-eh-frame.c (cie): Add a reloc_index member to the personality
   3352  1.1  christos 	union.
   3353  1.1  christos 	(_bfd_elf_begin_eh_frame_parsing): Set hdr_info->merge_cies instead
   3354  1.1  christos 	of hdr_info->cies.
   3355  1.1  christos 	(_bfd_elf_parse_eh_frame): Remove tmp_cie.  Ccreate an array of
   3356  1.1  christos 	cie structures in all cases and use it instead of extended_cies.
   3357  1.1  christos 	If merging, store the cie array in sec_info->cies and point each
   3358  1.1  christos 	CIE's eh_fde_cie at the associated element.  Do not try to
   3359  1.1  christos 	calculate the value of the personality routine here; record the
   3360  1.1  christos 	offset of the relocation instead.  Do not merge CIEs here.
   3361  1.1  christos 	(_bfd_elf_end_eh_frame_parsing): Do not free hdr_info->cies here...
   3362  1.1  christos 	(_bfd_elf_discard_section_eh_frame_hdr): ...do it here instead.
   3363  1.1  christos 	(_bfd_elf_gc_mark_fdes): Mark the original (unmerged) CIE.
   3364  1.1  christos 	(find_merged_cie): New function.
   3365  1.1  christos 	(_bfd_elf_gc_mark_fdes): Use it.  Free sec_info->cies.
   3366  1.1  christos 
   3367  1.1  christos 2008-01-07  Nick Clifton  <nickc (a] redhat.com>
   3368  1.1  christos 
   3369  1.1  christos 	PR binutils/5535
   3370  1.1  christos 	* vms.c (vms_close_and_cleanup): Check for the presence of a
   3371  1.1  christos 	vms_private_data_struct before examining any of its fields.
   3372  1.1  christos 
   3373  1.1  christos 2008-01-07  H.J. Lu  <hongjiu.lu (a] intel.com>
   3374  1.1  christos 
   3375  1.1  christos 	PR ld/5522
   3376  1.1  christos 	* elflink.c (elf_link_input_bfd): Don't write out a section if
   3377  1.1  christos 	its output section is marked with SEC_NEVER_LOAD.
   3378  1.1  christos 
   3379  1.1  christos For older changes see ChangeLog-2007
   3380  1.1  christos 
   3382  1.1  christos Copyright (C) 2008 Free Software Foundation, Inc.
   3383  1.1  christos 
   3384  1.1  christos Copying and distribution of this file, with or without modification,
   3385  1.1  christos are permitted in any medium without royalty provided the copyright
   3386  1.1  christos notice and this notice are preserved.
   3387  1.1  christos 
   3388  1.1  christos Local Variables:
   3389  1.1  christos mode: change-log
   3390  1.1  christos left-margin: 8
   3391  1.1  christos fill-column: 74
   3392  1.1  christos version-control: never
   3393                End:
   3394