1. 28 Jun, 2016 2 commits
    • Nick Clifton's avatar
      Fix typo in previous commit · bb95c51a
      Nick Clifton authored
      bb95c51a
    • Nick Clifton's avatar
      Fix more linker testsuite failures. · 1b857aee
      Nick Clifton authored
      bfin	* elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
      	is needed.
      
      ld	* testsuite/ld-elf/comm-data.exp: Expect comm-data2 test to fail
      	for bfin.
      	* testsuite/ld-elf/elf.exp: Expect pr14170 and symbolic function
      	tests to fail for bfin.
      	* testsuite/ld-elf/endsym.d: Expect to fail with cr16, crx, dlx,
      	nds32 and visium.
      	* testsuite/ld-elf/var1.d: Expect to fail with d30v, dlx, ft32 and
      	microblaze.
      	* testsuite/ld-pe/pe.exp: Expect foreign symbol test to fail for
      	mcore-pe.
      1b857aee
  2. 28 May, 2016 1 commit
    • Alan Modra's avatar
      Return void from linker callbacks · 1a72702b
      Alan Modra authored
      The ldmain.c implementation of these linker callback functions always
      return true, so any code handling a false return is dead.  What's
      more, some of the bfd backends abort if ever a false return is seen,
      and there seems to be some confusion in gdb's compile-object-load.c.
      The return value was never meant to be "oh yes, a multiple_definition
      error occurred", but rather "out of memory or other catastrophic
      failure".
      
      This patch removes the status return on the callbacks that always
      return true.  I kept the return status for "notice" because that one
      does happen to need to return "out of memory".
      
      include/
      	* bfdlink.h (struct bfd_link_callbacks): Update comments.
      	Return void from multiple_definition, multiple_common,
      	add_to_set, constructor, warning, undefined_symbol,
      	reloc_overflow, reloc_dangerous and unattached_reloc.
      bfd/
      	* aoutx.h: Adjust linker callback calls throughout file,
      	removing dead code.
      	* bout.c: Likewise.
      	* coff-alpha.c: Likewise.
      	* coff-arm.c: Likewise.
      	* coff-h8300.c: Likewise.
      	* coff-h8500.c: Likewise.
      	* coff-i960.c: Likewise.
      	* coff-mcore.c: Likewise.
      	* coff-mips.c: Likewise.
      	* coff-ppc.c: Likewise.
      	* coff-rs6000.c: Likewise.
      	* coff-sh.c: Likewise.
      	* coff-tic80.c: Likewise.
      	* coff-w65.c: Likewise.
      	* coff-z80.c: Likewise.
      	* coff-z8k.c: Likewise.
      	* coff64-rs6000.c: Likewise.
      	* cofflink.c: Likewise.
      	* ecoff.c: Likewise.
      	* elf-bfd.h: Likewise.
      	* elf-m10200.c: Likewise.
      	* elf-m10300.c: Likewise.
      	* elf32-arc.c: Likewise.
      	* elf32-arm.c: Likewise.
      	* elf32-avr.c: Likewise.
      	* elf32-bfin.c: Likewise.
      	* elf32-cr16.c: Likewise.
      	* elf32-cr16c.c: Likewise.
      	* elf32-cris.c: Likewise.
      	* elf32-crx.c: Likewise.
      	* elf32-d10v.c: Likewise.
      	* elf32-epiphany.c: Likewise.
      	* elf32-fr30.c: Likewise.
      	* elf32-frv.c: Likewise.
      	* elf32-ft32.c: Likewise.
      	* elf32-h8300.c: Likewise.
      	* elf32-hppa.c: Likewise.
      	* elf32-i370.c: Likewise.
      	* elf32-i386.c: Likewise.
      	* elf32-i860.c: Likewise.
      	* elf32-ip2k.c: Likewise.
      	* elf32-iq2000.c: Likewise.
      	* elf32-lm32.c: Likewise.
      	* elf32-m32c.c: Likewise.
      	* elf32-m32r.c: Likewise.
      	* elf32-m68hc1x.c: Likewise.
      	* elf32-m68k.c: Likewise.
      	* elf32-mep.c: Likewise.
      	* elf32-metag.c: Likewise.
      	* elf32-microblaze.c: Likewise.
      	* elf32-moxie.c: Likewise.
      	* elf32-msp430.c: Likewise.
      	* elf32-mt.c: Likewise.
      	* elf32-nds32.c: Likewise.
      	* elf32-nios2.c: Likewise.
      	* elf32-or1k.c: Likewise.
      	* elf32-ppc.c: Likewise.
      	* elf32-s390.c: Likewise.
      	* elf32-score.c: Likewise.
      	* elf32-score7.c: Likewise.
      	* elf32-sh.c: Likewise.
      	* elf32-sh64.c: Likewise.
      	* elf32-spu.c: Likewise.
      	* elf32-tic6x.c: Likewise.
      	* elf32-tilepro.c: Likewise.
      	* elf32-v850.c: Likewise.
      	* elf32-vax.c: Likewise.
      	* elf32-visium.c: Likewise.
      	* elf32-xstormy16.c: Likewise.
      	* elf32-xtensa.c: Likewise.
      	* elf64-alpha.c: Likewise.
      	* elf64-hppa.c: Likewise.
      	* elf64-ia64-vms.c: Likewise.
      	* elf64-mmix.c: Likewise.
      	* elf64-ppc.c: Likewise.
      	* elf64-s390.c: Likewise.
      	* elf64-sh64.c: Likewise.
      	* elf64-x86-64.c: Likewise.
      	* elflink.c: Likewise.
      	* elfnn-aarch64.c: Likewise.
      	* elfnn-ia64.c: Likewise.
      	* elfxx-mips.c: Likewise.
      	* elfxx-sparc.c: Likewise.
      	* elfxx-tilegx.c: Likewise.
      	* linker.c: Likewise.
      	* pdp11.c: Likewise.
      	* pe-mips.c: Likewise.
      	* reloc.c: Likewise.
      	* reloc16.c: Likewise.
      	* simple.c: Likewise.
      	* vms-alpha.c: Likewise.
      	* xcofflink.c: Likewise.
      	* elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
      	status param.  Adjust calls to these and linker callbacks throughout.
      	* elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
      	get_ramstart): Delete status param.  Adjust calls to these and
      	linker callbacks throughout.
      ld/
      	* ldmain.c (multiple_definition, multiple_common, add_to_set,
      	constructor_callback, warning_callback, undefined_symbol,
      	reloc_overflow, reloc_dangerous, unattached_reloc): Return void.
      	* emultempl/elf32.em: Adjust callback calls.
      gdb/
      	* compile/compile-object-load.c (link_callbacks_multiple_definition,
      	link_callbacks_warning, link_callbacks_undefined_symbol,
      	link_callbacks_undefined_symbol, link_callbacks_reloc_overflow,
      	link_callbacks_reloc_dangerous,
      	link_callbacks_unattached_reloc): Return void.
      1a72702b
  3. 29 Mar, 2016 1 commit
  4. 01 Jan, 2016 1 commit
  5. 20 Sep, 2015 1 commit
    • Rich Felker's avatar
      Add --no-dynamic-linker option to ld, for static PIE use · 9b8b325a
      Rich Felker authored
      Inhibits output of .interp section in ELF executables.
      
      include/
      	* bfdlink.h (struct bfd_link_info): Add "nointerp" field.
      bfd/
      	* elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
      	.interp when info->nointerp.
      	(bfd_elf_size_dynamic_sections): Adjust assert.
      	* elf32-arm.c (elf32_arm_size_dynamic_sections): Don't size .interp
      	when info->nointerp.
      	* elf32-bfin.c (elf32_bfinfdpic_size_dynamic_sections): Likewise.
      	* elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
      	* elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
      	* elf32-frv.c (elf32_frvfdpic_size_dynamic_sections): Likewise.
      	* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
      	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
      	* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
      	* elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
      	* elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
      	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
      	* elf32-metag.c (elf_metag_size_dynamic_sections): Likewise.
      	* elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
      	* elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
      	* elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
      	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
      	* elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
      	* elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
      	* elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.
      	* elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
      	* elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Likewise.
      	* elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
      	* elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
      	* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
      	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
      	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
      	* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
      	* elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
      	* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
      	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
      	* elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Likewise.
      	* elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
      	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
      	* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
      	* elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
      ld/
      	* ld.texinfo (--no-dynamic-linker): Document.
      	* ldlex.h (enum option_values): Add OPTION_NO_DYNAMIC_LINKER.
      	* lexsup.c (ld_options, parse_args): Handle --no-dynamic-linker.
      9b8b325a
  6. 19 Aug, 2015 1 commit
    • Alan Modra's avatar
      Add bfd_link_pde, and simplify some tests of link_info.type · 3cbc1e5e
      Alan Modra authored
      include/
      	* bfdlink.h (bfd_link_pde): Define.
      bfd/
      	* elf-s390-common.c: Simplify expressions using
      	bfd_linke_executable, bfd_link_pie and bfd_link_pic.
      	* elf32-arm.c: Likewise.
      	* elf32-bfin.c: Likewise.
      	* elf32-frv.c: Likewise.
      	* elf32-m68k.c: Likewise.
      	* elf32-nios2.c: Likewise.
      	* elf32-ppc.c: Likewise.
      	* elf32-s390.c: Likewise.
      	* elf32-sh.c: Likewise.
      	* elf64-alpha.c: Likewise.
      	* elf64-ppc.c: Likewise.
      	* elf64-s390.c: Likewise.
      	* elflink.c: Likewise.
      3cbc1e5e
  7. 18 Aug, 2015 1 commit
    • H.J. Lu's avatar
      Add output_type to bfd_link_info · 0e1862bb
      H.J. Lu authored
      The "shared" field in bfd_link_info is set for both DSO and and PIE.
      There are separate fields for executable and relocatable outputs.  This
      patch adds an "output_type" field:
      
      enum output_type
      {
        type_unknown = 0,
        type_executable,
        type_dll,
        type_relocatable
      };
      
      and a "pic" field to bfd_link_info to replace shared, executable and
      relocatable fields so that we can use the "output_type" field to check
      for output type and the "pic" field check if output is PIC.  Macros,
      bfd_link_executable, bfd_link_dll, bfd_link_relocatable, bfd_link_pic
      and bfd_link_pie, are provided to check for output features.
      
      bfd/
      
      	* bfd/aoutx.h: Replace shared, executable, relocatable and pie
      	fields with bfd_link_executable, bfd_link_dll,
      	bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
      	* bfd/bout.c: Likewise.
      	* bfd/coff-alpha.c: Likewise.
      	* bfd/coff-arm.c: Likewise.
      	* bfd/coff-i386.c: Likewise.
      	* bfd/coff-i960.c: Likewise.
      	* bfd/coff-m68k.c: Likewise.
      	* bfd/coff-mcore.c: Likewise.
      	* bfd/coff-mips.c: Likewise.
      	* bfd/coff-ppc.c: Likewise.
      	* bfd/coff-rs6000.c: Likewise.
      	* bfd/coff-sh.c: Likewise.
      	* bfd/coff-tic80.c: Likewise.
      	* bfd/coff-x86_64.c: Likewise.
      	* bfd/coff64-rs6000.c: Likewise.
      	* bfd/coffgen.c: Likewise.
      	* bfd/cofflink.c: Likewise.
      	* bfd/ecoff.c: Likewise.
      	* bfd/ecofflink.c: Likewise.
      	* bfd/elf-bfd.h: Likewise.
      	* bfd/elf-eh-frame.c: Likewise.
      	* bfd/elf-ifunc.c: Likewise.
      	* bfd/elf-m10200.c: Likewise.
      	* bfd/elf-m10300.c: Likewise.
      	* bfd/elf-s390-common.c: Likewise.
      	* bfd/elf-vxworks.c: Likewise.
      	* bfd/elf.c: Likewise.
      	* bfd/elf32-arm.c: Likewise.
      	* bfd/elf32-avr.c: Likewise.
      	* bfd/elf32-bfin.c: Likewise.
      	* bfd/elf32-cr16.c: Likewise.
      	* bfd/elf32-cr16c.c: Likewise.
      	* bfd/elf32-cris.c: Likewise.
      	* bfd/elf32-crx.c: Likewise.
      	* bfd/elf32-d10v.c: Likewise.
      	* bfd/elf32-dlx.c: Likewise.
      	* bfd/elf32-epiphany.c: Likewise.
      	* bfd/elf32-fr30.c: Likewise.
      	* bfd/elf32-frv.c: Likewise.
      	* bfd/elf32-ft32.c: Likewise.
      	* bfd/elf32-h8300.c: Likewise.
      	* bfd/elf32-hppa.c: Likewise.
      	* bfd/elf32-i370.c: Likewise.
      	* bfd/elf32-i386.c: Likewise.
      	* bfd/elf32-i860.c: Likewise.
      	* bfd/elf32-ip2k.c: Likewise.
      	* bfd/elf32-iq2000.c: Likewise.
      	* bfd/elf32-lm32.c: Likewise.
      	* bfd/elf32-m32c.c: Likewise.
      	* bfd/elf32-m32r.c: Likewise.
      	* bfd/elf32-m68hc11.c: Likewise.
      	* bfd/elf32-m68hc1x.c: Likewise.
      	* bfd/elf32-m68k.c: Likewise.
      	* bfd/elf32-mcore.c: Likewise.
      	* bfd/elf32-mep.c: Likewise.
      	* bfd/elf32-metag.c: Likewise.
      	* bfd/elf32-microblaze.c: Likewise.
      	* bfd/elf32-moxie.c: Likewise.
      	* bfd/elf32-msp430.c: Likewise.
      	* bfd/elf32-mt.c: Likewise.
      	* bfd/elf32-nds32.c: Likewise.
      	* bfd/elf32-nios2.c: Likewise.
      	* bfd/elf32-or1k.c: Likewise.
      	* bfd/elf32-ppc.c: Likewise.
      	* bfd/elf32-rl78.c: Likewise.
      	* bfd/elf32-rx.c: Likewise.
      	* bfd/elf32-s390.c: Likewise.
      	* bfd/elf32-score.c: Likewise.
      	* bfd/elf32-score7.c: Likewise.
      	* bfd/elf32-sh-symbian.c: Likewise.
      	* bfd/elf32-sh.c: Likewise.
      	* bfd/elf32-sh64.c: Likewise.
      	* bfd/elf32-spu.c: Likewise.
      	* bfd/elf32-tic6x.c: Likewise.
      	* bfd/elf32-tilepro.c: Likewise.
      	* bfd/elf32-v850.c: Likewise.
      	* bfd/elf32-vax.c: Likewise.
      	* bfd/elf32-visium.c: Likewise.
      	* bfd/elf32-xc16x.c: Likewise.
      	* bfd/elf32-xstormy16.c: Likewise.
      	* bfd/elf32-xtensa.c: Likewise.
      	* bfd/elf64-alpha.c: Likewise.
      	* bfd/elf64-hppa.c: Likewise.
      	* bfd/elf64-ia64-vms.c: Likewise.
      	* bfd/elf64-mmix.c: Likewise.
      	* bfd/elf64-ppc.c: Likewise.
      	* bfd/elf64-s390.c: Likewise.
      	* bfd/elf64-sh64.c: Likewise.
      	* bfd/elf64-x86-64.c: Likewise.
      	* bfd/elflink.c: Likewise.
      	* bfd/elfnn-aarch64.c: Likewise.
      	* bfd/elfnn-ia64.c: Likewise.
      	* bfd/elfxx-mips.c: Likewise.
      	* bfd/elfxx-sparc.c: Likewise.
      	* bfd/elfxx-tilegx.c: Likewise.
      	* bfd/i386linux.c: Likewise.
      	* bfd/linker.c: Likewise.
      	* bfd/m68klinux.c: Likewise.
      	* bfd/pdp11.c: Likewise.
      	* bfd/pe-mips.c: Likewise.
      	* bfd/peXXigen.c: Likewise.
      	* bfd/reloc.c: Likewise.
      	* bfd/reloc16.c: Likewise.
      	* bfd/sparclinux.c: Likewise.
      	* bfd/sunos.c: Likewise.
      	* bfd/vms-alpha.c: Likewise.
      	* bfd/xcofflink.c: Likewise.
      
      include/
      
      	* include/bfdlink.h (output_type): New enum.
      	(bfd_link_executable): New macro.
      	(bfd_link_dll): Likewise.
      	(bfd_link_relocatable): Likewise.
      	(bfd_link_pic): Likewise.
      	(bfd_link_pie): Likewise.
      	(bfd_link_info): Remove shared, executable, pie and relocatable.
      	Add output_type and pic.
      
      ld/
      
      	* ld/ldctor.c: Replace shared, executable, relocatable and pie
      	fields with bfd_link_executable, bfd_link_dll,
      	bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
      	* ld/ldemul.c: Likewise.
      	* ld/ldfile.c: Likewise.
      	* ld/ldlang.c: Likewise.
      	* ld/ldmain.c: Likewise.
      	* ld/ldwrite.c: Likewise.
      	* ld/lexsup.c: Likewise.
      	* ld/pe-dll.c: Likewise.
      	* ld/plugin.c: Likewise.
      	* ld/emultempl/aarch64elf.em: Likewise.
      	* ld/emultempl/aix.em: Likewise.
      	* ld/emultempl/alphaelf.em: Likewise.
      	* ld/emultempl/armcoff.em: Likewise.
      	* ld/emultempl/armelf.em: Likewise.
      	* ld/emultempl/avrelf.em: Likewise.
      	* ld/emultempl/beos.em: Likewise.
      	* ld/emultempl/cr16elf.em: Likewise.
      	* ld/emultempl/elf-generic.em: Likewise.
      	* ld/emultempl/elf32.em: Likewise.
      	* ld/emultempl/genelf.em: Likewise.
      	* ld/emultempl/generic.em: Likewise.
      	* ld/emultempl/gld960.em: Likewise.
      	* ld/emultempl/gld960c.em: Likewise.
      	* ld/emultempl/hppaelf.em: Likewise.
      	* ld/emultempl/irix.em: Likewise.
      	* ld/emultempl/linux.em: Likewise.
      	* ld/emultempl/lnk960.em: Likewise.
      	* ld/emultempl/m68hc1xelf.em: Likewise.
      	* ld/emultempl/m68kcoff.em: Likewise.
      	* ld/emultempl/m68kelf.em: Likewise.
      	* ld/emultempl/metagelf.em: Likewise.
      	* ld/emultempl/mipself.em: Likewise.
      	* ld/emultempl/mmo.em: Likewise.
      	* ld/emultempl/msp430.em: Likewise.
      	* ld/emultempl/nds32elf.em: Likewise.
      	* ld/emultempl/needrelax.em: Likewise.
      	* ld/emultempl/nios2elf.em: Likewise.
      	* ld/emultempl/pe.em: Likewise.
      	* ld/emultempl/pep.em: Likewise.
      	* ld/emultempl/ppc32elf.em: Likewise.
      	* ld/emultempl/ppc64elf.em: Likewise.
      	* ld/emultempl/sh64elf.em: Likewise.
      	* ld/emultempl/solaris2.em: Likewise.
      	* ld/emultempl/spuelf.em: Likewise.
      	* ld/emultempl/sunos.em: Likewise.
      	* ld/emultempl/tic6xdsbt.em: Likewise.
      	* ld/emultempl/ticoff.em: Likewise.
      	* ld/emultempl/v850elf.em: Likewise.
      	* ld/emultempl/vms.em: Likewise.
      	* ld/emultempl/vxworks.em: Likewise.
      0e1862bb
  8. 19 Jan, 2015 2 commits
    • Alan Modra's avatar
      More fixes related to NONE relocs · 0ba38529
      Alan Modra authored
      	* elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
      	to allow return of first howto.
      	* elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
      	* elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
      	* elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
      	* elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
      	* elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
      	* elf32-rx.c (rx_reloc_type_lookup): Likewise.
      	* elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
      	* elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
      	* elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
      	* elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
      	* elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
      	(spu_elf_reloc_type_lookup): Adjust to suit.
      0ba38529
    • Alan Modra's avatar
      Fallout from recent bfd_reloc_outofrange changes · 6346d5ca
      Alan Modra authored
      Commit ec93045b and cd21f5da introduced a large number of tic4x and
      tic54x regressions, due to the new checks being wrong for targets
      with octets_per_byte != 1.  To fix that I introduced a new
      bfd_get_section_limit_octets and performed the check on octets rather
      than byte adresses, reducing the number of bfd_octets_per_byte calls.
      bfd_octets_per_byte is rather expensive..
      
      I then wondered why the same bfd_reloc_outofrange check added to
      bfd_perform_relocation wasn't also added to bfd_install_relocation.
      The two functions are virtually identical and ought to remain that
      way.  However, adding the same check to bfd_install_relocation
      resulted in ld-elf "FAIL Link eh-group.o to eh-group" on many ELF
      targets, including x64_64-linux.  The reason being that eh-group.o
      has NONE relocs at the end of a section, and most targets give NONE
      relocs a non-zero size.  So if we are to keep the new outofrange
      check it appears that NONE relocs must have a zero size.
      
      	* bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
      	(bfd_get_section_limit): ..here.
      	* reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
      	(bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
      	* elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
      	* elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
      	bfd_reloc_outofrange check.
      	* bfd-in2.h: Regenerate.
      
      	* cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
      	on zero size relocs.
      	* ecoff.c (ecoff_reloc_link_order): Likewise.
      	* elf32-nds32.c (nds32_relocate_contents): Likewise.
      	* elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
      
      	* reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
      	(_bfd_clear_contents): Likewise.
      	* elfxx-mips.c (mips_elf_obtain_contents): Likewise.
      	(mips_elf_perform_relocation): Likewise.
      
      	* aoutx.h (aout_link_reloc_link_order): Allow for NULL return
      	from malloc on zero size alloc.
      	* cofflink.c (_bfd_coff_reloc_link_order): Likewise.
      	* elflink.c (elf_reloc_link_order): Likewise.
      	* linker.c (_bfd_generic_reloc_link_order): Likewise.
      	* pdp11.c (aout_link_reloc_link_order): Likewise.
      	* xcofflink.c (xcoff_reloc_link_order): Likewise.
      
      	* aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
      	bitsize 0, and complain_overflow_dont.
      	* coff-sparc.c (coff_sparc_howto_table): Likewise.
      	* elf-hppa.h (elf_hppa_howto_table): Likewise.
      	* elf-m10200.c (elf_mn10200_howto_table): Likewise.
      	* elf-m10300.c (elf_mn10300_howto_table): Likewise.
      	* elf32-arc.c (elf_arc_howto_table): Likewise.
      	* elf32-arm.c (elf32_arm_howto_table_1): Likewise.
      	* elf32-avr.c (elf_avr_howto_table): Likewise.
      	* elf32-bfin.c (bfin_howto_table): Likewise.
      	* elf32-cr16.c (cr16_elf_howto_table): Likewise.
      	* elf32-cris.c (cris_elf_howto_table): Likewise.
      	* elf32-crx.c (crx_elf_howto_table): Likewise.
      	* elf32-d10v.c (elf_d10v_howto_table): Likewise.
      	* elf32-d30v.c (elf_d30v_howto_table): Likewise.
      	* elf32-dlx.c (dlx_elf_howto_table): Likewise.
      	* elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
      	* elf32-fr30.c (fr30_elf_howto_table): Likewise.
      	* elf32-frv.c (elf32_frv_howto_table): Likewise.
      	* elf32-h8300.c (h8_elf_howto_table): Likewise.
      	* elf32-i370.c (i370_elf_howto_raw): Likewise.
      	* elf32-i386.c (elf_howto_table): Likewise.
      	* elf32-i860.c (elf32_i860_howto_table): Likewise.
      	* elf32-i960.c (elf32_i960_relocate): Likewise.
      	* elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
      	* elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
      	* elf32-lm32.c (lm32_elf_howto_table): Likewise.
      	* elf32-m32c.c (m32c_elf_howto_table): Likewise.
      	* elf32-m32r.c (m32r_elf_howto_table): Likewise.
      	* elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
      	* elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
      	* elf32-m68k.c (howto_table): Likewise.
      	* elf32-mcore.c (mcore_elf_howto_raw): Likewise.
      	* elf32-mep.c (mep_elf_howto_table): Likewise.
      	* elf32-metag.c (elf_metag_howto_table): Likewise.
      	* elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
      	* elf32-mips.c (elf_mips_howto_table_rel): Likewise.
      	* elf32-moxie.c (moxie_elf_howto_table): Likewise.
      	* elf32-msp430.c (elf_msp430_howto_table): Likewise.
      	* elf32-mt.c (mt_elf_howto_table): Likewise.
      	* elf32-nds32.c (nds32_elf_howto_table): Likewise.
      	* elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
      	* elf32-or1k.c (or1k_elf_howto_table): Likewise.
      	* elf32-pj.c (pj_elf_howto_table): Likewise.
      	* elf32-ppc.c (ppc_elf_howto_raw): Likewise.
      	* elf32-rl78.c (rl78_elf_howto_table): Likewise.
      	* elf32-rx.c (rx_elf_howto_table): Likewise.
      	* elf32-s390.c (elf_howto_table): Likewise.
      	* elf32-score.c (elf32_score_howto_table): Likewise.
      	* elf32-score7.c (elf32_score_howto_table): Likewise.
      	* elf32-sh-relocs.h (R_SH_NONE): Likewise.
      	* elf32-spu.c (elf_howto_table): Likewise.
      	* elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
      	* elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
      	* elf32-v850.c (v850_elf_howto_table): Likewise.
      	* elf32-vax.c (howto_table): Likewise.
      	* elf32-visium.c (visium_elf_howto_table): Likewise.
      	* elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
      	* elf32-xgate.c (elf_xgate_howto_table): Likewise.
      	* elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
      	* elf32-xtensa.c (elf_howto_table): Likewise.
      	* elf64-alpha.c (elf64_alpha_howto_table): Likewise.
      	* elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
      	* elf64-mmix.c (elf_mmix_howto_table): Likewise.
      	* elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
      	* elf64-s390.c (elf_howto_table): Likewise.
      	* elf64-sh64.c (sh_elf64_howto_table): Likewise.
      	* elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
      	* elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
      	* elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
      	(elfNN_aarch64_howto_none): Likewise.
      	* elfxx-ia64.c (ia64_howto_table): Likewise.
      	* elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
      	* elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
      	* nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
      6346d5ca
  9. 01 Jan, 2015 1 commit
  10. 02 May, 2014 1 commit
    • Alan Modra's avatar
      bfd target vector rationalisation · 6d00b590
      Alan Modra authored
      This renames the bfd targets to <cpu>_<format>_<other>_<endian>_vec.
      So for example, bfd_elf32_ntradlittlemips_vec becomes
      mips_elf32_ntrad_le_vec and hp300bsd_vec becomes m68k_aout_hp300bsd_vec.
      
      bfd/
      	* aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c,
      	* aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c,
      	* cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c,
      	* coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c,
      	* coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c,
      	* coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c,
      	* coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c,
      	* coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c,
      	* coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c,
      	* coff64-rs6000.c, * config.bfd, * configure.com, * configure.in,
      	* demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c,
      	* elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
      	* elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
      	* elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
      	* elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c,
      	* elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c,
      	* elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
      	* elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
      	* elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c,
      	* elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
      	* elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c,
      	* elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c,
      	* elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c,
      	* elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c,
      	* elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c,
      	* elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
      	* elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c,
      	* elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c,
      	* elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c,
      	* elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
      	* epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c,
      	* hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c,
      	* i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c,
      	* i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c,
      	* irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c,
      	* m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c,
      	* makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c,
      	* nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c,
      	* ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c,
      	* pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c,
      	* pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c,
      	* pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c,
      	* pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c,
      	* sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c,
      	* sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c,
      	* vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c,
      	* vms-alpha.c, * vms-lib.c: Rename bfd targets to
      	<cpu>_<format>_<other>_<endian>_vec.  Adjust associated MY macros
      	on aout targets.
      	* configure: Regenerate.
      binutils/
      	* emul_aix.c: Update bfd target vector naming.
      	* testsuite/binutils-all/objcopy.exp: Likewise.
      ld/
      	* emultempl/metagelf.em: Update bfd target vector naming.
      	* emultempl/nios2elf.em: Likewise.
      	* emultempl/spuelf.em: Likewise.
      	* emultempl/tic6xdsbt.em: Likewise.
      6d00b590
  11. 05 Mar, 2014 1 commit
  12. 17 Dec, 2013 1 commit
    • H.J. Lu's avatar
      Use _bfd_elf_copy_private_bfd_data · e2349352
      H.J. Lu authored
      	PR binutils/16318
      	* elf32-arm.c (elf32_arm_copy_private_bfd_data): Call
      	_bfd_elf_copy_private_bfd_data.
      	* elf32-bfin.c (bfin_elf_copy_private_bfd_data): Removed.
      	(elf32_bfinfdpic_copy_private_bfd_data): Likewise.
      	(bfd_elf32_bfd_copy_private_bfd_data): Don't define.
      	* elf32-frv.c (frv_elf_copy_private_bfd_data): Removed.
      	(elf32_frvfdpic_copy_private_bfd_data): Likewise.
      	(bfd_elf32_bfd_copy_private_bfd_data): Don't define.
      	* elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Removed.
      	(bfd_elf32_bfd_copy_private_bfd_data): Don't define.
      	* elf32-lm32.c (lm32_elf_copy_private_bfd_data): Removed.
      	(lm32_elf_fdpic_copy_private_bfd_data): Call
      	_bfd_elf_copy_private_bfd_data.
      	* elf32-mep.c (mep_elf_copy_private_bfd_data): Removed.
      	(bfd_elf32_bfd_copy_private_bfd_data): Don't define.
      	* elf32-msp430.c (elf32_msp430_copy_private_bfd_data): Removed.
      	(bfd_elf32_bfd_copy_private_bfd_data): Don't define.
      	* elf32-mt.c (mt_elf_copy_private_bfd_data): Removed.
      	(bfd_elf32_bfd_copy_private_bfd_data): Don't define.
      	* elf32-sh.c (sh_elf_set_private_flags): Removed.
      	(sh_elf_copy_private_data): Call _bfd_elf_copy_private_bfd_data
      	and sh_elf_set_mach_from_flags.
      	*  elfnn-aarch64.c (elfNN_aarch64_copy_private_bfd_data): Removed.
      	(bfd_elfNN_bfd_copy_private_bfd_data): Don't define.
      e2349352
  13. 05 Nov, 2013 1 commit
    • H.J. Lu's avatar
      Pass ignored unresolved relocations to ld backend · 62d887d4
      H.J. Lu authored
      bfd/
      
      	PR ld/4409
      	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add an argument for
      	error ignored.
      	* elf-m10200.c (mn10200_elf_relocate_section): Updated.
      	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
      	* elf32-arm.c (elf32_arm_relocate_section): Likewise.
      	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
      	* elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
      	(bfin_relocate_section): Likewise.
      	* elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
      	* elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
      	* elf32-cris.c (cris_elf_relocate_section): Likewise.
      	* elf32-crx.c (elf32_crx_relocate_section): Likewise.
      	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
      	* elf32-epiphany.c (epiphany_elf_relocate_section): Likewise.
      	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
      	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
      	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
      	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
      	* elf32-i386.c (elf_i386_relocate_section): Likewise.
      	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
      	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
      	* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
      	* elf32-lm32.c (lm32_elf_relocate_section): Likewise.
      	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
      	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
      	* elf32-metag.c (elf_metag_relocate_section): Likewise.
      	* elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
      	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
      	* elf32-mep.c (mep_elf_relocate_section): Likewise.
      	* elf32-moxie.c (moxie_elf_relocate_section): Likewise.
      	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
      	* elf32-mt.c (mt_elf_relocate_section): Likewise.
      	* elf32-nios2.c (nios2_elf32_relocate_section): Likewise.
      	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
      	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
      	* elf32-rl78.c (rl78_elf_relocate_section): Likewise.
      	* elf32-rx.c (rx_elf_relocate_section): Likewise.
      	* elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
      	* elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
      	* elf32-s390.c (elf_s390_relocate_section): Likewise.
      	* elf32-v850.c (v850_elf_relocate_section): Likewise.
      	* elf32-vax.c (elf_vax_relocate_section): Likewise.
      	* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
      	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
      	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
      	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
      	* elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
      	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
      	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
      	* elf64-s390.c (elf_s390_relocate_section): Likewise.
      	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
      	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
      	* elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
      	* elfnn-aarch64.c (elfNN_aarch64_relocate_section): Likewise.
      
      	* elfnn-ia64.c (elfNN_ia64_relocate_section): Skip if error
      	from RELOC_FOR_GLOBAL_SYMBOL in executable is ignored.
      
      ld/testsuite/
      
      	PR ld/4409
      	* ld-ia64/error1.d: New file.
      	* ld-ia64/error1.s: Likewise.
      	* ld-ia64/error2.d: Likewise.
      	* ld-ia64/error3.d: Likewise.
      62d887d4
  14. 30 Mar, 2013 1 commit
    • Alan Modra's avatar
      PR ld/15323 · 81fbe831
      Alan Modra authored
      bfd/
      	* elf-m10300.c (mn10300_elf_check_relocs): Set non_ir_ref for
      	global symbols referenced by relocs.
      	* elf32-arm.c (elf32_arm_check_relocs): Likewise.
      	* elf32-bfin.c (bfin_check_relocs): Likewise.
      	* elf32-cr16.c (cr16_elf_check_relocs): Likewise.
      	* elf32-cris.c (cris_elf_check_relocs): Likewise.
      	* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
      	* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
      	* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
      	* elf32-frv.c (elf32_frv_check_relocs): Likewise.
      	* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
      	* elf32-i370.c (i370_elf_check_relocs): Likewise.
      	* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
      	* elf32-lm32.c (lm32_elf_check_relocs): Likewise.
      	* elf32-m32c.c (m32c_elf_check_relocs): Likewise.
      	* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
      	* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
      	* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
      	* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
      	* elf32-metag.c (elf_metag_check_relocs): Likewise.
      	* elf32-microblaze.c (microblaze_elf_check_relocs): Likewise.
      	* elf32-moxie.c (moxie_elf_check_relocs): Likewise.
      	* elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
      	* elf32-mt.c (mt_elf_check_relocs): Likewise.
      	* elf32-nios2.c (nios2_elf32_check_relocs): Likewise.
      	* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
      	* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
      	* elf32-rl78.c (rl78_elf_check_relocs): Likewise.
      	* elf32-s390.c (elf_s390_check_relocs): Likewise.
      	* elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
      	* elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
      	* elf32-sh.c (sh_elf_check_relocs): Likewise.
      	* elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
      	* elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
      	* elf32-v850.c (v850_elf_check_relocs): Likewise.
      	* elf32-vax.c (elf_vax_check_relocs): Likewise.
      	* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
      	* elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
      	* elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise.
      	* elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
      	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
      	* elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise.
      	* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
      	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
      	* elf64-s390.c (elf_s390_check_relocs): Likewise.
      	* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
      	* elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise.
      	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
      	* elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
      	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.  Don't
      	test indirect/warning links for NULL.
      ld/testsuite/
      	* ld-plugin/lto.exp (pr15323a.c): Compile without -flto rather
      	than using -r to effectively strip out lto info.
      81fbe831
  15. 27 Mar, 2013 1 commit
    • Alan Modra's avatar
      * elf-bfd.h (enum elf_reloc_type_class): Add reloc_class_ifunc. · 7e612e98
      Alan Modra authored
      	(struct elf_backend_data <elf_backed_reloc_type_class>): Add
      	bfd_link_info* and asection* params.
      	(_bfd_elf_reloc_type_class): Likewise.
      	* elf.c (_bfd_elf_reloc_type_class): Likewise.
      	* elflink.c (elf_link_sort_cmp2): Sort first on reloc class.
      	(elf_link_sort_relocs): Update elf_backed_reloc_type_class call.
      	* elf32-ppc.c (ppc_elf_reloc_type_class): Return reloc_class_ifunc
      	for any reliplt reloc.  Don't return reloc_class_plt for
      	R_PPC_REL24 and R_PPC_ADDR24.
      	* elf64-ppc.c (allocate_got): Formatting.
      	(ppc64_elf_reloc_type_class): Return reloc_class_ifunc for any
      	reliplt reloc.
      	* elf-m10300.c, * elf32-arm.c, * elf32-bfin.c, * elf32-cr16.c,
      	* elf32-cris.c, * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c,
      	* elf32-m32r.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
      	* elf32-s390.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilepro.c,
      	* elf32-vax.c, * elf32-xtensa.c, * elf64-aarch64.c, * elf64-alpha.c,
      	* elf64-hppa.c, * elf64-ia64-vms.c, * elf64-s390.c, * elf64-sparc.c,
      	* elf64-x86-64.c, * elfnn-ia64.c, * elfxx-tilegx.c, * elfxx-tilegx.h:
      	Add extra params to the various reloc_type_class functions.
      7e612e98
  16. 10 Feb, 2013 1 commit
    • Alan Modra's avatar
      * i386linux.c (linux_link_hash_table_create): Allocate table · 22cdc249
      Alan Modra authored
      	with bfd_zmalloc, not bfd_alloc.
      	* pdp11.c (link_hash_table_create): Allocate table with
      	bfd_malloc, not bfd_alloc.
      	* elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table
      	with bfd_zmalloc, not bfd_zalloc.
      	(bfin_link_hash_table_create): Likewise.
      	* elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
      	* elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
      22cdc249
  17. 23 Oct, 2012 1 commit
    • Nathan Sidwell's avatar
      bfd/ · 04c3a755
      Nathan Sidwell authored
      	* bfd-in.h (bfd_elf_stack_segment_size): Declare.
      	* bfd-in2.h: Rebuilt.
      	* elfxx-target.h (elf_backend_stack_align): New.
      	(elfNN_bed): Add it.
      	* elf-bfd.h (struct elf_backend_data): Add stack_align field.
      	* elf.c (bfd_elf_map_sections_to_segments): Pay attention to
      	stack_align and stacksize for PT_GNU_STACK segment.
      	(assign_file_positions_for_non_load_sections): Set p_memsz for
      	PT_GNU_STACK segment.
      	(copy_elf_program_header): Copy PT_GNU_STACK size.
      	* elflink.c (bfd_elf_stack_segment_size): New function, taken from
      	uclinux backends.
      	(bfd_elf_size_dynamic_sections): Determine
      	PT_GNU_STACK requirements after calling backend.  Pay attention to
      	stacksize.
      	* elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Call
      	bfd_elf_stack_segment_size.
      	(elf32_bfinfdpic_modify_program_headers): Delete.
      	(elf32_bfingfdpic_copy_private_bfd_data): Don't copy PT_GNU_STACK
      	here.
      	(elf_backend_stack_align): Override.
      	(elf_backend_modify_program_headers): Don't override.
      	* elf32-frv.c (frvfdpic_always_size_sections): Call
      	bfd_elf_stack_segment_size.
      	(elf32_frvfdpic_modify_program_headers): Delete.
      	(elf32_frvfdpic_copy_private_bfd_data): Don't copy PT_GNU_STACK
      	here.
      	(elf_backend_stack_align): Override.
      	(elf_backend_modify_program_headers): Don't override.
      	* elf32-lm32.c (lm32_elf_always_size_sections): Leave
      	PT_GNU_STACK creation to underlying elf support.  Check
      	__stacksize here for backwards compatibility, and set it if
      	needed.
      	(lm32_elf_modify_segment_map): Delete.
      	(lm32_elf_modify_program_headers): Delete.
      	(elf_backend_stack_align): Override.
      	(elf_backend_modify_segment_map): Don't override.
      	(elf_backend_modify_program_headers): Don't override.
      	* elf32-sh.c (sh_elf_always_size_sections): Call
      	bfd_elf_stack_segment_size.
      	(sh_elf_modify_program_headers): Delete.
      	(sh_elf_copy_private_data): Don't copy PT_GNU_STACK
      	here.
      	(elf_backend_stack_align): Override.
      	(elf_backend_modify_program_headers): Don't override.
      	* elf32-tic6x.c (elf32_tic6x_always_size_sections): Call
      	bfd_elf_stack_segment_size.
      	(elf32_tic6x_modify_program_headers): Delete.
      	(elf32_tic6x_copy_private_data): Delete.
      	(elf_backend_stack_align): Override.
      	(bfd_elf32_bfd_copy_private_bfd_data): Don't override.
      	(elf_backend_modify_program_headers): Don't override.
      
      	include/
      	* bfdlink.h (struct bfd_link_info): Add stacksize option.
      
      	ld/
      	* ld.texinfo (stack-size): New option.
      	* emultempl/elf32.em: Add stack-size option.
      
      	ld/testsuite/
      	* ld-elf/binutils.exp: Add -z stack-size=0.
      	* ld-elf/elf.exp: Add stack-exec and stack-size tests.
      	* ld-elf/orphan-region.d: Add stack-size option. Remove xfail.
      	* ld-elf/stack-exec.rd: New.
      	* ld-elf/stack-size.rd: New.
      	* ld-elf/stack.s: New.
      	* ld-scripts/empty-aligned.d: Add stack-size option.
      	* ld-sh/fdpic-stack-set.d: New.
      	* ld-tic6x/shlib-1.rd: Remove __stacksize symbol.
      	* ld-tic6x/shlib-1b.rd: Likewise.
      	* ld-tic6x/shlib-1r.rd: Likewise.
      	* ld-tic6x/shlib-1rb.rd: Likewise.
      	* ld-tic6x/shlib-app-1.rd: Likewise.
      	* ld-tic6x/shlib-app-1b.rd: Likewise.
      	* ld-tic6x/shlib-app-1r.rd: Likewise.
      	* ld-tic6x/shlib-app-1rb.rd: Likewise.
      	* ld-tic6x/shlib-noindex.rd: Likewise.
      	* ld-tic6x/static-app-1.rd: Likewise.
      	* ld-tic6x/static-app-1b.rd: Likewise.
      	* ld-tic6x/static-app-1r.rd: Likewise.
      	* ld-tic6x/static-app-1rb.rd: Likewise.
      04c3a755
  18. 13 Jul, 2012 1 commit
    • Nick Clifton's avatar
      * aix386-core.c: Remove use of PTR and PARAMS macros. · 2c3fc389
      Nick Clifton authored
      	* archive.c: Likewise.
      	* cache.c: Likewise.
      	* cisco-core.c: Likewise.
      	* coff-alpha.c: Likewise.
      	* coff-apollo.c: Likewise.
      	* coff-aux.c: Likewise.
      	* coff-h8300.c: Likewise.
      	* coff-h8500.c: Likewise.
      	* coff-i386.c: Likewise.
      	* coff-i960.c: Likewise.
      	* coff-ia64.c: Likewise.
      	* coff-m68k.c: Likewise.
      	* coff-m88k.c: Likewise.
      	* coff-mcore.c: Likewise.
      	* coff-mips.c: Likewise.
      	* coff-or32.c: Likewise.
      	* coff-ppc.c: Likewise.
      	* coff-rs6000.c: Likewise.
      	* coff-sh.c: Likewise.
      	* coff-sparc.c: Likewise.
      	* coff-stgo32.c: Likewise.
      	* coff-tic30.c: Likewise.
      	* coff-tic4x.c: Likewise.
      	* coff-tic54x.c: Likewise.
      	* coff-tic80.c: Likewise.
      	* coff-w65.c: Likewise.
      	* cofflink.c: Likewise.
      	* cpu-arc.c: Likewise.
      	* cpu-cris.c: Likewise.
      	* cpu-h8500.c: Likewise.
      	* cpu-i960.c: Likewise.
      	* cpu-msp430.c: Likewise.
      	* cpu-ns32k.c: Likewise.
      	* cpu-powerpc.c: Likewise.
      	* cpu-rs6000.c: Likewise.
      	* cpu-tic4x.c: Likewise.
      	* cpu-w65.c: Likewise.
      	* ecoff.c: Likewise.
      	* ecofflink.c: Likewise.
      	* elf-m10200.c: Likewise.
      	* elf32-bfin.c: Likewise.
      	* elf32-cris.c: Likewise.
      	* elf32-crx.c: Likewise.
      	* elf32-fr30.c: Likewise.
      	* elf32-frv.c: Likewise.
      	* elf32-h8300.c: Likewise.
      	* elf32-i960.c: Likewise.
      	* elf32-m32c.c: Likewise.
      	* elf32-m68hc11.c: Likewise.
      	* elf32-m68hc12.c: Likewise.
      	* elf32-m68hc1x.c: Likewise.
      	* elf32-m68k.c: Likewise.
      	* elf32-mcore.c: Likewise.
      	* elf32-rl78.c: Likewise.
      	* elf32-rx.c: Likewise.
      	* elf32-s390.c: Likewise.
      	* elf32-vax.c: Likewise.
      	* elf64-alpha.c: Likewise.
      	* elf64-mmix.c: Likewise.
      	* elf64-s390.c: Likewise.
      	* elf64-sparc.c: Likewise.
      	* elfnn-ia64.c: Likewise.
      	* elfxx-mips.c: Likewise.
      	* elfxx-sparc.c: Likewise.
      	* hash.c: Likewise.
      	* hp300hpux.c: Likewise.
      	* hppabsd-core.c: Likewise.
      	* hpux-core.c: Likewise.
      	* i386dynix.c: Likewise.
      	* i386linux.c: Likewise.
      	* i386lynx.c: Likewise.
      	* i386mach3.c: Likewise.
      	* i386msdos.c: Likewise.
      	* i386os9k.c: Likewise.
      	* irix-core.c: Likewise.
      	* lynx-core.c: Likewise.
      	* m68klinux.c: Likewise.
      	* mach-o.h: Likewise.
      	* mipsbsd.c: Likewise.
      	* netbsd-core.c: Likewise.
      	* nlm32-i386.c: Likewise.
      	* osf-core.c: Likewise.
      	* pc532-mach.c: Likewise.
      	* pef.c: Likewise.
      	* ppcboot.c: Likewise.
      	* ptrace-core.c: Likewise.
      	* reloc16.c: Likewise.
      	* sco5-core.c: Likewise.
      	* som.h: Likewise.
      	* sparclinux.c: Likewise.
      	* sparclynx.c: Likewise.
      	* ticoff.h: Likewise.
      	* trad-core.c: Likewise.
      	* vms-lib.c: Likewise.
      	* xsym.h: Likewise.
      2c3fc389
  19. 29 Jun, 2012 1 commit
    • Alan Modra's avatar
      * section.c (bfd_get_linker_section): New function. · 3d4d4302
      Alan Modra authored
      	* elf32-arm.c: When retrieving SEC_LINKER_CREATED sections, use
      	the above throughout rather than bfd_get_section_by_name.  Use
      	bfd_make_section_anyway rather than bfd_make_section when creating
      	them.
      	* elf32-bfin.c: Likewise.
      	* elf32-cr16.c: Likewise.
      	* elf32-cris.c: Likewise.
      	* elf32-frv.c: Likewise.
      	* elf32-hppa.c: Likewise.
      	* elf32-i370.c: Likewise.
      	* elf32-i386.c: Likewise.
      	* elf32-lm32.c: Likewise.
      	* elf32-m32c.c: Likewise.
      	* elf32-m32r.c: Likewise.
      	* elf32-m68k.c: Likewise.
      	* elf32-microblaze.c: Likewise.
      	* elf32-ppc.c: Likewise.
      	* elf32-rl78.c: Likewise.
      	* elf32-s390.c: Likewise.
      	* elf32-score.c: Likewise.
      	* elf32-score7.c: Likewise.
      	* elf32-sh.c: Likewise.
      	* elf32-tic6x.c: Likewise.
      	* elf32-tilepro.c: Likewise.
      	* elf32-vax.c: Likewise.
      	* elf32-xstormy16.c: Likewise.
      	* elf32-xtensa.c: Likewise.
      	* elf64-alpha.c: Likewise.
      	* elf64-hppa.c: Likewise.
      	* elf64-ia64-vms.c: Likewise.
      	* elf64-ppc.c: Likewise.
      	* elf64-s390.c: Likewise.
      	* elf64-sh64.c: Likewise.
      	* elf64-sparc.c: Likewise.
      	* elf64-x86-64.c: Likewise.
      	* elfnn-ia64.c: Likewise.
      	* elfxx-mips.c: Likewise.
      	* elfxx-sparc.c: Likewise.
      	* elfxx-tilegx.c: Likewise.
      	* elflink.c: Likewise.
      	* elf-vxworks.c: Likewise.
      	* elf-m10300.c: Likewise.  Also make use of htab plt, got and
      	gotplt shortcuts.
      	* bfd-in2.h: Regenerate.
      	* elf32-lm32.c (lm32_elf_check_relocs): Use the correct bfd when
      	calling create_rofixup_section.
      	* elflink.c (bfd_elf_final_link): Simplify test for .dynstr.
      3d4d4302
  20. 07 May, 2012 1 commit
    • Maciej W. Rozycki's avatar
      * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Handle compound · 545fd46b
      Maciej W. Rozycki authored
      	relocations.
      	* elfxx-mips.c (mips_reloc_against_discarded_section): New
      	function.
      	(_bfd_mips_elf_relocate_section): Call it, in place of
      	RELOC_AGAINST_DISCARDED_SECTION.
      	* elf-m10200.c (mn10200_elf_relocate_section): Update arguments
      	to RELOC_AGAINST_DISCARDED_SECTION.
      	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
      	* elf32-arm.c (elf32_arm_relocate_section): Likewise.
      	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
      	* elf32-bfin.c (bfin_relocate_section): Likewise.
      	(bfinfdpic_relocate_section): Likewise.
      	* elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
      	* elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
      	* elf32-cris.c (cris_elf_relocate_section): Likewise.
      	* elf32-crx.c (elf32_crx_relocate_section): Likewise.
      	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
      	* elf32-epiphany.c (epiphany_elf_relocate_section): Likewise.
      	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
      	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
      	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
      	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
      	* elf32-i370.c (i370_elf_relocate_section): Likewise.
      	* elf32-i386.c (elf_i386_relocate_section): Likewise.
      	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
      	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
      	* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
      	* elf32-lm32.c (lm32_elf_relocate_section): Likewise.
      	* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
      	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
      	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
      	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
      	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
      	* elf32-mep.c (mep_elf_relocate_section): Likewise.
      	* elf32-moxie.c (moxie_elf_relocate_section): Likewise.
      	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
      	* elf32-mt.c (mt_elf_relocate_section): Likewise.
      	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
      	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
      	* elf32-rl78.c (rl78_elf_relocate_section): Likewise.
      	* elf32-rx.c (rx_elf_relocate_section): Likewise.
      	* elf32-s390.c (elf_s390_relocate_section): Likewise.
      	* elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
      	* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
      	* elf32-sh.c (sh_elf_relocate_section): Likewise.
      	* elf32-spu.c (spu_elf_relocate_section): Likewise.
      	* elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
      	* elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
      	* elf32-v850.c (v850_elf_relocate_section): Likewise.
      	* elf32-vax.c (elf_vax_relocate_section): Likewise.
      	* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
      	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
      	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
      	* elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
      	(elf64_alpha_relocate_section): Likewise.
      	* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
      	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
      	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
      	* elf64-s390.c (elf_s390_relocate_section): Likewise.
      	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
      	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
      	* elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
      	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
      	* elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
      545fd46b
  21. 24 Apr, 2012 1 commit
    • Alan Modra's avatar
      PR ld/13991 · dbaa2011
      Alan Modra authored
      bfd/
      	* bfd/elf-bfd.h (_bfd_elf_link_just_syms): Define as
      	_bfd_generic_link_just_syms.
      	* bfd/elflink.c (_bfd_elf_link_just_syms): Delete.
      	* bfd/linker.c (_bfd_generic_link_just_syms): Set sec_info_type.
      
      	* bfd/bfd-in.h (discarded_section): Renamed from elf_discarded_section.
      	* bfd/section.c (SEC_INFO_TYPE_NONE, SEC_INFO_TYPE_STABS,
      	SEC_INFO_TYPE_MERGE, SEC_INFO_TYPE_EH_FRAME,
      	SEC_INFO_TYPE_JUST_SYMS): Renamed from corresponding ELF_INFO_TYPE.
      	* bfd/elf-eh-frame.c, * bfd/elf-m10200.c, * bfd/elf-m10300.c,
      	* bfd/elf.c, * bfd/elf32-arm.c, * bfd/elf32-avr.c, * bfd/elf32-bfin.c,
      	* bfd/elf32-cr16.c, * bfd/elf32-cr16c.c, * bfd/elf32-cris.c,
      	* bfd/elf32-crx.c, * bfd/elf32-d10v.c, * bfd/elf32-epiphany.c,
      	* bfd/elf32-fr30.c, * bfd/elf32-frv.c, * bfd/elf32-h8300.c,
      	* bfd/elf32-hppa.c, * bfd/elf32-i370.c, * bfd/elf32-i386.c,
      	* bfd/elf32-i860.c, * bfd/elf32-ip2k.c, * bfd/elf32-iq2000.c,
      	* bfd/elf32-lm32.c, * bfd/elf32-m32c.c, * bfd/elf32-m32r.c,
      	* bfd/elf32-m68hc1x.c, * bfd/elf32-m68k.c, * bfd/elf32-mcore.c,
      	* bfd/elf32-mep.c, * bfd/elf32-moxie.c, * bfd/elf32-msp430.c,
      	* bfd/elf32-mt.c, * bfd/elf32-openrisc.c, * bfd/elf32-ppc.c,
      	* bfd/elf32-rl78.c, * bfd/elf32-rx.c, * bfd/elf32-s390.c,
      	* bfd/elf32-score.c, * bfd/elf32-score7.c, * bfd/elf32-sh.c,
      	* bfd/elf32-spu.c, * bfd/elf32-tic6x.c, * bfd/elf32-tilepro.c,
      	* bfd/elf32-v850.c, * bfd/elf32-vax.c, * bfd/elf32-xc16x.c,
      	* bfd/elf32-xstormy16.c, * bfd/elf32-xtensa.c, * bfd/elf64-alpha.c,
      	* bfd/elf64-hppa.c, * bfd/elf64-ia64-vms.c, * bfd/elf64-mmix.c,
      	* bfd/elf64-ppc.c, * bfd/elf64-s390.c, * bfd/elf64-sh64.c,
      	* bfd/elf64-x86-64.c, * bfd/elflink.c, * bfd/elfnn-ia64.c,
      	* bfd/elfxx-mips.c, * bfd/elfxx-sparc.c, * bfd/elfxx-tilegx.c,
      	* bfd/reloc.c: Update all references.
      	* bfd/bfd-in2.h: Regenerate.
      ld/
      	* ld/ldlang.c (size_input_section): Use sec_info_type rather than
      	usrdata->flags.just_syms.
      	* ld/ldwrite.c (build_link_order): Likewise.
      	* ld/emultempl/hppaelf.em (build_section_lists): Likewise.
      	* ld/emultempl/ppc64elf.em (build_toc_list): Likewise.
      	* ld/emultempl/armelf.em (build_section_lists): Likewise.
      	(after_allocation): Update for renamed sec_info_type value.
      	* ld/emultempl/tic6xdsbt.em: Likewise.
      dbaa2011
  22. 19 Oct, 2011 1 commit
    • Alan Modra's avatar
      PR ld/13177 · 1d5316ab
      Alan Modra authored
      bfd/
      	* elflink.c (_bfd_elf_gc_mark_rsec): Set symbol "mark".
      	(elf_gc_sweep_symbol): Don't test plt/got refcounts, instead test
      	"mark".  Hide undefweak too.  Clear def_regular and ref_regular.
      	* elf-m10300.c (mn10300_elf_relocate_section): Ignore unresolved
      	reloc errors from garbage-collected code.
      	* elf32-arm.c (elf32_arm_relocate_section): Likewise.
      	* elf32-bfin.c (bfin_relocate_section): Likewise.
      	(bfinfdpic_relocate_section): Likewise.
      	* elf32-cris.c (cris_elf_relocate_section): Likewise.
      	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
      	* elf32-i386.c (elf_i386_relocate_section): Likewise.
      	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
      	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
      	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
      	* elf32-s390.c (elf_s390_relocate_section): Likewise.
      	* elf32-sh.c (sh_elf_relocate_section): Likewise.
      	* elf32-spu.c (spu_elf_relocate_section): Likewise.
      	* elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
      	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
      	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
      	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
      	* elf64-s390.c (elf_s390_relocate_section): Likewise.
      	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
      	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
      	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
      	* elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
      ld/testsuite/
      	* ld-elf/elf.exp: Move test for shared lib support..
      	* lib/ld-lib.exp (check_shared_lib_support): ..to here. Add m68hc1*,
      	and s/ms1/mt/.
      	(check_gc_sections_available): Match hppa*64 not hppa64.  Comment.
      	* ld-gc/libpersonality.s: New.
      	* ld-gc/personality.s, * ld-gc/personality.d: New.
      	* ld-gc/gc.exp: Run personality test.
      1d5316ab
  23. 13 Jun, 2011 1 commit
    • Alan Modra's avatar
      * linker.c (bfd_link_hash_traverse): Follow warning symbol link. · 7686d77d
      Alan Modra authored
      	(_bfd_generic_link_write_global_symbol, fix_syms): Don't handle
      	warning symbols here.
      	* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
      	* elf32-arm.c (allocate_dynrelocs_for_symbol,
      	elf32_arm_readonly_dynrelocs): Likewise.
      	* elf32-bfin.c (bfin_discard_copies): Likewise.
      	* elf32-cris.c (elf_cris_adjust_gotplt_to_got,
      	elf_cris_discard_excess_dso_dynamics,
      	elf_cris_discard_excess_program_dynamics): Likewise.
      	* elf32-hppa.c (allocate_plt_static, allocate_dynrelocs,
      	clobber_millicode_symbols, readonly_dynrelocs): Likewise.
      	* elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
      	* elf32-i386.c (elf_i386_allocate_dynrelocs,
      	elf_i386_readonly_dynrelocs): Likewise.
      	* elf32-lm32.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
      	* elf32-m32c.c (m32c_relax_plt_check, m32c_relax_plt_realloc): Likewise.
      	* elf32-m32r.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
      	* elf32-m68k.c (elf_m68k_discard_copies): Likewise.
      	* elf32-microblaze.c (allocate_dynrelocs): Likewise.
      	* elf32-ppc.c (allocate_dynrelocs, maybe_set_textrel): Likewise.
      	* elf32-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
      	* elf32-score.c (score_elf_sort_hash_table_f): Likewise.
      	* elf32-score7.c (score_elf_sort_hash_table_f): Likewise.
      	* elf32-sh.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
      	* elf32-tic6x.c (elf32_tic6x_allocate_dynrelocs,
      	elf32_tic6x_readonly_dynrelocs): Likewise.
      	* elf32-vax.c (elf_vax_discard_copies): Likewise.
      	* elf32-xstormy16.c (xstormy16_relax_plt_check,
      	xstormy16_relax_plt_realloc): Likewise.
      	* elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Likewise.
      	* elf64-alpha.c (elf64_alpha_output_extsym,
      	elf64_alpha_calc_got_offsets_for_symbol,
      	elf64_alpha_calc_dynrel_sizes, elf64_alpha_size_rela_got_1): Likewise.
      	* elf64-hppa.c (elf64_hppa_mark_exported_functions,
      	allocate_global_data_opd, elf64_hppa_mark_milli_and_exported_functions,
      	elf_hppa_unmark_useless_dynamic_symbols,
      	elf_hppa_remark_useless_dynamic_symbols): Likewise.
      	* elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref, func_desc_adjust,
      	adjust_opd_syms, adjust_toc_syms, allocate_dynrelocs,
      	readonly_dynrelocs, merge_global_got, reallocate_got,
      	undo_symbol_twiddle): Likewise.
      	* elf64-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
      	* elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
      	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs,
      	elf_x86_64_readonly_dynrelocs): Likewise.
      	* elflink.c (elf_link_renumber_hash_table_dynsyms,
      	elf_link_renumber_local_hash_table_dynsyms, _bfd_elf_export_symbol,
      	_bfd_elf_link_find_version_dependencies,
      	_bfd_elf_link_assign_sym_version, _bfd_elf_adjust_dynamic_symbol,
      	_bfd_elf_link_sec_merge_syms, elf_adjust_dynstr_offsets,
      	elf_collect_hash_codes, elf_collect_gnu_hash_codes,
      	elf_renumber_gnu_hash_syms, elf_gc_sweep_symbol,
      	elf_gc_propagate_vtable_entries_used,
      	elf_gc_smash_unused_vtentry_relocs, bfd_elf_gc_mark_dynamic_ref_symbol,
      	elf_gc_allocate_got_offsets): Likewise.
      	* elfnn-ia64.c (elfNN_ia64_global_dyn_info_free,
      	elfNN_ia64_global_dyn_sym_thunk): Likewise.
      	* elfxx-mips.c (mips_elf_check_symbols, mips_elf_output_extsym,
      	mips_elf_sort_hash_table_f, allocate_dynrelocs): Likewise.
      	* elfxx-sparc.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
      	* i386linux.c (linux_tally_symbols): Likewise.
      	* m68klinux.c (linux_tally_symbols): Likewise.
      	* sparclinux.c (linux_tally_symbols): Likewise.
      	* sunos.c (sunos_scan_dynamic_symbol): Likewise.
      	* xcofflink.c (xcoff_post_gc_symbol): Likewise.
      
      	* elflink.c (elf_link_output_extsym): Make it a bfd_hash_traverse
      	function.  Update all callers.
      	* aoutx.h (aout_link_write_other_symbol): Likewise.
      	* pdp11.c (aout_link_write_other_symbol): Likewise.
      	* cofflink.c (_bfd_coff_write_global_sym): Likewise.
      	* ecoff.c (ecoff_link_write_external): Likewise.
      	* xcofflink.c (xcoff_write_global_symbol): Likewise.
      	* vms-alpha.c (alpha_vms_link_output_symbol): Likewise.  Handle
      	warning symbols.
      	* ecoff.c (ecoff_link_hash_traverse): Delete.
      	* coff-ppc.c (ppc_bfd_coff_final_link): Use bfd_hash_traverse for
      	_bfd_coff_write_global_sym.
      	* libcoff-in.h (_bfd_coff_write_global_sym): Update prototype.
      	* libcoff.h: Regenerate.
      7686d77d
  24. 28 Feb, 2011 1 commit
    • Kai Tietz's avatar
      ChangeLog libiberty/ · 007d6189
      Kai Tietz authored
      2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
      
      	* filename_cmp.c (filename_ncmp): New function.
      	* functions.texi: Regenerated.
      
      ChangeLog include/
      2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
      
      	* filenames.h (filename_ncmp): New prototype.
      
      ChangeLog bfd/
      2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
      
      	* archive.c (_bfd_find_nested_archive): Use filename_(n)cmp.
      	(adjust_relative_path): Likewise.
      	(_bfd_construct_extended_name_table): Likewise.
      	* corefile.c (generic_core_file_matches_executable_p): Likewise.
      	* elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
      	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
      	* elf32-spu.c (sort_bfds): Likewise.
      	(spu_elf_auto_overlay): Likewise.
      	* syms.c (_bfd_stab_section_find_nearest_line): Likewise.
      	* xcofflink.c (xcoff_set_import_path): Likewise.
      	* xtensa-isa.c (xtensa_regfile_lookup): Likewise.
      	(xtensa_regfile_lookup_shortname): Likewise.
      007d6189
  25. 14 Jan, 2011 1 commit
    • Alan Modra's avatar
      * bfd.c (bfd_perror): Flush stdout before and stderr after printing · 4a97a0e5
      Alan Modra authored
      	error.
      	(_bfd_default_error_handler): Likewise.
      	* elf.c (print_segment_map): Likewise.
      	* libbfd.c (warn_deprecated): Likewise.
      	* som.c (som_sizeof_headers): No need to do so here.
      	* coff-i860.c: Replace use of printf for error messages with
      	_bfd_error_handler.
      	* coff-ppc.c: Likewise.
      	* coff-sh.c: Likewise.
      	* elf32-bfin.c: Likewise.
      	* elf32-dlx.c: Likewise.
      	* elf32-mep.c: Likewise.
      	* elf32-v850.c: Likewise.
      	* mach-o.c: Likewise.
      	* pef.c: Likewise.
      4a97a0e5
  26. 15 Nov, 2010 2 commits
  27. 25 Oct, 2010 1 commit
    • Daniel Jacobowitz's avatar
      bfd/ · e4067dbb
      Daniel Jacobowitz authored
      	* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Always call
      	_bfd_clear_contents.  Pass it the input section.
      	* libbfd-in.h (_bfd_clear_contents): Add input_section argument.
      	* libbfd.h: Regenerate.
      	* reloc.c (_bfd_clear_contents): Take input_section argument.
      	Use non-zero for .debug_ranges.
      	(bfd_generic_get_relocated_section_conten): Update _bfd_clear_contents
      	call.
      
      	* elf32-arm.c (elf32_arm_relocate_section): Use
      	RELOC_AGAINST_DISCARDED_SECTION.
      	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
      	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
      	* elf32-arm.c (elf32_arm_relocate_section): Likewise.
      	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
      	* elf32-bfin.c (bfin_relocate_section): Likewise.
      	(bfinfdpic_relocate_section): Likewise.
      	* elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
      	* elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
      	* elf32-cris.c (cris_elf_relocate_section): Likewise.
      	* elf32-crx.c (elf32_crx_relocate_section): Likewise.
      	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
      	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
      	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
      	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
      	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
      	* elf32-i370.c (i370_elf_relocate_section): Likewise.
      	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
      	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
      	* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
      	* elf32-lm32.c (lm32_elf_relocate_section): Likewise.
      	* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
      	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
      	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
      	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
      	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
      	* elf32-mep.c (mep_elf_relocate_section): Likewise.
      	* elf32-moxie.c (moxie_elf_relocate_section): Likewise.
      	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
      	* elf32-mt.c (mt_elf_relocate_section): Likewise.
      	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
      	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
      	* elf32-rx.c (rx_elf_relocate_section): Likewise.
      	* elf32-s390.c (elf_s390_relocate_section): Likewise.
      	* elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
      	* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
      	* elf32-sh.c (sh_elf_relocate_section): Likewise.
      	* elf32-spu.c (spu_elf_relocate_section): Likewise.
      	* elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
      	* elf32-v850.c (v850_elf_relocate_section): Likewise.
      	* elf32-vax.c (elf_vax_relocate_section): Likewise.
      	* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
      	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
      	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
      	* elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
      	(elf64_alpha_relocate_section): Likewise.
      	* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
      	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
      	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
      	* elf64-s390.c (elf_s390_relocate_section): Likewise.
      	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
      	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
      	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
      	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
      
      	ld/testsuite/
      	* ld-discard/zero-range.d, ld-discard/zero-range.s: New files.
      e4067dbb
  28. 25 Aug, 2010 1 commit
    • H.J. Lu's avatar
      Add target_id to elf_backend_data. · ae95ffa6
      H.J. Lu authored
      2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR ld/11944
      	* elf-bfd.h (elf_backend_data): Add target_id.
      	(bfd_elf_make_generic_object): Renamed to ...
      	(bfd_elf_make_object): This.
      
      	* elf.c (bfd_elf_make_generic_object): Removed.
      	(bfd_elf_make_object): New.
      	(bfd_elf_mkcorefile): Really treat it as an object file.
      
      	* elf-m10300.c (ELF_TARGET_ID): New.
      	* elf32-arm.c (ELF_TARGET_ID): Likewise.
      	* elf32-bfin.c (ELF_TARGET_ID): Likewise.
      	* elf32-cris.c (ELF_TARGET_ID): Likewise.
      	* elf32-frv.c (ELF_TARGET_ID): Likewise.
      	* elf32-i386.c (ELF_TARGET_ID): Likewise.
      	* elf32-lm32.c (ELF_TARGET_ID): Likewise.
      	* elf32-m32r.c (ELF_TARGET_ID): Likewise.
      	* elf32-m68hc11.c (ELF_TARGET_ID): Likewise.
      	* elf32-m68hc12.c (ELF_TARGET_ID): Likewise.
      	* elf32-m68k.c (ELF_TARGET_ID): Likewise.
      	* elf32-microblaze.c (ELF_TARGET_ID): Likewise.
      	* elf32-ppc.c (ELF_TARGET_ID): Likewise.
      	* elf32-s390.c (ELF_TARGET_ID): Likewise.
      	* elf32-sh.c (ELF_TARGET_ID): Likewise.
      	* elf32-sparc.c (ELF_TARGET_ID): Likewise.
      	* elf32-spu.c (ELF_TARGET_ID): Likewise.
      	* elf32-tic6x.c (ELF_TARGET_ID): Likewise.
      	* elf32-xtensa.c (ELF_TARGET_ID): Likewise.
      	* elf64-alpha.c (ELF_TARGET_ID): Likewise.
      	* elf64-hppa.c (ELF_TARGET_ID): Likewise.
      	* elf64-ppc.c (ELF_TARGET_ID): Likewise.
      	* elf64-s390.c (ELF_TARGET_ID): Likewise.
      	* elf64-x86-64.c (ELF_TARGET_ID): Likewise.
      	* elfxx-ia64.c (ELF_TARGET_ID): Likewise.
      
      	* elf32-hppa.c (elf32_hppa_mkobject): Removed.
      	(bfd_elf32_mkobject): Likewise.
      	(ELF_TARGET_ID): New.
      
      	* elf32-mips.c (ELF_TARGET_ID): New.
      	(bfd_elf32_mkobject): Removed.
      
      	* elf64-mips.c (ELF_TARGET_ID): New.
      	(bfd_elf64_mkobject): Removed.
      
      	* elfn32-mips.c (ELF_TARGET_ID): New.
      	(bfd_elf32_mkobject): Removed.
      
      	* elfxx-mips.c (_bfd_mips_elf_mkobject): Removed.
      	* elfxx-mips.h (_bfd_mips_elf_mkobject): Likewise.
      
      	* elfxx-target.h (bfd_elfNN_mkobject): Default to
      	bfd_elf_make_object.
      	(ELF_TARGET_ID): New.  Default to GENERIC_ELF_DATA.
      	(elfNN_bed): Initialize target_id.
      ae95ffa6
  29. 27 Jun, 2010 1 commit
  30. 04 Feb, 2010 1 commit
    • Nick Clifton's avatar
      * elf-bfd.h (emum elf_object_id): Rename to elf_target_id. Add · 4dfe6ac6
      Nick Clifton authored
              entries for other architectures.
              (struct elf_link_hash_table): Add hash_table_id field.
              (elf_hash_table_id): New accessor macro.
              * elflink.c (_bfd_elf_link_hash_table_init): Add target_id
              parameter.
              * elf-m10300.c (elf32_mn10300_hash_table): Check table id before
              returning cast pointer.
              (elf32_mn10300_link_hash_table_create): Identify new table as
              containing MN10300 extensions.
              (mn10300_elf_relax_section): Check pointer returned by
              elf32_mn10300_hash_table.
              * elf32-arm.c: Likewise, except using ARM extensions.
              * elf32-avr.c: Likewise, except using AVR extensions.
              * elf32-bfin.c: Likewise, except using BFIN extensions.
              * elf32-cris.c: Likewise, except using CRIS extensions.
              * elf32-frv.c: Likewise, except using FRV extensions.
              * elf32-hppa.c: Likewise, except using HPPA32 extensions.
              * elf32-i386.c: Likewise, except using I386 extensions.
              * elf32-lm32.c: Likewise, except using LM32 extensions.
              * elf32-m32r.c: Likewise, except using M32RM extensions.
              * elf32-m68hc11.c: Likewise, except using M68HC11 extensions.
              * elf32-m68hc1x.c: Likewise, except using M68HC11 extensions.
              * elf32-m68hc1x.h: Likewise, except using M68HC11 extensions.
              * elf32-m68k.c: Likewise, except using M68K extensions.
              * elf32-microblaze.c: Likewise, except using MICROBLAZE extensions.
              * elf32-ppc.c: Likewise, except using PPC32 extensions.
              * elf32-s390.c: Likewise, except using S390 extensions.
              * elf32-sh.c: Likewise, except using SH extensions.
              * elf32-spu.c: Likewise, except using SPU extensions.
              * elf32-xtensa.c: Likewise, except using XTENSA extensions.
              * elf64-alpha.c: Likewise, except using ALPHA extensions.
              * elf64-hppa.c: Likewise, except using HPPA64 extensions.
              * elf64-ppc.c: Likewise, except using PPC64 extensions.
              * elf64-s390.c: Likewise, except using S390 extensions.
              * elf64-x86-64.c: Likewise, except using X86_64 extensions.
              * elfxx-ia64.c: Likewise, except using IA64 extensions.
              * elfxx-mips.c: Likewise, except using MIPS extensions.
              * elfxx-sparc.c: Likewise, except using SPARC extensions.
              * elfxx-sparc.h: Likewise, except using SPARC extensions.
              * elf32-cr16.c (struct elf32_cr16_link_hash_table): Delete
              redundant structure.
              (elf32_cr16_hash_table): Delete unused macro.
              (elf32_cr16_link_hash_traverse): Delete unused macro.
              * elf32-score.c: Likewise.
              * elf32-score7.c: Likewise.
              * elf32-vax.c: Likewise.
              * elf64-sh64.c: Likewise.
      
              * emultempl/alphaelf.em: Update value expected from elf_object_id.
              * emultempl/hppaelf.em: Likewise.
              * emultempl/mipself.em: Likewise.
              * emultempl/ppc32elf.em: Likewise.
              * emultempl/ppc64elf.em: Likewise.
      4dfe6ac6
  31. 11 Dec, 2009 1 commit
  32. 23 Sep, 2009 1 commit
  33. 11 Sep, 2009 1 commit
  34. 04 Sep, 2009 1 commit
  35. 02 Sep, 2009 1 commit
  36. 11 Aug, 2009 1 commit
    • Bernd Schmidt's avatar
      Merge some FRV FDPIC changes into the Blackfin code. · 6a9adeca
      Bernd Schmidt authored
      	* elf32-bfin.c (struct bfinfdpic_elf_link_hash_table): Add pointer to
      	summary reloc information.
      	(bfinfdpic_dynamic_got_plt_info): New.
      	(_bfin_create_got_section): Create the PLT section here.
      	(elf32_bfinfdpic_create_dynamic_sections): Not here.
      	(_bfinfdpic_count_nontls_entries): Move out of...
      	(_bfinfdpic_count_got_plt_entries): ... here.
      	(_bfinfdpic_count_relocs_fixups): Likewise.
      	(_bfinfdpic_reset_got_plt_entries): New.
      	(_bfinfdpic_size_got_plt): Move out of...
      	(elf32_bfinfdpic_size_dynamic_sections): ... here.
      	(bfinfdpic_relocate_section): Be careful not to call
      	_bfinfdpic_add_rofixup or _bfinfdpic_add_dyn_reloc for deleted relocs.
      	(bfinfdpic_check_discarded_relocs, bfinfdpic_elf_discard_info):
      	New functions.
      	(elf_backend_discard_info): Define for FD-PIC.
      6a9adeca
  37. 09 Aug, 2009 1 commit
    • Bernd Schmidt's avatar
      bfd/ · cb88ce9f
      Bernd Schmidt authored
      	From Mike Frysinger <michael.frysinger@analog.com>
      	* elf32-bfin.c (bfin_howto_table, bfin_reloc_map, bfin_check_relocs,
      	bfin_final_link_relocate, bfin_relocate_section, bfin_gc_sweep_hook,
      	_bfinfdpic_emit_got_relocs_plt_entries, bfinfdpic_relocate_section,
      	bfinfdpic_gc_sweep_hook, bfinfdpic_check_relocs,
      	bfin_finish_dynamic_symbol, bfd_bfin_elf32_create_embedded_relocs):
      	Adjust to match the renamed reloc definitions.
      
      gas/testsuite/
      	From Mike Frysinger <michael.frysinger@analog.com>
      	* gas/bfin/reloc.d: Adjust for the renamed relocations.
      
      include/elf/
      	From Mike Frysinger <michael.frysinger@analog.com>
      	* bfin.h (R_BFIN_UNUSED, R_BFIN_PCREL5M2, R_BFIN_UNUSED1,
      	R_BFIN_PCREL10, R_BFIN_PCREL12_JUMP, R_BFIN_RIMM16,
      	R_BFIN_LUIMM16, R_BFIN_HUIMM16, R_BFIN_PCREL12_JUMP_S,
      	R_BFIN_PCREL24_JUMP_X, R_BFIN_PCREL24, R_BFIN_UNUSEDB,
      	R_BFIN_UNUSEDC, R_BFIN_PCREL24_JUMP_L, R_BFIN_PCREL24_CALL_X,
      	R_BFIN_VAR_EQ_SYMB, R_BFIN_BYTE_DATA, R_BFIN_BYTE2_DATA,
      	R_BFIN_BYTE4_DATA, R_BFIN_PCREL11, R_BFIN_PUSH, R_BFIN_CONST,
      	R_BFIN_ADD, R_BFIN_SUB, R_BFIN_MULT, R_BFIN_DIV, R_BFIN_MOD,
      	R_BFIN_LSHIFT, R_BFIN_RSHIFT, R_BFIN_AND, R_BFIN_OR, R_BFIN_XOR,
      	R_BFIN_LAND, R_BFIN_LOR, R_BFIN_LEN, R_BFIN_NEG, R_BFIN_COMP,
      	R_BFIN_PAGE, R_BFIN_HWPAGE, R_BFIN_ADDR, R_BFIN_PLTPLC,
      	R_BFIN_GOT, R_BFIN_MAX): Renamed from R_unused0, R_pcrel5ms,
      	R_unused1, R_pcrel10, R_pcrel12_jump, R_rimm16, R_luimm16,
      	R_huimm16, R_pcrel12_jump_s, R_pcrel24_jump_x, R_pcrel24,
      	R_unusedb, R_unusedc, R_pcrel24_jump_l, R_pcrel24_call_x,
      	R_var_eq_symb, R_byte_data, R_byte2_data, R_byte4_data, R_pcrel11,
      	R_push, R_const, R_add, R_sub, R_mult, R_div, R_mod, R_lshift,
      	R_rshift, R_and, R_or, R_xor, R_land, R_lor, R_len, R_neg, R_comp,
      	R_page, R_hwpage, R_addr, R_pltpc, R_got.
      cb88ce9f