summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/ld
diff options
context:
space:
mode:
authorAndrew Hsieh <andrewhsieh@google.com>2014-12-09 17:57:18 +0800
committerAndrew Hsieh <andrewhsieh@google.com>2014-12-09 19:50:14 +0800
commit5e8c1cf25beccac1d22d10dc866912394f42771b (patch)
treeee16b70f804484dc8e434e647e699ab50da2620f /binutils-2.25/ld
parent8eebd7953384e6662ca926b003f2cdda8ccd3ee5 (diff)
downloadtoolchain_binutils-5e8c1cf25beccac1d22d10dc866912394f42771b.tar.gz
toolchain_binutils-5e8c1cf25beccac1d22d10dc866912394f42771b.tar.bz2
toolchain_binutils-5e8c1cf25beccac1d22d10dc866912394f42771b.zip
[2.25] sync to a30720e3e633f275250e26f85ccae5dbdddfb6c6
local patches will be re-applied later commit a30720e3e633f275250e26f85ccae5dbdddfb6c6 Author: Alan Modra <amodra@gmail.com> Date: Wed Nov 19 10:30:16 2014 +1030 daily update Change-Id: Ieb2a3f4dd2ecb289ac5305ff08d428b2847494ab
Diffstat (limited to 'binutils-2.25/ld')
-rw-r--r--binutils-2.25/ld/ChangeLog1337
-rw-r--r--binutils-2.25/ld/ChangeLog-2013883
-rw-r--r--binutils-2.25/ld/MAINTAINERS2
-rw-r--r--binutils-2.25/ld/Makefile.am1094
-rw-r--r--binutils-2.25/ld/Makefile.in1178
-rw-r--r--binutils-2.25/ld/NEWS16
-rw-r--r--binutils-2.25/ld/README2
-rw-r--r--binutils-2.25/ld/config.in11
-rwxr-xr-xbinutils-2.25/ld/configure1793
-rw-r--r--binutils-2.25/ld/configure.ac (renamed from binutils-2.25/ld/configure.in)47
-rw-r--r--binutils-2.25/ld/configure.host9
-rw-r--r--binutils-2.25/ld/configure.tgt55
-rw-r--r--binutils-2.25/ld/deffile.h3
-rw-r--r--binutils-2.25/ld/deffilep.y3
-rw-r--r--binutils-2.25/ld/emulparams/README2
-rw-r--r--binutils-2.25/ld/emulparams/aarch64elf32.sh2
-rw-r--r--binutils-2.25/ld/emulparams/aarch64linux.sh2
-rw-r--r--binutils-2.25/ld/emulparams/aarch64linux32.sh49
-rw-r--r--binutils-2.25/ld/emulparams/aarch64linux32b.sh3
-rw-r--r--binutils-2.25/ld/emulparams/aarch64linuxb.sh1
-rw-r--r--binutils-2.25/ld/emulparams/armelf_fbsd.sh8
-rw-r--r--binutils-2.25/ld/emulparams/armelf_linux.sh2
-rw-r--r--binutils-2.25/ld/emulparams/armelfb_fbsd.sh2
-rw-r--r--binutils-2.25/ld/emulparams/avrtiny.sh13
-rw-r--r--binutils-2.25/ld/emulparams/crislinux.sh1
-rw-r--r--binutils-2.25/ld/emulparams/elf32_x86_64.sh9
-rw-r--r--[-rwxr-xr-x]binutils-2.25/ld/emulparams/elf32bfin.sh (renamed from binutils-2.25/ld/emulparams/bfin.sh)0
-rw-r--r--binutils-2.25/ld/emulparams/elf32bfinfd.sh2
-rw-r--r--binutils-2.25/ld/emulparams/elf32bmip.sh11
-rw-r--r--binutils-2.25/ld/emulparams/elf32bmipn32-defs.sh1
-rw-r--r--binutils-2.25/ld/emulparams/elf32ltsmip.sh1
-rwxr-xr-xbinutils-2.25/ld/emulparams/elf32openrisc.sh11
-rw-r--r--binutils-2.25/ld/emulparams/elf32or1k.sh14
-rw-r--r--binutils-2.25/ld/emulparams/elf32or1k_linux.sh6
-rw-r--r--binutils-2.25/ld/emulparams/elf32ppccommon.sh2
-rw-r--r--binutils-2.25/ld/emulparams/elf32ppcvxworks.sh2
-rw-r--r--binutils-2.25/ld/emulparams/elf64bmip-defs.sh5
-rw-r--r--binutils-2.25/ld/emulparams/elf_i386.sh5
-rw-r--r--binutils-2.25/ld/emulparams/elf_k1om.sh1
-rw-r--r--binutils-2.25/ld/emulparams/elf_l1om.sh1
-rw-r--r--binutils-2.25/ld/emulparams/elf_x86_64.sh7
-rw-r--r--binutils-2.25/ld/emulparams/moxiebox.sh9
-rw-r--r--binutils-2.25/ld/emulparams/msp430.sh18
-rw-r--r--binutils-2.25/ld/emulparams/msp430X.sh8
-rw-r--r--binutils-2.25/ld/emulparams/msp430all.sh562
-rw-r--r--binutils-2.25/ld/emulparams/nds32belf.sh2
-rw-r--r--binutils-2.25/ld/emulparams/nds32belf16m.sh2
-rw-r--r--binutils-2.25/ld/emulparams/nds32belf_linux.sh2
-rw-r--r--binutils-2.25/ld/emulparams/nds32elf.sh18
-rw-r--r--binutils-2.25/ld/emulparams/nds32elf16m.sh18
-rw-r--r--binutils-2.25/ld/emulparams/nds32elf_linux.sh35
-rw-r--r--binutils-2.25/ld/emulparams/nios2elf.sh2
-rw-r--r--binutils-2.25/ld/emulparams/nios2linux.sh20
-rw-r--r--binutils-2.25/ld/emulparams/or32.sh5
-rw-r--r--binutils-2.25/ld/emulparams/or32elf.sh9
-rw-r--r--binutils-2.25/ld/emulparams/score3_elf.sh (renamed from binutils-2.25/ld/emulparams/scoreelf.sh)8
-rw-r--r--binutils-2.25/ld/emulparams/score7_elf.sh2
-rw-r--r--binutils-2.25/ld/emultempl/README2
-rw-r--r--binutils-2.25/ld/emultempl/aarch64elf.em31
-rw-r--r--binutils-2.25/ld/emultempl/aix.em17
-rw-r--r--binutils-2.25/ld/emultempl/alphaelf.em4
-rw-r--r--binutils-2.25/ld/emultempl/armcoff.em8
-rw-r--r--binutils-2.25/ld/emultempl/armelf.em35
-rw-r--r--binutils-2.25/ld/emultempl/avrelf.em3
-rw-r--r--binutils-2.25/ld/emultempl/beos.em6
-rw-r--r--binutils-2.25/ld/emultempl/bfin.em2
-rw-r--r--binutils-2.25/ld/emultempl/cr16elf.em6
-rw-r--r--binutils-2.25/ld/emultempl/crxelf.em3
-rw-r--r--binutils-2.25/ld/emultempl/elf-generic.em2
-rw-r--r--binutils-2.25/ld/emultempl/elf32.em249
-rw-r--r--binutils-2.25/ld/emultempl/epiphanyelf_4x4.em4
-rw-r--r--binutils-2.25/ld/emultempl/genelf.em4
-rw-r--r--binutils-2.25/ld/emultempl/generic.em8
-rw-r--r--binutils-2.25/ld/emultempl/gld960.em8
-rw-r--r--binutils-2.25/ld/emultempl/gld960c.em8
-rw-r--r--binutils-2.25/ld/emultempl/hppaelf.em21
-rw-r--r--binutils-2.25/ld/emultempl/ia64elf.em2
-rw-r--r--binutils-2.25/ld/emultempl/irix.em2
-rw-r--r--binutils-2.25/ld/emultempl/linux.em10
-rw-r--r--binutils-2.25/ld/emultempl/lnk960.em8
-rw-r--r--binutils-2.25/ld/emultempl/m68hc1xelf.em7
-rw-r--r--binutils-2.25/ld/emultempl/m68kcoff.em12
-rw-r--r--binutils-2.25/ld/emultempl/m68kelf.em7
-rw-r--r--binutils-2.25/ld/emultempl/metagelf.em24
-rw-r--r--binutils-2.25/ld/emultempl/mipself.em7
-rw-r--r--binutils-2.25/ld/emultempl/mmix-elfnmmo.em5
-rw-r--r--binutils-2.25/ld/emultempl/mmixelf.em2
-rw-r--r--binutils-2.25/ld/emultempl/mmo.em3
-rw-r--r--binutils-2.25/ld/emultempl/nds32elf.em386
-rw-r--r--binutils-2.25/ld/emultempl/needrelax.em2
-rw-r--r--binutils-2.25/ld/emultempl/netbsd.em2
-rw-r--r--binutils-2.25/ld/emultempl/nios2elf.em323
-rw-r--r--binutils-2.25/ld/emultempl/pe.em284
-rw-r--r--binutils-2.25/ld/emultempl/pep.em265
-rw-r--r--binutils-2.25/ld/emultempl/ppc32elf.em151
-rw-r--r--binutils-2.25/ld/emultempl/ppc64elf.em179
-rw-r--r--binutils-2.25/ld/emultempl/rxelf.em6
-rw-r--r--binutils-2.25/ld/emultempl/scoreelf.em2
-rw-r--r--binutils-2.25/ld/emultempl/sh64elf.em6
-rw-r--r--binutils-2.25/ld/emultempl/solaris2.em2
-rw-r--r--binutils-2.25/ld/emultempl/spu_ovl.S2
-rw-r--r--binutils-2.25/ld/emultempl/spuelf.em14
-rw-r--r--binutils-2.25/ld/emultempl/sunos.em9
-rw-r--r--binutils-2.25/ld/emultempl/tic6xdsbt.em37
-rw-r--r--binutils-2.25/ld/emultempl/ticoff.em8
-rw-r--r--binutils-2.25/ld/emultempl/vanilla.em6
-rw-r--r--binutils-2.25/ld/emultempl/vms.em14
-rw-r--r--binutils-2.25/ld/emultempl/vxworks.em2
-rw-r--r--binutils-2.25/ld/emultempl/xtensaelf.em5
-rw-r--r--binutils-2.25/ld/emultempl/z80.em2
-rw-r--r--binutils-2.25/ld/gen-doc.texi5
-rwxr-xr-xbinutils-2.25/ld/genscripts.sh51
-rw-r--r--binutils-2.25/ld/h8-doc.texi3
-rw-r--r--binutils-2.25/ld/ld.h21
-rw-r--r--binutils-2.25/ld/ld.texinfo266
-rw-r--r--binutils-2.25/ld/ldbuildid.c158
-rw-r--r--binutils-2.25/ld/ldbuildid.h39
-rw-r--r--binutils-2.25/ld/ldcref.c32
-rw-r--r--binutils-2.25/ld/ldctor.c4
-rw-r--r--binutils-2.25/ld/ldctor.h3
-rw-r--r--binutils-2.25/ld/ldemul.c11
-rw-r--r--binutils-2.25/ld/ldemul.h11
-rw-r--r--binutils-2.25/ld/ldexp.c135
-rw-r--r--binutils-2.25/ld/ldexp.h3
-rw-r--r--binutils-2.25/ld/ldfile.c6
-rw-r--r--binutils-2.25/ld/ldfile.h3
-rw-r--r--binutils-2.25/ld/ldgram.y25
-rw-r--r--binutils-2.25/ld/ldint.texinfo10
-rw-r--r--binutils-2.25/ld/ldlang.c521
-rw-r--r--binutils-2.25/ld/ldlang.h54
-rw-r--r--binutils-2.25/ld/ldlex-wrapper.c2
-rw-r--r--binutils-2.25/ld/ldlex.h7
-rw-r--r--binutils-2.25/ld/ldlex.l34
-rw-r--r--binutils-2.25/ld/ldmain.c72
-rw-r--r--binutils-2.25/ld/ldmain.h2
-rw-r--r--binutils-2.25/ld/ldmisc.c21
-rw-r--r--binutils-2.25/ld/ldmisc.h3
-rw-r--r--binutils-2.25/ld/ldver.c6
-rw-r--r--binutils-2.25/ld/ldver.h3
-rw-r--r--binutils-2.25/ld/ldwrite.c5
-rw-r--r--binutils-2.25/ld/ldwrite.h2
-rw-r--r--binutils-2.25/ld/lexsup.c46
-rw-r--r--binutils-2.25/ld/mri.c5
-rw-r--r--binutils-2.25/ld/mri.h2
-rw-r--r--binutils-2.25/ld/pe-dll.c26
-rw-r--r--binutils-2.25/ld/pe-dll.h3
-rw-r--r--binutils-2.25/ld/pep-dll.c2
-rw-r--r--binutils-2.25/ld/pep-dll.h2
-rw-r--r--binutils-2.25/ld/plugin.c69
-rw-r--r--binutils-2.25/ld/plugin.h5
-rw-r--r--binutils-2.25/ld/po/Make-in2
-rw-r--r--binutils-2.25/ld/po/POTFILES.in2
-rw-r--r--binutils-2.25/ld/po/bg.po1099
-rw-r--r--binutils-2.25/ld/po/ld.pot1036
-rw-r--r--binutils-2.25/ld/scripttempl/DWARF.sc6
-rw-r--r--binutils-2.25/ld/scripttempl/README2
-rw-r--r--binutils-2.25/ld/scripttempl/aix.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/alpha.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/alphavms.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/aout.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/armaout.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/armbpabi.sc14
-rw-r--r--binutils-2.25/ld/scripttempl/armcoff.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/avr.sc23
-rw-r--r--binutils-2.25/ld/scripttempl/avrtiny.sc262
-rw-r--r--binutils-2.25/ld/scripttempl/crisaout.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/delta68.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/dlx.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/elf.sc82
-rw-r--r--binutils-2.25/ld/scripttempl/elf32cr16.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/elf32cr16c.sc15
-rw-r--r--binutils-2.25/ld/scripttempl/elf32crx.sc15
-rw-r--r--binutils-2.25/ld/scripttempl/elf32msp430.sc18
-rw-r--r--binutils-2.25/ld/scripttempl/elf32msp430_3.sc16
-rw-r--r--binutils-2.25/ld/scripttempl/elf32sh-symbian.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/elf32xc16x.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/elf32xc16xl.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/elf32xc16xs.sc15
-rw-r--r--binutils-2.25/ld/scripttempl/elf64hppa.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/elf_chaos.sc11
-rw-r--r--binutils-2.25/ld/scripttempl/elfd10v.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/elfd30v.sc11
-rw-r--r--binutils-2.25/ld/scripttempl/elfi370.sc14
-rw-r--r--binutils-2.25/ld/scripttempl/elfm68hc11.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/elfm68hc12.sc11
-rw-r--r--binutils-2.25/ld/scripttempl/elfmicroblaze.sc18
-rw-r--r--binutils-2.25/ld/scripttempl/elfxgate.sc11
-rw-r--r--binutils-2.25/ld/scripttempl/elfxtensa.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/epiphany_4x4.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/epocpe.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/h8300.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/h8300h.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/h8300hn.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/h8300s.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/h8300sn.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/h8300sx.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/h8300sxn.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/h8500.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/h8500b.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/h8500c.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/h8500m.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/h8500s.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/hppaelf.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/i386beos.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/i386coff.sc14
-rw-r--r--binutils-2.25/ld/scripttempl/i386go32.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/i386msdos.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/i860coff.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/i960.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/ia64vms.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/ip2k.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/iq2000.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/m68kaux.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/m68kcoff.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/m88kbcs.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/mcorepe.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/mep.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/mips.sc15
-rw-r--r--binutils-2.25/ld/scripttempl/mipsbsd.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/mmo.sc14
-rw-r--r--binutils-2.25/ld/scripttempl/moxie.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/nds32elf.sc627
-rw-r--r--binutils-2.25/ld/scripttempl/nw.sc13
-rw-r--r--binutils-2.25/ld/scripttempl/or32.sc37
-rw-r--r--binutils-2.25/ld/scripttempl/pe.sc37
-rw-r--r--binutils-2.25/ld/scripttempl/pep.sc37
-rw-r--r--binutils-2.25/ld/scripttempl/pj.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/ppcpe.sc14
-rw-r--r--binutils-2.25/ld/scripttempl/psos.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/riscix.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/sh.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/sparccoff.sc14
-rw-r--r--binutils-2.25/ld/scripttempl/st2000.sc17
-rw-r--r--binutils-2.25/ld/scripttempl/tic30aout.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/tic30coff.sc81
-rw-r--r--binutils-2.25/ld/scripttempl/tic4xcoff.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/tic54xcoff.sc15
-rw-r--r--binutils-2.25/ld/scripttempl/tic80coff.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/v850.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/v850_rh850.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/vanilla.sc5
-rw-r--r--binutils-2.25/ld/scripttempl/w65.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/xstormy16.sc11
-rw-r--r--binutils-2.25/ld/scripttempl/z80.sc12
-rw-r--r--binutils-2.25/ld/scripttempl/z8000.sc12
-rw-r--r--binutils-2.25/ld/sysdep.h25
-rw-r--r--binutils-2.25/ld/testplug.c2
-rw-r--r--binutils-2.25/ld/testsuite/ChangeLog2362
-rw-r--r--binutils-2.25/ld/testsuite/ChangeLog-20131664
-rw-r--r--binutils-2.25/ld/testsuite/config/default.exp39
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/aarch64-elf.exp31
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/copy-reloc-exe.s7
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/copy-reloc-so.s6
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/copy-reloc.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/eh-frame-bar.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/eh-frame-foo.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/eh-frame.d76
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-264-bad.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-266-bad.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-268-bad.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-269-bad.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-local-addend-bar.s19
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-local-addend-foo.s20
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-local-addend.d16
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/erratum835769.d48
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/erratum835769.s75
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/ifunc-21.d26
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/ifunc-21.s13
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/ifunc-22.d11
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/ifunc-22.s14
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/local-addend-r.d16
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/relasz.d18
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/relasz.s9
-rw-r--r--binutils-2.25/ld/testsuite/ld-aarch64/tls-relax-gdesc-ie.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-alpha/alpha.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/arm-app-abs32.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/arm-app.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/arm-dyn.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/arm-elf.exp415
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/arm-lib-plt32.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/arm-lib.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/arm-lib.ld4
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/arm-no-rel-plt.ld4
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/arm-rel32.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/arm-static-app.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/armthumb-lib.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/attr-merge-arch-2.d5
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/attr-merge-arch-2a.s18
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/attr-merge-arch-2b.s8
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/cortex-a8-far.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d73
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/data-only-map.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/export-class.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/farcall-cond-thumb-arm.d18
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/farcall-cond-thumb-arm.s27
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-app-v5.d12
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-app.d14
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d18
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-lib.d18
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/fix-arm1176-off.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/fix-arm1176-on.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/gc-hidden-1.d17
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-1.gd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-10.dd164
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-10.gd52
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-11.gd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-12.gd12
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-13.gd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-14.dd4
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-14.gd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-14.rd4
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-15.dd4
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-15.gd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-16.gd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-17.gd4
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-2.gd14
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-3.dd13
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-3.gd12
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-4.dd202
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-4.gd38
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-5.gd6
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-6.gd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-7.dd14
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-7.gd12
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-8.dd208
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-8.gd32
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-9.dd9
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-9.gd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-gdesc.r6
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-gdesc.s29
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/ifunc-gdesc.ver4
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-long-backward.d24
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-long.d24
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-short-backward.d13
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-short.d13
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond.s12
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-long.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/long-plt-format.d16
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/long-plt-format.s7
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/mixed-app-v5.d10
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/mixed-app.d10
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/mixed-lib.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/pcrel-shared.rd16
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/pcrel-shared.s25
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/reloc-boundaries.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/script-type.sym1
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/thumb2-bl-undefweak.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/tls-app.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/tls-descrelax-be32.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/tls-descrelax.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/tls-descseq.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/tls-gdesc-got.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/tls-gdesc.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/tls-gdierelax.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/tls-gdierelax2.d10
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/tls-gdlerelax.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/tls-lib-loc.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/tls-lib.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/tls-thumb1.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-auto-import/auto-import.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-avr/avr.exp31
-rw-r--r--binutils-2.25/ld/testsuite/ld-avr/norelax_diff.d13
-rw-r--r--binutils-2.25/ld/testsuite/ld-avr/relax.s12
-rw-r--r--binutils-2.25/ld/testsuite/ld-avr/relax_diff.d14
-rw-r--r--binutils-2.25/ld/testsuite/ld-bootstrap/bootstrap.exp19
-rw-r--r--binutils-2.25/ld/testsuite/ld-bootstrap/ppc476.t7
-rw-r--r--binutils-2.25/ld/testsuite/ld-cdtest/cdtest.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-checks/checks.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-cris/cris.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-cris/tls-e-tpoffcomm1.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-crx/crx.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-cygwin/exe-export.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-d10v/d10v.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-discard/discard.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-discard/extern.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-discard/start.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-discard/static.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/audit.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/binutils.exp26
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/comm-data.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/compress.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/compress1.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/dwarf.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/dynamic-1.c10
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/dynamic-1.rd5
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/dynamic-1.syms3
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/eh-frame-hdr.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/eh-group.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/eh1.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/eh1.s3
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/eh2.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/eh3.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/eh3.s3
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/eh5.d22
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/ehdr_start-missing.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/ehdr_start-missing.t8
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/ehdr_start-shared.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/ehdr_start-strongref.s9
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/ehdr_start-userdef.d11
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/ehdr_start-userdef.t10
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/ehdr_start-weak.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/ehdr_start.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/elf.exp29
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/exclude.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/export-class.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/frame.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/group.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/group1.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/group3b.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/group8a.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/group8b.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/group9a.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/group9b.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/indirect.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/linkinfo1.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/linkinfo1a.d8
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/linkinfo1b.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/linkonce2.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/merge.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/merge2.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/needed2.ver4
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/needed2a.c5
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/needed2b.c2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/needed2c.c6
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/needed3.c8
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/orphan-region.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/orphan-region.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/orphan.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/orphan.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/orphan3.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr12851.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr12975.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr13177.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr13195.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr16322.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr16322.s6
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr16498a.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr16498a.s23
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr16498a.t6
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr16498b.d10
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr16498b.t6
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr17068.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr17068a.s4
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr17068b.s4
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr17068c.s4
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr17068d.s6
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr17068e.s3
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr17068ez.s4
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr2404.out4
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr2404a.c10
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr2404b.c21
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/pr349.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/provide-hidden.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/rdynamic-1.c10
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/rdynamic-1.rd5
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/sec-to-seg.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/sec64k.exp5
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/shared.exp107
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/tls_common.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/warn1.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/warn2.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/warn3.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elf/wrap.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elfcomm/elfcomm.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-elfvers/vers.exp6
-rw-r--r--binutils-2.25/ld/testsuite/ld-elfvers/vers24.rd4
-rw-r--r--binutils-2.25/ld/testsuite/ld-elfvsb/elf-offset.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-elfvsb/elfvsb.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-elfweak/elfweak.exp20
-rw-r--r--binutils-2.25/ld/testsuite/ld-fastcall/fastcall.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-frv/fdpic.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-frv/frv-elf.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-frv/tls.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-gc/gc.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-h8300/h8300.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-i386/export-class.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-i386/i386.exp12
-rw-r--r--binutils-2.25/ld/testsuite/ld-i386/pr17057.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-i386/pr17057.s3
-rw-r--r--binutils-2.25/ld/testsuite/ld-i386/pr17306a.s9
-rw-r--r--binutils-2.25/ld/testsuite/ld-i386/pr17306b.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-ia64/error1.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-ia64/error1.s30
-rw-r--r--binutils-2.25/ld/testsuite/ld-ia64/error2.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-ia64/error3.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-ia64/ia64.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-ia64/line.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-ifunc/binutils.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-ifunc/dummy.c1
-rw-r--r--binutils-2.25/ld/testsuite/ld-ifunc/ifunc.exp50
-rw-r--r--binutils-2.25/ld/testsuite/ld-ifunc/pr16467.out1
-rw-r--r--binutils-2.25/ld/testsuite/ld-ifunc/pr16467a.c5
-rw-r--r--binutils-2.25/ld/testsuite/ld-ifunc/pr16467a.map4
-rw-r--r--binutils-2.25/ld/testsuite/ld-ifunc/pr16467b.c7
-rw-r--r--binutils-2.25/ld/testsuite/ld-ifunc/pr16467b.map4
-rw-r--r--binutils-2.25/ld/testsuite/ld-ifunc/pr16467c.c9
-rw-r--r--binutils-2.25/ld/testsuite/ld-ifunc/pr17154-i386.d47
-rw-r--r--binutils-2.25/ld/testsuite/ld-ifunc/pr17154-x86-64.d46
-rw-r--r--binutils-2.25/ld/testsuite/ld-ifunc/pr17154-x86.s28
-rw-r--r--binutils-2.25/ld/testsuite/ld-libs/libs.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-linkonce/linkonce.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-m68hc11/m68hc11.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-m68k/m68k-got.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-m68k/m68k.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mep/mep.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-metag/metag.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip1-ph.d13
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip10-ph.d27
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip2-ph.d27
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip3-ph.d27
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip4-ph.d31
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip5-ph.d31
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip6-ph.d27
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip7-ph.d27
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip8-ph.d27
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip9-ph.d27
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-0-n32-ph.d26
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-0-n64-ph.d25
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-0-ph.d24
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-00.d13
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d14
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-02.d14
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-03.d15
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-04.d10
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-05.d18
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-06.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-07.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-08.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-1-n32-ph.d26
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-1-n64-ph.d25
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-1-ph.d24
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d37
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d14
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-12.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-13.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-14.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-15.d17
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-16.d22
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-17.d22
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-18.d22
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2-n32-ph.d26
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2-n64-ph.d25
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2-ph.d24
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2.s1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-20.d14
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-21.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-22.d14
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-23.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-24.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-25.d18
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-26.d22
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-27.d22
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-28.d22
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3-n32-ph.d26
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3-n64-ph.d25
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3-ph.d24
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3.s1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-30.d14
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-31.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-32.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-33.d14
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-34.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-35.d18
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-36.d22
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-37.d22
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-38.d22
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-4-ph.d24
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d10
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-42.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-43.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-44.d20
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-45.d12
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-46.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-47.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-48.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-5-ph.d24
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-5.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-50.d41
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-51.d22
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-52.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-53.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-54.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-55.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-56.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-57.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-58.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-6-ph.d24
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-6.s4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-60.d41
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-61.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-62.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-63.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-64.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-65.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-66.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-67.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-68.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-7-ph.d24
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-7.s5
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-70.d41
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-71.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-72.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-73.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-74.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-75.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-76.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-77.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-78.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-8.s1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-81.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d5
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-12.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-21.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/comm-data.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/compressed-plt-1.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/dyn-sec64.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame1-n32.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame1-n64.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame2-n32.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame2-n64.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/ehdr_start-2.nd2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n32-embed.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64-embed.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d205
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d205
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d207
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d207
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d206
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/empty.s0
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/export-class.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/got-dump-1.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/got-dump-2.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/got-page-1.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/jalx-2.dd2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/mips-dyn.ld4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/mips-elf-flags.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/mips-elf.exp113
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/mips-lib.ld4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-1.gd17
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-2.gd25
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-3.gd17
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-4a.gd17
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/multi-got-no-shared.d12
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/nan-2008.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/nan-legacy.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.gd4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.gd4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.gd4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-6.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/region1.t2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/rel32-n32.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/rel32-o32.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/rel64.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/stub-dynsym-1.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/tls-hidden3.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/tls-multi-got-1.r2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/vxworks1.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-misc/defsym.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/b-offloc.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/b-offlocmis.s17
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/bpo-18.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/bpo-22.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/bspec1.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/bspec2.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/greg-6.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/greg-7.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/loc4.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/local1.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/local3.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/local5.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/local7.d3
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/loct-1.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/mmix.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/sec-10.d18
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/sec-10.s8
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/sec-11.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/sec-11.ld10
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/sec-12.d26
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/undef-3.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/wrap1.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/wrap1a.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/wrap1b.s4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/wrap1c.s4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/wrap2.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/wrap3.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/wrap3a.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/wrap3b.s4
-rw-r--r--binutils-2.25/ld/testsuite/ld-mmix/wrap4.d21
-rw-r--r--binutils-2.25/ld/testsuite/ld-mn10300/mn10300.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/branch.d24
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/branch.ld6
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/branch.s18
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/diff.d16
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/diff.ld10
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/diff.s32
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/gp.d18
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/gp.ld11
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/gp.s18
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/imm.d15
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/imm.ld6
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/imm.s7
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/imm_symbol.s7
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/nds32.exp26
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/relax_jmp.d12
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/relax_jmp.ld6
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/relax_jmp.s10
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/relax_load_store.d12
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/relax_load_store.ld10
-rw-r--r--binutils-2.25/ld/testsuite/ld-nds32/relax_load_store.s17
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26.s27
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary.ld14
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary.s29
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_c8.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_cc.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_d0.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_d4.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_d8.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_dc.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_f0.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_f4.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_f8.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_fc.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_cache.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_cache.ld13
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_cache.s28
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_multi.d36
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_multi.ld14
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_norelax.d5
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_shared.d31
-rw-r--r--binutils-2.25/ld/testsuite/ld-nios2/relax_call26_shared.ld13
-rw-r--r--binutils-2.25/ld/testsuite/ld-pe/cfi.d6
-rw-r--r--[-rwxr-xr-x]binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d2
-rw-r--r--[-rwxr-xr-x]binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d1
-rw-r--r--[-rwxr-xr-x]binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d3
-rw-r--r--[-rwxr-xr-x]binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d3
-rw-r--r--[-rwxr-xr-x]binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d3
-rw-r--r--[-rwxr-xr-x]binutils-2.25/ld/testsuite/ld-pe/longsecn.d2
-rw-r--r--[-rwxr-xr-x]binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s1
-rw-r--r--binutils-2.25/ld/testsuite/ld-pe/orphana_nu.s2
-rw-r--r--[-rwxr-xr-x]binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp3
-rw-r--r--[-rwxr-xr-x]binutils-2.25/ld/testsuite/ld-pe/pe-run.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-pe/pe-run2.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-pe/pe.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-pe/secrel.d1
-rw-r--r--binutils-2.25/ld/testsuite/ld-pie/pie.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-pie/vaddr-0.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-pie/vaddr-1.d9
-rw-r--r--binutils-2.25/ld/testsuite/ld-pie/vaddr.s10
-rw-r--r--binutils-2.25/ld/testsuite/ld-plugin/lto.exp556
-rw-r--r--binutils-2.25/ld/testsuite/ld-plugin/plugin.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-plugin/pr16746a.c3
-rw-r--r--binutils-2.25/ld/testsuite/ld-plugin/pr16746b.c5
-rw-r--r--binutils-2.25/ld/testsuite/ld-plugin/pr16746c.c8
-rw-r--r--binutils-2.25/ld/testsuite/ld-plugin/pr16746d.c8
-rw-r--r--binutils-2.25/ld/testsuite/ld-plugin/pr16846a.c7
-rw-r--r--binutils-2.25/ld/testsuite/ld-plugin/pr16846b.c7
-rw-r--r--binutils-2.25/ld/testsuite/ld-plugin/pr16846c.c1
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/aix52.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv1.d44
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv1b.d45
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv2.d51
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv2b.d47
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/apuinfo-vle.rd5
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/apuinfo-vle.s4
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/apuinfo.rd5
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/defsym.d26
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/defsym.s19
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2a.s27
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2b.s17
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2exe.d41
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2so.d5
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/elfv2.s32
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/elfv2exe.d40
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/elfv2so.d82
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/export-class.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/funref.s4
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/funref2.s4
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/funv1.s10
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/funv2.s6
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/powerpc.exp21
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/relbrlt.d8
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/startv1.s8
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/startv2.s5
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tls.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tls.g6
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tls.s7
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.d23
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.g2
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.r56
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.d23
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.g2
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.r58
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlsso.d25
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlsso.g2
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlsso.r60
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.d4
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.g12
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.s7
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.d25
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.g2
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.r62
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-1.ld3
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-2.ld3
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-3.ld3
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-4.ld3
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-6.ld3
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/vle-reloc-3.d8
-rw-r--r--binutils-2.25/ld/testsuite/ld-powerpc/vle.ld3
-rw-r--r--binutils-2.25/ld/testsuite/ld-s390/s390.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/align.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/alignof.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/assert.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/crossref.exp15
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/data.exp5
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/default-script.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/defined.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/dynamic-sections.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/empty-address.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.d14
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.t8
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/empty-orphan.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/expr.exp4
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/extern.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/fill.d29
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/fill.t20
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/fill_0.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/fill_1.s3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/fill_2.s3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/include.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/log2.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/map-address.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/overlay-size.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/overlay-size.t2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/phdrs.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/phdrs2.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/phdrs3.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/pr14962-2.d10
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/pr14962-2.t11
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/provide.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/rgn-at.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/rgn-at10.d12
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/rgn-at10.s10
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/rgn-at10.t13
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/rgn-at11.d11
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/rgn-at11.t13
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/rgn-at9.d10
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/rgn-at9.t12
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/rgn-over.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/script.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/section-flags.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/section-match.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/size.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/sizeof.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/sort.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/sysroot-prefix-x.s5
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/sysroot-prefix-y.s4
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/sysroot-prefix.exp190
-rw-r--r--binutils-2.25/ld/testsuite/ld-scripts/weak.exp7
-rw-r--r--binutils-2.25/ld/testsuite/ld-selective/sel-dump.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-selective/selective.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/adjsw8.s16
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/arch/arch.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/rd-sh.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh-vxworks.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh.exp30
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh1.s5
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/abi32.xd1
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/abi64.xd1
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/cmpct1.xd1
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/crange1.rd1
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/crange2.rd1
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd3
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/crange3-media.rd3
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/crange3.rd1
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/crangerel1.rd5
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/crangerel2.rd5
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/mix1.xd1
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/mix2.xd1
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/rd-sh64.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/relax.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/relfail.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/sh64.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/shdl32.xd1
-rw-r--r--binutils-2.25/ld/testsuite/ld-sh/sh64/shdl64.xd1
-rw-r--r--binutils-2.25/ld/testsuite/ld-shared/elf-offset.ld2
-rw-r--r--binutils-2.25/ld/testsuite/ld-shared/shared.exp7
-rw-r--r--binutils-2.25/ld/testsuite/ld-size/size.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-sparc/sparc.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-spu/spu.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-srec/srec.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/common.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/shlib-1.rd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/shlib-1b.rd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/shlib-1r.rd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/shlib-1rb.rd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1.rd10
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1b.rd10
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1r.rd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1rb.rd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/shlib-noindex.rd10
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/static-app-1.rd6
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/static-app-1b.rd6
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/static-app-1r.rd6
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/static-app-1rb.rd6
-rw-r--r--binutils-2.25/ld/testsuite/ld-tic6x/tic6x.exp4
-rw-r--r--binutils-2.25/ld/testsuite/ld-tilegx/tilegx.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-tilepro/tilepro.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-undefined/entry.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-undefined/undefined.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-undefined/weak-undef.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-unique/unique.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-v850/v850.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-vax-elf/export-class.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-vax-elf/vax-elf.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-versados/versados.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-vxworks/vxworks.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/bnd-branch-1.d19
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/bnd-branch-1.s9
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d7
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.s16
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d54
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.s28
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d55
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/dwarfreloc.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/export-class.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/ilp32-2.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/ilp32-3.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/ilp32-4.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/line.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/lp64-2.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/lp64-3.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp97
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx1.out2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.c7
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd3
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx1b.c7
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.c10
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd3
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx2.out2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.c7
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd3
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx2b.c7
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.c10
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd3
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx3.dd35
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx3a.s16
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx3b.s11
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx4.dd24
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx4a.s6
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx4b.s5
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/plt-nacl.pd14
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/pr14207.d23
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/pr17306a.s9
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/pr17306b.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/split-by-file-nacl.rd2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/split-by-file.rd2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/tlsbin.dd4
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd16
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/tlsdesc.pd3
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/tlsgdesc.dd8
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/tlsie4.dd4
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/tlsld1.dd2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/tlsld3.dd2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/tlspic.dd16
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp15
-rw-r--r--binutils-2.25/ld/testsuite/ld-xc16x/xc16x.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-xstormy16/xstormy16.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-xtensa/coalesce.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-xtensa/diff_overflow.exp45
-rw-r--r--binutils-2.25/ld/testsuite/ld-xtensa/diff_overflow1.s27
-rw-r--r--binutils-2.25/ld/testsuite/ld-xtensa/diff_overflow2.s22
-rw-r--r--binutils-2.25/ld/testsuite/ld-xtensa/lcall.exp3
-rw-r--r--binutils-2.25/ld/testsuite/ld-xtensa/xtensa.exp2
-rw-r--r--binutils-2.25/ld/testsuite/lib/ld-lib.exp292
995 files changed, 20761 insertions, 9445 deletions
diff --git a/binutils-2.25/ld/ChangeLog b/binutils-2.25/ld/ChangeLog
index b8ebe32c..5aebb9c1 100644
--- a/binutils-2.25/ld/ChangeLog
+++ b/binutils-2.25/ld/ChangeLog
@@ -1,753 +1,1014 @@
-2013-10-14 Nick Clifton <nickc@redhat.com>
+2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com>
- * emultempl/aix.em (_read_file): Close file at end of function.
+ * emulparams/elf_x86_64.sh (BNDPLT): Set to yes for x86_64.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle
+ "-z bndplt" if BNDPLT is yes.
+ (gld${EMULATION_NAME}_list_options): Add "-z bndplt" entry.
+ * ld.texinfo: Add description for bndplt.
-2013-10-10 Roland McGrath <mcgrathr@google.com>
+2014-10-29 Nick Clifton <nickc@redhat.com>
- * ldmisc.c (vfinfo): Use Boolean ? "" : ":" in place of ":" + Boolean.
- It silences some compilers' warnings and is much less bizarre to read.
+ * po/bg.po: Updated Bulgarian translation.
-2013-10-09 Roland McGrath <mcgrathr@google.com>
+2014-10-28 Alan Modra <amodra@gmail.com>
- * emultempl/elf32.em (id_note_section_size): Use ATTRIBUTE_UNUSED
- rather than a dummy assignment for unused parameter.
- * plugin.c (get_input_file, release_input_file): Likewise.
+ Apply trunk patches
+ 2014-10-16 Alan Modra <amodra@gmail.com>
+ PR 17488
+ * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Don't attempt
+ to access ELF header e_flags when not ppc64 ELF output.
-2013-10-09 Nick Clifton <nickc@redhat.com>
+2014-10-24 Tejas Belagod <tejas.belagod@arm.com>
- PR ld/16028
- * ldmain.c (add_keepsyms_file): Close file at end of function.
+ * emultempl/aarch64elf.em: Add command-line option for erratum
+ 835769.
-2013-10-03 Will Newton <will.newton@linaro.org>
+2014-10-17 Hans-Peter Nilsson <hp@axis.com>
- * emulparams/aarch64elf.sh: Add IREL_IN_PLT.
- * emulparams/aarch64elf32.sh: Likewise.
+ Backport "implement --print-sysroot in ld" from master
+ * ldlex.h (enum option_values): Add entry OPTION_PRINT_SYSROOT.
+ * lexsup.c (ld_options): Add entry for --print-sysroot.
+ (parse_args) <OPTION_PRINT_SYSROOT>: Print sysroot and exit early.
-2013-09-30 Nick Clifton <nickc@redhat.com>
+2014-10-15 Tristan Gingold <gingold@adacore.com>
- * emulparams/msp430all.sh: Update ARCH names.
+ * configure: Regenerate.
-2013-09-24 Alan Modra <amodra@gmail.com>
+2014-10-15 Hans-Peter Nilsson <hp@axis.com>
- * emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Provide 32-bit
- and cross-endian values.
- * emulparams/elf64ppc.sh: Source elf32ppccomon.sh. Delete duplicate,
- and unset unwanted variables.
+ Backport "="-ldscript-path-prefix changes from master.
+ * ldlex.l (INPUTLIST): New start condition.
+ (comment pattern, ",", "(", ")", "AS_NEEDED")
+ ({FILENAMECHAR1}{FILENAMECHAR}*, "-l"{FILENAMECHAR}+)
+ (quoted string pattern, whitespace pattern): Add INPUTLIST to
+ valid start conditions.
+ (<INPUTLIST>"="{FILENAMECHAR1}{FILENAMECHAR}*): New NAME rule.
+ (ldlex_inputlist): New start-condition-setter function.
+ * ldgram.y (input_list1): Rename from input_list. All recursive
+ use changed.
+ (input_list): New wrapper rule for input_list1, setting
+ INPUTLIST lexer state for the duration of parsing input_list1.
+ * ldlang.c (lang_add_input_file): If the first character in the
+ filename is '=', prepend the sysroot and force the context of that
+ input file to non-sysroot.
+ * ld.texinfo (Options): When mentioning "=" and sysroot, mention
+ that --sysroot controls it, not only through the configuration.
+ (input files in linker scripts): When mentioning
+ behavior of first character "/" on scripts within sysroot, also
+ mention that effect can be forced by prefixing with "=" and
+ refer to SEARCH_DIR.
-2013-09-24 Alan Modra <amodra@gmail.com>
+2014-10-14 Tristan Gingold <gingold@adacore.com>
- * genscripts.sh (LIB_PATH): Don't exclude libdir or tooldir when
- sysrooted. Also, don't always add tooldir when non-sysrooted.
- Instead add both when native and tooldir also when TOOL_DIR is
- defined. Always prepend '=' to paths when sysrooted. Always
- put paths with LIBPATH_SUFFIX first in search order.
+ * NEWS: Add marker for 2.25.
-2013-09-20 Chung-Lin Tang <cltang@codesourcery.com>
+2014-10-13 Alan Modra <amodra@gmail.com>
- * Makefile.am (enios2elf.c): Change tdir_nios2 to tdir_nios2elf.
- * Makefile.in: Regenerate.
+ * ldlang.c (lang_add_section): Set up map_head.s and map_tail.s when
+ relocatable.
-2013-09-20 Alan Modra <amodra@gmail.com>
+2014-09-16 Kuan-Lin Chen <kuanlinchentw@gmail.com>
- * configure: Regenerate.
+ * emultempl/nds32elf.em (nds32_elf_after_open): Do not keep
+ ex9 234th entry.
+ (nds32_elf_after_allocation): Move all optimizations into
+ nds32_elf_relax_section.
-2013-09-18 Tristan Gingold <gingold@adacore.com>
+2014-09-15 Andrew Bennett <andrew.bennett@imgtec.com>
+ Matthew Fortune <matthew.fortune@imgtec.com>
- * NEWS: Add marker for 2.24.
+ * ldmain.c (get_emulation): Add support for -mips32r6 and -mips64r6.
-2013-09-17 Nick Clifton <nickc@redhat.com>
+2014-09-12 Andrew Bennett <andrew.bennett@imgtec.com>
- PR ld/15957
- * deffilep.y (def_file_add_directive): Avoid readin past end of
- buffer.
+ * configure.tgt: Add mips*-img-elf* target triple.
-2013-08-28 Nick Clifton <nickc@redhat.com>
+2014-09-01 Jon TURNEY <jon.turney@dronecode.org.uk>
- PR ld/15896
- * ld.texinfo: Fix uses of MB abbreviation.
+ * emultempl/pe.em (write_build_id, setup_build_id): Change pe/coff
+ build-id section name from '.build-id' to '.buildid'.
+ * emultempl/pep.em (write_build_id, setup_build_id): Ditto.
-2013-08-26 Roland McGrath <mcgrathr@google.com>
+2014-08-22 Andreas Tobler <andreast@fgznet.ch>
- * emulparams/elf_i386_nacl.sh (ARCH): Set to i386:nacl.
- * emulparams/elf_x86_64_nacl.sh (ARCH): Set to i386:x86-64:nacl.
- * emulparams/elf32_x86_64_nacl.sh (ARCH): Set to i386:x64-32:nacl.
+ * emulparams/armelf_fbsd.sh (TEXT_START_ADDR): Increase alignment to
+ 64kB boundary like in armelf_linux.sh.
-2013-08-23 Roland McGrath <mcgrathr@google.com>
+2014-08-22 Alan Modra <amodra@gmail.com>
- * emulparams/elf_nacl.sh (nacl_rodata_addr): Don't add in
- SIZEOF_HEADERS here; elf.sc does it already.
+ * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Call
+ bfd_elf_discard_info after generating glink .eh_frame. Delete
+ redundant test on ppc64_elf_setup_section_lists status.
-2013-08-23 Nick Clifton <nickc@redhat.com>
+2014-08-20 Maciej W. Rozycki <macro@codesourcery.com>
- PR ld/15839
- * scripttempl/avr.sc: Do not include gc'able sections into general
- sections during relocatable links.
+ * emultempl/armelf.em (OPTION_STUBGROUP_SIZE): Fix formatting.
+ (OPTION_NO_MERGE_EXIDX_ENTRIES, OPTION_LONG_PLT): Likewise.
-2013-08-22 Christian Franke <franke@computer.org>
+2014-08-20 Will Newton <will.newton@linaro.org>
- * emultempl/pe.em: Add --disable-large-address-aware option.
- * ld.texinfo (--disable-large-address-aware): Add documentation.
+ * configure.tgt: Default armeb-*-eabi* to big endian.
-2013-08-14 Clemens Lang <clemens.lang@fau.de>
+2014-08-20 Daniel Micay <danielmicay@gmail.com>
- * ldexp.c: Add LOG2CEIL() builtin function to linker script language
- * ldgram.y: Likewise
- * ldlex.l: Likewise
- * NEWS: Mention the new feature.
- * ld.texinfo: Document the new feature.
+ * emultempl/pep.em: Add --high-entropy-va switch.
+ * ld.texinfo: Document the --high-entropy-va switch.
-2013-07-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
+2014-08-20 Nick Clifton <nickc@redhat.com>
- * ldgram.y: Add ALIGN_WITH_INPUT output section attribute.
- * ldlang.c: Likewise.
- * ldlang.h: Likewise.
- * ldlex.l: Likewise.
- * mri.c: Likewise.
- * ld.texinfo: Document new feature.
- * NEWS: Mention new feature.
+ * scripttempl/DWARF.sc: Add copyright notice.
+ * scripttempl/aix.sc: Likewise.
+ * scripttempl/alpha.sc: Likewise.
+ * scripttempl/alphavms.sc: Likewise.
+ * scripttempl/aout.sc: Likewise.
+ * scripttempl/armaout.sc: Likewise.
+ * scripttempl/armbpabi.sc: Likewise.
+ * scripttempl/armcoff.sc: Likewise.
+ * scripttempl/avr.sc: Likewise.
+ * scripttempl/avrtiny.sc: Likewise.
+ * scripttempl/crisaout.sc: Likewise.
+ * scripttempl/delta68.sc: Likewise.
+ * scripttempl/dlx.sc: Likewise.
+ * scripttempl/elf.sc: Likewise.
+ * scripttempl/elf32cr16.sc: Likewise.
+ * scripttempl/elf32cr16c.sc: Likewise.
+ * scripttempl/elf32crx.sc: Likewise.
+ * scripttempl/elf32msp430.sc: Likewise.
+ * scripttempl/elf32msp430_3.sc: Likewise.
+ * scripttempl/elf32sh-symbian.sc: Likewise.
+ * scripttempl/elf32xc16x.sc: Likewise.
+ * scripttempl/elf32xc16xl.sc: Likewise.
+ * scripttempl/elf32xc16xs.sc: Likewise.
+ * scripttempl/elf64hppa.sc: Likewise.
+ * scripttempl/elf_chaos.sc: Likewise.
+ * scripttempl/elfd10v.sc: Likewise.
+ * scripttempl/elfd30v.sc: Likewise.
+ * scripttempl/elfi370.sc: Likewise.
+ * scripttempl/elfm68hc11.sc: Likewise.
+ * scripttempl/elfm68hc12.sc: Likewise.
+ * scripttempl/elfmicroblaze.sc: Likewise.
+ * scripttempl/elfxgate.sc: Likewise.
+ * scripttempl/elfxtensa.sc: Likewise.
+ * scripttempl/epiphany_4x4.sc: Likewise.
+ * scripttempl/epocpe.sc: Likewise.
+ * scripttempl/h8300.sc: Likewise.
+ * scripttempl/h8300h.sc: Likewise.
+ * scripttempl/h8300hn.sc: Likewise.
+ * scripttempl/h8300s.sc: Likewise.
+ * scripttempl/h8300sn.sc: Likewise.
+ * scripttempl/h8300sx.sc: Likewise.
+ * scripttempl/h8300sxn.sc: Likewise.
+ * scripttempl/h8500.sc: Likewise.
+ * scripttempl/h8500b.sc: Likewise.
+ * scripttempl/h8500c.sc: Likewise.
+ * scripttempl/h8500m.sc: Likewise.
+ * scripttempl/h8500s.sc: Likewise.
+ * scripttempl/hppaelf.sc: Likewise.
+ * scripttempl/i386beos.sc: Likewise.
+ * scripttempl/i386coff.sc: Likewise.
+ * scripttempl/i386go32.sc: Likewise.
+ * scripttempl/i386msdos.sc: Likewise.
+ * scripttempl/i860coff.sc: Likewise.
+ * scripttempl/i960.sc: Likewise.
+ * scripttempl/ia64vms.sc: Likewise.
+ * scripttempl/ip2k.sc: Likewise.
+ * scripttempl/iq2000.sc: Likewise.
+ * scripttempl/m68kaux.sc: Likewise.
+ * scripttempl/m68kcoff.sc: Likewise.
+ * scripttempl/m88kbcs.sc: Likewise.
+ * scripttempl/mcorepe.sc: Likewise.
+ * scripttempl/mep.sc: Likewise.
+ * scripttempl/mips.sc: Likewise.
+ * scripttempl/mipsbsd.sc: Likewise.
+ * scripttempl/mmo.sc: Likewise.
+ * scripttempl/moxie.sc: Likewise.
+ * scripttempl/nds32elf.sc: Likewise.
+ * scripttempl/nw.sc: Likewise.
+ * scripttempl/pe.sc: Likewise.
+ * scripttempl/pep.sc: Likewise.
+ * scripttempl/pj.sc: Likewise.
+ * scripttempl/ppcpe.sc: Likewise.
+ * scripttempl/psos.sc: Likewise.
+ * scripttempl/riscix.sc: Likewise.
+ * scripttempl/sh.sc: Likewise.
+ * scripttempl/sparccoff.sc: Likewise.
+ * scripttempl/st2000.sc: Likewise.
+ * scripttempl/tic30aout.sc: Likewise.
+ * scripttempl/tic30coff.sc: Likewise.
+ * scripttempl/tic4xcoff.sc: Likewise.
+ * scripttempl/tic54xcoff.sc: Likewise.
+ * scripttempl/tic80coff.sc: Likewise.
+ * scripttempl/v850.sc: Likewise.
+ * scripttempl/v850_rh850.sc: Likewise.
+ * scripttempl/vanilla.sc: Likewise.
+ * scripttempl/w65.sc: Likewise.
+ * scripttempl/xstormy16.sc: Likewise.
+ * scripttempl/z80.sc: Likewise.
+ * scripttempl/z8000.sc: Likewise.
-2013-07-18 Roland McGrath <mcgrathr@google.com>
+2014-08-19 Alan Modra <amodra@gmail.com>
- * emultempl/armelf.em (elf32_arm_add_stub_section): Take third
- argument ALIGNMENT_POWER, use it instead of constant 3.
+ * configure: Regenerate.
-2013-07-08 Jeff Law <law@redhat.com>
+2014-08-18 Alan Modra <amodra@gmail.com>
- * scripttempl/elf.sc: Handle function names and other text after
- .text.unlikely too.
+ * ld.texinfo (--as-needed): Clarify that references from libraries
+ must be from needed libraries.
-2013-07-08 Tristan Gingold <gingold@adacore.com>
+2014-08-18 Alan Modra <amodra@gmail.com>
- * scripttempl/ia64vms.sc: Add support of per data and per function
- sections.
+ * emultempl/aarch64elf.em (gld${EMULATION_NAME}_after_allocation):
+ Handle error status from bfd_elf_discard_info.
+ * emultempl/armelf.em: Likewise.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/hppaelf.em: Likewise.
+ * emultempl/metagelf.em: Likewise.
+ * emultempl/nios2elf.em: Likewise.
+ * emultempl/ppc64elf.em: Likewise.
+ * emultempl/tic6xdsbt.em: Likewise.
+ * emultempl/vms.em: Likewise.
-2013-07-01 Alan Modra <amodra@gmail.com>
+2014-08-14 Alan Modra <amodra@gmail.com>
- * emultempl/ppc64elf.em: (ppc_layout_sections_again): Call
- ppc64_elf_set_toc rather than ppc64_elf_toc/_bfd_set_gp_value.
- (gld${EMULATION_NAME}_after_allocation): Likewise.
+ PR 16563
+ * ldlang.c (map_head_is_link_order): Rename from
+ stripped_excluded_sections.
+ (lang_clear_os_map): New function, extracted from..
+ (strip_excluded_output_sections): ..here.
+ * ldlang.h (lang_clear_os_map): Declare.
+ * ldwrite.c (ldwrite): Call lang_clear_os_map.
+ * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):
+ Likewise.
-2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
+2014-08-14 Alan Modra <amodra@gmail.com>
- * emulparams/aarch64elf32.sh: New file.
+ * configure.ac: Move AC_PROG_CC and other macros earlier. Delete
+ plugin checks now done in config/plugins.m4.
+ * config.in: Regenerate.
+ * configure: Regenerate.
-2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
+2014-08-14 Alan Modra <amodra@gmail.com>
- * Makefile.am (ALL_64_EMULATION_SOURCES): Add eaarch64elf32b.c.
- (eaarch64elf32b.c): New dependency and rule.
- * Makefile.in: Re-generated.
- * configure.tgt (aarch64-*-elf): Add aarch64elf32b.
- (aarch64_be-*-elf, aarch64_be-*-linux*, aarch64-*-linux*): Likewise.
- * emulparams/aarch64elf32b.sh: New file.
+ * plugin.c (is_ir_dummy_bfd): Test BFD_PLUGIN flag rather than
+ flags.claimed.
-2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
+2014-08-13 Yaakov Selkowitz <yselkowi@redhat.com>
- * Makefile.am (ALL_64_EMULATION_SOURCES): Add eaarch64elf32.c.
- (eaarch64elf32.c): New dependency and rule.
- * Makefile.in: Re-generated.
- * configure.tgt (aarch64-*-elf): Add aarch64elf32.
- (aarch64_be-*-elf, aarch64_be-*-linux*, aarch64-*-linux*): Likewise.
- * emulparams/aarch64elf32.sh: New file.
+ * pe-dll.c (autofilter_entry_type autofilter_symbollist_i386): Add
+ __dso_handle.
-2013-06-25 Maciej W. Rozycki <macro@codesourcery.com>
+2014-08-13 Alan Modra <amodra@gmail.com>
- * emultempl/mipself.em (insn32): New variable.
- (mips_create_output_section_statements): Handle insn32 mode.
- (PARSE_AND_LIST_PROLOGUE): New macro.
- (PARSE_AND_LIST_LONGOPTS): Likewise.
- (PARSE_AND_LIST_OPTIONS): Likewise.
+ * ldlang.c (open_input_bfds): Don't use bfd_elf_get_dyn_lib_class.
- * gen-doc.texi: Set MIPS.
- * ld.texinfo: Likewise.
- (Options specific to MIPS targets): New section.
- (ld and MIPS family): New node.
- (Top, Machine Dependent): List the new node.
+2014-08-12 Alan Modra <amodra@gmail.com>
-2013-06-24 Maciej W. Rozycki <macro@codesourcery.com>
+ * ldlang.h (struct lang_input_statement_flags): Don't make "reload"
+ field conditional on ENABLE_PLUGINS.
+ * ldlang.c (open_input_bfds): Expand plugin_should_reload.
+ * plugin.h (plugin_should_reload): Delete.
+ * plugin.c (plugin_should_reload): Delete.
- * emulparams/elf32btsmip.sh: Arrange for .got.plt to be placed
- as close to .plt as possible.
- * scripttempl/elf.sc: Handle $INITIAL_READWRITE_SECTIONS and
- $PLT_NEXT_DATA variables.
+2014-08-12 Alan Modra <amodra@gmail.com>
-2013-06-23 Richard Sandiford <rdsandiford@googlemail.com>
+ * ldmain.c (notice): Update args.
+ * plugin.c (plugin_notice): Likewise. Follow warning sym link.
+ Handle new indirect symbol.
- * Makefile.am (ALL_EMULATION_SOURCES): Move MIPS ELF emulations to...
- (ALL_64_EMULATION_SOURCES): ...here.
- * Makefile.in: Regenerate.
+2014-08-12 Alan Modra <amodra@gmail.com>
-2013-06-22 Richard Sandiford <rdsandiford@googlemail.com>
-
- * NEWS: Document the removal of MIPS ECOFF targets.
- * ld.texinfo (--gpsize=@var{value}): Use MIPS ELF rather than
- MIPS ECOFF as an example of a target that supports small data.
- * ldmain.c (g_switch_value): Likewise.
- * configure.tgt (mips*-*-pe, mips*-dec-ultrix*, mips*-dec-osf*)
- (mips*-sgi-irix* [v4 and earlier], mips*el-*-ecoff*, mips*-*-ecoff*)
- (mips*-*-bsd*, mips*-*-lnews*): Remove cases.
- * Makefile.am (ALL_EMULATION_SOURCES): Remove emipsbig.c, emipsbsd.c,
- emipsidt.c, emipsidtl.c, emipslit.c, emipslnews.c and emipspe.c.
- (emipsbig.c, emipsbsd.c, emipsidt.c, emipsidtl.c, emipslit.c)
- (emipslnews.c, emipspe.c): Delete rules.
- * Makefile.in: Regenerate.
- * emulparams/mipsbig.sh, emulparams/mipsbsd.sh, emulparams/mipsidt.sh,
- emulparams/mipsidtl.sh, emulparams/mipslit.sh, emulparams/mipslnews.sh,
- emulparams/mipspe.sh, emultempl/mipsecoff.em: Delete.
- * emultempl/m68kcoff.em: Update comment to say that MIPS ECOFF support
- has now been removed.
- * emultempl/pe.em: Remove TARGET_IS_mipspe checks.
+ * plugin.c (plugin_load_plugins): Set link_info.lto_plugin_active.
-2013-06-19 Will Newton <will.newton@linaro.org>
+2014-08-08 Ulrich Drepper <drepper@gmail.com>
- * emulparams/aarch64elf.sh: Remove IREL_IN_PLT.
+ * ldlang.h (struct lang_input_statement_flags): Add pushed
+ member.
+ * ldlex.h (enum option_values): Add OPTION_PUSH_STATE and
+ OPTION_POP_STATE.
+ * lexsup.c (ld_options): Add entries for --push-state and
+ --pop-state.
+ (parse_args): Handle OPTION_PUSH_STATE and OPTION_POP_STATE.
+ * ld.texinfo: Document --push-state and --pop-state.
-2013-06-14 Yufeng Zhang <yufeng.zhang@arm.com>
+2014-08-06 H.J. Lu <hongjiu.lu@intel.com>
- * emulparams/aarch64elf.sh: Add IREL_IN_PLT.
+ PR14918
+ * plugin.c (plugin_opt_plugin_arg): Drop --pass-through.
-2013-06-12 Nick Clifton <nickc@redhat.com>
+2014-08-05 Alan Modra <amodra@gmail.com>
- * ldcref.c (output_one_cref): Place common definitions after
- ordinary definitions but before references.
+ * Makefile.in: Regenerate.
-2013-06-10 Dilyan Palauzov <dilyan.palauzov@aegee.org>
+2014-07-29 Matthew Fortune <matthew.fortune@imgtec.com>
- PR ld/15598
- * ld.texinfo (Source Code Reference): Fix typos.
+ * emulparams/elf32bmip.sh: Add .MIPS.abiflags.
+ * emulparams/elf32bmipn32-defs.sh: Likewise.
+ * emulparams/elf64bmip-defs.sh: Likewise.
-2013-06-07 Will Newton <will.newton@linaro.org>
+2014-07-27 Anthony Green <green@moxielogic.com>
- * emulparams/aarch64elf.sh: Add IREL_IN_PLT.
+ * Makefile.am (ALL_EMULATION_SOURCES): Add moxiebox support.
+ (emoxiebox.c): Build.
+ * configure.tgt (targ_extra_ofiles): Add moxie-*-moxiebox*.
+ * emulparams/moxiebox.sh (TEXT_START_ADDR): New file.
+ * Makefile.in: Rebuilt.
-2013-06-07 Nick Clifton <nickc@redhat.com>
+2014-07-17 Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
- * ld.texinfo (SEGMENT_START): Rephrase to indicate that a -T
- option must appear before the SEGMENT_START is encountered in
- order for the default value to be overridden.
+ * emulparams/elf32or1k_linux.sh (TEXT_START_ADDR): Increase from
+ 0x0 to first page boundary at 0x2000.
-2013-05-03 Alan Modra <amodra@gmail.com>
+2014-07-10 Max Filippov <jcmvbkbc@gmail.com>
- PR ld/15365
- * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
- Restrict __ehdr_start's export class to no less than STV_HIDDEN.
+ * emultempl/xtensaelf.em (is_inconsistent_linkonce_section):
+ correctly handle missing dot in section name after
+ ".gnu.linkonce.prop.".
-2013-05-03 Alan Modra <amodra@gmail.com>
+2014-07-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
- * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
- Only call lang_for_each_statement if an ELF hash table is used.
+ * scripttempl/avr.sc: Remove KEEP for .data and
+ force .bss VMA to end of .data VMA.
-2013-05-02 Nick Clifton <nickc@redhat.com>
+2014-07-08 Will Newton <will.newton@linaro.org>
- * Makefile.am: Add emsp430X.c
- * Makefine.in: Regenerate.
- * configure.tgt (msp430): Add msp430X emulation.
- * ldmain.c (multiple_definition): Only disable relaxation if it
- was enabled by the user.
- * ldmain.h (RELAXATION_ENABLED_BY_USER): New macro.
- * emulparams/msp430all.sh: Add support for MSP430X.
- * emultempl/generic.em: (before_parse): Enable relaxation for the
- MSP430.
- * scripttempl/msp430.sc: Reorganize sections. Add .rodata
- section.
- * scripttempl/msp430_3.sc: Likewise.
- * NEWS: Mention support for MSP430X.
+ * emulparams/armelf_linux.sh (TEXT_START_ADDR): Increase
+ alignment to 64kB boundary.
-2013-05-01 Maciej W. Rozycki <macro@codesourcery.com>
+2014-07-04 Alan Modra <amodra@gmail.com>
- * configure.tgt: Replace alpha*-*-linuxecoff* pattern with
- alpha*-*-linux*ecoff*. Update the `sed' pattern used to convert
- from alpha*-*-linux-* to alpha*-*-linux*ecoff*.
+ * configure.ac: Update "configure.in" comments.
+ * configure: Regenerate.
-2013-05-01 Maciej W. Rozycki <macro@codesourcery.com>
+2014-07-04 Alan Modra <amodra@gmail.com>
- * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
- Use is_elf_hash_table rather than a handcoded condition.
+ * configure.ac: Rename from configure.in.
+ * Makefile.in: Regenerate.
+ * config.in: Regenerate.
-2013-04-30 Nick Clifton <nickc@redhat.com>
+2014-07-04 Alan Modra <amodra@gmail.com>
- * ld.texinfo (SORT_BY_ALIGNMENT): Fix and clarify typo - sections
- are sorted by descending order of alignment.
+ * configure.in: Include bfd/version.m4.
+ (AC_INIT, AM_INIT_AUTOMAKE): Use modern form.
+ (BFD_VERSION): Delete.
+ * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove bfd/configure.in.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
-2013-04-29 Nick Clifton <nickc@redhat.com>
+2014-07-03 Alan Modra <amodra@gmail.com>
- * scripttempl/DWARF.sc: Add support for .debug_line.* and
- .debug_line_end.
+ PR 17068
+ * ldlang.c (load_symbols): Always check flags.reload.
+ (open_input_bfds): Always reload --as-needed shared libraries,
+ not just when rescanning.
+ * ldlang.h (struct lang_input_statement_flags): Update reload comment.
+ * plugin.c (plugin_should_reload): Assume shared library arg.
+ * plugin.h (plugin_should_reload): Update comment.
-2013-04-29 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+2014-07-01 Alan Modra <amodra@gmail.com>
- * emultempl/pe.em [cygwin]: Do not merge rdata with v2
- psuedo-relocs.
+ * emultempl/ppc64elf.em (stub_added): Delete.
+ (gld${EMULATION_NAME}_finish): Call ppc64_elf_build_stubs even when
+ none of the usual stubs have been added. Only change entry_section
+ for ELFv1.
-2013-04-28 Thomas Schwinge <thomas@codesourcery.com>
+2014-07-01 Alan Modra <amodra@gmail.com>
- * scripttempl/armbpabi.sc: Replace "source" usage with ".".
- * scripttempl/avr.sc: Likewise.
- * scripttempl/elf.sc: Likewise.
- * scripttempl/elf32cr16.sc: Likewise.
- * scripttempl/elf32crx.sc: Likewise.
- * scripttempl/elf32msp430.sc: Likewise.
- * scripttempl/elf32msp430_3.sc: Likewise.
- * scripttempl/elf32sh-symbian.sc: Likewise.
- * scripttempl/elf64hppa.sc: Likewise.
- * scripttempl/elf_chaos.sc: Likewise.
- * scripttempl/elfd10v.sc: Likewise.
- * scripttempl/elfd30v.sc: Likewise.
- * scripttempl/elfi370.sc: Likewise.
- * scripttempl/elfm68hc11.sc: Likewise.
- * scripttempl/elfm68hc12.sc: Likewise.
- * scripttempl/elfxgate.sc: Likewise.
- * scripttempl/elfxtensa.sc: Likewise.
- * scripttempl/epiphany_4x4.sc: Likewise.
- * scripttempl/i386beos.sc: Likewise.
- * scripttempl/i386go32.sc: Likewise.
- * scripttempl/ia64vms.sc: Likewise.
- * scripttempl/ip2k.sc: Likewise.
- * scripttempl/iq2000.sc: Likewise.
- * scripttempl/mep.sc: Likewise.
- * scripttempl/mmo.sc: Likewise.
- * scripttempl/v850.sc: Likewise.
- * scripttempl/v850_rh850.sc: Likewise.
- * scripttempl/xstormy16.sc: Likewise.
+ * sysdep.h: Don't include limits.h and sys/param.h. Don't
+ include unistd.h twice.
+ (LD_PATHMAX): Don't define.
+ * ldlang.c (lang_common): Don't use UINT_MAX.
-2013-04-26 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+2014-07-01 Barney Stratford <barney_stratford@fastmail.fm>
+ Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+ Pitchumani Sivanupandi <pitchumani.s@atmel.com>
+ Soundararajan <Sounderarajan.D@atmel.com>
- * scripttempl/avr.sc: Add ALIGN directive after *(.progmem*).
+ * Makefile.am (ALL_EMULATION_SOURCES): Add avrtiny emulation source.
+ (eavrtiny.c): Add rules for avrtiny emulation source.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add avrtiny to avr target emulations.
+ * scripttempl/avrtiny.sc: New file. Linker script template for
+ avrtiny arch.
+ * emulparams/avrtiny.sh: New file. Emulation parameters for
+ avrtiny arch.
-2013-04-26 Alan Modra <amodra@gmail.com>
+2014-06-30 Ulrich Drepper <drepper@gmail.com>
- * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Test
- unresolved_syms_in_shared_libs rather than !executable to
- determine whether to load DT_NEEDED libraries.
+ * lexsup.c (parse_args): Check whether provided SONAME is empty
+ string. If yes, warn and ignore it. Don't overwrite valid SONAME
+ with empty string.
-2013-04-25 Alan Modra <amodra@gmail.com>
+2014-06-26 Linda Zhang <lindasc@qq.com>
- * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32lppclinux.c.
- (eelf32lppclinux.c): New rule.
+ * emultempl/pe.em: Initialise insert_timestamp to true.
+ Add a --no-insert-timestamp command line option.
+ * emultempl/pep.em: Likewise.
+ * ld.texinfo: Document that --insert-timestamp is enabled by
+ default and that it now has an inverse command line option.
+ * NEWS: Mention the new behaviour.
+
+2014-06-25 Nick Clifton <nickc@redhat.com>
+
+ * Makefile.am (ALL_EMULATION_SOURCES): Move ei386pep.c from
+ here...
+ (ALL_64_EMULATION_SOURCES): ... to here.
+ (ALL_EMUL_EXTRA_OFILES): Move pep-dll.o from here...
+ (ALL_64_EMUL_EXTRA_OFILES): New. ... to here.
+ * configure.in (EMUL_EXTRA_OFILES): Include
+ ALL_64_EMUL_EXTRA_OFILES when making a 64-bit enabled build.
* Makefile.in: Regenerate.
- * configure.tgt: Merge powerpc-linux and other powerpc-elf targets
- with corresponding little-endian targets.
- * emulparams/elf32lppc.sh: Update comment.
- * emulparams/elf32lppclinux.sh: New.
+ * configure: Regenerate.
-2013-04-24 H.J. Lu <hongjiu.lu@intel.com>
+2014-06-18 Andreas Tobler <andreast@fgznet.ch>
- * configure.tgt (targ_extra_emuls): Adds elf32_x86_64 for
- x86_64-*-elf*.
- (targ_extra_libpath): Likewise.
- (tdir_elf_i386): Replace x86_64 with i386 for x86_64-*-elf*.
+ * configure.tgt (arm*-*-freebsd*): Update targ_extra_emuls.
+ (arm*b-*-freebsd*): Add target.
+ * emulparams/armelfb_fbsd.sh: Added.
+ * emulparams/armelf_fbsd.sh: Updated.
+ * Makefile.am (ALL_EMULATION_SOURCES): Add earmelfb_fbsd.c.
+ * Makefile.in: Regenerate.
-2013-04-24 Yufeng Zhang <yufeng.zhang@arm.com>
+2014-06-16 Alan Modra <amodra@gmail.com>
- * emulparams/aarch64elf.sh: Define ELFSIZE=64.
- * emulparams/aarch64linux.sh: Ditto.
- * emultempl/aarch64elf.em (aarch64_elf_before_allocation):
- Replace elf64 with elf${ELFSIZE}.
- (elf64_aarch64_add_stub_section): Likewise.
- (build_section_lists): Likewise.
- (gld${EMULATION_NAME}_after_allocation): Likewise.
- (gld${EMULATION_NAME}_finish): Likewise.
- (aarch64_elf_create_output_section_statements): Likewise.
+ * scripttempl/elf.sc: Edit out __rela_iplt symbol assignments from
+ .rel sections, and __rel_iplt from .rela sections.
+ * scripttempl/nds32elf.sc: Likewise.
+ * Makefile.am (ends32*.c) Depend on nds32elf.sc.
+ * Makefile.in: Regenerate.
-2013-04-24 Nick Clifton <nickc@redhat.com>
+2014-06-13 Alan Modra <amodra@gmail.com>
- PR ld/15389
- * scripttempl/avr.sc: Add .note.gnu.build-id section.
+ PR 17047
+ * ldlang.c (output_bfd_hash_table_free_fn): Delete.
+ (open_output): Don't set it..
+ * ldmain.c (ld_cleanup): ..or call it.
-2013-04-22 Alan Modra <amodra@gmail.com>
+2014-06-13 Alan Modra <amodra@gmail.com>
- * emultempl/ppc64elf.em (ppc_create_output_section_statements):
- Check return from ppc64_elf_init_stub_bfd.
+ * emultempl/cr16elf.em, * emultempl/elf32.em, * emultempl/genelf.em,
+ * emultempl/m68kcoff.em, * emultempl/m68kelf.em,
+ * emultempl/nds32elf.em, * emultempl/pe.em, * emultempl/pep.em,
+ * ldlang.c, * ldmain.c, * pe-dll.c: Update for bfd.link_next change.
-2013-04-15 Nick Clifton <nickc@redhat.com>
+2014-06-13 Alan Modra <amodra@gmail.com>
- * Makefile.am (ELF_DEPS): Add a dependency upon
- scripttempl/DWARF.sc.
- (ELF_GEN_DEPS): Likewise.
- (emmo.c): Likewise.
+ * Makefile.am (ALL_EMULATION_SOURCES): Add enios2elf.c, enios2linux.c.
* Makefile.in: Regenerate.
- * scripttempl/armbpabi.sc: Replace DWARF sections with an
- inclusion of DWARF.sc.
- * scripttempl/avr.sc: Likewise.
- * scripttempl/elf.sc: Likewise.
- * scripttempl/elf32cr16.sc: Likewise.
- * scripttempl/elf32crx.sc: Likewise.
- * scripttempl/elf32msp430.sc: Likewise.
- * scripttempl/elf32msp430_3.sc: Likewise.
- * scripttempl/elf32sh-symbian.sc: Likewise.
- * scripttempl/elf64hppa.sc: Likewise.
- * scripttempl/elf_chaos.sc: Likewise.
- * scripttempl/elfd10v.sc: Likewise.
- * scripttempl/elfd30v.sc: Likewise.
- * scripttempl/elfi370.sc: Likewise.
- * scripttempl/elfm68hc11.sc: Likewise.
- * scripttempl/elfm68hc12.sc: Likewise.
- * scripttempl/elfxgate.sc: Likewise.
- * scripttempl/elfxtensa.sc: Likewise.
- * scripttempl/epiphany_4x4.sc: Likewise.
- * scripttempl/i386beos.sc: Likewise.
- * scripttempl/i386go32.sc: Likewise.
- * scripttempl/ia64vms.sc: Likewise.
- * scripttempl/ip2k.sc: Likewise.
- * scripttempl/iq2000.sc: Likewise.
- * scripttempl/mep.sc: Likewise.
- * scripttempl/mmo.sc: Likewise.
- * scripttempl/v850.sc: Likewise.
- * scripttempl/v850_rh850.sc: Likewise.
- * scripttempl/xstormy16.sc: Likewise.
- * scripttempl/DWARF.sc: New.
+2014-06-07 Alan Modra <amodra@gmail.com>
-2013-04-04 Alan Modra <amodra@gmail.com>
+ * ldexp.c (exp_fold_tree_1 <etree_provide>): Make PROVIDEd
+ linker script symbol value override a built-in linker symbol.
- * ldlang.c (load_symbols): Report "error adding symbols" on
- bfd_link_add_symbols failure.
- * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Likewise.
- * emultempl/sunos.em (gld${EMULATION_NAME}_after_open): Likewise.
- (gld${EMULATION_NAME}_try_needed): Likewise.
+2014-06-05 Joel Brobecker <brobecker@adacore.com>
-2013-03-27 Georg-Johann Lay <gjl@gcc.gnu.org>
+ * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
+ bfd's development.sh.
+ * Makefile.in, configure: Regenerate.
- PR ld/13812
- * scripttempl/avr.sc: Place trampolines before .progmem section.
+2014-06-02 Alan Modra <amodra@gmail.com>
-2013-03-25 Kai Tietz <ktietz@redhat.com>
+ * emulparams/elf32bfin.sh: Rename from bfin.sh.
+ * emulparams/elf32bfinfd.sh: Update to suit.
+ * emulparams/msp430.sh: Rename from msp430all.sh. Remove
+ MSP430_NAME and msp430X vars.
+ * emulparams/msp430X.sh: New.
+ * emulparams/score3_elf.sh: Rename from scoreelf.sh. Remove
+ SCORE_NAME and score7_elf ARCH setting.
+ * emulparams/score7_elf.sh: New.
+ * Makefile.am (eelf32bfin.c, eelf32bfinfd.c): Update dependencies.
+ (emsp430.c, emsp430X.c, escore3_elf.c, escore7_elf.c): Likewise.
+ * Makefile.in: Regenerate.
+ * genscripts.sh: Delete customizer_script param.
- * ld.texinfo (--disable-runtime-pseudo-reloc): Adjust default.
+2014-05-28 Hans-Peter Nilsson <hp@axis.com>
-2013-03-21 Michael Schewe <michael.schewe@gmx.net>
+ * Makefile.am: Change all rules with ${GENSCRIPTS}
+ invocations to be just dependencies.
+ ($(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES))
+ (run-genscripts): New rules.
+ * Makefile.in: Regenerate.
- * ld.texinfo (H8/300): Add description of relaxation of
- mov @(disp:32,ERx) to mov @(disp:16,ERx).
+2014-05-27 DJ Delorie <dj@redhat.com>
+
+ * ld/ldemul.h (extra_map_file_text): New field.
+ (ldemul_extra_map_file_text): Declare.
+ * ld/ldemul.c (ldemul_extra_map_file_text): Define.
+ * ld/ldlang.c (lang_map): Call it.
+
+ * ld/emultempl/rxelf.em: Add extra_map_file_text hook.
+ * ld/emultempl/aix.em: Add NULL extra_map_file_text hook.
+ * ld/emultempl/armcoff.em: Likewise.
+ * ld/emultempl/beos.em: Likewise.
+ * ld/emultempl/elf32.em: Likewise.
+ * ld/emultempl/generic.em: Likewise.
+ * ld/emultempl/gld960.em: Likewise.
+ * ld/emultempl/gld960c.em: Likewise.
+ * ld/emultempl/linux.em: Likewise.
+ * ld/emultempl/lnk960.em: Likewise.
+ * ld/emultempl/m68kcoff.em: Likewise.
+ * ld/emultempl/pe.em: Likewise.
+ * ld/emultempl/pep.em: Likewise.
+ * ld/emultempl/sunos.em: Likewise.
+ * ld/emultempl/ticoff.em: Likewise.
+ * ld/emultempl/vanilla.em: Likewise.
+
+2014-05-24 Alan Modra <amodra@gmail.com>
+
+ * ldlang.c (base): Move variable to..
+ * mri.c: ..here, and make static.
+ * ldlang.h (base): Delete declaration.
+
+2014-05-20 Hans-Peter Nilsson <hp@axis.com>
+
+ * Makefile.am (ALL_EMULATION_SOURCES): Add missing eelf32mbel_linux.c.
+ * Makefile.in: Regenerate.
-2013-03-21 Kai Tietz <ktietz@redhat.com>
+2014-05-20 Alan Modra <amodra@gmail.com>
- * pe-dll.c (process_def_file_and_drectve): Don't handle VC
- generated C++-symbols as stdcall/fastcall.
+ PR 16952
+ * emulparams/elf32ppccommon.sh (_SDA_BASE_, _SDA2_BASE_): Delete.
+ * emultempl/ppc32elf.em (ppc_before_allocation): Call
+ ppc_elf_maybe_strip_sdata_syms.
+ * ldlang.c (size_input_section): Correct output_offset value
+ for excluded input sections.
-2013-03-18 Alan Modra <amodra@gmail.com>
+2014-05-16 John Marino <binutils@marino.st>
- * ld.texinfo (--as-needed): Update.
+ * configure.tgt: Add /lib to dragonfly NATIVE_LIB_DIRS.
-2013-03-14 Jakub Jelinek <jakub@redhat.com>
+2014-05-11 Chung-Lin Tang <cltang@codesourcery.com>
- * emulparams/aarch64linux.sh (LIBPATH_SUFFIX): Set to 64 for
- aarch64linux* emulations.
+ * emulparams/nios2linux.sh (OTHER_GOT_SYMBOLS): Wrap _gp in HIDDEN(),
+ and gp in PROVIDE_HIDDEN.
-2013-03-07 Alan Modra <amodra@gmail.com>
+2014-05-10 Hans-Peter Nilsson <hp@bitrange.com>
- * ldfile.c (ldfile_open_command_file_1): Return after einfo
- to avoid warning.
+ * ldlang.c (lang_finish): Don't call bfd_link_hash_table_free here.
+ (output_bfd_hash_table_free_fn): New variable.
+ (open_output): Save the _bfd_link_hash_table_free function for the
+ output_bfd into output_bfd_hash_table_free_fn.
+ * ldmain.c (ld_cleanup): If set, call output_bfd_hash_table_free_fn
+ on link_info.hash.
+ * ldlang.h (output_bfd_hash_table_free_fn): Declare.
-2013-03-05 Corinna Vinschen <vinschen@redhat.com>
+2014-05-02 Alan Modra <amodra@gmail.com>
- * configure.host: Add x86_64-*-cygwin* as valid host.
- * configure.tgt: Add x86_64-*-cygwin* as valid target.
- * emultempl/pep.em: Handle different requirements for Cygwin in terms
- of start addresses for executables and DLLs, based on memory model in
- http://cygwin.com/ml/cygwin-developers/2013-02/msg00027.html
+ * emultempl/metagelf.em: Update bfd target vector naming.
+ * emultempl/nios2elf.em: Likewise.
+ * emultempl/spuelf.em: Likewise.
+ * emultempl/tic6xdsbt.em: Likewise.
-2013-03-05 Alan Modra <amodra@gmail.com>
+2014-04-22 Christian Svensson <blue@cmd.nu>
- PR ld/15222
- * ldlang.c (lang_size_sections_1): When given an lma_region align
- LMA as per VMA only if lma_region is the same as region.
+ * Makefile.am: Remove openrisc and or32 support. Add support for or1k.
+ * configure.tgt: Likewise.
+ * emulparams/elf32or1k.sh: New file.
+ * emulparams/elf32or1k_linux.sh: New file.
+ * emulparams/elf32openrisc.sh: Delete.
+ * emulparams/or32.sh: Delete.
+ * emulparams/or32elf.sh: Delete.
+ * scripttempl/or32.sc: Delete.
+ * Makefile.in: Regenerate.
-2013-02-27 Nick Clifton <nickc@redhat.com>
+2014-04-21 Richard Henderson <rth@redhat.com>
- * scripttempl/elf32msp430.sc: Add placement of .data.* sections.
- Add alignment of .bss section.
- * scripttempl/elf32msp430_3.sc: Likewise.
+ * emultempl/alphaelf.em (alpha_after_parse): Enable 2 relax passes.
-2013-02-26 Nick Clifton <nickc@redhat.com>
+2014-04-16 Steve Ellcey <sellcey@mips.com>
- PR ld/15188
- * ld.texinfo: Fix typos.
+ * emultempl/elf32.em: Include safe-ctype.h.
-2013-02-21 Alan Modra <amodra@gmail.com>
+2014-04-16 Steve Ellcey <sellcey@mips.com>
- * scripttempl/elf.sc (.init_array, .fini_array): Don't sort all
- .init_array/.fini_array input sections before .ctors/.dtors input
- sections.
- (CTORS_IN_INIT_ARRAY, DTORS_IN_INIT_ARRAY): Adjust to suit.
+ * ldbuildid.c (generate_build_id): Add ATTRIBUTE_UNUSED to size arg.
-2013-02-21 Alan Modra <amodra@gmail.com>
+2014-04-09 Nick Clifton <nickc@redhat.com>
- * emultempl/elf32.em (write_build_id, setup_build_id): Adjust
- for elf_tdata changes.
+ * Makefile.am (default-manifest.o): Remove rule.
+ (EMUL_EXTRA_BINARIES): Delete.
+ (ALL_EMUL_EXTRA_BINARIES): Delete.
+ (ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES.
+ (install-data-local): Remove EMUL_EXTRA_BINARIES.
+ * Makefile.in: Regenerate.
+ * configure.in (all_emul_extra_binaries): Delete.
+ (EMUL_EXTRA_BINARIES): Remove.
+ * configure: Regenerate.
+ * configure.tgt (target_extra_binaries): Delete.
+ * emultempl/default-manifest.rc: Delete.
+ * ld.texinfo: Remove discussion of default manifest.
+ * emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete.
+ * emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete.
+
+2014-04-09 Alan Modra <amodra@gmail.com>
+
+ * emultempl/spuelf.em: Include safe-ctype.h, remove duplicate errno.h.
+ * emultempl/nds32elf.em: Include bfd_stdint.h.
+ * po/POTFILES.in: Regenerate.
+
+2014-04-09 Alan Modra <amodra@gmail.com>
-2013-02-21 Alan Modra <amodra@gmail.com>
+ * emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions.
+ (LDEMUL_FINISH): Define.
- * emultempl/elf-generic.em: Use newly defined elf_obj_tdata
- accessor macros.
+2014-04-08 Nick Clifton <nickc@redhat.com>
-2013-02-20 Alan Modra <amodra@gmail.com>
+ * scripttempl/pe.sc (R_RSRC): Remove default manifest.
+ * scripttempl/pep.sc (R_RSRC): Remove default manifest.
- * Makefile.am: Use $(ELF_DEPS) on a number of eelf*.c rules.
+2014-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
+
+ * emultempl/elf32.em (id_note_section_size, read_hex, write_build_id):
+ Move code for parsing build-id option and calculating the build-id to...
+ * ldbuildid.c: New file.
+ * ldbuildid.h: New file.
+ * Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new
+ files.
* Makefile.in: Regenerate.
+ * ld.texinfo: Update --build-id description to mention COFF
+ support.
+ * NEWS: Mention support for COFF build ids.
+ * emultempl/pe.em (gld${EMULATION_NAME}_handle_option):
+ (pecoff_checksum_contents, write_build_id, setup_build_id)
+ (gld_${EMULATION_NAME}_after_open): Handle and implement
+ build-id option.
+ * emultempl/pep.em: Likewise.
-2013-02-19 Sandra Loosemore <sandra@codesourcery.com>
+2014-04-04 Cary Coutant <ccoutant@google.com>
- PR ld/15146
- * plugin.c (plugin_notice): Add null check before dereferencing
- pointer.
+ PR gold/16804
+ * ld.texinfo: Document optional comma following output section
+ command and overlay command.
-2013-02-19 Alan Modra <amodra@gmail.com>
+2014-04-04 Alan Modra <amodra@gmail.com>
- * emultempl/elf32.em (emit_note_gnu_build_id): New static var.
- Replace all info->emit_note_gnu_build_id refs.
- (id_note_section_size): Rename from
- gld${EMULATION_NAME}_id_note_section_size.
- (struct build_id_info): Delete.
- (write_build_id): Rename from
- gld${EMULATION_NAME}_write_build_id_section.
- Update elf_tdata usage. Style, formatting.
- (setup_build_id): New function.
- (gld${EMULATION_NAME}_after_open): Use setup_build_id.
+ * ldlang.c (lang_size_sections_1 <lang_input_section_enum>): Use
+ current "fill", not "output_section_statement->fill".
-2013-02-16 H.J. Lu <hongjiu.lu@intel.com>
+2014-03-31 Nick Clifton <nickc@redhat.com>
- PR ld/15146
- * plugin.c (plugin_notice): Replace the undefined dummy bfd with
- the real one.
+ PR ld/16744
+ * emultempl/elf32.em (_after_open): Create a .note.GNU-stack
+ section when performing a relocatable link with -z [no]execstack
+ specified.
-2013-02-16 H.J. Lu <hongjiu.lu@intel.com>
+2014-03-27 H.J. Lu <hongjiu.lu@intel.com>
- PR ld/15141
- * plugin.c (plugin_notice): Also trace symbol from the IR bfd.
+ PR ld/16756
+ * ldmain.c (symbol_warning): New function.
+ (warning_callback): Use it. Scan all input files for a reference
+ to SYMBOL.
-2013-02-15 Kai Tietz <ktietz@redhat.com>
+2014-03-21 Christopher Faylor <me.cygwin2013@cgf.cx>
- * scripttempl/pep.sc (.xdata): Merge .xdata* into .xdata section.
- (.pdata): Merge .pdata* into .pdata section.
+ * ld.texinfo: Document change in handling of --enable-auto-image-base.
+ * emultempl/pe.em (pe_auto_image_base): Set to default base.
+ (gld_${EMULATION_NAME}_list_options): Change usage message to reflect
+ optional --enable-auto-image-base argument.
+ (gld${EMULATION_NAME}_handle_option): Handle optional
+ --enable-auto-image-base argument.
+ (compute_dll_image_base): Eliminate constant. Use pe_auto_image_base.
-2013-02-11 Alan Modra <amodra@gmail.com>
+2014-03-19 Nick Clifton <nickc@redhat.com>
- * ldlang.c (get_init_priority): Comment typo.
- (lang_finish): Free link_info.hash and lang_definedness_table.
- (lang_end): Delete lang_definedness_table comment.
+ * Makefile.am (default-manifest.o): Use WINDRES_FOR_TARGET.
+ * Makefile.in: Regenerate.
+ * emultempl/default-manifest.rc: Fix typo.
+ * scripttempl/pe.sc (R_RSRC): Fix default-manifest exclusion.
+ (.rsrc): Add SUBALIGN(4). Remove SORT.
+ * scripttempl/pep.sc: Likewise.
-2013-02-11 Alan Modra <amodra@gmail.com>
+2014-03-17 Christopher Faylor <me.cygwin2014@cgf.cx>
- PR ld/15130
- * ld.texinfo (-rpath-link): Typo fix.
+ * Makefile.am: Use host version of windres.
+ * Makefile.in: Regenerate.
-2013-02-08 Markos Chandras <markos.chandras@imgtec.com>
+2014-03-14 Romain Geissler <romain.geissler@amadeus.com>
+ Alan Modra <amodra@gmail.com>
- * emultempl/metagelf.em (build_section_lists): Use sec_info_type
- rather than userdata->flags.just_syms.
+ * ldlang.h (full_name_provided): New input flag.
+ * ldlang.c (new_afile): Don't use lang_input_file_is_search_file_enum
+ for -l:namespec. Instead use lang_input_file_is_l_enum with
+ full_name_provided flag.
+ * ldlfile.c (ldfile_open_file_search): Don't complete lib name if
+ full_name_provided flag is set.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
+ Handle full_name_provided libraries. Tidy EXTRA_SHLIB_EXTENSION
+ support. Set DT_NEEDED for -l:namespec as namespec.
+ * emultempl/aix.em (ppc_after_open_output): Handle full_name_provided.
+ * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
+ Don't handle full_name_provided libraries.
+ * emultempl/pe.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
+ * emultempl/pep.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
+ * emultempl/vms.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
+
+2014-03-12 Alan Modra <amodra@gmail.com>
-2013-02-06 Sandra Loosemore <sandra@codesourcery.com>
- Andrew Jenner <andrew@codesourcery.com>
+ * Makefile.in: Regenerate.
- Based on patches from Altera Corporation.
+2014-03-05 Alan Modra <amodra@gmail.com>
- * Makefile.am (enios2elf.c): New rule.
- * Makefile.in: Regenerated.
- * configure.tgt: Add case for nios2*-*-*.
- * emulparams/nios2elf.sh: New file.
- * NEWS: Note Altera Nios II support.
+ Update copyright years.
-2013-02-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+2014-03-04 Nick Clifton <nickc@redhat.com>
- * emultempl/avrelf.em (avr_elf_before_parse): New function.
- (LDEMUL_BEFORE_PARSE): Define.
+ * Makefile.am (ALL_EMUL_EXTRA_BINARIES): Remove default-manifest.
+ * Makefile.in: Regenerate.
-2013-02-06 Alan Modra <amodra@gmail.com>
+2014-02-27 Yuri Gribov <y.gribov@samsung.com>
- PR ld/15096
- * emultempl/elf32.em: Revert 2013-02-04, 2013-01-22 and 2013-01-21.
- * emultempl/alphaelf.em: Revert 2013-02-04.
- * emultempl/cr16elf.em: Likewise.
- * emultempl/crxelf.em: Likewise.
- * emultempl/hppaelf.em: Likewise.
- * emultempl/ia64elf.em: Likewise.
- * emultempl/mipself.em: Likewise.
- * NEWS: Revert 2013-01-21.
+ * emultempl/armelf.em (OPTION_LONG_PLT): Define.
+ (PARSE_AND_LIST_LONGOPTS): Add long-plt.
+ (PARSE_AND_LIST_OPTIONS): Likewise.
+ (PARSE_AND_LIST_ARGS_CASES): Handle long-plt.
+ * ld.texinfo: Document --long-plt.
-2013-02-04 H.J. Lu <hongjiu.lu@intel.com>
+2014-02-27 Alan Modra <amodra@gmail.com>
- PR ld/15096
- * emultempl/alphaelf.em (alpha_after_parse): Call
- gld${EMULATION_NAME}_after_parse instead of after_parse_default.
- * emultempl/cr16elf.em (cr16elf_after_parse): Likewise.
- * emultempl/crxelf.em (crxelf_after_parse): Likewise.
- * emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
- * emultempl/mipself.em (mips_after_parse): Likewise.
+ * emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and
+ use ppc32elf.em.
+ * emultempl/ppc32elf.em (ppc_after_open): Don't compile for
+ vxworks.
+ (LDEMUL_AFTER_OPEN): Don't set for vxworks.
+ (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude
+ -secure-plt, -bss-plt and -sdata-got when vxworks.
- * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Renamed
- to ...
- (gld_${EMULATION_NAME}_after_parse): This. Call
- gld${EMULATION_NAME}_after_parse instead of after_parse_default.
- (LDEMUL_AFTER_PARSE): Set to gld_${EMULATION_NAME}_after_parse.
+2014-02-27 Nick Clifton <nickc@redhat.com>
- * emultempl/elf32.em (new_dtags_set): New variable.
- (gld${EMULATION_NAME}_before_parse): Don't set link_info.new_dtags
- here.
- (gld${EMULATION_NAME}_after_parse): New function.
- (ld_${EMULATION_NAME}_emulation): Replace after_parse_default'
- with gld${EMULATION_NAME}_after_parse.
- (gld${EMULATION_NAME}_handle_option): Set new_dtags_set to TRUE
- when setting link_info.new_dtags.
+ * configure.in (all_emul_extra_binaries): New variable. Populated
+ by invoking configure.tgt.
+ (EMUL_EXTRA_BINARIES): New substitution.
+ * configure: Regenerate.
+ * configure.tgt (target_extra_binaries): New variable. Set to
+ default-manifest.o for Cygwin and MinGW targets.
+ * Makefile.am (EMUL_EXTRA_BINARIES): New variable. Initialised
+ by the configure script.
+ (ALL_EMUL_EXTRA_BINARIES): New variable.
+ (default-manifest.o): New rule to build the default manifest.
+ (ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES.
+ (install-data-local): Add EMUL_EXTRA_BINARIES.
+ * Makefile.in: Regenerate.
+ * ld.texinfo: Document default manifest support.
+ * emulparams/i386pe.sh (DEFAULT_MANIFEST): Define.
+ * emulparams/i386pep.sh (DEFAULT_MANIFEST): Define.
+ * emultempl/default-manifest.rc: New file.
+ * scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined.
+ * scripttempl/pep.sc (R_RSRC): Likewise.
-2013-01-25 Kai Tietz <ktietz@redhat.com>
+2014-02-26 Dan Mick <dan.mick@inktank.com>
- * deffilep.y (def_image_name): Adjust type of base-address
- argument.
- (%union): Add new type bfd_vma as vma.
- (VMA): New rule.
- (opt_base): Use VMA instead of NUMBER rule to evaluate value.
- (def_file_print): Use bfd's fprintf_vma to output base-address.
+ PR ld/16569
+ * ldcref.c (cref_sort_array): Compare unmangled names unless
+ demanglng has been requiested.
+ (output_one_cref): Output unmangled name unless demangling has
+ been requested.
-2013-01-24 Nick Clifton <nickc@redhat.com>
+2014-02-19 Igor Zamyatin <igor.zamyatin@intel.com>
+ H.J. Lu <hongjiu.lu@intel.com>
- * NEWS: Mention support for V850E3V5 architecture.
+ * emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.
-2013-01-23 Martin Koegler <martin.koegler@chello.at>
+2014-02-19 Alan Modra <amodra@gmail.com>
- PR ld/15041
- * scripttempl/pep.sc (.pdata): Only accept .pdata sections.
- (.xdata): Similarly.
- (.debug_frame): Similarly.
+ * emultempl/ppc64elf.em (params): Init new field.
+ (ppc_create_output_section_statements): Set params.save_restore_funcs
+ default.
+ (PARSE_AND_LIST_*): Add support for --save-restore-funcs and
+ --no-save-restore-funcs.
-2013-01-23 Georg-Johann Lay <avr@gjlay.de>
+2014-02-17 Alan Modra <amodra@gmail.com>
- PR ld/15037
- * scripttempl/avr.sc (.eeprom): Keep it.
+ * emultemps/ppc64elf.em (params): New static struct replacing
+ various other static vars. Adjust code throughout file.
-2013-01-23 Leif Ekblad <leif@rdos.net>
+2014-02-17 Alan Modra <amodra@gmail.com>
- * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64rdos.c.
- (eelf64rdos.c): New rule.
- * emulparams/elf64rdos.sh: New file.
- * configure.tgt (x86_64-*-rdos*): Use above.
- * Makefile.in: Regenerate.
+ * emultempl/ppc32elf.em (ppc_after_open_output): Really enable
+ ppc476 workaround for ld -r.
-2013-01-22 Roland McGrath <mcgrathr@google.com>
+2014-02-12 Alan Modra <amodra@gmail.com>
- * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set
- new_dtags to TRUE for *-*-nacl* targets.
+ * emultempl/ppc32elf.em (pagesize): New static var.
+ (ppc_after_open_output): Set params.pagesize_p2 from pagesize.
+ (PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize.
-2013-01-21 Mike Frysinger <vapier@gentoo.org>
+2014-02-11 Andrew Pinski <apinski@cavium.com>
- * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set
- link_info.new_dtags to TRUE for linux/gnu targets.
- * NEWS: Mention new dtags default.
+ * emulparams/aarch64linux32.sh (LIBPATH_SUFFIX): Change to ilp32.
+ (ELF_INTERPRETER_NAME): Define.
+ * emulparams/aarch64linux32b.sh (ELF_INTERPRETER_NAME): Define.
-2013-01-19 H.J. Lu <hongjiu.lu@intel.com>
+2014-02-10 Alan Modra <amodra@gmail.com>
- * Makefile.am (HOSTING_SCRT0): New.
+ * po/ld.pot: Regenerate.
- * configure.host (HOSTING_SCRT0): New. Used for PIE.
+2014-02-03 Alan Modra <amodra@gmail.com>
- * configure.in (HOSTING_SCRT0): New AC_SUBST.
+ * emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms)
+ plt_style): Delete. Adjust all refs to instead use..
+ (params): ..this. New variable.
+ (ppc_after_open_output): New function. Tweak params and pass to
+ ppc_elf_link_params.
+ (ppc_after_open): Adjust ppc_elf_select_plt_layout call.
+ (ppc_before_allocation): Adjust ppc_elf_tls_setup call. Enable
+ relaxation for ppc476 workaround.
+ (PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support.
+ (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
- * Makefile.in: Regenerated.
- * configure: Likewise.
+2014-02-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
-2013-01-18 Mike Frysinger <vapier@gentoo.org>
+ * ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation.
+ * ld/ldlang.c (lang_size_sections_1): Add dotdelta
+ variable which reflects the VMA change due to alignment
+ requirements. Use dotdelta do change the LMA if
+ ALIGN_WITH_INPUT is requested.
- * NEWS: Mention change in behavior with --enable-new-dtags.
- * ld.texinfo (Options): Clarify --enable-new-dtags behavior.
+2014-02-01 Hans-Peter Nilsson <hp@bitrange.com>
-2013-01-14 Leif Ekblad <leif@rdos.net>
- Alan Modra <amodra@gmail.com>
+ * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
+ call to bfd_set_section_vma exposed by recent bfd_set_section_vma
+ change.
- * ld.texinfo (-Tldata-segment): Describe.
- * ldlex.h (OPTION_TLDATA_SEGMENT): New enum value.
- * lexsup.c (ld_options): Add -Tldata-segment.
- (parse_args): Handle OPTION_TLDATA_SEGMENT.
- * scripttempl/elf.sc: Support LARGE_DATA_ADDR.
-
-2013-01-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * deffilep.y: Remove trailing white spaces.
- * elf-hints-local.h: Likewise.
- * ldexp.c: Likewise.
- * ldlang.h: Likewise.
- * ldmisc.c: Likewise.
- * ldwrite.c: Likewise.
- * pe-dll.c: Likewise.
- * emulparams/criself.sh: Likewise.
- * emulparams/crislinux.sh: Likewise.
- * emulparams/elf32_tic6x_le.sh: Likewise.
- * emulparams/elf32bmipn32-defs.sh: Likewise.
- * emulparams/elf32mb_linux.sh: Likewise.
- * emulparams/elf32mep.sh: Likewise.
- * emulparams/elf32microblaze.sh: Likewise.
- * emulparams/elf32ppc.sh: Likewise.
- * emulparams/elf64_s390.sh: Likewise.
- * emulparams/elf64alpha.sh: Likewise.
- * emulparams/elf_s390.sh: Likewise.
- * emulparams/elf_x86_64.sh: Likewise.
- * emulparams/tic80coff.sh: Likewise.
- * emultempl/aix.em: Likewise.
- * emultempl/avrelf.em: Likewise.
- * emultempl/cr16elf.em: Likewise.
- * emultempl/pe.em: Likewise.
- * emultempl/pep.em: Likewise.
- * emultempl/spuelf.em: Likewise.
- * emultempl/tic6xdsbt.em: Likewise.
+2014-01-30 Sandra Loosemore <sandra@codesourcery.com>
-2013-01-10 Will Newton <will.newton@imgtec.com>
+ * Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
+ * Makefile.in: Regenerated.
+ * emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
+ * emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
+ * emultempl/nios2elf.em: New file.
+ * gen-doc.texi (NIOSII): Set.
+ * ld.texinfo (NIOSII): Set.
- * Makefile.am: Add Meta.
+2014-01-28 Nick Clifton <nickc@redhat.com>
+
+ * Makefile.am: Remove obsolete MSP430 emulations.
+ * configure.tgt: Likewise.
+ * emulparams/msp430all.sh: Likewise.
* Makefile.in: Regenerate.
- * configure.tgt: Add Meta.
- * emulparams/elf32metag.sh: New file.
- * emultempl/metagelf.em: New file.
-2013-01-09 Alan Modra <amodra@gmail.com>
+2014-01-24 H.J. Lu <hongjiu.lu@intel.com>
- * emulparams/elf_x86_64.sh (LARGE_BSS_AFTER_BSS): Define.
- * emulparams/elf32_x86_64.sh: Likewise.
- * emulparams/elf_k1om.sh: Likewise.
- * emulparams/elf_l1om.sh: Likewise.
- * scripttempl/elf.sc (LARGE_BSS): Define rather than appending to
- OTHER_BSS_SECTIONS. Substitute in script.
+ PR ld/16498
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
+ orphaned TLS section handling.
-2013-01-08 Leif Ekblad <leif@rdos.net>
+2014-01-24 Alan Modra <amodra@gmail.com>
- * scripttempl/elf.sc (RODATA_ADDR): Typo fix.
+ * ldlang.c (lang_output_section_find_by_flags): Be careful to
+ test look->bfd_section->flags if available rather than
+ look->flags. Separate SEC_THREAD_LOCAL handling from
+ SEC_READONLY loop, and rewrite.
-2013-01-08 Alan Modra <amodra@gmail.com>
+2014-01-22 Alan Modra <amodra@gmail.com>
- * emultempl/elf32.em (gld${EMULATION_NAME}_check_ld_so_conf): Replace
- "name" param with a bfd_link_needed_list pointer. Update caller.
- (gld${EMULATION_NAME}_check_ld_elf_hints): Likewise.
+ * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
+ (lang_init): Initialise them.
+ (lang_print_asneeded): New function.
+ (lang_process): Call lang_print_asneeded.
+ * ldlang.h (struct asneeded_minfo): New.
+ (asneeded_list_tail): Declare.
+ * ldmain.c (add_archive_element): Improve archive map heading.
+ * ldmisc.c (minfo): Stash --as-needed info.
-2013-01-08 Alan Modra <amodra@gmail.com>
+2014-01-22 Alan Modra <amodra@gmail.com>
- * Makefile.am (ALL_EMULATION_SOURCES): Correct eavrxmega entries.
- * Makefile.in: Regenerate.
+ * ld.h (struct map_symbol_def): Move to..
+ * ldlang.h: ..here.
+ * ldlang.c (print_assignment): Don't set expld.assign_name to dot.
-2013-01-07 H.J. Lu <hongjiu.lu@intel.com>
+2014-01-22 Alan Modra <amodra@gmail.com>
- * lexsup.c (ld_options): Add fuse-ld= for GCC linker option
- compatibility.
+ * ld.texinfo (Output Section Discarding): Mention assigning to dot
+ as a way of keeping otherwise empty sections.
+ * ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
+ is_dot_plus_0, is_align_conditional): New predicates.
+ (exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
+ output section, except for some special cases.
+ * scripttempl/elfmicroblaze.sc: Use canonical form to align at
+ end of .heap and .stack.
-2013-01-07 Patrice Dumas <pertusus@free.fr>
+2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
- * ld.texinfo: Replace @ with @@ when it is part of the text.
- Correct ordering of M68HC11 entry.
+ * emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
-2013-01-04 Juergen Urban <JuergenUrban@gmx.de>
+2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
- * configure.tgt: Support ELF files for Sony Playstation 2 (for
- ps2dev and ps2sdk).
- * emulparams/elf32lr5900n32.sh: Create linker script for Sony
- Playstation 2 ELF files using MIPS ABI n32.
- * emulparams/elf32lr5900.sh: Create linker script for Sony
- Playstation 2 ELF files using MIPS ABI o32.
- * Makefile.am: Add linker scripts for Sony Playstation 2 ELF
- files.
+ * emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
+
+2014-01-20 Alan Modra <amodra@gmail.com>
+
+ * ldlang.h (struct lang_definedness_hash_entry): Add by_object and
+ by_script. Make iteration a single bit field.
+ (lang_track_definedness, lang_symbol_definition_iteration): Delete.
+ (lang_symbol_defined): Declare.
+ * ldlang.c (lang_statement_iteration): Expand comment a little.
+ (lang_init <lang_definedness_table>): Make it bigger.
+ (lang_track_definedness, lang_symbol_definition): Delete.
+ (lang_definedness_newfunc): Update.
+ (lang_symbol_defined): New function.
+ (lang_update_definedness): Create entries here. Do track whether
+ script definition of symbol is valid, even when also defined in
+ an object file.
+ * ldexp.c (fold_name <DEFINED>): Update.
+ (fold_name <NAME>): Allow self-assignment for absolute symbols
+ defined in a linker script.
+
+2014-01-20 Guy Martin <gmsoft@tuxicoman.be>
+ Alan Modra <amodra@gmail.com>
+
+ * ldlang.h (lang_output_section_get): Define.
+ * ldlang.c (lang_output_section_get): Likewise.
+ (init_os): Set the output_section userdata to the output
+ section statement.
+ * emultempl/hppaelf.em: Use lang_output_section_get instead of
+ lang_output_section_find where applicable.
+ * emultempl/aarch64elf.em: Likewise.
+ * emultempl/aix.em: Likewise.
+ * emultempl/armelf.em: Likewise.
+ * emultempl/m68hc1xelf.em: Likewise.
+ * emultempl/metagelf.em: Likewise.
+ * emultempl/mipself.em: Likewise.
+ * emultempl/ppc64elf.em: Likewise.
+ * emultempl/spuelf.em: Likewise.
+
+2014-01-17 Alan Modra <amodra@gmail.com>
+
+ * genscripts.sh (COMPILE_IN): Don't set if already set.
+ * emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
+ COMPILE_IN=no.
+ * emulparams/nds32elf16m.sh: Likewise.
+ * emulparams/nds32elf_linux.sh: Likewise.
+ * emultempl/aix.em: Test COMPILE_IN value is "yes".
+ * emultempl/armcoff.em: Likewise.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/generic.em: Likewise.
+ * emultempl/gld960.em: Likewise.
+ * emultempl/gld960c.em: Likewise.
+ * emultempl/linux.em: Likewise.
+ * emultempl/lnk960.em: Likewise.
+ * emultempl/m68kcoff.em: Likewise.
+ * emultempl/sunos.em: Likewise.
+ * emultempl/ticoff.em: Likewise.
+
+2014-01-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/16456
+ * genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
+ suffix.
+ * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
+ for elf32_x86_64 emulation.
+ * emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
+ for elf_i386 emulation.
+
+2014-01-16 Alan Modra <amodra@gmail.com>
+
+ * ld.h (fat_section_userdata_type, get_userdata): Move to..
+ * ldlang.h (input_section_userdata_type, get_userdata): ..here.
+ * ldlang.c (init_map_userdata): Delete. Fold into..
+ (sort_def_symbol): ..here. Don't attach input section userdata
+ to output sections or global bfd sections.
+ (lang_map): Don't pre-allocate input section userdata.
+ (init_os): Don't allocate userdata for output sections.
+ (print_all_symbols): Update.
+
+2014-01-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
+ Silence uninitialized warning on ehdr_start_save with older
+ GCC.
+
+2014-01-15 Alan Modra <amodra@gmail.com>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
+ __ehdr_start before size_dynamic_sections and restore afterwards.
+
+2014-01-10 Alan Modra <amodra@gmail.com>
+
+ PR ld/14207
+ PR ld/16322
+ PR binutils/16323
+ * ldlang.c (lang_size_sections): Remove unneeded RELRO base
+ adjust. Tidy comments.
+ * ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.
+
+2014-01-10 Hans-Peter Nilsson <hp@axis.com>
+
+ * emulparams/crislinux.sh (COMMONPAGESIZE): Define.
+
+2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/14207
+ PR ld/16322
+ PR binutils/16323
+ * ldlang.c (lang_size_sections): Properly align RELRO base.
-2013-01-02 H.J. Lu <hongjiu.lu@intel.com>
+2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
- * ldver.c (ldversion): Update copyright year to 2013.
+ * ldver.c (ldversion): Update copyright year to 2014.
-For older changes see ChangeLog-2012
+For older changes see ChangeLog-2013
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/binutils-2.25/ld/ChangeLog-2013 b/binutils-2.25/ld/ChangeLog-2013
new file mode 100644
index 00000000..b996faf9
--- /dev/null
+++ b/binutils-2.25/ld/ChangeLog-2013
@@ -0,0 +1,883 @@
+2013-12-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * emulparams/elf_k1om.sh (IREL_IN_PLT): Define.
+ * emulparams/elf_l1om.sh (IREL_IN_PLT): Likewise.
+
+2013-12-13 Kuan-Lin Chen <kuanlinchentw@gmail.com>
+ Wei-Cheng Wang <cole945@gmail.com>
+ Hui-Wen Ni <sabrinanitw@gmail.com>
+
+ * Makefile.am (ALL_EMULATION_SOURCES): Add nds32 target.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add case for nds32*le-*-elf*, nds32*be-*-elf*,
+ nds32*le-*-linux-gnu*, and nds32*be-*-linux-gnu*.
+ * emulparams/nds32belf.sh: New file for nds32.
+ * emulparams/nds32belf_linux.sh: Likewise.
+ * emulparams/nds32belf16m.sh: Likewise.
+ * emulparams/nds32elf.sh: Likewise.
+ * emulparams/nds32elf_linux.sh: Likewise.
+ * emulparams/nds32elf16m.sh: Likewise.
+ * emultempl/nds32elf.em: Likewise.
+ * scripttempl/nds32elf.sc}: Likewise.
+ * gen-doc.texi: Set NDS32.
+ * ld.texinfo: Set NDS32.
+ * NEWS: Announce Andes nds32 support.
+
+2013-12-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld.texinfo: Remove shared object from -Ttext-segment.
+
+2013-12-10 Roland McGrath <mcgrathr@google.com>
+
+ * Makefile.am (install-exec-local): Prefix libtool invocation with
+ $(INSTALL_PROGRAM_ENV).
+ * Makefile.in: Regenerate.
+
+2013-12-07 Mike Frysinger <vapier@gentoo.org>
+
+ * ChangeLog-2008: Remove +x file mode.
+ * emulparams/bfin.sh: Likewise.
+ * emulparams/elf32bmipn32.sh: Likewise.
+ * emulparams/elf32fr30.sh: Likewise.
+ * emulparams/elf32frv.sh: Likewise.
+ * emulparams/elf32iq10.sh: Likewise.
+ * emulparams/elf32iq2000.sh: Likewise.
+ * emulparams/elf32mep.sh: Likewise.
+ * emulparams/elf32openrisc.sh: Likewise.
+ * emulparams/elf64bmip.sh: Likewise.
+ * emulparams/elf64hppa.sh: Likewise.
+ * emulparams/i386beos.sh: Likewise.
+
+2013-11-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/16259
+ * Makefile.am (HOSTING_SLIBS): New.
+ * configure.host (HOSTING_SLIBS): New. Used for PIE.
+ * configure.in (HOSTING_SLIBS): New AC_SUBST.
+ * Makefile.in: Regenerated.
+ * configure: Likewise.
+
+2013-11-22 Cory Fields <cory@coryfields.com>
+
+ * pe-dll.c (fill_edata): Only use a real timestamp if
+ --insert-timestamp was used.
+ * emultempl/pe.em: Add the --insert-timestamp option.
+ * emultempl/pep.em: Likewise for 64bit.
+ * ld.texinfo: Document the --insert-timestamp option.
+
+2013-11-22 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ * scripttempl/avr.sc: Set .data section's LMA to next available
+ address in text region.
+
+2013-11-21 Andrew Pinski <apinski@cavium.com>
+
+ * Makefile.am (ALL_64_EMULATION_SOURCES): Add eaarch64linux32.c
+ and eaarch64linux32b.c
+ (eaarch64linux32.c): New target.
+ (eaarch64linux32b.c): Likewise.
+ * Makefile.in: Regenerate.
+ * configure.tgt (aarch64_be-*-linux*): Add
+ aarch64linux32 and aarch64linux32b to targ_extra_libpath.
+ (aarch64-*-linux*): Likewise.
+ * emulparams/aarch64elf32.sh (SEPARATE_GOTPLT): Change to 12 (3 words).
+ * emulparams/aarch64linux32.sh: New file.
+ * emulparams/aarch64linux32b.sh: New file.
+
+2013-11-21 Andrew Pinski <apinski@cavium.com>
+
+ * configure.tgt (aarch64_be-*-linux*): Split out the linux targets
+ into targ_extra_libpath.
+ (aarch64-*-linux*): Likewise.
+
+2013-11-21 Nick Clifton <nickc@redhat.com>
+
+ PR ld/16192
+ * pe-dll.c (pe_create_runtime_relocator_reference): Zero the
+ newly allocated idata5 block.
+
+2013-11-20 Nick Clifton <nickc@redhat.com>
+
+ * scripttempl/elf32msp430.sc (.data): Set the based on the next
+ free location in the text memory region, not a computation based
+ upon the size of the text section. Orphaned sections or other
+ linker scripts might insert new sections between the .text section
+ and the .data section.
+ * scripttempl/elf32msp430_3.sc (.data): Likewise.
+
+2013-11-19 Roland McGrath <mcgrathr@google.com>
+ Alan Modra <amodra@gmail.com>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
+ Don't use bfd_elf_record_link_assignment to mark __ehdr_start
+ hidden. Instead, just do it directly here, and only if it was
+ referenced but not defined.
+
+2013-11-18 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * emulparams/nios2linux.sh: New emulation file.
+ * configure.tgt: Add nios2*-*-linux* emulation case.
+ * Makefile.am (enios2linux.c): New emulation entry.
+ * Makefile.in: Regenerate.
+
+2013-10-14 Nick Clifton <nickc@redhat.com>
+
+ * emultempl/aix.em (_read_file): Close file at end of function.
+
+2013-10-10 Roland McGrath <mcgrathr@google.com>
+
+ * ldmisc.c (vfinfo): Use Boolean ? "" : ":" in place of ":" + Boolean.
+ It silences some compilers' warnings and is much less bizarre to read.
+
+2013-10-09 Roland McGrath <mcgrathr@google.com>
+
+ * emultempl/elf32.em (id_note_section_size): Use ATTRIBUTE_UNUSED
+ rather than a dummy assignment for unused parameter.
+ * plugin.c (get_input_file, release_input_file): Likewise.
+
+2013-10-09 Nick Clifton <nickc@redhat.com>
+
+ PR ld/16028
+ * ldmain.c (add_keepsyms_file): Close file at end of function.
+
+2013-10-03 Will Newton <will.newton@linaro.org>
+
+ * emulparams/aarch64elf.sh: Add IREL_IN_PLT.
+ * emulparams/aarch64elf32.sh: Likewise.
+
+2013-09-30 Nick Clifton <nickc@redhat.com>
+
+ * emulparams/msp430all.sh: Update ARCH names.
+
+2013-09-24 Alan Modra <amodra@gmail.com>
+
+ * emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Provide 32-bit
+ and cross-endian values.
+ * emulparams/elf64ppc.sh: Source elf32ppccomon.sh. Delete duplicate,
+ and unset unwanted variables.
+
+2013-09-24 Alan Modra <amodra@gmail.com>
+
+ * genscripts.sh (LIB_PATH): Don't exclude libdir or tooldir when
+ sysrooted. Also, don't always add tooldir when non-sysrooted.
+ Instead add both when native and tooldir also when TOOL_DIR is
+ defined. Always prepend '=' to paths when sysrooted. Always
+ put paths with LIBPATH_SUFFIX first in search order.
+
+2013-09-20 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * Makefile.am (enios2elf.c): Change tdir_nios2 to tdir_nios2elf.
+ * Makefile.in: Regenerate.
+
+2013-09-20 Alan Modra <amodra@gmail.com>
+
+ * configure: Regenerate.
+
+2013-09-18 Tristan Gingold <gingold@adacore.com>
+
+ * NEWS: Add marker for 2.24.
+
+2013-09-17 Nick Clifton <nickc@redhat.com>
+
+ PR ld/15957
+ * deffilep.y (def_file_add_directive): Avoid readin past end of
+ buffer.
+
+2013-08-28 Nick Clifton <nickc@redhat.com>
+
+ PR ld/15896
+ * ld.texinfo: Fix uses of MB abbreviation.
+
+2013-08-26 Roland McGrath <mcgrathr@google.com>
+
+ * emulparams/elf_i386_nacl.sh (ARCH): Set to i386:nacl.
+ * emulparams/elf_x86_64_nacl.sh (ARCH): Set to i386:x86-64:nacl.
+ * emulparams/elf32_x86_64_nacl.sh (ARCH): Set to i386:x64-32:nacl.
+
+2013-08-23 Roland McGrath <mcgrathr@google.com>
+
+ * emulparams/elf_nacl.sh (nacl_rodata_addr): Don't add in
+ SIZEOF_HEADERS here; elf.sc does it already.
+
+2013-08-23 Nick Clifton <nickc@redhat.com>
+
+ PR ld/15839
+ * scripttempl/avr.sc: Do not include gc'able sections into general
+ sections during relocatable links.
+
+2013-08-22 Christian Franke <franke@computer.org>
+
+ * emultempl/pe.em: Add --disable-large-address-aware option.
+ * ld.texinfo (--disable-large-address-aware): Add documentation.
+
+2013-08-14 Clemens Lang <clemens.lang@fau.de>
+
+ * ldexp.c: Add LOG2CEIL() builtin function to linker script language
+ * ldgram.y: Likewise
+ * ldlex.l: Likewise
+ * NEWS: Mention the new feature.
+ * ld.texinfo: Document the new feature.
+
+2013-07-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * ldgram.y: Add ALIGN_WITH_INPUT output section attribute.
+ * ldlang.c: Likewise.
+ * ldlang.h: Likewise.
+ * ldlex.l: Likewise.
+ * mri.c: Likewise.
+ * ld.texinfo: Document new feature.
+ * NEWS: Mention new feature.
+
+2013-07-18 Roland McGrath <mcgrathr@google.com>
+
+ * emultempl/armelf.em (elf32_arm_add_stub_section): Take third
+ argument ALIGNMENT_POWER, use it instead of constant 3.
+
+2013-07-08 Jeff Law <law@redhat.com>
+
+ * scripttempl/elf.sc: Handle function names and other text after
+ .text.unlikely too.
+
+2013-07-08 Tristan Gingold <gingold@adacore.com>
+
+ * scripttempl/ia64vms.sc: Add support of per data and per function
+ sections.
+
+2013-07-01 Alan Modra <amodra@gmail.com>
+
+ * emultempl/ppc64elf.em: (ppc_layout_sections_again): Call
+ ppc64_elf_set_toc rather than ppc64_elf_toc/_bfd_set_gp_value.
+ (gld${EMULATION_NAME}_after_allocation): Likewise.
+
+2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * emulparams/aarch64elf32.sh: New file.
+
+2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * Makefile.am (ALL_64_EMULATION_SOURCES): Add eaarch64elf32b.c.
+ (eaarch64elf32b.c): New dependency and rule.
+ * Makefile.in: Re-generated.
+ * configure.tgt (aarch64-*-elf): Add aarch64elf32b.
+ (aarch64_be-*-elf, aarch64_be-*-linux*, aarch64-*-linux*): Likewise.
+ * emulparams/aarch64elf32b.sh: New file.
+
+2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * Makefile.am (ALL_64_EMULATION_SOURCES): Add eaarch64elf32.c.
+ (eaarch64elf32.c): New dependency and rule.
+ * Makefile.in: Re-generated.
+ * configure.tgt (aarch64-*-elf): Add aarch64elf32.
+ (aarch64_be-*-elf, aarch64_be-*-linux*, aarch64-*-linux*): Likewise.
+ * emulparams/aarch64elf32.sh: New file.
+
+2013-06-25 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * emultempl/mipself.em (insn32): New variable.
+ (mips_create_output_section_statements): Handle insn32 mode.
+ (PARSE_AND_LIST_PROLOGUE): New macro.
+ (PARSE_AND_LIST_LONGOPTS): Likewise.
+ (PARSE_AND_LIST_OPTIONS): Likewise.
+
+ * gen-doc.texi: Set MIPS.
+ * ld.texinfo: Likewise.
+ (Options specific to MIPS targets): New section.
+ (ld and MIPS family): New node.
+ (Top, Machine Dependent): List the new node.
+
+2013-06-24 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * emulparams/elf32btsmip.sh: Arrange for .got.plt to be placed
+ as close to .plt as possible.
+ * scripttempl/elf.sc: Handle $INITIAL_READWRITE_SECTIONS and
+ $PLT_NEXT_DATA variables.
+
+2013-06-23 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.am (ALL_EMULATION_SOURCES): Move MIPS ELF emulations to...
+ (ALL_64_EMULATION_SOURCES): ...here.
+ * Makefile.in: Regenerate.
+
+2013-06-22 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * NEWS: Document the removal of MIPS ECOFF targets.
+ * ld.texinfo (--gpsize=@var{value}): Use MIPS ELF rather than
+ MIPS ECOFF as an example of a target that supports small data.
+ * ldmain.c (g_switch_value): Likewise.
+ * configure.tgt (mips*-*-pe, mips*-dec-ultrix*, mips*-dec-osf*)
+ (mips*-sgi-irix* [v4 and earlier], mips*el-*-ecoff*, mips*-*-ecoff*)
+ (mips*-*-bsd*, mips*-*-lnews*): Remove cases.
+ * Makefile.am (ALL_EMULATION_SOURCES): Remove emipsbig.c, emipsbsd.c,
+ emipsidt.c, emipsidtl.c, emipslit.c, emipslnews.c and emipspe.c.
+ (emipsbig.c, emipsbsd.c, emipsidt.c, emipsidtl.c, emipslit.c)
+ (emipslnews.c, emipspe.c): Delete rules.
+ * Makefile.in: Regenerate.
+ * emulparams/mipsbig.sh, emulparams/mipsbsd.sh, emulparams/mipsidt.sh,
+ emulparams/mipsidtl.sh, emulparams/mipslit.sh, emulparams/mipslnews.sh,
+ emulparams/mipspe.sh, emultempl/mipsecoff.em: Delete.
+ * emultempl/m68kcoff.em: Update comment to say that MIPS ECOFF support
+ has now been removed.
+ * emultempl/pe.em: Remove TARGET_IS_mipspe checks.
+
+2013-06-19 Will Newton <will.newton@linaro.org>
+
+ * emulparams/aarch64elf.sh: Remove IREL_IN_PLT.
+
+2013-06-14 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * emulparams/aarch64elf.sh: Add IREL_IN_PLT.
+
+2013-06-12 Nick Clifton <nickc@redhat.com>
+
+ * ldcref.c (output_one_cref): Place common definitions after
+ ordinary definitions but before references.
+
+2013-06-10 Dilyan Palauzov <dilyan.palauzov@aegee.org>
+
+ PR ld/15598
+ * ld.texinfo (Source Code Reference): Fix typos.
+
+2013-06-07 Will Newton <will.newton@linaro.org>
+
+ * emulparams/aarch64elf.sh: Add IREL_IN_PLT.
+
+2013-06-07 Nick Clifton <nickc@redhat.com>
+
+ * ld.texinfo (SEGMENT_START): Rephrase to indicate that a -T
+ option must appear before the SEGMENT_START is encountered in
+ order for the default value to be overridden.
+
+2013-05-03 Alan Modra <amodra@gmail.com>
+
+ PR ld/15365
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
+ Restrict __ehdr_start's export class to no less than STV_HIDDEN.
+
+2013-05-03 Alan Modra <amodra@gmail.com>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
+ Only call lang_for_each_statement if an ELF hash table is used.
+
+2013-05-02 Nick Clifton <nickc@redhat.com>
+
+ * Makefile.am: Add emsp430X.c
+ * Makefine.in: Regenerate.
+ * configure.tgt (msp430): Add msp430X emulation.
+ * ldmain.c (multiple_definition): Only disable relaxation if it
+ was enabled by the user.
+ * ldmain.h (RELAXATION_ENABLED_BY_USER): New macro.
+ * emulparams/msp430all.sh: Add support for MSP430X.
+ * emultempl/generic.em: (before_parse): Enable relaxation for the
+ MSP430.
+ * scripttempl/msp430.sc: Reorganize sections. Add .rodata
+ section.
+ * scripttempl/msp430_3.sc: Likewise.
+ * NEWS: Mention support for MSP430X.
+
+2013-05-01 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * configure.tgt: Replace alpha*-*-linuxecoff* pattern with
+ alpha*-*-linux*ecoff*. Update the `sed' pattern used to convert
+ from alpha*-*-linux-* to alpha*-*-linux*ecoff*.
+
+2013-05-01 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
+ Use is_elf_hash_table rather than a handcoded condition.
+
+2013-04-30 Nick Clifton <nickc@redhat.com>
+
+ * ld.texinfo (SORT_BY_ALIGNMENT): Fix and clarify typo - sections
+ are sorted by descending order of alignment.
+
+2013-04-29 Nick Clifton <nickc@redhat.com>
+
+ * scripttempl/DWARF.sc: Add support for .debug_line.* and
+ .debug_line_end.
+
+2013-04-29 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+
+ * emultempl/pe.em [cygwin]: Do not merge rdata with v2
+ psuedo-relocs.
+
+2013-04-28 Thomas Schwinge <thomas@codesourcery.com>
+
+ * scripttempl/armbpabi.sc: Replace "source" usage with ".".
+ * scripttempl/avr.sc: Likewise.
+ * scripttempl/elf.sc: Likewise.
+ * scripttempl/elf32cr16.sc: Likewise.
+ * scripttempl/elf32crx.sc: Likewise.
+ * scripttempl/elf32msp430.sc: Likewise.
+ * scripttempl/elf32msp430_3.sc: Likewise.
+ * scripttempl/elf32sh-symbian.sc: Likewise.
+ * scripttempl/elf64hppa.sc: Likewise.
+ * scripttempl/elf_chaos.sc: Likewise.
+ * scripttempl/elfd10v.sc: Likewise.
+ * scripttempl/elfd30v.sc: Likewise.
+ * scripttempl/elfi370.sc: Likewise.
+ * scripttempl/elfm68hc11.sc: Likewise.
+ * scripttempl/elfm68hc12.sc: Likewise.
+ * scripttempl/elfxgate.sc: Likewise.
+ * scripttempl/elfxtensa.sc: Likewise.
+ * scripttempl/epiphany_4x4.sc: Likewise.
+ * scripttempl/i386beos.sc: Likewise.
+ * scripttempl/i386go32.sc: Likewise.
+ * scripttempl/ia64vms.sc: Likewise.
+ * scripttempl/ip2k.sc: Likewise.
+ * scripttempl/iq2000.sc: Likewise.
+ * scripttempl/mep.sc: Likewise.
+ * scripttempl/mmo.sc: Likewise.
+ * scripttempl/v850.sc: Likewise.
+ * scripttempl/v850_rh850.sc: Likewise.
+ * scripttempl/xstormy16.sc: Likewise.
+
+2013-04-26 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ * scripttempl/avr.sc: Add ALIGN directive after *(.progmem*).
+
+2013-04-26 Alan Modra <amodra@gmail.com>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Test
+ unresolved_syms_in_shared_libs rather than !executable to
+ determine whether to load DT_NEEDED libraries.
+
+2013-04-25 Alan Modra <amodra@gmail.com>
+
+ * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32lppclinux.c.
+ (eelf32lppclinux.c): New rule.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Merge powerpc-linux and other powerpc-elf targets
+ with corresponding little-endian targets.
+ * emulparams/elf32lppc.sh: Update comment.
+ * emulparams/elf32lppclinux.sh: New.
+
+2013-04-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.tgt (targ_extra_emuls): Adds elf32_x86_64 for
+ x86_64-*-elf*.
+ (targ_extra_libpath): Likewise.
+ (tdir_elf_i386): Replace x86_64 with i386 for x86_64-*-elf*.
+
+2013-04-24 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * emulparams/aarch64elf.sh: Define ELFSIZE=64.
+ * emulparams/aarch64linux.sh: Ditto.
+ * emultempl/aarch64elf.em (aarch64_elf_before_allocation):
+ Replace elf64 with elf${ELFSIZE}.
+ (elf64_aarch64_add_stub_section): Likewise.
+ (build_section_lists): Likewise.
+ (gld${EMULATION_NAME}_after_allocation): Likewise.
+ (gld${EMULATION_NAME}_finish): Likewise.
+ (aarch64_elf_create_output_section_statements): Likewise.
+
+2013-04-24 Nick Clifton <nickc@redhat.com>
+
+ PR ld/15389
+ * scripttempl/avr.sc: Add .note.gnu.build-id section.
+
+2013-04-22 Alan Modra <amodra@gmail.com>
+
+ * emultempl/ppc64elf.em (ppc_create_output_section_statements):
+ Check return from ppc64_elf_init_stub_bfd.
+
+2013-04-15 Nick Clifton <nickc@redhat.com>
+
+ * Makefile.am (ELF_DEPS): Add a dependency upon
+ scripttempl/DWARF.sc.
+ (ELF_GEN_DEPS): Likewise.
+ (emmo.c): Likewise.
+ * Makefile.in: Regenerate.
+
+ * scripttempl/armbpabi.sc: Replace DWARF sections with an
+ inclusion of DWARF.sc.
+ * scripttempl/avr.sc: Likewise.
+ * scripttempl/elf.sc: Likewise.
+ * scripttempl/elf32cr16.sc: Likewise.
+ * scripttempl/elf32crx.sc: Likewise.
+ * scripttempl/elf32msp430.sc: Likewise.
+ * scripttempl/elf32msp430_3.sc: Likewise.
+ * scripttempl/elf32sh-symbian.sc: Likewise.
+ * scripttempl/elf64hppa.sc: Likewise.
+ * scripttempl/elf_chaos.sc: Likewise.
+ * scripttempl/elfd10v.sc: Likewise.
+ * scripttempl/elfd30v.sc: Likewise.
+ * scripttempl/elfi370.sc: Likewise.
+ * scripttempl/elfm68hc11.sc: Likewise.
+ * scripttempl/elfm68hc12.sc: Likewise.
+ * scripttempl/elfxgate.sc: Likewise.
+ * scripttempl/elfxtensa.sc: Likewise.
+ * scripttempl/epiphany_4x4.sc: Likewise.
+ * scripttempl/i386beos.sc: Likewise.
+ * scripttempl/i386go32.sc: Likewise.
+ * scripttempl/ia64vms.sc: Likewise.
+ * scripttempl/ip2k.sc: Likewise.
+ * scripttempl/iq2000.sc: Likewise.
+ * scripttempl/mep.sc: Likewise.
+ * scripttempl/mmo.sc: Likewise.
+ * scripttempl/v850.sc: Likewise.
+ * scripttempl/v850_rh850.sc: Likewise.
+ * scripttempl/xstormy16.sc: Likewise.
+ * scripttempl/DWARF.sc: New.
+
+2013-04-04 Alan Modra <amodra@gmail.com>
+
+ * ldlang.c (load_symbols): Report "error adding symbols" on
+ bfd_link_add_symbols failure.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Likewise.
+ * emultempl/sunos.em (gld${EMULATION_NAME}_after_open): Likewise.
+ (gld${EMULATION_NAME}_try_needed): Likewise.
+
+2013-03-27 Georg-Johann Lay <gjl@gcc.gnu.org>
+
+ PR ld/13812
+ * scripttempl/avr.sc: Place trampolines before .progmem section.
+
+2013-03-25 Kai Tietz <ktietz@redhat.com>
+
+ * ld.texinfo (--disable-runtime-pseudo-reloc): Adjust default.
+
+2013-03-21 Michael Schewe <michael.schewe@gmx.net>
+
+ * ld.texinfo (H8/300): Add description of relaxation of
+ mov @(disp:32,ERx) to mov @(disp:16,ERx).
+
+2013-03-21 Kai Tietz <ktietz@redhat.com>
+
+ * pe-dll.c (process_def_file_and_drectve): Don't handle VC
+ generated C++-symbols as stdcall/fastcall.
+
+2013-03-18 Alan Modra <amodra@gmail.com>
+
+ * ld.texinfo (--as-needed): Update.
+
+2013-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ * emulparams/aarch64linux.sh (LIBPATH_SUFFIX): Set to 64 for
+ aarch64linux* emulations.
+
+2013-03-07 Alan Modra <amodra@gmail.com>
+
+ * ldfile.c (ldfile_open_command_file_1): Return after einfo
+ to avoid warning.
+
+2013-03-05 Corinna Vinschen <vinschen@redhat.com>
+
+ * configure.host: Add x86_64-*-cygwin* as valid host.
+ * configure.tgt: Add x86_64-*-cygwin* as valid target.
+ * emultempl/pep.em: Handle different requirements for Cygwin in terms
+ of start addresses for executables and DLLs, based on memory model in
+ http://cygwin.com/ml/cygwin-developers/2013-02/msg00027.html
+
+2013-03-05 Alan Modra <amodra@gmail.com>
+
+ PR ld/15222
+ * ldlang.c (lang_size_sections_1): When given an lma_region align
+ LMA as per VMA only if lma_region is the same as region.
+
+2013-02-27 Nick Clifton <nickc@redhat.com>
+
+ * scripttempl/elf32msp430.sc: Add placement of .data.* sections.
+ Add alignment of .bss section.
+ * scripttempl/elf32msp430_3.sc: Likewise.
+
+2013-02-26 Nick Clifton <nickc@redhat.com>
+
+ PR ld/15188
+ * ld.texinfo: Fix typos.
+
+2013-02-21 Alan Modra <amodra@gmail.com>
+
+ * scripttempl/elf.sc (.init_array, .fini_array): Don't sort all
+ .init_array/.fini_array input sections before .ctors/.dtors input
+ sections.
+ (CTORS_IN_INIT_ARRAY, DTORS_IN_INIT_ARRAY): Adjust to suit.
+
+2013-02-21 Alan Modra <amodra@gmail.com>
+
+ * emultempl/elf32.em (write_build_id, setup_build_id): Adjust
+ for elf_tdata changes.
+
+2013-02-21 Alan Modra <amodra@gmail.com>
+
+ * emultempl/elf-generic.em: Use newly defined elf_obj_tdata
+ accessor macros.
+
+2013-02-20 Alan Modra <amodra@gmail.com>
+
+ * Makefile.am: Use $(ELF_DEPS) on a number of eelf*.c rules.
+ * Makefile.in: Regenerate.
+
+2013-02-19 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR ld/15146
+ * plugin.c (plugin_notice): Add null check before dereferencing
+ pointer.
+
+2013-02-19 Alan Modra <amodra@gmail.com>
+
+ * emultempl/elf32.em (emit_note_gnu_build_id): New static var.
+ Replace all info->emit_note_gnu_build_id refs.
+ (id_note_section_size): Rename from
+ gld${EMULATION_NAME}_id_note_section_size.
+ (struct build_id_info): Delete.
+ (write_build_id): Rename from
+ gld${EMULATION_NAME}_write_build_id_section.
+ Update elf_tdata usage. Style, formatting.
+ (setup_build_id): New function.
+ (gld${EMULATION_NAME}_after_open): Use setup_build_id.
+
+2013-02-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15146
+ * plugin.c (plugin_notice): Replace the undefined dummy bfd with
+ the real one.
+
+2013-02-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15141
+ * plugin.c (plugin_notice): Also trace symbol from the IR bfd.
+
+2013-02-15 Kai Tietz <ktietz@redhat.com>
+
+ * scripttempl/pep.sc (.xdata): Merge .xdata* into .xdata section.
+ (.pdata): Merge .pdata* into .pdata section.
+
+2013-02-11 Alan Modra <amodra@gmail.com>
+
+ * ldlang.c (get_init_priority): Comment typo.
+ (lang_finish): Free link_info.hash and lang_definedness_table.
+ (lang_end): Delete lang_definedness_table comment.
+
+2013-02-11 Alan Modra <amodra@gmail.com>
+
+ PR ld/15130
+ * ld.texinfo (-rpath-link): Typo fix.
+
+2013-02-08 Markos Chandras <markos.chandras@imgtec.com>
+
+ * emultempl/metagelf.em (build_section_lists): Use sec_info_type
+ rather than userdata->flags.just_syms.
+
+2013-02-06 Sandra Loosemore <sandra@codesourcery.com>
+ Andrew Jenner <andrew@codesourcery.com>
+
+ Based on patches from Altera Corporation.
+
+ * Makefile.am (enios2elf.c): New rule.
+ * Makefile.in: Regenerated.
+ * configure.tgt: Add case for nios2*-*-*.
+ * emulparams/nios2elf.sh: New file.
+ * NEWS: Note Altera Nios II support.
+
+2013-02-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ * emultempl/avrelf.em (avr_elf_before_parse): New function.
+ (LDEMUL_BEFORE_PARSE): Define.
+
+2013-02-06 Alan Modra <amodra@gmail.com>
+
+ PR ld/15096
+ * emultempl/elf32.em: Revert 2013-02-04, 2013-01-22 and 2013-01-21.
+ * emultempl/alphaelf.em: Revert 2013-02-04.
+ * emultempl/cr16elf.em: Likewise.
+ * emultempl/crxelf.em: Likewise.
+ * emultempl/hppaelf.em: Likewise.
+ * emultempl/ia64elf.em: Likewise.
+ * emultempl/mipself.em: Likewise.
+ * NEWS: Revert 2013-01-21.
+
+2013-02-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15096
+ * emultempl/alphaelf.em (alpha_after_parse): Call
+ gld${EMULATION_NAME}_after_parse instead of after_parse_default.
+ * emultempl/cr16elf.em (cr16elf_after_parse): Likewise.
+ * emultempl/crxelf.em (crxelf_after_parse): Likewise.
+ * emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
+ * emultempl/mipself.em (mips_after_parse): Likewise.
+
+ * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Renamed
+ to ...
+ (gld_${EMULATION_NAME}_after_parse): This. Call
+ gld${EMULATION_NAME}_after_parse instead of after_parse_default.
+ (LDEMUL_AFTER_PARSE): Set to gld_${EMULATION_NAME}_after_parse.
+
+ * emultempl/elf32.em (new_dtags_set): New variable.
+ (gld${EMULATION_NAME}_before_parse): Don't set link_info.new_dtags
+ here.
+ (gld${EMULATION_NAME}_after_parse): New function.
+ (ld_${EMULATION_NAME}_emulation): Replace after_parse_default'
+ with gld${EMULATION_NAME}_after_parse.
+ (gld${EMULATION_NAME}_handle_option): Set new_dtags_set to TRUE
+ when setting link_info.new_dtags.
+
+2013-01-25 Kai Tietz <ktietz@redhat.com>
+
+ * deffilep.y (def_image_name): Adjust type of base-address
+ argument.
+ (%union): Add new type bfd_vma as vma.
+ (VMA): New rule.
+ (opt_base): Use VMA instead of NUMBER rule to evaluate value.
+ (def_file_print): Use bfd's fprintf_vma to output base-address.
+
+2013-01-24 Nick Clifton <nickc@redhat.com>
+
+ * NEWS: Mention support for V850E3V5 architecture.
+
+2013-01-23 Martin Koegler <martin.koegler@chello.at>
+
+ PR ld/15041
+ * scripttempl/pep.sc (.pdata): Only accept .pdata sections.
+ (.xdata): Similarly.
+ (.debug_frame): Similarly.
+
+2013-01-23 Georg-Johann Lay <avr@gjlay.de>
+
+ PR ld/15037
+ * scripttempl/avr.sc (.eeprom): Keep it.
+
+2013-01-23 Leif Ekblad <leif@rdos.net>
+
+ * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64rdos.c.
+ (eelf64rdos.c): New rule.
+ * emulparams/elf64rdos.sh: New file.
+ * configure.tgt (x86_64-*-rdos*): Use above.
+ * Makefile.in: Regenerate.
+
+2013-01-22 Roland McGrath <mcgrathr@google.com>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set
+ new_dtags to TRUE for *-*-nacl* targets.
+
+2013-01-21 Mike Frysinger <vapier@gentoo.org>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set
+ link_info.new_dtags to TRUE for linux/gnu targets.
+ * NEWS: Mention new dtags default.
+
+2013-01-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.am (HOSTING_SCRT0): New.
+
+ * configure.host (HOSTING_SCRT0): New. Used for PIE.
+
+ * configure.in (HOSTING_SCRT0): New AC_SUBST.
+
+ * Makefile.in: Regenerated.
+ * configure: Likewise.
+
+2013-01-18 Mike Frysinger <vapier@gentoo.org>
+
+ * NEWS: Mention change in behavior with --enable-new-dtags.
+ * ld.texinfo (Options): Clarify --enable-new-dtags behavior.
+
+2013-01-14 Leif Ekblad <leif@rdos.net>
+ Alan Modra <amodra@gmail.com>
+
+ * ld.texinfo (-Tldata-segment): Describe.
+ * ldlex.h (OPTION_TLDATA_SEGMENT): New enum value.
+ * lexsup.c (ld_options): Add -Tldata-segment.
+ (parse_args): Handle OPTION_TLDATA_SEGMENT.
+ * scripttempl/elf.sc: Support LARGE_DATA_ADDR.
+
+2013-01-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * deffilep.y: Remove trailing white spaces.
+ * elf-hints-local.h: Likewise.
+ * ldexp.c: Likewise.
+ * ldlang.h: Likewise.
+ * ldmisc.c: Likewise.
+ * ldwrite.c: Likewise.
+ * pe-dll.c: Likewise.
+ * emulparams/criself.sh: Likewise.
+ * emulparams/crislinux.sh: Likewise.
+ * emulparams/elf32_tic6x_le.sh: Likewise.
+ * emulparams/elf32bmipn32-defs.sh: Likewise.
+ * emulparams/elf32mb_linux.sh: Likewise.
+ * emulparams/elf32mep.sh: Likewise.
+ * emulparams/elf32microblaze.sh: Likewise.
+ * emulparams/elf32ppc.sh: Likewise.
+ * emulparams/elf64_s390.sh: Likewise.
+ * emulparams/elf64alpha.sh: Likewise.
+ * emulparams/elf_s390.sh: Likewise.
+ * emulparams/elf_x86_64.sh: Likewise.
+ * emulparams/tic80coff.sh: Likewise.
+ * emultempl/aix.em: Likewise.
+ * emultempl/avrelf.em: Likewise.
+ * emultempl/cr16elf.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * emultempl/pep.em: Likewise.
+ * emultempl/spuelf.em: Likewise.
+ * emultempl/tic6xdsbt.em: Likewise.
+
+2013-01-10 Will Newton <will.newton@imgtec.com>
+
+ * Makefile.am: Add Meta.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add Meta.
+ * emulparams/elf32metag.sh: New file.
+ * emultempl/metagelf.em: New file.
+
+2013-01-09 Alan Modra <amodra@gmail.com>
+
+ * emulparams/elf_x86_64.sh (LARGE_BSS_AFTER_BSS): Define.
+ * emulparams/elf32_x86_64.sh: Likewise.
+ * emulparams/elf_k1om.sh: Likewise.
+ * emulparams/elf_l1om.sh: Likewise.
+ * scripttempl/elf.sc (LARGE_BSS): Define rather than appending to
+ OTHER_BSS_SECTIONS. Substitute in script.
+
+2013-01-08 Leif Ekblad <leif@rdos.net>
+
+ * scripttempl/elf.sc (RODATA_ADDR): Typo fix.
+
+2013-01-08 Alan Modra <amodra@gmail.com>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_check_ld_so_conf): Replace
+ "name" param with a bfd_link_needed_list pointer. Update caller.
+ (gld${EMULATION_NAME}_check_ld_elf_hints): Likewise.
+
+2013-01-08 Alan Modra <amodra@gmail.com>
+
+ * Makefile.am (ALL_EMULATION_SOURCES): Correct eavrxmega entries.
+ * Makefile.in: Regenerate.
+
+2013-01-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * lexsup.c (ld_options): Add fuse-ld= for GCC linker option
+ compatibility.
+
+2013-01-07 Patrice Dumas <pertusus@free.fr>
+
+ * ld.texinfo: Replace @ with @@ when it is part of the text.
+ Correct ordering of M68HC11 entry.
+
+2013-01-04 Juergen Urban <JuergenUrban@gmx.de>
+
+ * configure.tgt: Support ELF files for Sony Playstation 2 (for
+ ps2dev and ps2sdk).
+ * emulparams/elf32lr5900n32.sh: Create linker script for Sony
+ Playstation 2 ELF files using MIPS ABI n32.
+ * emulparams/elf32lr5900.sh: Create linker script for Sony
+ Playstation 2 ELF files using MIPS ABI o32.
+ * Makefile.am: Add linker scripts for Sony Playstation 2 ELF
+ files.
+
+2013-01-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ldver.c (ldversion): Update copyright year to 2013.
+
+For older changes see ChangeLog-2012
+
+Copyright (C) 2013 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/binutils-2.25/ld/MAINTAINERS b/binutils-2.25/ld/MAINTAINERS
index e7d8ff83..9ee4884b 100644
--- a/binutils-2.25/ld/MAINTAINERS
+++ b/binutils-2.25/ld/MAINTAINERS
@@ -1,6 +1,6 @@
See ../binutils/MAINTAINERS
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2012-2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/binutils-2.25/ld/Makefile.am b/binutils-2.25/ld/Makefile.am
index 286b189e..9575f1f4 100644
--- a/binutils-2.25/ld/Makefile.am
+++ b/binutils-2.25/ld/Makefile.am
@@ -1,17 +1,17 @@
## Process this file with automake to generate Makefile.in
#
-# Copyright 2012 Free Software Foundation
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
@@ -60,6 +60,7 @@ EMUL = @EMUL@
EMULATION_OFILES = @EMULATION_OFILES@
EMUL_EXTRA_OFILES = @EMUL_EXTRA_OFILES@
+
# Search path to override the default search path for -lfoo libraries.
# If LIB_PATH is empty, the ones in the script (if any) are left alone.
# (The default is usually /lib:/usr/lib:/usr/local/lib, unless building
@@ -88,6 +89,7 @@ POD2MAN = pod2man --center="GNU Development Tools" \
HOSTING_CRT0 = @HOSTING_CRT0@
HOSTING_SCRT0 = @HOSTING_SCRT0@
HOSTING_LIBS = @HOSTING_LIBS@
+HOSTING_SLIBS = @HOSTING_SLIBS@
HOSTING_EMU = -m $(EMUL)
# Setup the testing framework, if you have one
@@ -165,6 +167,7 @@ ALL_EMULATION_SOURCES = \
earmelf_nbsd.c \
earmelf_vxworks.c \
earmelfb.c \
+ earmelfb_fbsd.c \
earmelfb_linux.c \
earmelfb_linux_eabi.c \
earmelfb_nacl.c \
@@ -190,6 +193,7 @@ ALL_EMULATION_SOURCES = \
eavrxmega5.c \
eavrxmega6.c \
eavrxmega7.c \
+ eavrtiny.c \
ecoff_i860.c \
ecoff_sparc.c \
ecrisaout.c \
@@ -236,14 +240,17 @@ ALL_EMULATION_SOURCES = \
eelf32lppcsim.c \
eelf32m32c.c \
eelf32mb_linux.c \
+ eelf32mbel_linux.c \
eelf32mcore.c \
eelf32mep.c \
eelf32metag.c \
eelf32microblazeel.c \
eelf32microblaze.c \
eelf32moxie.c \
+ emoxiebox.c \
eelf32mt.c \
- eelf32openrisc.c \
+ eelf32or1k.c \
+ eelf32or1k_linux.c \
eelf32ppc.c \
eelf32ppc_fbsd.c \
eelf32ppclinux.c \
@@ -313,7 +320,6 @@ ALL_EMULATION_SOURCES = \
ei386nw.c \
ei386pe.c \
ei386pe_posix.c \
- ei386pep.c \
elnk960.c \
em32relf.c \
em32relf_linux.c \
@@ -336,70 +342,18 @@ ALL_EMULATION_SOURCES = \
emcorepe.c \
emn10200.c \
emn10300.c \
- emsp430x110.c \
- emsp430x1101.c \
- emsp430x1111.c \
- emsp430x112.c \
- emsp430x1121.c \
- emsp430x1122.c \
- emsp430x1132.c \
- emsp430x122.c \
- emsp430x1222.c \
- emsp430x123.c \
- emsp430x1232.c \
- emsp430x133.c \
- emsp430x1331.c \
- emsp430x135.c \
- emsp430x1351.c \
- emsp430x147.c \
- emsp430x148.c \
- emsp430x149.c \
- emsp430x155.c \
- emsp430x156.c \
- emsp430x157.c \
- emsp430x1610.c \
- emsp430x1611.c \
- emsp430x1612.c \
- emsp430x167.c \
- emsp430x168.c \
- emsp430x169.c \
- emsp430x2101.c \
- emsp430x2111.c \
- emsp430x2121.c \
- emsp430x2131.c \
- emsp430x311.c \
- emsp430x312.c \
- emsp430x313.c \
- emsp430x314.c \
- emsp430x315.c \
- emsp430x323.c \
- emsp430x325.c \
- emsp430x336.c \
- emsp430x337.c \
- emsp430x412.c \
- emsp430x413.c \
- emsp430x415.c \
- emsp430x417.c \
- emsp430x435.c \
- emsp430x436.c \
- emsp430x437.c \
- emsp430x447.c \
- emsp430x448.c \
- emsp430x449.c \
- emsp430xE423.c \
- emsp430xE425.c \
- emsp430xE427.c \
- emsp430xG437.c \
- emsp430xG438.c \
- emsp430xG439.c \
- emsp430xW423.c \
- emsp430xW425.c \
- emsp430xW427.c \
+ emsp430.c \
emsp430X.c \
+ ends32elf.c \
+ ends32elf16m.c \
+ ends32elf_linux.c \
+ ends32belf.c \
+ ends32belf16m.c \
+ ends32belf_linux.c \
enews.c \
ens32knbsd.c \
- eor32.c \
- eor32elf.c \
+ enios2elf.c \
+ enios2linux.c \
epc532macha.c \
epdp11.c \
epjelf.c \
@@ -468,6 +422,8 @@ ALL_64_EMULATION_SOURCES = \
eaarch64elf32b.c \
eaarch64linux.c \
eaarch64linuxb.c \
+ eaarch64linux32.c \
+ eaarch64linux32b.c \
eelf32_x86_64.c \
eelf32_x86_64_nacl.c \
eelf32b4300.c \
@@ -525,6 +481,7 @@ ALL_64_EMULATION_SOURCES = \
eelf_x86_64_nacl.c \
eelf_x86_64_sol2.c \
ehppa64linux.c \
+ ei386pep.c \
emmo.c \
eshelf64.c \
eshelf64_nbsd.c \
@@ -535,18 +492,20 @@ ALL_64_EMULATIONS = $(ALL_64_EMULATION_SOURCES:.c=.@OBJEXT@)
ALL_EMUL_EXTRA_OFILES = \
deffilep.@OBJEXT@ \
- pe-dll.@OBJEXT@ \
+ pe-dll.@OBJEXT@
+
+ALL_64_EMUL_EXTRA_OFILES = \
pep-dll.@OBJEXT@
CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \
ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \
mri.c ldcref.c pe-dll.c pep-dll.c ldlex-wrapper.c \
- $(PLUGIN_C)
+ $(PLUGIN_C) ldbuildid.c
HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \
ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \
ldwrite.h mri.h deffile.h pe-dll.h pep-dll.h \
- elf-hints-local.h $(PLUGIN_H)
+ elf-hints-local.h $(PLUGIN_H) ldbuildid.h
GENERATED_CFILES = ldgram.c ldlex.c deffilep.c
GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h
@@ -558,7 +517,8 @@ BUILT_SOURCES = $(GENERATED_HFILES)
OFILES = ldgram.@OBJEXT@ ldlex-wrapper.@OBJEXT@ lexsup.@OBJEXT@ ldlang.@OBJEXT@ \
mri.@OBJEXT@ ldctor.@OBJEXT@ ldmain.@OBJEXT@ $(PLUGIN_OBJECT) \
ldwrite.@OBJEXT@ ldexp.@OBJEXT@ ldemul.@OBJEXT@ ldver.@OBJEXT@ ldmisc.@OBJEXT@ \
- ldfile.@OBJEXT@ ldcref.@OBJEXT@ ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES}
+ ldfile.@OBJEXT@ ldcref.@OBJEXT@ ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES} \
+ ldbuildid.@OBJEXT@
STAGESTUFF = *.@OBJEXT@ ldscripts/* e*.c
@@ -686,94 +646,113 @@ ELF_GEN_DEPS = $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em
@TDIRS@
+# We can't use pattern rules as we don't want to depend on GNU
+# make, or else these rules could have been expressed in one
+# two-liner: 'e%.c:' and ' ${GENSCRIPTS} $* "$(tdir_$*)"'.
+# (The recursive variable expansion is portable.)
+
+run-genscripts:
+ ${GENSCRIPTS} $(script_target) "$($(script_tdirname))"
+
+.PHONY: run-genscripts
+
+$(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES):
+ base=`echo $@ | sed -e 's,e\(.*\).c,\1,'`; \
+ $(MAKE) run-genscripts "script_target=$$base" "script_tdirname=tdir_$$base"
+
eaix5ppc.c: $(srcdir)/emulparams/aix5ppc.sh \
$(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aix5ppc "$(tdir_aixppc)"
+
eaix5rs6.c: $(srcdir)/emulparams/aix5rs6.sh \
$(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aix5rs6 "$(tdir_aixrs6)"
+
eaixppc.c: $(srcdir)/emulparams/aixppc.sh \
$(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aixppc "$(tdir_aixppc)"
+
eaixrs6.c: $(srcdir)/emulparams/aixrs6.sh \
$(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aixrs6 "$(tdir_aixrs6)"
+
ealpha.c: $(srcdir)/emulparams/alpha.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/alpha.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} alpha "$(tdir_alpha)"
+
ealphavms.c: $(srcdir)/emulparams/alphavms.sh \
$(srcdir)/emultempl/vms.em $(srcdir)/scripttempl/alphavms.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} alphavms "$(tdir_alphavms)"
+
earcelf.c: $(srcdir)/emulparams/arcelf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} arcelf "$(tdir_arcelf)"
+
earm_epoc_pe.c: $(srcdir)/emulparams/arm_epoc_pe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/epocpe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} arm_epoc_pe "$(tdir_armpe)"
+
earm_wince_pe.c: $(srcdir)/emulparams/arm_wince_pe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} arm_wince_pe "$(tdir_armpe)"
+
earmaoutb.c: $(srcdir)/emulparams/armaoutb.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armaoutb "$(tdir_armaoutb)"
+
earmaoutl.c: $(srcdir)/emulparams/armaoutl.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armaoutl "$(tdir_armaoutl)"
+
earmcoff.c: $(srcdir)/emulparams/armcoff.sh \
$(srcdir)/emultempl/armcoff.em $(srcdir)/scripttempl/armcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armcoff "$(tdir_armcoff)"
+
earmelf.c: $(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf "$(tdir_armelf)"
+
earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.sh \
$(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_fbsd "$(tdir_armelf_fbsd)"
+
earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_linux "$(tdir_armelf_linux)"
+
earmelf_linux_eabi.c: $(srcdir)/emulparams/armelf_linux_eabi.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_linux_eabi "$(tdir_armelf_linux_abi)"
+
earmelf_nacl.c: $(srcdir)/emulparams/armelf_nacl.sh \
$(srcdir)/emulparams/armelf_linux_eabi.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_nacl "$(tdir_armelf_nacl)"
+
earmelf_nbsd.c: $(srcdir)/emulparams/armelf_nbsd.sh \
$(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_nbsd "$(tdir_armelf_nbsd)"
+
earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \
$(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/vxworks.em \
$(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_vxworks "$(tdir_armelf)"
+
earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelfb "$(tdir_armelfb)"
+
+earmelfb_fbsd.c: $(srcdir)/emulparams/armelfb_fbsd.sh \
+ $(srcdir)/emulparams/armelf_fbsd.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelfb_linux "$(tdir_armelfb_linux)"
+
earmelfb_linux_eabi.c: $(srcdir)/emulparams/armelfb_linux_eabi.sh \
$(srcdir)/emulparams/armelf_linux_eabi.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelfb_linux_eabi "$(tdir_armelfb_linux_abi)"
+
earmelfb_nacl.c: $(srcdir)/emulparams/armelfb_nacl.sh \
$(srcdir)/emulparams/armelf_nacl.sh \
$(srcdir)/emulparams/armelf_linux_eabi.sh \
@@ -781,154 +760,158 @@ earmelfb_nacl.c: $(srcdir)/emulparams/armelfb_nacl.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelfb_nacl "$(tdir_armelfb_nacl)"
+
earmelfb_nbsd.c: $(srcdir)/emulparams/armelfb_nbsd.sh \
$(srcdir)/emulparams/armelf_nbsd.sh \
$(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelfb_nbsd "$(tdir_armelfb_nbsd)"
+
earmnbsd.c: $(srcdir)/emulparams/armnbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armnbsd "$(tdir_armnbsd)"
+
earmnto.c: $(srcdir)/emulparams/armnto.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armnto "$(tdir_armnto)"
+
earmpe.c: $(srcdir)/emulparams/armpe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armpe "$(tdir_armpe)"
+
earmsymbian.c: $(srcdir)/emulparams/armsymbian.sh \
$(srcdir)/emulparams/armelf.sh $(ELF_DEPS) \
$(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/armbpabi.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} armsymbian "$(tdir_armelf)"
+
eavr1.c: $(srcdir)/emulparams/avr1.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr1 "$(tdir_avr2)"
+
eavr2.c: $(srcdir)/emulparams/avr2.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr2 "$(tdir_avr2)"
+
eavr25.c: $(srcdir)/emulparams/avr25.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr25 "$(tdir_avr2)"
+
eavr3.c: $(srcdir)/emulparams/avr3.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr3 "$(tdir_avr2)"
+
eavr31.c: $(srcdir)/emulparams/avr31.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr31 "$(tdir_avr2)"
+
eavr35.c: $(srcdir)/emulparams/avr35.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr35 "$(tdir_avr2)"
+
eavr4.c: $(srcdir)/emulparams/avr4.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr4 "$(tdir_avr2)"
+
eavr5.c: $(srcdir)/emulparams/avr5.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr5 "$(tdir_avr2)"
+
eavr51.c: $(srcdir)/emulparams/avr51.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr51 "$(tdir_avr2)"
+
eavr6.c: $(srcdir)/emulparams/avr6.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr6 "$(tdir_avr2)"
+
eavrxmega1.c: $(srcdir)/emulparams/avrxmega1.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega1 "$(tdir_avr2)"
+
eavrxmega2.c: $(srcdir)/emulparams/avrxmega2.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega2 "$(tdir_avr2)"
+
eavrxmega3.c: $(srcdir)/emulparams/avrxmega3.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega3 "$(tdir_avr2)"
+
eavrxmega4.c: $(srcdir)/emulparams/avrxmega4.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega4 "$(tdir_avr2)"
+
eavrxmega5.c: $(srcdir)/emulparams/avrxmega5.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega5 "$(tdir_avr2)"
+
eavrxmega6.c: $(srcdir)/emulparams/avrxmega6.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega6 "$(tdir_avr2)"
+
eavrxmega7.c: $(srcdir)/emulparams/avrxmega7.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega7 "$(tdir_avr2)"
+
+eavrtiny.c: $(srcdir)/emulparams/avrtiny.sh \
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avrtiny.sc \
+ ${GEN_DEPENDS}
+
ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} coff_i860 "$(tdir_coff_i860)"
+
ecoff_sparc.c: $(srcdir)/emulparams/coff_sparc.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sparccoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} coff_sparc "$(tdir_coff_sparc)"
+
ecrisaout.c: $(srcdir)/emulparams/crisaout.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/crisaout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} crisaout "$(tdir_cris)"
+
ecriself.c: $(srcdir)/emulparams/criself.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} criself "$(tdir_cris)"
+
ecrislinux.c: $(srcdir)/emulparams/crislinux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} crislinux "$(tdir_cris)"
+
ed10velf.c: $(srcdir)/emulparams/d10velf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elfd10v.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} d10velf "$(tdir_d10v)"
+
ed30v_e.c: $(srcdir)/emulparams/d30v_e.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} d30v_e "$(tdir_d30v)"
+
ed30v_o.c: $(srcdir)/emulparams/d30v_o.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} d30v_o "$(tdir_d30v)"
+
ed30velf.c: $(srcdir)/emulparams/d30velf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} d30velf "$(tdir_d30v)"
+
edelta68.c: $(srcdir)/emulparams/delta68.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/delta68.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} delta68 "$(tdir_delta68)"
+
eelf32_dlx.c: $(srcdir)/emulparams/elf32_dlx.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/dlx.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_dlx "$(tdir_elf32_dlx)"
+
eelf32_i860.c: $(srcdir)/emulparams/elf32_i860.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_i860 "$(tdir_elf32_i860)"
+
eelf32_i960.c: $(srcdir)/emulparams/elf32_i960.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_i960 "$(tdir_elf32_i960)"
+
eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_sparc "$(tdir_elf32_sparc)"
+
eelf32_sparc_sol2.c: $(srcdir)/emulparams/elf32_sparc_sol2.sh \
$(srcdir)/emulparams/elf32_sparc.sh \
$(srcdir)/emulparams/solaris2.sh \
$(srcdir)/emultempl/solaris2.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_sparc_sol2 "$(tdir_elf32_sparc_sol2)"
+
eelf32_sparc_vxworks.c: $(srcdir)/emulparams/elf32_sparc_vxworks.sh \
$(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/elf32_sparc.sh \
$(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_sparc_vxworks "$(tdir_elf32_sparc_vxworks)"
+
eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \
$(srcdir)/emultempl/spu_ovl.@OBJEXT@_c $(srcdir)/emultempl/spu_icache.@OBJEXT@_c \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_spu "$(tdir_elf32_spu)"
+
$(srcdir)/emultempl/spu_ovl.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_ovl.S
if ../gas/as-new --version \
| grep 'target.*spu' >/dev/null 2>/dev/null; then \
@@ -946,1224 +929,1027 @@ $(srcdir)/emultempl/spu_icache.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_icach
eelf32_tic6x_be.c: $(srcdir)/emulparams/elf32_tic6x_be.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_tic6x_be "$(tdir_elf32_tic6x_be)"
+
eelf32_tic6x_elf_be.c: $(srcdir)/emulparams/elf32_tic6x_elf_be.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_tic6x_elf_be "$(tdir_elf32_tic6x_elf_be)"
+
eelf32_tic6x_elf_le.c: $(srcdir)/emulparams/elf32_tic6x_elf_le.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_tic6x_elf_le "$(tdir_elf32_tic6x_elf_le)"
+
eelf32_tic6x_le.c: $(srcdir)/emulparams/elf32_tic6x_le.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_tic6x_le "$(tdir_elf32_tic6x_le)"
+
eelf32_tic6x_linux_be.c: $(srcdir)/emulparams/elf32_tic6x_linux_be.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_tic6x_linux_be "$(tdir_elf32_tic6x_linux_be)"
+
eelf32_tic6x_linux_le.c: $(srcdir)/emulparams/elf32_tic6x_linux_le.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_tic6x_linux_le "$(tdir_elf32_tic6x_linux_le)"
+
eelf32am33lin.c: $(srcdir)/emulparams/elf32am33lin.sh \
$(srcdir)/emulparams/elf32am33lin.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32am33lin "$(tdir_elf32am33lin)"
+
eelf32b4300.c: $(srcdir)/emulparams/elf32b4300.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32b4300 "$(tdir_elf32b4300)"
-eelf32bfin.c: $(srcdir)/emulparams/bfin.sh \
+
+eelf32bfin.c: $(srcdir)/emulparams/elf32bfin.sh \
$(ELF_DEPS) $(srcdir)/emultempl/bfin.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bfin "$(tdir_elf32bfin)" bfin
+
eelf32bfinfd.c: $(srcdir)/emulparams/elf32bfinfd.sh \
- $(srcdir)/emulparams/bfin.sh \
+ $(srcdir)/emulparams/elf32bfin.sh \
$(ELF_DEPS) $(srcdir)/emultempl/bfin.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bfinfd "$(tdir_elf32bfinfd)" elf32bfinfd
+
eelf32bmip.c: $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bmip "$(tdir_elf32bmip)"
+
eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bmipn32 "$(tdir_elf32bmipn32)"
+
eelf32bsmip.c: $(srcdir)/emulparams/elf32bsmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bsmip "$(tdir_elf32bsmip)"
+
eelf32btsmip.c: $(srcdir)/emulparams/elf32btsmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32btsmip "$(tdir_elf32btsmip)"
+
eelf32btsmip_fbsd.c: $(srcdir)/emulparams/elf32btsmip_fbsd.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32btsmip_fbsd "$(tdir_elf32btsmip_fbsd)"
+
eelf32btsmipn32.c: $(srcdir)/emulparams/elf32btsmipn32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32btsmipn32 "$(tdir_elf32btsmipn32)"
+
eelf32btsmipn32_fbsd.c: $(srcdir)/emulparams/elf32btsmipn32_fbsd.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32btsmipn32_fbsd "$(tdir_elf32btsmipn32_fbsd)"
+
eelf32cr16.c: $(srcdir)/emulparams/elf32cr16.sh \
$(ELF_DEPS) $(srcdir)/emultempl/cr16elf.em \
$(srcdir)/scripttempl/elf32cr16.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32cr16 "$(tdir_elf32crx)"
+
eelf32cr16c.c: $(srcdir)/emulparams/elf32cr16c.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf32cr16c.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32cr16c "$(tdir_elf32cr16c)"
+
eelf32crx.c: $(srcdir)/emulparams/elf32crx.sh \
$(ELF_DEPS) $(srcdir)/emultempl/crxelf.em \
$(srcdir)/scripttempl/elf32crx.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32crx "$(tdir_elf32crx)"
+
eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ebmip "$(tdir_elf32ebmip)"
+
eelf32ebmipvxworks.c: $(srcdir)/emulparams/elf32ebmipvxworks.sh \
$(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emulparams/vxworks.sh \
$(ELF_DEPS) $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/vxworks.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ebmipvxworks "$(tdir_elf32ebmipvxworks)"
+
eelf32elmip.c: $(srcdir)/emulparams/elf32elmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32elmip "$(tdir_elf32elmip)"
+
eelf32elmipvxworks.c: $(srcdir)/emulparams/elf32elmipvxworks.sh \
$(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emulparams/vxworks.sh \
$(ELF_DEPS) $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/vxworks.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32elmipvxworks "$(tdir_elf32elmipvxworks)"
+
eelf32lr5900.c: $(srcdir)/emulparams/elf32lr5900.sh \
$(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lr5900 "$(tdir_elf32lr5900)"
+
eelf32lr5900n32.c: $(srcdir)/emulparams/elf32lr5900n32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lr5900n32 "$(tdir_elf32lr5900n32)"
+
eelf32epiphany.c: $(srcdir)/emulparams/elf32epiphany.sh \
$(ELF_DEPS) ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32epiphany "$(tdir_epiphany)"
+
eelf32epiphany_4x4.c: $(srcdir)/emulparams/elf32epiphany_4x4.sh \
$(srcdir)/emultempl/elf32.em \
$(ELF_DEPS) $(srcdir)/scripttempl/epiphany_4x4.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32epiphany_4x4 "$(tdir_epiphany_4x4)"
+
eelf32fr30.c: $(srcdir)/emulparams/elf32fr30.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32fr30 "$(tdir_fr30)"
+
eelf32frv.c: $(srcdir)/emulparams/elf32frv.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32frv "$(tdir_frv)"
+
eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \
$(srcdir)/emulparams/elf32frv.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32frvfd "$(tdir_frv)"
+
eelf32i370.c: $(srcdir)/emulparams/elf32i370.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elfi370.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32i370 "$(tdir_elf32i370)"
+
eelf32ip2k.c: $(srcdir)/emulparams/elf32ip2k.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ip2k "$(tdir_ip2k)"
+
eelf32iq10.c: $(srcdir)/emulparams/elf32iq10.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32iq10 "$(tdir_iq10)"
+
eelf32iq2000.c: $(srcdir)/emulparams/elf32iq2000.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32iq2000 "$(tdir_iq2000)"
+
eelf32l4300.c: $(srcdir)/emulparams/elf32l4300.sh \
$(srcdir)/emulparams/elf32b4300.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32l4300 "$(tdir_elf32l4300)"
+
eelf32lm32.c: $(srcdir)/emulparams/elf32lm32.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lm32 "$(tdir_elf32lm32)"
+
eelf32lm32fd.c: $(srcdir)/emulparams/elf32lm32fd.sh \
$(srcdir)/emulparams/elf32lm32.sh $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lm32fd "$(tdir_elf32lm32fd)"
+
eelf32lmip.c: $(srcdir)/emulparams/elf32lmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lmip "$(tdir_elf32lmip)"
+
eelf32lppc.c: $(srcdir)/emulparams/elf32lppc.sh \
$(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emultempl/ppc32elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lppc "$(tdir_elf32lppc)"
+
eelf32lppclinux.c: $(srcdir)/emulparams/elf32lppclinux.sh \
$(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \
$(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emultempl/ppc32elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lppclinux "$(tdir_elf32lppclinux)"
+
eelf32lppcnto.c: $(srcdir)/emulparams/elf32lppcnto.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lppcnto "$(tdir_elf32lppcnto)"
+
eelf32lppcsim.c: $(srcdir)/emulparams/elf32lppcsim.sh \
$(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \
$(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emultempl/ppc32elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lppcsim "$(tdir_elf32lppcsim)"
+
eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lsmip "$(tdir_elf32lsmip)"
+
eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ltsmip "$(tdir_elf32ltsmip)"
+
eelf32ltsmip_fbsd.c: $(srcdir)/emulparams/elf32ltsmip_fbsd.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ltsmip_fbsd "$(tdir_elf32ltsmip_fbsd)"
+
eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
$(srcdir)/emulparams/elf32btsmipn32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ltsmipn32 "$(tdir_elf32ltsmipn32)"
+
eelf32ltsmipn32_fbsd.c: $(srcdir)/emulparams/elf32ltsmipn32_fbsd.sh \
$(srcdir)/emulparams/elf32btsmipn32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ltsmipn32_fbsd "$(tdir_elf32ltsmipn32_fbsd)"
+
eelf32m32c.c: $(srcdir)/emulparams/elf32m32c.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32m32c "$(tdir_m32c)"
+
eelf32mbel_linux.c: $(srcdir)/emulparams/elf32mbel_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mbel_linux "$(tdir_microblazeel)"
+
eelf32mb_linux.c: $(srcdir)/emulparams/elf32mb_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mb_linux "$(tdir_microblaze)"
+
eelf32mcore.c: $(srcdir)/emulparams/elf32mcore.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mcore "$(tdir_mcore)"
+
eelf32mep.c: $(srcdir)/emulparams/elf32mep.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/mep.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mep "$(tdir_mep)"
+
eelf32metag.c: $(srcdir)/emulparams/elf32metag.sh \
$(ELF_DEPS) $(srcdir)/emultempl/metagelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32metag "$(tdir_metag)"
+
eelf32microblazeel.c: $(srcdir)/emulparams/elf32microblazeel.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32microblazeel "$(tdir_microblazeel)"
+
eelf32microblaze.c: $(srcdir)/emulparams/elf32microblaze.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32microblaze "$(tdir_microblaze)"
+
eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mipswindiss "$(tdir_elf32mipswindiss)"
+
eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32moxie "$(tdir_moxie)"
+
+emoxiebox.c: $(srcdir)/emulparams/moxiebox.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
eelf32mt.c: $(srcdir)/emulparams/elf32mt.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mt "$(tdir_mt)"
-eelf32openrisc.c: $(srcdir)/emulparams/elf32openrisc.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32openrisc "$(tdir_openrisc)"
+
+eelf32or1k.c: $(srcdir)/emulparams/elf32or1k.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32or1k_linux.c: $(srcdir)/emulparams/elf32or1k_linux.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
eelf32ppc.c: $(srcdir)/emulparams/elf32ppc.sh \
$(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emultempl/ppc32elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppc "$(tdir_elf32ppc)"
+
eelf32ppc_fbsd.c: $(srcdir)/emulparams/elf32ppc_fbsd.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppc_fbsd "$(tdir_elf32ppc_fbsd)"
+
eelf32ppclinux.c: $(srcdir)/emulparams/elf32ppclinux.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppclinux "$(tdir_elf32ppclinux)"
+
eelf32ppcnto.c: $(srcdir)/emulparams/elf32ppcnto.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcnto "$(tdir_elf32ppcnto)"
+
eelf32ppcsim.c: $(srcdir)/emulparams/elf32ppcsim.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcsim "$(tdir_elf32ppcsim)"
+
eelf32ppcvxworks.c: $(srcdir)/emulparams/elf32ppcvxworks.sh \
$(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emulparams/vxworks.sh \
$(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcvxworks "$(tdir_elf32ppcvxworks)"
+
eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)"
+
eelf32rl78.c: $(srcdir)/emulparams/elf32rl78.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32rl78 "$(tdir_elf32rl78)"
+
eelf32rx.c: $(srcdir)/emulparams/elf32rx.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32rx "$(tdir_elf32rx)"
+
eelf32tilegx.c: $(srcdir)/emulparams/elf32tilegx.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32tilegx "$(tdir_tilegx)"
+
eelf32tilegx_be.c: $(srcdir)/emulparams/elf32tilegx_be.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32tilegx_be "$(tdir_tilegx_be)"
+
eelf32tilepro.c: $(srcdir)/emulparams/elf32tilepro.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32tilepro "$(tdir_tilepro)"
+
eelf32vax.c: $(srcdir)/emulparams/elf32vax.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32vax "$(tdir_elf32vax)"
+
eelf32xc16x.c: $(srcdir)/emulparams/elf32xc16x.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xc16x "$(tdir_xc16x)"
+
eelf32xc16xl.c: $(srcdir)/emulparams/elf32xc16xl.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xc16xl "$(tdir_xc16xl)"
+
eelf32xc16xs.c: $(srcdir)/emulparams/elf32xc16xs.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xc16xs "$(tdir_xc16xs)"
+
eelf32xstormy16.c: $(srcdir)/emulparams/elf32xstormy16.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/xstormy16.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xstormy16 "$(tdir_xstormy16)"
+
eelf32xtensa.c: $(srcdir)/emulparams/elf32xtensa.sh $(ELF_DEPS) \
$(srcdir)/emultempl/xtensaelf.em $(INCDIR)/xtensa-config.h \
$(BFDDIR)/elf-bfd.h $(BFDDIR)/libbfd.h $(INCDIR)/elf/xtensa.h \
$(srcdir)/scripttempl/elfxtensa.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xtensa "$(tdir_elf32xtensa)"
+
eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386 "$(tdir_elf_i386)"
+
eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)"
+
eelf_i386_chaos.c: $(srcdir)/emulparams/elf_i386_chaos.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf_chaos.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_chaos "$(tdir_elf_i386_chaos)"
+
eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.sh \
$(srcdir)/emulparams/elf_i386.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_fbsd "$(tdir_elf_i386_fbsd)"
+
eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_ldso "$(tdir_elf_i386_ldso)"
+
eelf_i386_nacl.c: $(srcdir)/emulparams/elf_i386_nacl.sh \
$(srcdir)/emulparams/elf_i386.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_nacl "$(tdir_elf_i386_nacl)"
+
eelf_i386_sol2.c: $(srcdir)/emulparams/elf_i386_sol2.sh \
$(srcdir)/emulparams/solaris2.sh \
$(srcdir)/emultempl/solaris2.em \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_sol2 "$(tdir_elf_i386_sol2)"
+
eelf_i386_vxworks.c: $(srcdir)/emulparams/elf_i386_vxworks.sh \
$(srcdir)/emulparams/vxworks.sh $(srcdir)/emultempl/vxworks.em \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_vxworks "$(tdir_elf_i386_vxworks)"
+
eelf_s390.c: $(srcdir)/emulparams/elf_s390.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_s390 "$(tdir_elf_s390)"
+
egld960.c: $(srcdir)/emulparams/gld960.sh \
$(srcdir)/emultempl/gld960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} gld960 "$(tdir_gld960)"
+
egld960coff.c: $(srcdir)/emulparams/gld960coff.sh \
$(srcdir)/emultempl/gld960c.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} gld960coff "$(tdir_gld960coff)"
+
eh8300.c: $(srcdir)/emulparams/h8300.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300 "$(tdir_h8300)"
+
eh8300elf.c: $(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300elf "$(tdir_h8300elf)"
+
eh8300h.c: $(srcdir)/emulparams/h8300h.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300h.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300h "$(tdir_h8300h)"
+
eh8300helf.c: $(srcdir)/emulparams/h8300helf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300helf "$(tdir_h8300helf)"
+
eh8300hn.c: $(srcdir)/emulparams/h8300hn.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300hn.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300hn "$(tdir_h8300hn)"
+
eh8300hnelf.c: $(srcdir)/emulparams/h8300hnelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300hnelf "$(tdir_h8300hnelf)"
+
eh8300s.c: $(srcdir)/emulparams/h8300s.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300s.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300s "$(tdir_h8300s)"
+
eh8300self.c: $(srcdir)/emulparams/h8300self.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300self "$(tdir_h8300self)"
+
eh8300sn.c: $(srcdir)/emulparams/h8300sn.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sn.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sn "$(tdir_h8300sn)"
+
eh8300snelf.c: $(srcdir)/emulparams/h8300snelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300snelf "$(tdir_h8300snelf)"
+
eh8300sx.c: $(srcdir)/emulparams/h8300sx.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sx.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sx "$(tdir_h8300sx)"
+
eh8300sxelf.c: $(srcdir)/emulparams/h8300sxelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sxelf "$(tdir_h8300sxelf)"
+
eh8300sxn.c: $(srcdir)/emulparams/h8300sxn.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sxn.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sxn "$(tdir_h8300sxn)"
+
eh8300sxnelf.c: $(srcdir)/emulparams/h8300sxnelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sxnelf "$(tdir_h8300sxnelf)"
+
eh8500.c: $(srcdir)/emulparams/h8500.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8500 "$(tdir_h8500)"
+
eh8500b.c: $(srcdir)/emulparams/h8500b.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500b.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8500b "$(tdir_h8500b)"
+
eh8500c.c: $(srcdir)/emulparams/h8500c.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500c.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8500c "$(tdir_h8500c)"
+
eh8500m.c: $(srcdir)/emulparams/h8500m.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500m.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8500m "$(tdir_h8500m)"
+
eh8500s.c: $(srcdir)/emulparams/h8500s.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500s.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8500s "$(tdir_h8500s)"
+
ehp300bsd.c: $(srcdir)/emulparams/hp300bsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hp300bsd "$(tdir_hp300bsd)"
+
ehp3hpux.c: $(srcdir)/emulparams/hp3hpux.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hp3hpux "$(tdir_hp3hpux)"
+
ehppaelf.c: $(srcdir)/emulparams/hppaelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
$(srcdir)/scripttempl/hppaelf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hppaelf "$(tdir_hppaelf)"
+
ehppalinux.c: $(srcdir)/emulparams/hppalinux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hppalinux "$(tdir_hppalinux)"
+
ehppanbsd.c: $(srcdir)/emulparams/hppanbsd.sh \
$(srcdir)/emulparams/hppaelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hppanbsd "$(tdir_hppanbsd)"
+
ehppaobsd.c: $(srcdir)/emulparams/hppaobsd.sh \
$(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hppaobsd "$(tdir_hppaobsd)"
+
ei386aout.c: $(srcdir)/emulparams/i386aout.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386aout "$(tdir_i386aout)"
+
ei386beos.c: $(srcdir)/emulparams/i386beos.sh \
$(srcdir)/emultempl/beos.em $(srcdir)/scripttempl/i386beos.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386beos "$(tdir_i386beos)"
+
ei386bsd.c: $(srcdir)/emulparams/i386bsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386bsd "$(tdir_i386bsd)"
+
ei386coff.c: $(srcdir)/emulparams/i386coff.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386coff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386coff "$(tdir_i386coff)"
+
ei386go32.c: $(srcdir)/emulparams/i386go32.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386go32.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386go32 "$(tdir_i386go32)"
+
ei386linux.c: $(srcdir)/emulparams/i386linux.sh \
$(srcdir)/emultempl/linux.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386linux "$(tdir_i386linux)"
+
ei386lynx.c: $(srcdir)/emulparams/i386lynx.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386lynx "$(tdir_i386lynx)"
+
ei386mach.c: $(srcdir)/emulparams/i386mach.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386mach "$(tdir_i386mach)"
+
ei386moss.c: $(srcdir)/emulparams/i386moss.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386moss "$(tdir_i386moss)"
+
ei386msdos.c: $(srcdir)/emulparams/i386msdos.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386msdos.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386msdos "$(tdir_i386msdos)"
+
ei386nbsd.c: $(srcdir)/emulparams/i386nbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386nbsd "$(tdir_i386nbsd)"
+
ei386nto.c: $(srcdir)/emulparams/i386nto.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386nto "$(tdir_i386nto)"
+
ei386nw.c: $(srcdir)/emulparams/i386nw.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/nw.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386nw "$(tdir_i386nw)"
+
ei386pe.c: $(srcdir)/emulparams/i386pe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386pe "$(tdir_i386pe)"
+
ei386pe_posix.c: $(srcdir)/emulparams/i386pe_posix.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386pe_posix "$(tdir_i386pe_posix)"
+
ei386pep.c: $(srcdir)/emulparams/i386pep.sh \
$(srcdir)/emultempl/pep.em $(srcdir)/scripttempl/pep.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386pep "$(tdir_i386pe)"
+
elnk960.c: $(srcdir)/emulparams/lnk960.sh \
$(srcdir)/emultempl/lnk960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} lnk960 "$(tdir_lnk960)"
+
em32relf.c: $(srcdir)/emulparams/m32relf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32relf "$(tdir_m32r)"
+
em32relf_linux.c: $(srcdir)/emulparams/m32relf_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32relf_linux "$(tdir_m32relf_linux)"
+
em32rlelf.c: $(srcdir)/emulparams/m32rlelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32rlelf "$(tdir_m32rlelf)"
+
em32rlelf_linux.c: $(srcdir)/emulparams/m32rlelf_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32rlelf_linux "$(tdir_m32rlelf_linux)"
+
em68hc11elf.c: $(srcdir)/emulparams/m68hc11elf.sh \
$(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elfm68hc11.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68hc11elf "$(tdir_m68hc11)"
+
em68hc11elfb.c: $(srcdir)/emulparams/m68hc11elfb.sh \
$(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elfm68hc11.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68hc11elfb "$(tdir_m68hc11b)"
+
em68hc12elf.c: $(srcdir)/emulparams/m68hc12elf.sh \
$(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elfm68hc12.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68hc12elf "$(tdir_m68hc12)"
+
em68hc12elfb.c: $(srcdir)/emulparams/m68hc12elfb.sh \
$(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elfm68hc12.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68hc12elfb "$(tdir_m68hc12b)"
+
em68k4knbsd.c: $(srcdir)/emulparams/m68k4knbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68k4knbsd "$(tdir_m68k4knbsd)"
+
em68kaout.c: $(srcdir)/emulparams/m68kaout.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68kaout "$(tdir_m68kaout)"
+
em68kaux.c: $(srcdir)/emulparams/m68kaux.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/m68kaux.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68kaux "$(tdir_m68kaux)"
+
em68kcoff.c: $(srcdir)/emulparams/m68kcoff.sh \
$(srcdir)/emultempl/m68kcoff.em $(srcdir)/scripttempl/m68kcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68kcoff "$(tdir_m68kcoff)"
+
em68kelf.c: $(srcdir)/emulparams/m68kelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/m68kelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68kelf "$(tdir_m68kelf)"
+
em68kelfnbsd.c: $(srcdir)/emulparams/m68kelfnbsd.sh \
$(srcdir)/emulparams/m68kelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/m68kelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68kelfnbsd "$(tdir_m68kelfnbsd)"
+
em68klinux.c: $(srcdir)/emulparams/m68klinux.sh \
$(srcdir)/emultempl/linux.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68klinux "$(tdir_m68klinux)"
+
em68knbsd.c: $(srcdir)/emulparams/m68knbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68knbsd "$(tdir_m68knbsd)"
+
em68kpsos.c: $(srcdir)/emulparams/m68kpsos.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/psos.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68kpsos "$(tdir_m68kpsos)"
+
em88kbcs.c: $(srcdir)/emulparams/m88kbcs.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/m88kbcs.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m88kbcs "$(tdir_m88kbcs)"
+
emcorepe.c: $(srcdir)/emulparams/mcorepe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mcorepe "$(tdir_mcorepe)"
+
emn10200.c: $(srcdir)/emulparams/mn10200.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mn10200 "$(tdir_mn10200)"
+
emn10300.c: $(srcdir)/emulparams/mn10300.sh \
$(srcdir)/emulparams/mn10200.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mn10300 "$(tdir_mn10300)"
-emsp430x110.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x110 "$(tdir_msp430x110)" msp430all
-emsp430x1101.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1101 "$(tdir_msp430x1101)" msp430all
-emsp430x1111.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1111 "$(tdir_msp430x1111)" msp430all
-emsp430x112.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x112 "$(tdir_msp430x112)" msp430all
-emsp430x1121.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1121 "$(tdir_msp430x1121)" msp430all
-emsp430x1122.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1122 "$(tdir_msp430x1122)" msp430all
-emsp430x1132.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1132 "$(tdir_msp430x1132)" msp430all
-emsp430x122.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x122 "$(tdir_msp430x122)" msp430all
-emsp430x1222.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1222 "$(tdir_msp430x1222)" msp430all
-emsp430x123.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x123 "$(tdir_msp430x123)" msp430all
-emsp430x1232.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1232 "$(tdir_msp430x1232)" msp430all
-emsp430x133.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x133 "$(tdir_msp430x133)" msp430all
-emsp430x1331.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1331 "$(tdir_msp430x1331)" msp430all
-emsp430x135.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x135 "$(tdir_msp430x135)" msp430all
-emsp430x1351.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1351 "$(tdir_msp430x1351)" msp430all
-emsp430x147.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x147 "$(tdir_msp430x147)" msp430all
-emsp430x148.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x148 "$(tdir_msp430x148)" msp430all
-emsp430x149.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x149 "$(tdir_msp430x149)" msp430all
-emsp430x155.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x155 "$(tdir_msp430x155)" msp430all
-emsp430x156.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x156 "$(tdir_msp430x156)" msp430all
-emsp430x157.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x157 "$(tdir_msp430x157)" msp430all
-emsp430x1610.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1610 "$(tdir_msp430x1610)" msp430all
-emsp430x1611.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1611 "$(tdir_msp430x1611)" msp430all
-emsp430x1612.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1612 "$(tdir_msp430x1612)" msp430all
-emsp430x167.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x167 "$(tdir_msp430x167)" msp430all
-emsp430x168.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x168 "$(tdir_msp430x168)" msp430all
-emsp430x169.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x169 "$(tdir_msp430x169)" msp430all
-emsp430x2101.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x2101 "$(tdir_msp430x2101)" msp430all
-emsp430x2111.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x2111 "$(tdir_msp430x2111)" msp430all
-emsp430x2121.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x2121 "$(tdir_msp430x2121)" msp430all
-emsp430x2131.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x2131 "$(tdir_msp430x2131)" msp430all
-emsp430x311.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x311 "$(tdir_msp430x311)" msp430all
-emsp430x312.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x312 "$(tdir_msp430x312)" msp430all
-emsp430x313.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x313 "$(tdir_msp430x313)" msp430all
-emsp430x314.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x314 "$(tdir_msp430x314)" msp430all
-emsp430x315.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x315 "$(tdir_msp430x315)" msp430all
-emsp430x323.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x323 "$(tdir_msp430x323)" msp430all
-emsp430x325.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x325 "$(tdir_msp430x325)" msp430all
-emsp430x336.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x336 "$(tdir_msp430x336)" msp430all
-emsp430x337.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x337 "$(tdir_msp430x337)" msp430all
-emsp430x412.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x412 "$(tdir_msp430x412)" msp430all
-emsp430x413.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x413 "$(tdir_msp430x413)" msp430all
-emsp430x415.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x415 "$(tdir_msp430x415)" msp430all
-emsp430x417.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x417 "$(tdir_msp430x417)" msp430all
-emsp430x435.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x435 "$(tdir_msp430x435)" msp430all
-emsp430x436.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x436 "$(tdir_msp430x436)" msp430all
-emsp430x437.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x437 "$(tdir_msp430x437)" msp430all
-emsp430x447.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x447 "$(tdir_msp430x447)" msp430all
-emsp430x448.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x448 "$(tdir_msp430x448)" msp430all
-emsp430x449.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x449 "$(tdir_msp430x449)" msp430all
-emsp430xE423.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xE423 "$(tdir_msp430xE423)" msp430all
-emsp430xE425.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xE425 "$(tdir_msp430xE425)" msp430all
-emsp430xE427.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xE427 "$(tdir_msp430xE427)" msp430all
-emsp430xG437.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xG437 "$(tdir_msp430xG437)" msp430all
-emsp430xG438.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xG438 "$(tdir_msp430xG438)" msp430all
-emsp430xG439.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xG439 "$(tdir_msp430xG439)" msp430all
-emsp430xW423.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW423 "$(tdir_msp430xW423)" msp430all
-emsp430xW425.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW425 "$(tdir_msp430xW425)" msp430all
-emsp430xW427.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW427 "$(tdir_msp430xW427)" msp430all
-emsp430X.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430X "$(tdir_msp430X)" msp430all
+
+emsp430.c: $(srcdir)/emulparams/msp430.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc ${GEN_DEPENDS}
+
+emsp430X.c: $(srcdir)/emulparams/msp430.sh $(srcdir)/emulparams/msp430X.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc ${GEN_DEPENDS}
+
+ends32elf.c: $(srcdir)/emulparams/nds32elf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32elf16m.c: $(srcdir)/emulparams/nds32elf16m.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32belf.c: $(srcdir)/emulparams/nds32belf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32belf16m.c: $(srcdir)/emulparams/nds32belf16m.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32elf_linux.c: $(srcdir)/emulparams/nds32elf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32belf_linux.c: $(srcdir)/emulparams/nds32belf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
enews.c: $(srcdir)/emulparams/news.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} news "$(tdir_news)"
+
enios2elf.c: $(srcdir)/emulparams/nios2elf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} nios2elf "$(tdir_nios2elf)"
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/nios2elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+enios2linux.c: $(srcdir)/emulparams/nios2linux.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/nios2elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/emultempl/netbsd.em \
$(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} ns32knbsd "$(tdir_ns32knbsd)"
+
eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aarch64elf "$(tdir_aarch64elf)"
+
eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aarch64elf32 "$(tdir_aarch64elf32)"
+
eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aarch64elfb "$(tdir_aarch64elfb)"
+
eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aarch64elf32b "$(tdir_aarch64elf32b)"
+
eaarch64linux.c: $(srcdir)/emulparams/aarch64linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aarch64linux "$(tdir_aarch64linux)"
+
eaarch64linuxb.c: $(srcdir)/emulparams/aarch64linuxb.sh $(srcdir)/emulparams/aarch64linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aarch64linuxb "$(tdir_aarch64linuxb)"
-eor32.c: $(srcdir)/emulparams/or32.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/or32.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} or32 "$(tdir_or32)"
-eor32elf.c: $(srcdir)/emulparams/or32elf.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} or32elf "$(tdir_or32elf)"
+
+eaarch64linux32.c: $(srcdir)/emulparams/aarch64linux32.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64linux32b.c: $(srcdir)/emulparams/aarch64linux32b.sh $(srcdir)/emulparams/aarch64linux32.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
epc532macha.c: $(srcdir)/emulparams/pc532macha.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} pc532macha "$(tdir_pc532macha)"
+
epdp11.c: $(srcdir)/emulparams/pdp11.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} pdp11 "$(tdir_pdp11)"
+
epjelf.c: $(srcdir)/emulparams/pjelf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} pjelf "$(tdir_pjelf)"
+
epjlelf.c: $(srcdir)/emulparams/pjlelf.sh $(srcdir)/emulparams/pjelf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} pjlelf "$(tdir_pjlelf)"
+
eppclynx.c: $(srcdir)/emulparams/ppclynx.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} ppclynx "$(tdir_ppclynx)"
+
eppcmacos.c: $(srcdir)/emulparams/ppcmacos.sh \
$(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} ppcmacos "$(tdir_ppcmacos)"
+
eppcnw.c: $(srcdir)/emulparams/ppcnw.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/nw.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} ppcnw "$(tdir_ppcnw)"
+
eppcpe.c: $(srcdir)/emulparams/ppcpe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/ppcpe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} ppcpe "$(tdir_ppcpe)"
+
eriscix.c: $(srcdir)/emulparams/riscix.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} riscix "$(tdir_riscix)"
-escore3_elf.c: $(srcdir)/emulparams/scoreelf.sh \
+
+escore3_elf.c: $(srcdir)/emulparams/score3_elf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/scoreelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} score3_elf "$(tdir_score3_elf)" scoreelf
-escore7_elf.c: $(srcdir)/emulparams/scoreelf.sh \
+
+escore7_elf.c: $(srcdir)/emulparams/score3_elf.sh \
+ $(srcdir)/emulparams/score7_elf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/scoreelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} score7_elf "$(tdir_score7_elf)" scoreelf
+
esh.c: $(srcdir)/emulparams/sh.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} sh "$(tdir_sh)"
+
eshelf.c: $(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf "$(tdir_shelf)"
+
eshelf32.c: $(srcdir)/emulparams/shelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf32 "$(tdir_shelf32)"
+
eshelf32_linux.c: $(srcdir)/emulparams/shelf32_linux.sh \
$(srcdir)/emulparams/shelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf32_linux "$(tdir_shelf32_linux)"
+
eshelf32_nbsd.c: $(srcdir)/emulparams/shelf32_nbsd.sh \
$(srcdir)/emulparams/shelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf32_nbsd "$(tdir_shelf32_nbsd)"
+
eshelf_fd.c: $(srcdir)/emulparams/shelf_fd.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_fd "$(tdir_shelf_fd)"
+
eshelf_linux.c: $(srcdir)/emulparams/shelf_linux.sh \
$(srcdir)/emulparams/shlelf_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_linux "$(tdir_shelf_linux)"
+
eshelf_nbsd.c: $(srcdir)/emulparams/shelf_nbsd.sh \
$(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_nbsd "$(tdir_shelf_nbsd)"
+
eshelf_nto.c: $(srcdir)/emulparams/shelf_nto.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_nto "$(tdir_shelf_nto)"
+
eshelf_uclinux.c: $(srcdir)/emulparams/shelf_uclinux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_uclinux "$(tdir_shelf_uclinux)"
+
eshelf_vxworks.c: $(srcdir)/emulparams/shelf_vxworks.sh \
$(srcdir)/emulparams/vxworks.sh $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc \
$(srcdir)/emultempl/vxworks.em ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_vxworks "$(tdir_shelf_vxworks)"
+
eshl.c: $(srcdir)/emulparams/shl.sh \
$(srcdir)/emulparams/sh.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shl "$(tdir_shl)"
+
eshlelf.c: $(srcdir)/emulparams/shlelf.sh \
$(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf "$(tdir_shlelf)"
+
eshlelf32.c: $(srcdir)/emulparams/shlelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h $(srcdir)/emulparams/shelf32.sh \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf32 "$(tdir_shlelf32)"
+
eshlelf32_linux.c: $(srcdir)/emulparams/shlelf32_linux.sh \
$(srcdir)/emulparams/shelf32_linux.sh $(srcdir)/emulparams/shelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf32_linux "$(tdir_shlelf32_linux)"
+
eshlelf32_nbsd.c: $(srcdir)/emulparams/shlelf32_nbsd.sh \
$(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf32_nbsd "$(tdir_shlelf32_nbsd)"
+
eshlelf_fd.c: $(srcdir)/emulparams/shlelf_fd.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_fd "$(tdir_shlelf_fd)"
+
eshlelf_linux.c: $(srcdir)/emulparams/shlelf_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_linux "$(tdir_shlelf_linux)"
+
eshlelf_nbsd.c: $(srcdir)/emulparams/shlelf_nbsd.sh \
$(srcdir)/emulparams/shelf_nbsd.sh \
$(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_nbsd "$(tdir_shlelf_nbsd)"
+
eshlelf_nto.c: $(srcdir)/emulparams/shlelf_nto.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_nto "$(tdir_shlelf_nto)"
+
eshlelf_vxworks.c: $(srcdir)/emulparams/shlelf_vxworks.sh \
$(srcdir)/emulparams/shelf_vxworks.sh $(srcdir)/emulparams/vxworks.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/vxworks.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_vxworks "$(tdir_shlelf_vxworks)"
+
eshlsymbian.c: $(srcdir)/emulparams/shlsymbian.sh \
$(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf32sh-symbian.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlsymbian "$(tdir_shlelf)"
+
eshpe.c: $(srcdir)/emulparams/shpe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shpe "$(tdir_shl)"
+
esparcaout.c: $(srcdir)/emulparams/sparcaout.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} sparcaout "$(tdir_sparcaout)"
+
esparclinux.c: $(srcdir)/emulparams/sparclinux.sh \
$(srcdir)/emultempl/linux.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} sparclinux "$(tdir_sparclinux)"
+
esparcnbsd.c: $(srcdir)/emulparams/sparcnbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} sparcnbsd "$(tdir_sparcnbsd)"
+
est2000.c: $(srcdir)/emulparams/st2000.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/st2000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} st2000 "$(tdir_st2000)"
+
esun3.c: $(srcdir)/emulparams/sun3.sh \
$(srcdir)/emultempl/sunos.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} sun3 "$(tdir_sun3)"
+
esun4.c: $(srcdir)/emulparams/sun4.sh \
$(srcdir)/emultempl/sunos.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} sun4 "$(tdir_sun4)"
+
etic30aout.c: $(srcdir)/emulparams/tic30aout.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic30aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic30aout "$(tdir_tic30aout)"
+
etic30coff.c: $(srcdir)/emulparams/tic30coff.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic30coff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic30coff "$(tdir_tic30coff)"
+
etic3xcoff.c: $(srcdir)/emulparams/tic3xcoff.sh \
$(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic4xcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic3xcoff "$(tdir_tic4xcoff)"
+
etic3xcoff_onchip.c: $(srcdir)/emulparams/tic3xcoff_onchip.sh \
$(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic4xcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic3xcoff_onchip "$(tdir_tic4xcoff)"
+
etic4xcoff.c: $(srcdir)/emulparams/tic4xcoff.sh \
$(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic4xcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic4xcoff "$(tdir_tic4xcoff)"
+
etic54xcoff.c: $(srcdir)/emulparams/tic54xcoff.sh \
$(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic54xcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic54xcoff "$(tdir_tic54xcoff)"
+
etic80coff.c: $(srcdir)/emulparams/tic80coff.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic80coff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic80coff "$(tdir_tic80coff)"
+
ev850.c: $(srcdir)/emulparams/v850.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/v850.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} v850 "$(tdir_v850)"
+
ev850_rh850.c: $(srcdir)/emulparams/v850_rh850.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/v850_rh850.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} v850_rh850 "$(tdir_v850_rh850)"
+
evanilla.c: $(srcdir)/emulparams/vanilla.sh \
$(srcdir)/emultempl/vanilla.em $(srcdir)/scripttempl/vanilla.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} vanilla "$(tdir_vanilla)"
+
evax.c: $(srcdir)/emulparams/vax.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} vax "$(tdir_vax)"
+
evaxnbsd.c: $(srcdir)/emulparams/vaxnbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} vaxnbsd "$(tdir_vaxnbsd)"
+
evsta.c: $(srcdir)/emulparams/vsta.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} vsta "$(tdir_vsta)"
+
ew65.c: $(srcdir)/emulparams/w65.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/w65.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} w65 "$(tdir_w65)"
+
exgateelf.c: $(srcdir)/emulparams/xgateelf.sh \
$(srcdir)/emultempl/generic.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elfxgate.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} xgateelf "$(tdir_xgate)"
+
ez80.c: $(srcdir)/emulparams/z80.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/emultempl/z80.em \
$(srcdir)/scripttempl/z80.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} z80 "$(tdir_z80)"
+
ez8001.c: $(srcdir)/emulparams/z8001.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} z8001 "$(tdir_z8001)"
+
ez8002.c: $(srcdir)/emulparams/z8002.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} z8002 "$(tdir_z8002)"
eelf32_x86_64.c: $(srcdir)/emulparams/elf32_x86_64.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_x86_64 "$(tdir_elf32_x86_64)"
+
eelf32_x86_64_nacl.c: $(srcdir)/emulparams/elf32_x86_64_nacl.sh \
$(srcdir)/emulparams/elf32_x86_64.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_x86_64_nacl "$(tdir_elf32_x86_64_nacl)"
+
eelf64_aix.c: $(srcdir)/emulparams/elf64_aix.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_aix "$(tdir_elf64_aix)"
+
eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \
$(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
$(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_ia64 "$(tdir_elf64_ia64)"
+
eelf64_ia64_fbsd.c: $(srcdir)/emulparams/elf64_ia64_fbsd.sh \
$(srcdir)/emulparams/elf64_ia64.sh \
$(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
$(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_ia64_fbsd "$(tdir_elf64_ia64_fbsd)"
+
eelf64_ia64_vms.c: $(srcdir)/emulparams/elf64_ia64_vms.sh \
$(srcdir)/emultempl/vms.em $(srcdir)/emultempl/elf-generic.em \
$(srcdir)/scripttempl/ia64vms.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_ia64_vms "$(tdir_elf64_ia64_vms)"
+
eelf64_s390.c: $(srcdir)/emulparams/elf64_s390.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_s390 "$(tdir_elf64_s390)"
+
eelf64_sparc.c: $(srcdir)/emulparams/elf64_sparc.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_sparc "$(tdir_elf64_sparc)"
+
eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
$(srcdir)/emulparams/elf64_sparc.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)"
+
eelf64_sparc_sol2.c: $(srcdir)/emulparams/elf64_sparc_sol2.sh \
$(srcdir)/emulparams/elf64_sparc.sh \
$(srcdir)/emulparams/solaris2.sh \
$(srcdir)/emultempl/solaris2.em \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_sparc_sol2 "$(tdir_elf64_sparc_sol2)"
+
eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \
$(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64alpha "$(tdir_elf64alpha)"
+
eelf64alpha_fbsd.c: $(srcdir)/emulparams/elf64alpha_fbsd.sh \
$(srcdir)/emulparams/elf64alpha.sh \
$(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64alpha_fbsd "$(tdir_elf64alpha_fbsd)"
+
eelf64alpha_nbsd.c: $(srcdir)/emulparams/elf64alpha_nbsd.sh \
$(srcdir)/emulparams/elf64alpha.sh \
$(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64alpha_nbsd "$(tdir_elf64alpha_nbsd)"
+
eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
$(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64bmip "$(tdir_elf64bmip)"
+
eelf64btsmip.c: $(srcdir)/emulparams/elf64btsmip.sh \
$(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64btsmip "$(tdir_elf64btsmip)"
+
eelf64btsmip_fbsd.c: $(srcdir)/emulparams/elf64btsmip_fbsd.sh \
$(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64btsmip_fbsd "$(tdir_elf64btsmip_fbsd)"
+
eelf64hppa.c: $(srcdir)/emulparams/elf64hppa.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf64hppa.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64hppa "$(tdir_elf64hppa)"
+
eelf64lppc.c: $(srcdir)/emulparams/elf64lppc.sh \
$(srcdir)/emulparams/elf64ppc.sh $(srcdir)/emultempl/ppc64elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64lppc "$(tdir_elf64lppc)"
+
eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \
$(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64ltsmip "$(tdir_elf64ltsmip)"
+
eelf64ltsmip_fbsd.c: $(srcdir)/emulparams/elf64ltsmip_fbsd.sh \
$(srcdir)/emulparams/elf64btsmip_fbsd.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64ltsmip_fbsd "$(tdir_elf64ltsmip_fbsd)"
+
eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mmix-elfnmmo.em \
$(srcdir)/emultempl/mmixelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64mmix "$(tdir_elf64mmix)"
+
eelf64ppc.c: $(srcdir)/emulparams/elf64ppc.sh $(srcdir)/emultempl/ppc64elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64ppc "$(tdir_elf64ppc)"
+
eelf64ppc_fbsd.c: $(srcdir)/emulparams/elf64ppc_fbsd.sh \
$(srcdir)/emultempl/ppc64elf.em ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64ppc_fbsd "$(tdir_elf64ppc_fbsd)"
+
eelf64rdos.c: $(srcdir)/emulparams/elf64rdos.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64rdos "$(tdir_elf64rdos)"
+
eelf64tilegx.c: $(srcdir)/emulparams/elf64tilegx.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64tilegx "$(tdir_tilegx)"
+
eelf64tilegx_be.c: $(srcdir)/emulparams/elf64tilegx_be.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64tilegx_be "$(tdir_tilegx_be)"
+
eelf_l1om.c: $(srcdir)/emulparams/elf_l1om.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_l1om "$(tdir_elf_l1om)"
+
eelf_l1om_fbsd.c: $(srcdir)/emulparams/elf_l1om_fbsd.sh \
$(srcdir)/emulparams/elf_l1om.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_l1om_fbsd "$(tdir_elf_l1om_fbsd)"
+
eelf_k1om.c: $(srcdir)/emulparams/elf_k1om.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_k1om "$(tdir_elf_k1om)"
+
eelf_k1om_fbsd.c: $(srcdir)/emulparams/elf_k1om_fbsd.sh \
$(srcdir)/emulparams/elf_k1om.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_k1om_fbsd "$(tdir_elf_k1om_fbsd)"
+
eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)"
+
eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
$(srcdir)/emulparams/elf_x86_64.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64_fbsd "$(tdir_elf_x86_64_fbsd)"
+
eelf_x86_64_nacl.c: $(srcdir)/emulparams/elf_x86_64_nacl.sh \
$(srcdir)/emulparams/elf_x86_64.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64_nacl "$(tdir_elf_x86_64_nacl)"
+
eelf_x86_64_sol2.c: $(srcdir)/emulparams/elf_x86_64_sol2.sh \
$(srcdir)/emulparams/elf_x86_64.sh \
$(srcdir)/emulparams/solaris2.sh \
$(srcdir)/emultempl/solaris2.em \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64_sol2 "$(tdir_elf_x86_64_sol2)"
+
ehppa64linux.c: $(srcdir)/emulparams/hppa64linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hppa64linux "$(tdir_hppa64linux)"
+
emmo.c: $(srcdir)/emulparams/mmo.sh $(srcdir)/emultempl/mmix-elfnmmo.em \
$(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em \
$(srcdir)/emultempl/mmo.em $(srcdir)/scripttempl/DWARF.sc \
$(srcdir)/scripttempl/mmo.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mmo "$(tdir_mmo)"
+
eshelf64.c: $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf64 "$(tdir_shelf64)"
+
eshelf64_nbsd.c: $(srcdir)/emulparams/shelf64_nbsd.sh \
$(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf64_nbsd "$(tdir_shelf64_nbsd)"
+
eshlelf64.c: $(srcdir)/emulparams/shlelf64.sh \
$(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf64 "$(tdir_shlelf64)"
+
eshlelf64_nbsd.c: $(srcdir)/emulparams/shlelf64_nbsd.sh \
$(srcdir)/emulparams/shelf64_nbsd.sh \
$(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf64_nbsd "$(tdir_shlelf64_nbsd)"
+
# We need this for automake to use YLWRAP.
EXTRA_ld_new_SOURCES = deffilep.y ldlex.l
@@ -2171,8 +1957,10 @@ EXTRA_ld_new_SOURCES = deffilep.y ldlex.l
EXTRA_ld_new_SOURCES += pep-dll.c pe-dll.c
ld_new_SOURCES = ldgram.y ldlex-wrapper.c lexsup.c ldlang.c mri.c ldctor.c ldmain.c \
- ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c $(PLUGIN_C)
-ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL_DEP)
+ ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c $(PLUGIN_C) \
+ ldbuildid.c
+ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) \
+ $(BFDLIB) $(LIBIBERTY) $(LIBINTL_DEP)
ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL)
# Dependency tracking for the generated emulation files.
@@ -2285,10 +2073,10 @@ ld.1: $(srcdir)/ld.texinfo configdoc.texi
MAINTAINERCLEANFILES = configdoc.texi ld.1
-# We want to reconfigure if configure.host or configure.tgt changes. We
-# extract version from bfd/configure.in, so we must depend on that also.
+# We want to reconfigure if configure.host or configure.tgt changes.
+# development.sh is used to determine -Werror default.
CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host $(srcdir)/configure.tgt \
- $(srcdir)/../bfd/configure.in
+ $(BFDDIR)/development.sh
MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) \
ldemul-list.h crtbegin.@OBJEXT@ crtend.@OBJEXT@ ld.log ld.sum
@@ -2304,23 +2092,23 @@ install-exec-local: ld-new$(EXEEXT) install-binPROGRAMS
if test "$(bindir)" != "$(tooldir)/bin"; then \
rm -f $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT) >/dev/null 2>/dev/null \
- || $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
+ || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
fi; \
if test "x$(install_as_default)" = "xyes"; then \
ld=`echo ld | sed '$(transform)'`; \
rm -f $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT) >/dev/null 2>/dev/null \
- || $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \
+ || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \
if test "$(bindir)" != "$(tooldir)/bin"; then \
rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
- || $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
+ || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
fi; \
fi
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(scriptdir)/ldscripts
- for f in ldscripts/*; do \
+ for f in ldscripts/* ; do \
$(INSTALL_DATA) $$f $(DESTDIR)$(scriptdir)/$$f ; \
done
diff --git a/binutils-2.25/ld/Makefile.in b/binutils-2.25/ld/Makefile.in
index 358d0360..9f56ca1f 100644
--- a/binutils-2.25/ld/Makefile.in
+++ b/binutils-2.25/ld/Makefile.in
@@ -16,18 +16,18 @@
@SET_MAKE@
#
-# Copyright 2012 Free Software Foundation
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
@@ -82,7 +82,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../bfd/acinclude.m4 \
$(top_srcdir)/../config/progtest.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
$(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
- $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/configure.in
+ $(top_srcdir)/../lt~obsolete.m4 \
+ $(top_srcdir)/../bfd/version.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -109,7 +110,7 @@ am_ld_new_OBJECTS = ldgram.$(OBJEXT) ldlex-wrapper.$(OBJEXT) \
ldctor.$(OBJEXT) ldmain.$(OBJEXT) ldwrite.$(OBJEXT) \
ldexp.$(OBJEXT) ldemul.$(OBJEXT) ldver.$(OBJEXT) \
ldmisc.$(OBJEXT) ldfile.$(OBJEXT) ldcref.$(OBJEXT) \
- $(am__objects_1)
+ $(am__objects_1) ldbuildid.$(OBJEXT)
ld_new_OBJECTS = $(am_ld_new_OBJECTS)
am__DEPENDENCIES_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
@@ -231,6 +232,7 @@ HDEFINES = @HDEFINES@
HOSTING_CRT0 = @HOSTING_CRT0@
HOSTING_LIBS = @HOSTING_LIBS@
HOSTING_SCRT0 = @HOSTING_SCRT0@
+HOSTING_SLIBS = @HOSTING_SLIBS@
INCINTL = @INCINTL@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
@@ -473,6 +475,7 @@ ALL_EMULATION_SOURCES = \
earmelf_nbsd.c \
earmelf_vxworks.c \
earmelfb.c \
+ earmelfb_fbsd.c \
earmelfb_linux.c \
earmelfb_linux_eabi.c \
earmelfb_nacl.c \
@@ -498,6 +501,7 @@ ALL_EMULATION_SOURCES = \
eavrxmega5.c \
eavrxmega6.c \
eavrxmega7.c \
+ eavrtiny.c \
ecoff_i860.c \
ecoff_sparc.c \
ecrisaout.c \
@@ -544,14 +548,17 @@ ALL_EMULATION_SOURCES = \
eelf32lppcsim.c \
eelf32m32c.c \
eelf32mb_linux.c \
+ eelf32mbel_linux.c \
eelf32mcore.c \
eelf32mep.c \
eelf32metag.c \
eelf32microblazeel.c \
eelf32microblaze.c \
eelf32moxie.c \
+ emoxiebox.c \
eelf32mt.c \
- eelf32openrisc.c \
+ eelf32or1k.c \
+ eelf32or1k_linux.c \
eelf32ppc.c \
eelf32ppc_fbsd.c \
eelf32ppclinux.c \
@@ -621,7 +628,6 @@ ALL_EMULATION_SOURCES = \
ei386nw.c \
ei386pe.c \
ei386pe_posix.c \
- ei386pep.c \
elnk960.c \
em32relf.c \
em32relf_linux.c \
@@ -644,70 +650,18 @@ ALL_EMULATION_SOURCES = \
emcorepe.c \
emn10200.c \
emn10300.c \
- emsp430x110.c \
- emsp430x1101.c \
- emsp430x1111.c \
- emsp430x112.c \
- emsp430x1121.c \
- emsp430x1122.c \
- emsp430x1132.c \
- emsp430x122.c \
- emsp430x1222.c \
- emsp430x123.c \
- emsp430x1232.c \
- emsp430x133.c \
- emsp430x1331.c \
- emsp430x135.c \
- emsp430x1351.c \
- emsp430x147.c \
- emsp430x148.c \
- emsp430x149.c \
- emsp430x155.c \
- emsp430x156.c \
- emsp430x157.c \
- emsp430x1610.c \
- emsp430x1611.c \
- emsp430x1612.c \
- emsp430x167.c \
- emsp430x168.c \
- emsp430x169.c \
- emsp430x2101.c \
- emsp430x2111.c \
- emsp430x2121.c \
- emsp430x2131.c \
- emsp430x311.c \
- emsp430x312.c \
- emsp430x313.c \
- emsp430x314.c \
- emsp430x315.c \
- emsp430x323.c \
- emsp430x325.c \
- emsp430x336.c \
- emsp430x337.c \
- emsp430x412.c \
- emsp430x413.c \
- emsp430x415.c \
- emsp430x417.c \
- emsp430x435.c \
- emsp430x436.c \
- emsp430x437.c \
- emsp430x447.c \
- emsp430x448.c \
- emsp430x449.c \
- emsp430xE423.c \
- emsp430xE425.c \
- emsp430xE427.c \
- emsp430xG437.c \
- emsp430xG438.c \
- emsp430xG439.c \
- emsp430xW423.c \
- emsp430xW425.c \
- emsp430xW427.c \
+ emsp430.c \
emsp430X.c \
+ ends32elf.c \
+ ends32elf16m.c \
+ ends32elf_linux.c \
+ ends32belf.c \
+ ends32belf16m.c \
+ ends32belf_linux.c \
enews.c \
ens32knbsd.c \
- eor32.c \
- eor32elf.c \
+ enios2elf.c \
+ enios2linux.c \
epc532macha.c \
epdp11.c \
epjelf.c \
@@ -775,6 +729,8 @@ ALL_64_EMULATION_SOURCES = \
eaarch64elf32b.c \
eaarch64linux.c \
eaarch64linuxb.c \
+ eaarch64linux32.c \
+ eaarch64linux32b.c \
eelf32_x86_64.c \
eelf32_x86_64_nacl.c \
eelf32b4300.c \
@@ -832,6 +788,7 @@ ALL_64_EMULATION_SOURCES = \
eelf_x86_64_nacl.c \
eelf_x86_64_sol2.c \
ehppa64linux.c \
+ ei386pep.c \
emmo.c \
eshelf64.c \
eshelf64_nbsd.c \
@@ -841,18 +798,20 @@ ALL_64_EMULATION_SOURCES = \
ALL_64_EMULATIONS = $(ALL_64_EMULATION_SOURCES:.c=.@OBJEXT@)
ALL_EMUL_EXTRA_OFILES = \
deffilep.@OBJEXT@ \
- pe-dll.@OBJEXT@ \
+ pe-dll.@OBJEXT@
+
+ALL_64_EMUL_EXTRA_OFILES = \
pep-dll.@OBJEXT@
CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \
ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \
mri.c ldcref.c pe-dll.c pep-dll.c ldlex-wrapper.c \
- $(PLUGIN_C)
+ $(PLUGIN_C) ldbuildid.c
HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \
ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \
ldwrite.h mri.h deffile.h pe-dll.h pep-dll.h \
- elf-hints-local.h $(PLUGIN_H)
+ elf-hints-local.h $(PLUGIN_H) ldbuildid.h
GENERATED_CFILES = ldgram.c ldlex.c deffilep.c
GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h
@@ -863,7 +822,8 @@ BUILT_SOURCES = $(GENERATED_HFILES)
OFILES = ldgram.@OBJEXT@ ldlex-wrapper.@OBJEXT@ lexsup.@OBJEXT@ ldlang.@OBJEXT@ \
mri.@OBJEXT@ ldctor.@OBJEXT@ ldmain.@OBJEXT@ $(PLUGIN_OBJECT) \
ldwrite.@OBJEXT@ ldexp.@OBJEXT@ ldemul.@OBJEXT@ ldver.@OBJEXT@ ldmisc.@OBJEXT@ \
- ldfile.@OBJEXT@ ldcref.@OBJEXT@ ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES}
+ ldfile.@OBJEXT@ ldcref.@OBJEXT@ ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES} \
+ ldbuildid.@OBJEXT@
STAGESTUFF = *.@OBJEXT@ ldscripts/* e*.c
@@ -885,9 +845,12 @@ ELF_GEN_DEPS = $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em
EXTRA_ld_new_SOURCES = deffilep.y ldlex.l pep-dll.c pe-dll.c \
$(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES)
ld_new_SOURCES = ldgram.y ldlex-wrapper.c lexsup.c ldlang.c mri.c ldctor.c ldmain.c \
- ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c $(PLUGIN_C)
+ ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c $(PLUGIN_C) \
+ ldbuildid.c
+
+ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) \
+ $(BFDLIB) $(LIBIBERTY) $(LIBINTL_DEP)
-ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL_DEP)
ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL)
# A test program for C++ constructors and destructors.
@@ -930,10 +893,10 @@ ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $
@ENABLE_PLUGINS_TRUE@libldtestplug_la_LDFLAGS = -no-undefined -rpath /nowhere
MAINTAINERCLEANFILES = configdoc.texi ld.1 ld.info
-# We want to reconfigure if configure.host or configure.tgt changes. We
-# extract version from bfd/configure.in, so we must depend on that also.
+# We want to reconfigure if configure.host or configure.tgt changes.
+# development.sh is used to determine -Werror default.
CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host $(srcdir)/configure.tgt \
- $(srcdir)/../bfd/configure.in
+ $(BFDDIR)/development.sh
MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) \
ldemul-list.h crtbegin.@OBJEXT@ crtend.@OBJEXT@ ld.log ld.sum
@@ -1084,6 +1047,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf32b.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elfb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32b.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linuxb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaix5ppc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaix5rs6.Po@am__quote@
@@ -1105,6 +1070,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_nbsd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_vxworks.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_fbsd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_linux.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_linux_eabi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_nacl.Po@am__quote@
@@ -1123,6 +1089,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavr5.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavr51.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavr6.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrtiny.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega3.Po@am__quote@
@@ -1199,6 +1166,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ltsmipn32_fbsd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32m32c.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mb_linux.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mbel_linux.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mcore.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mep.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32metag.Po@am__quote@
@@ -1207,7 +1175,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mipswindiss.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32moxie.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32mt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32openrisc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32or1k.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32or1k_linux.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ppc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ppc_fbsd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ppclinux.Po@am__quote@
@@ -1334,70 +1303,19 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emmo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emn10200.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emn10300.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emoxiebox.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430X.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x110.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1101.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1111.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x112.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1121.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1122.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1132.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x122.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1222.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x123.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1232.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x133.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1331.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x135.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1351.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x147.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x148.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x149.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x155.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x156.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x157.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1610.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1611.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1612.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x167.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x168.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x169.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x2101.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x2111.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x2121.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x2131.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x311.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x312.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x313.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x314.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x315.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x323.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x325.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x336.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x337.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x412.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x413.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x415.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x417.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x435.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x436.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x437.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x447.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x448.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x449.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430xE423.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430xE425.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430xE427.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430xG437.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430xG438.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430xG439.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430xW423.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430xW425.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430xW427.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ends32belf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ends32belf16m.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ends32belf_linux.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ends32elf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ends32elf16m.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ends32elf_linux.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enews.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enios2elf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enios2linux.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ens32knbsd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eor32.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eor32elf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epc532macha.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epdp11.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epjelf.Po@am__quote@
@@ -1460,6 +1378,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez80.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez8001.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez8002.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldbuildid.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldcref.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldctor.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldemul.Po@am__quote@
@@ -2168,94 +2087,113 @@ stringify.sed: ${srcdir}/emultempl/$(STRINGIFY)
@TDIRS@
+# We can't use pattern rules as we don't want to depend on GNU
+# make, or else these rules could have been expressed in one
+# two-liner: 'e%.c:' and ' ${GENSCRIPTS} $* "$(tdir_$*)"'.
+# (The recursive variable expansion is portable.)
+
+run-genscripts:
+ ${GENSCRIPTS} $(script_target) "$($(script_tdirname))"
+
+.PHONY: run-genscripts
+
+$(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES):
+ base=`echo $@ | sed -e 's,e\(.*\).c,\1,'`; \
+ $(MAKE) run-genscripts "script_target=$$base" "script_tdirname=tdir_$$base"
+
eaix5ppc.c: $(srcdir)/emulparams/aix5ppc.sh \
$(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aix5ppc "$(tdir_aixppc)"
+
eaix5rs6.c: $(srcdir)/emulparams/aix5rs6.sh \
$(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aix5rs6 "$(tdir_aixrs6)"
+
eaixppc.c: $(srcdir)/emulparams/aixppc.sh \
$(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aixppc "$(tdir_aixppc)"
+
eaixrs6.c: $(srcdir)/emulparams/aixrs6.sh \
$(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aixrs6 "$(tdir_aixrs6)"
+
ealpha.c: $(srcdir)/emulparams/alpha.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/alpha.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} alpha "$(tdir_alpha)"
+
ealphavms.c: $(srcdir)/emulparams/alphavms.sh \
$(srcdir)/emultempl/vms.em $(srcdir)/scripttempl/alphavms.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} alphavms "$(tdir_alphavms)"
+
earcelf.c: $(srcdir)/emulparams/arcelf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} arcelf "$(tdir_arcelf)"
+
earm_epoc_pe.c: $(srcdir)/emulparams/arm_epoc_pe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/epocpe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} arm_epoc_pe "$(tdir_armpe)"
+
earm_wince_pe.c: $(srcdir)/emulparams/arm_wince_pe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} arm_wince_pe "$(tdir_armpe)"
+
earmaoutb.c: $(srcdir)/emulparams/armaoutb.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armaoutb "$(tdir_armaoutb)"
+
earmaoutl.c: $(srcdir)/emulparams/armaoutl.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armaoutl "$(tdir_armaoutl)"
+
earmcoff.c: $(srcdir)/emulparams/armcoff.sh \
$(srcdir)/emultempl/armcoff.em $(srcdir)/scripttempl/armcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armcoff "$(tdir_armcoff)"
+
earmelf.c: $(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf "$(tdir_armelf)"
+
earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.sh \
$(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_fbsd "$(tdir_armelf_fbsd)"
+
earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_linux "$(tdir_armelf_linux)"
+
earmelf_linux_eabi.c: $(srcdir)/emulparams/armelf_linux_eabi.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_linux_eabi "$(tdir_armelf_linux_abi)"
+
earmelf_nacl.c: $(srcdir)/emulparams/armelf_nacl.sh \
$(srcdir)/emulparams/armelf_linux_eabi.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_nacl "$(tdir_armelf_nacl)"
+
earmelf_nbsd.c: $(srcdir)/emulparams/armelf_nbsd.sh \
$(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_nbsd "$(tdir_armelf_nbsd)"
+
earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \
$(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/vxworks.em \
$(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_vxworks "$(tdir_armelf)"
+
earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelfb "$(tdir_armelfb)"
+
+earmelfb_fbsd.c: $(srcdir)/emulparams/armelfb_fbsd.sh \
+ $(srcdir)/emulparams/armelf_fbsd.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelfb_linux "$(tdir_armelfb_linux)"
+
earmelfb_linux_eabi.c: $(srcdir)/emulparams/armelfb_linux_eabi.sh \
$(srcdir)/emulparams/armelf_linux_eabi.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelfb_linux_eabi "$(tdir_armelfb_linux_abi)"
+
earmelfb_nacl.c: $(srcdir)/emulparams/armelfb_nacl.sh \
$(srcdir)/emulparams/armelf_nacl.sh \
$(srcdir)/emulparams/armelf_linux_eabi.sh \
@@ -2263,154 +2201,158 @@ earmelfb_nacl.c: $(srcdir)/emulparams/armelfb_nacl.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelfb_nacl "$(tdir_armelfb_nacl)"
+
earmelfb_nbsd.c: $(srcdir)/emulparams/armelfb_nbsd.sh \
$(srcdir)/emulparams/armelf_nbsd.sh \
$(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelfb_nbsd "$(tdir_armelfb_nbsd)"
+
earmnbsd.c: $(srcdir)/emulparams/armnbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armnbsd "$(tdir_armnbsd)"
+
earmnto.c: $(srcdir)/emulparams/armnto.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armnto "$(tdir_armnto)"
+
earmpe.c: $(srcdir)/emulparams/armpe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armpe "$(tdir_armpe)"
+
earmsymbian.c: $(srcdir)/emulparams/armsymbian.sh \
$(srcdir)/emulparams/armelf.sh $(ELF_DEPS) \
$(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/armbpabi.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} armsymbian "$(tdir_armelf)"
+
eavr1.c: $(srcdir)/emulparams/avr1.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr1 "$(tdir_avr2)"
+
eavr2.c: $(srcdir)/emulparams/avr2.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr2 "$(tdir_avr2)"
+
eavr25.c: $(srcdir)/emulparams/avr25.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr25 "$(tdir_avr2)"
+
eavr3.c: $(srcdir)/emulparams/avr3.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr3 "$(tdir_avr2)"
+
eavr31.c: $(srcdir)/emulparams/avr31.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr31 "$(tdir_avr2)"
+
eavr35.c: $(srcdir)/emulparams/avr35.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr35 "$(tdir_avr2)"
+
eavr4.c: $(srcdir)/emulparams/avr4.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr4 "$(tdir_avr2)"
+
eavr5.c: $(srcdir)/emulparams/avr5.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr5 "$(tdir_avr2)"
+
eavr51.c: $(srcdir)/emulparams/avr51.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr51 "$(tdir_avr2)"
+
eavr6.c: $(srcdir)/emulparams/avr6.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avr6 "$(tdir_avr2)"
+
eavrxmega1.c: $(srcdir)/emulparams/avrxmega1.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega1 "$(tdir_avr2)"
+
eavrxmega2.c: $(srcdir)/emulparams/avrxmega2.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega2 "$(tdir_avr2)"
+
eavrxmega3.c: $(srcdir)/emulparams/avrxmega3.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega3 "$(tdir_avr2)"
+
eavrxmega4.c: $(srcdir)/emulparams/avrxmega4.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega4 "$(tdir_avr2)"
+
eavrxmega5.c: $(srcdir)/emulparams/avrxmega5.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega5 "$(tdir_avr2)"
+
eavrxmega6.c: $(srcdir)/emulparams/avrxmega6.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega6 "$(tdir_avr2)"
+
eavrxmega7.c: $(srcdir)/emulparams/avrxmega7.sh \
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} avrxmega7 "$(tdir_avr2)"
+
+eavrtiny.c: $(srcdir)/emulparams/avrtiny.sh \
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avrtiny.sc \
+ ${GEN_DEPENDS}
+
ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} coff_i860 "$(tdir_coff_i860)"
+
ecoff_sparc.c: $(srcdir)/emulparams/coff_sparc.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sparccoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} coff_sparc "$(tdir_coff_sparc)"
+
ecrisaout.c: $(srcdir)/emulparams/crisaout.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/crisaout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} crisaout "$(tdir_cris)"
+
ecriself.c: $(srcdir)/emulparams/criself.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} criself "$(tdir_cris)"
+
ecrislinux.c: $(srcdir)/emulparams/crislinux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} crislinux "$(tdir_cris)"
+
ed10velf.c: $(srcdir)/emulparams/d10velf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elfd10v.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} d10velf "$(tdir_d10v)"
+
ed30v_e.c: $(srcdir)/emulparams/d30v_e.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} d30v_e "$(tdir_d30v)"
+
ed30v_o.c: $(srcdir)/emulparams/d30v_o.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} d30v_o "$(tdir_d30v)"
+
ed30velf.c: $(srcdir)/emulparams/d30velf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} d30velf "$(tdir_d30v)"
+
edelta68.c: $(srcdir)/emulparams/delta68.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/delta68.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} delta68 "$(tdir_delta68)"
+
eelf32_dlx.c: $(srcdir)/emulparams/elf32_dlx.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/dlx.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_dlx "$(tdir_elf32_dlx)"
+
eelf32_i860.c: $(srcdir)/emulparams/elf32_i860.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_i860 "$(tdir_elf32_i860)"
+
eelf32_i960.c: $(srcdir)/emulparams/elf32_i960.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_i960 "$(tdir_elf32_i960)"
+
eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_sparc "$(tdir_elf32_sparc)"
+
eelf32_sparc_sol2.c: $(srcdir)/emulparams/elf32_sparc_sol2.sh \
$(srcdir)/emulparams/elf32_sparc.sh \
$(srcdir)/emulparams/solaris2.sh \
$(srcdir)/emultempl/solaris2.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_sparc_sol2 "$(tdir_elf32_sparc_sol2)"
+
eelf32_sparc_vxworks.c: $(srcdir)/emulparams/elf32_sparc_vxworks.sh \
$(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/elf32_sparc.sh \
$(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_sparc_vxworks "$(tdir_elf32_sparc_vxworks)"
+
eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \
$(srcdir)/emultempl/spu_ovl.@OBJEXT@_c $(srcdir)/emultempl/spu_icache.@OBJEXT@_c \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_spu "$(tdir_elf32_spu)"
+
$(srcdir)/emultempl/spu_ovl.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_ovl.S
if ../gas/as-new --version \
| grep 'target.*spu' >/dev/null 2>/dev/null; then \
@@ -2428,1224 +2370,1026 @@ $(srcdir)/emultempl/spu_icache.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_icach
eelf32_tic6x_be.c: $(srcdir)/emulparams/elf32_tic6x_be.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_tic6x_be "$(tdir_elf32_tic6x_be)"
+
eelf32_tic6x_elf_be.c: $(srcdir)/emulparams/elf32_tic6x_elf_be.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_tic6x_elf_be "$(tdir_elf32_tic6x_elf_be)"
+
eelf32_tic6x_elf_le.c: $(srcdir)/emulparams/elf32_tic6x_elf_le.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_tic6x_elf_le "$(tdir_elf32_tic6x_elf_le)"
+
eelf32_tic6x_le.c: $(srcdir)/emulparams/elf32_tic6x_le.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_tic6x_le "$(tdir_elf32_tic6x_le)"
+
eelf32_tic6x_linux_be.c: $(srcdir)/emulparams/elf32_tic6x_linux_be.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_tic6x_linux_be "$(tdir_elf32_tic6x_linux_be)"
+
eelf32_tic6x_linux_le.c: $(srcdir)/emulparams/elf32_tic6x_linux_le.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_tic6x_linux_le "$(tdir_elf32_tic6x_linux_le)"
+
eelf32am33lin.c: $(srcdir)/emulparams/elf32am33lin.sh \
$(srcdir)/emulparams/elf32am33lin.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32am33lin "$(tdir_elf32am33lin)"
+
eelf32b4300.c: $(srcdir)/emulparams/elf32b4300.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32b4300 "$(tdir_elf32b4300)"
-eelf32bfin.c: $(srcdir)/emulparams/bfin.sh \
+
+eelf32bfin.c: $(srcdir)/emulparams/elf32bfin.sh \
$(ELF_DEPS) $(srcdir)/emultempl/bfin.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bfin "$(tdir_elf32bfin)" bfin
+
eelf32bfinfd.c: $(srcdir)/emulparams/elf32bfinfd.sh \
- $(srcdir)/emulparams/bfin.sh \
+ $(srcdir)/emulparams/elf32bfin.sh \
$(ELF_DEPS) $(srcdir)/emultempl/bfin.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bfinfd "$(tdir_elf32bfinfd)" elf32bfinfd
+
eelf32bmip.c: $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bmip "$(tdir_elf32bmip)"
+
eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bmipn32 "$(tdir_elf32bmipn32)"
+
eelf32bsmip.c: $(srcdir)/emulparams/elf32bsmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bsmip "$(tdir_elf32bsmip)"
+
eelf32btsmip.c: $(srcdir)/emulparams/elf32btsmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32btsmip "$(tdir_elf32btsmip)"
+
eelf32btsmip_fbsd.c: $(srcdir)/emulparams/elf32btsmip_fbsd.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32btsmip_fbsd "$(tdir_elf32btsmip_fbsd)"
+
eelf32btsmipn32.c: $(srcdir)/emulparams/elf32btsmipn32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32btsmipn32 "$(tdir_elf32btsmipn32)"
+
eelf32btsmipn32_fbsd.c: $(srcdir)/emulparams/elf32btsmipn32_fbsd.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32btsmipn32_fbsd "$(tdir_elf32btsmipn32_fbsd)"
+
eelf32cr16.c: $(srcdir)/emulparams/elf32cr16.sh \
$(ELF_DEPS) $(srcdir)/emultempl/cr16elf.em \
$(srcdir)/scripttempl/elf32cr16.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32cr16 "$(tdir_elf32crx)"
+
eelf32cr16c.c: $(srcdir)/emulparams/elf32cr16c.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf32cr16c.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32cr16c "$(tdir_elf32cr16c)"
+
eelf32crx.c: $(srcdir)/emulparams/elf32crx.sh \
$(ELF_DEPS) $(srcdir)/emultempl/crxelf.em \
$(srcdir)/scripttempl/elf32crx.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32crx "$(tdir_elf32crx)"
+
eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ebmip "$(tdir_elf32ebmip)"
+
eelf32ebmipvxworks.c: $(srcdir)/emulparams/elf32ebmipvxworks.sh \
$(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emulparams/vxworks.sh \
$(ELF_DEPS) $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/vxworks.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ebmipvxworks "$(tdir_elf32ebmipvxworks)"
+
eelf32elmip.c: $(srcdir)/emulparams/elf32elmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32elmip "$(tdir_elf32elmip)"
+
eelf32elmipvxworks.c: $(srcdir)/emulparams/elf32elmipvxworks.sh \
$(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emulparams/vxworks.sh \
$(ELF_DEPS) $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/vxworks.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32elmipvxworks "$(tdir_elf32elmipvxworks)"
+
eelf32lr5900.c: $(srcdir)/emulparams/elf32lr5900.sh \
$(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lr5900 "$(tdir_elf32lr5900)"
+
eelf32lr5900n32.c: $(srcdir)/emulparams/elf32lr5900n32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lr5900n32 "$(tdir_elf32lr5900n32)"
+
eelf32epiphany.c: $(srcdir)/emulparams/elf32epiphany.sh \
$(ELF_DEPS) ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32epiphany "$(tdir_epiphany)"
+
eelf32epiphany_4x4.c: $(srcdir)/emulparams/elf32epiphany_4x4.sh \
$(srcdir)/emultempl/elf32.em \
$(ELF_DEPS) $(srcdir)/scripttempl/epiphany_4x4.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32epiphany_4x4 "$(tdir_epiphany_4x4)"
+
eelf32fr30.c: $(srcdir)/emulparams/elf32fr30.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32fr30 "$(tdir_fr30)"
+
eelf32frv.c: $(srcdir)/emulparams/elf32frv.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32frv "$(tdir_frv)"
+
eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \
$(srcdir)/emulparams/elf32frv.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32frvfd "$(tdir_frv)"
+
eelf32i370.c: $(srcdir)/emulparams/elf32i370.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elfi370.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32i370 "$(tdir_elf32i370)"
+
eelf32ip2k.c: $(srcdir)/emulparams/elf32ip2k.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ip2k "$(tdir_ip2k)"
+
eelf32iq10.c: $(srcdir)/emulparams/elf32iq10.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32iq10 "$(tdir_iq10)"
+
eelf32iq2000.c: $(srcdir)/emulparams/elf32iq2000.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32iq2000 "$(tdir_iq2000)"
+
eelf32l4300.c: $(srcdir)/emulparams/elf32l4300.sh \
$(srcdir)/emulparams/elf32b4300.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32l4300 "$(tdir_elf32l4300)"
+
eelf32lm32.c: $(srcdir)/emulparams/elf32lm32.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lm32 "$(tdir_elf32lm32)"
+
eelf32lm32fd.c: $(srcdir)/emulparams/elf32lm32fd.sh \
$(srcdir)/emulparams/elf32lm32.sh $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lm32fd "$(tdir_elf32lm32fd)"
+
eelf32lmip.c: $(srcdir)/emulparams/elf32lmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lmip "$(tdir_elf32lmip)"
+
eelf32lppc.c: $(srcdir)/emulparams/elf32lppc.sh \
$(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emultempl/ppc32elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lppc "$(tdir_elf32lppc)"
+
eelf32lppclinux.c: $(srcdir)/emulparams/elf32lppclinux.sh \
$(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \
$(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emultempl/ppc32elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lppclinux "$(tdir_elf32lppclinux)"
+
eelf32lppcnto.c: $(srcdir)/emulparams/elf32lppcnto.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lppcnto "$(tdir_elf32lppcnto)"
+
eelf32lppcsim.c: $(srcdir)/emulparams/elf32lppcsim.sh \
$(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \
$(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emultempl/ppc32elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lppcsim "$(tdir_elf32lppcsim)"
+
eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lsmip "$(tdir_elf32lsmip)"
+
eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ltsmip "$(tdir_elf32ltsmip)"
+
eelf32ltsmip_fbsd.c: $(srcdir)/emulparams/elf32ltsmip_fbsd.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ltsmip_fbsd "$(tdir_elf32ltsmip_fbsd)"
+
eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
$(srcdir)/emulparams/elf32btsmipn32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ltsmipn32 "$(tdir_elf32ltsmipn32)"
+
eelf32ltsmipn32_fbsd.c: $(srcdir)/emulparams/elf32ltsmipn32_fbsd.sh \
$(srcdir)/emulparams/elf32btsmipn32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ltsmipn32_fbsd "$(tdir_elf32ltsmipn32_fbsd)"
+
eelf32m32c.c: $(srcdir)/emulparams/elf32m32c.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32m32c "$(tdir_m32c)"
+
eelf32mbel_linux.c: $(srcdir)/emulparams/elf32mbel_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mbel_linux "$(tdir_microblazeel)"
+
eelf32mb_linux.c: $(srcdir)/emulparams/elf32mb_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mb_linux "$(tdir_microblaze)"
+
eelf32mcore.c: $(srcdir)/emulparams/elf32mcore.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mcore "$(tdir_mcore)"
+
eelf32mep.c: $(srcdir)/emulparams/elf32mep.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/mep.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mep "$(tdir_mep)"
+
eelf32metag.c: $(srcdir)/emulparams/elf32metag.sh \
$(ELF_DEPS) $(srcdir)/emultempl/metagelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32metag "$(tdir_metag)"
+
eelf32microblazeel.c: $(srcdir)/emulparams/elf32microblazeel.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32microblazeel "$(tdir_microblazeel)"
+
eelf32microblaze.c: $(srcdir)/emulparams/elf32microblaze.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32microblaze "$(tdir_microblaze)"
+
eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mipswindiss "$(tdir_elf32mipswindiss)"
+
eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32moxie "$(tdir_moxie)"
+
+emoxiebox.c: $(srcdir)/emulparams/moxiebox.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
eelf32mt.c: $(srcdir)/emulparams/elf32mt.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mt "$(tdir_mt)"
-eelf32openrisc.c: $(srcdir)/emulparams/elf32openrisc.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32openrisc "$(tdir_openrisc)"
+
+eelf32or1k.c: $(srcdir)/emulparams/elf32or1k.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32or1k_linux.c: $(srcdir)/emulparams/elf32or1k_linux.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
eelf32ppc.c: $(srcdir)/emulparams/elf32ppc.sh \
$(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emultempl/ppc32elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppc "$(tdir_elf32ppc)"
+
eelf32ppc_fbsd.c: $(srcdir)/emulparams/elf32ppc_fbsd.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppc_fbsd "$(tdir_elf32ppc_fbsd)"
+
eelf32ppclinux.c: $(srcdir)/emulparams/elf32ppclinux.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppclinux "$(tdir_elf32ppclinux)"
+
eelf32ppcnto.c: $(srcdir)/emulparams/elf32ppcnto.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcnto "$(tdir_elf32ppcnto)"
+
eelf32ppcsim.c: $(srcdir)/emulparams/elf32ppcsim.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcsim "$(tdir_elf32ppcsim)"
+
eelf32ppcvxworks.c: $(srcdir)/emulparams/elf32ppcvxworks.sh \
$(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emulparams/vxworks.sh \
$(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcvxworks "$(tdir_elf32ppcvxworks)"
+
eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)"
+
eelf32rl78.c: $(srcdir)/emulparams/elf32rl78.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32rl78 "$(tdir_elf32rl78)"
+
eelf32rx.c: $(srcdir)/emulparams/elf32rx.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32rx "$(tdir_elf32rx)"
+
eelf32tilegx.c: $(srcdir)/emulparams/elf32tilegx.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32tilegx "$(tdir_tilegx)"
+
eelf32tilegx_be.c: $(srcdir)/emulparams/elf32tilegx_be.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32tilegx_be "$(tdir_tilegx_be)"
+
eelf32tilepro.c: $(srcdir)/emulparams/elf32tilepro.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32tilepro "$(tdir_tilepro)"
+
eelf32vax.c: $(srcdir)/emulparams/elf32vax.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32vax "$(tdir_elf32vax)"
+
eelf32xc16x.c: $(srcdir)/emulparams/elf32xc16x.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xc16x "$(tdir_xc16x)"
+
eelf32xc16xl.c: $(srcdir)/emulparams/elf32xc16xl.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xc16xl "$(tdir_xc16xl)"
+
eelf32xc16xs.c: $(srcdir)/emulparams/elf32xc16xs.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xc16xs "$(tdir_xc16xs)"
+
eelf32xstormy16.c: $(srcdir)/emulparams/elf32xstormy16.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/xstormy16.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xstormy16 "$(tdir_xstormy16)"
+
eelf32xtensa.c: $(srcdir)/emulparams/elf32xtensa.sh $(ELF_DEPS) \
$(srcdir)/emultempl/xtensaelf.em $(INCDIR)/xtensa-config.h \
$(BFDDIR)/elf-bfd.h $(BFDDIR)/libbfd.h $(INCDIR)/elf/xtensa.h \
$(srcdir)/scripttempl/elfxtensa.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xtensa "$(tdir_elf32xtensa)"
+
eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386 "$(tdir_elf_i386)"
+
eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)"
+
eelf_i386_chaos.c: $(srcdir)/emulparams/elf_i386_chaos.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf_chaos.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_chaos "$(tdir_elf_i386_chaos)"
+
eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.sh \
$(srcdir)/emulparams/elf_i386.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_fbsd "$(tdir_elf_i386_fbsd)"
+
eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_ldso "$(tdir_elf_i386_ldso)"
+
eelf_i386_nacl.c: $(srcdir)/emulparams/elf_i386_nacl.sh \
$(srcdir)/emulparams/elf_i386.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_nacl "$(tdir_elf_i386_nacl)"
+
eelf_i386_sol2.c: $(srcdir)/emulparams/elf_i386_sol2.sh \
$(srcdir)/emulparams/solaris2.sh \
$(srcdir)/emultempl/solaris2.em \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_sol2 "$(tdir_elf_i386_sol2)"
+
eelf_i386_vxworks.c: $(srcdir)/emulparams/elf_i386_vxworks.sh \
$(srcdir)/emulparams/vxworks.sh $(srcdir)/emultempl/vxworks.em \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_vxworks "$(tdir_elf_i386_vxworks)"
+
eelf_s390.c: $(srcdir)/emulparams/elf_s390.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_s390 "$(tdir_elf_s390)"
+
egld960.c: $(srcdir)/emulparams/gld960.sh \
$(srcdir)/emultempl/gld960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} gld960 "$(tdir_gld960)"
+
egld960coff.c: $(srcdir)/emulparams/gld960coff.sh \
$(srcdir)/emultempl/gld960c.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} gld960coff "$(tdir_gld960coff)"
+
eh8300.c: $(srcdir)/emulparams/h8300.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300 "$(tdir_h8300)"
+
eh8300elf.c: $(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300elf "$(tdir_h8300elf)"
+
eh8300h.c: $(srcdir)/emulparams/h8300h.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300h.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300h "$(tdir_h8300h)"
+
eh8300helf.c: $(srcdir)/emulparams/h8300helf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300helf "$(tdir_h8300helf)"
+
eh8300hn.c: $(srcdir)/emulparams/h8300hn.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300hn.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300hn "$(tdir_h8300hn)"
+
eh8300hnelf.c: $(srcdir)/emulparams/h8300hnelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300hnelf "$(tdir_h8300hnelf)"
+
eh8300s.c: $(srcdir)/emulparams/h8300s.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300s.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300s "$(tdir_h8300s)"
+
eh8300self.c: $(srcdir)/emulparams/h8300self.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300self "$(tdir_h8300self)"
+
eh8300sn.c: $(srcdir)/emulparams/h8300sn.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sn.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sn "$(tdir_h8300sn)"
+
eh8300snelf.c: $(srcdir)/emulparams/h8300snelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300snelf "$(tdir_h8300snelf)"
+
eh8300sx.c: $(srcdir)/emulparams/h8300sx.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sx.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sx "$(tdir_h8300sx)"
+
eh8300sxelf.c: $(srcdir)/emulparams/h8300sxelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sxelf "$(tdir_h8300sxelf)"
+
eh8300sxn.c: $(srcdir)/emulparams/h8300sxn.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sxn.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sxn "$(tdir_h8300sxn)"
+
eh8300sxnelf.c: $(srcdir)/emulparams/h8300sxnelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sxnelf "$(tdir_h8300sxnelf)"
+
eh8500.c: $(srcdir)/emulparams/h8500.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8500 "$(tdir_h8500)"
+
eh8500b.c: $(srcdir)/emulparams/h8500b.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500b.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8500b "$(tdir_h8500b)"
+
eh8500c.c: $(srcdir)/emulparams/h8500c.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500c.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8500c "$(tdir_h8500c)"
+
eh8500m.c: $(srcdir)/emulparams/h8500m.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500m.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8500m "$(tdir_h8500m)"
+
eh8500s.c: $(srcdir)/emulparams/h8500s.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8500s.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8500s "$(tdir_h8500s)"
+
ehp300bsd.c: $(srcdir)/emulparams/hp300bsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hp300bsd "$(tdir_hp300bsd)"
+
ehp3hpux.c: $(srcdir)/emulparams/hp3hpux.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hp3hpux "$(tdir_hp3hpux)"
+
ehppaelf.c: $(srcdir)/emulparams/hppaelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
$(srcdir)/scripttempl/hppaelf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hppaelf "$(tdir_hppaelf)"
+
ehppalinux.c: $(srcdir)/emulparams/hppalinux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hppalinux "$(tdir_hppalinux)"
+
ehppanbsd.c: $(srcdir)/emulparams/hppanbsd.sh \
$(srcdir)/emulparams/hppaelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hppanbsd "$(tdir_hppanbsd)"
+
ehppaobsd.c: $(srcdir)/emulparams/hppaobsd.sh \
$(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hppaobsd "$(tdir_hppaobsd)"
+
ei386aout.c: $(srcdir)/emulparams/i386aout.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386aout "$(tdir_i386aout)"
+
ei386beos.c: $(srcdir)/emulparams/i386beos.sh \
$(srcdir)/emultempl/beos.em $(srcdir)/scripttempl/i386beos.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386beos "$(tdir_i386beos)"
+
ei386bsd.c: $(srcdir)/emulparams/i386bsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386bsd "$(tdir_i386bsd)"
+
ei386coff.c: $(srcdir)/emulparams/i386coff.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386coff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386coff "$(tdir_i386coff)"
+
ei386go32.c: $(srcdir)/emulparams/i386go32.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386go32.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386go32 "$(tdir_i386go32)"
+
ei386linux.c: $(srcdir)/emulparams/i386linux.sh \
$(srcdir)/emultempl/linux.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386linux "$(tdir_i386linux)"
+
ei386lynx.c: $(srcdir)/emulparams/i386lynx.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386lynx "$(tdir_i386lynx)"
+
ei386mach.c: $(srcdir)/emulparams/i386mach.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386mach "$(tdir_i386mach)"
+
ei386moss.c: $(srcdir)/emulparams/i386moss.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386moss "$(tdir_i386moss)"
+
ei386msdos.c: $(srcdir)/emulparams/i386msdos.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386msdos.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386msdos "$(tdir_i386msdos)"
+
ei386nbsd.c: $(srcdir)/emulparams/i386nbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386nbsd "$(tdir_i386nbsd)"
+
ei386nto.c: $(srcdir)/emulparams/i386nto.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386nto "$(tdir_i386nto)"
+
ei386nw.c: $(srcdir)/emulparams/i386nw.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/nw.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386nw "$(tdir_i386nw)"
+
ei386pe.c: $(srcdir)/emulparams/i386pe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386pe "$(tdir_i386pe)"
+
ei386pe_posix.c: $(srcdir)/emulparams/i386pe_posix.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386pe_posix "$(tdir_i386pe_posix)"
+
ei386pep.c: $(srcdir)/emulparams/i386pep.sh \
$(srcdir)/emultempl/pep.em $(srcdir)/scripttempl/pep.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} i386pep "$(tdir_i386pe)"
+
elnk960.c: $(srcdir)/emulparams/lnk960.sh \
$(srcdir)/emultempl/lnk960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} lnk960 "$(tdir_lnk960)"
+
em32relf.c: $(srcdir)/emulparams/m32relf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32relf "$(tdir_m32r)"
+
em32relf_linux.c: $(srcdir)/emulparams/m32relf_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32relf_linux "$(tdir_m32relf_linux)"
+
em32rlelf.c: $(srcdir)/emulparams/m32rlelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32rlelf "$(tdir_m32rlelf)"
+
em32rlelf_linux.c: $(srcdir)/emulparams/m32rlelf_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32rlelf_linux "$(tdir_m32rlelf_linux)"
+
em68hc11elf.c: $(srcdir)/emulparams/m68hc11elf.sh \
$(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elfm68hc11.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68hc11elf "$(tdir_m68hc11)"
+
em68hc11elfb.c: $(srcdir)/emulparams/m68hc11elfb.sh \
$(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elfm68hc11.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68hc11elfb "$(tdir_m68hc11b)"
+
em68hc12elf.c: $(srcdir)/emulparams/m68hc12elf.sh \
$(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elfm68hc12.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68hc12elf "$(tdir_m68hc12)"
+
em68hc12elfb.c: $(srcdir)/emulparams/m68hc12elfb.sh \
$(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elfm68hc12.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68hc12elfb "$(tdir_m68hc12b)"
+
em68k4knbsd.c: $(srcdir)/emulparams/m68k4knbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68k4knbsd "$(tdir_m68k4knbsd)"
+
em68kaout.c: $(srcdir)/emulparams/m68kaout.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68kaout "$(tdir_m68kaout)"
+
em68kaux.c: $(srcdir)/emulparams/m68kaux.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/m68kaux.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68kaux "$(tdir_m68kaux)"
+
em68kcoff.c: $(srcdir)/emulparams/m68kcoff.sh \
$(srcdir)/emultempl/m68kcoff.em $(srcdir)/scripttempl/m68kcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68kcoff "$(tdir_m68kcoff)"
+
em68kelf.c: $(srcdir)/emulparams/m68kelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/m68kelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68kelf "$(tdir_m68kelf)"
+
em68kelfnbsd.c: $(srcdir)/emulparams/m68kelfnbsd.sh \
$(srcdir)/emulparams/m68kelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/m68kelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68kelfnbsd "$(tdir_m68kelfnbsd)"
+
em68klinux.c: $(srcdir)/emulparams/m68klinux.sh \
$(srcdir)/emultempl/linux.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68klinux "$(tdir_m68klinux)"
+
em68knbsd.c: $(srcdir)/emulparams/m68knbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68knbsd "$(tdir_m68knbsd)"
+
em68kpsos.c: $(srcdir)/emulparams/m68kpsos.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/psos.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m68kpsos "$(tdir_m68kpsos)"
+
em88kbcs.c: $(srcdir)/emulparams/m88kbcs.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/m88kbcs.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m88kbcs "$(tdir_m88kbcs)"
+
emcorepe.c: $(srcdir)/emulparams/mcorepe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mcorepe "$(tdir_mcorepe)"
+
emn10200.c: $(srcdir)/emulparams/mn10200.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mn10200 "$(tdir_mn10200)"
+
emn10300.c: $(srcdir)/emulparams/mn10300.sh \
$(srcdir)/emulparams/mn10200.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mn10300 "$(tdir_mn10300)"
-emsp430x110.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x110 "$(tdir_msp430x110)" msp430all
-emsp430x1101.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1101 "$(tdir_msp430x1101)" msp430all
-emsp430x1111.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1111 "$(tdir_msp430x1111)" msp430all
-emsp430x112.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x112 "$(tdir_msp430x112)" msp430all
-emsp430x1121.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1121 "$(tdir_msp430x1121)" msp430all
-emsp430x1122.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1122 "$(tdir_msp430x1122)" msp430all
-emsp430x1132.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1132 "$(tdir_msp430x1132)" msp430all
-emsp430x122.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x122 "$(tdir_msp430x122)" msp430all
-emsp430x1222.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1222 "$(tdir_msp430x1222)" msp430all
-emsp430x123.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x123 "$(tdir_msp430x123)" msp430all
-emsp430x1232.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1232 "$(tdir_msp430x1232)" msp430all
-emsp430x133.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x133 "$(tdir_msp430x133)" msp430all
-emsp430x1331.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1331 "$(tdir_msp430x1331)" msp430all
-emsp430x135.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x135 "$(tdir_msp430x135)" msp430all
-emsp430x1351.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1351 "$(tdir_msp430x1351)" msp430all
-emsp430x147.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x147 "$(tdir_msp430x147)" msp430all
-emsp430x148.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x148 "$(tdir_msp430x148)" msp430all
-emsp430x149.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x149 "$(tdir_msp430x149)" msp430all
-emsp430x155.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x155 "$(tdir_msp430x155)" msp430all
-emsp430x156.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x156 "$(tdir_msp430x156)" msp430all
-emsp430x157.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x157 "$(tdir_msp430x157)" msp430all
-emsp430x1610.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1610 "$(tdir_msp430x1610)" msp430all
-emsp430x1611.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1611 "$(tdir_msp430x1611)" msp430all
-emsp430x1612.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x1612 "$(tdir_msp430x1612)" msp430all
-emsp430x167.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x167 "$(tdir_msp430x167)" msp430all
-emsp430x168.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x168 "$(tdir_msp430x168)" msp430all
-emsp430x169.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x169 "$(tdir_msp430x169)" msp430all
-emsp430x2101.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x2101 "$(tdir_msp430x2101)" msp430all
-emsp430x2111.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x2111 "$(tdir_msp430x2111)" msp430all
-emsp430x2121.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x2121 "$(tdir_msp430x2121)" msp430all
-emsp430x2131.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x2131 "$(tdir_msp430x2131)" msp430all
-emsp430x311.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x311 "$(tdir_msp430x311)" msp430all
-emsp430x312.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x312 "$(tdir_msp430x312)" msp430all
-emsp430x313.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x313 "$(tdir_msp430x313)" msp430all
-emsp430x314.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x314 "$(tdir_msp430x314)" msp430all
-emsp430x315.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x315 "$(tdir_msp430x315)" msp430all
-emsp430x323.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x323 "$(tdir_msp430x323)" msp430all
-emsp430x325.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x325 "$(tdir_msp430x325)" msp430all
-emsp430x336.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x336 "$(tdir_msp430x336)" msp430all
-emsp430x337.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430_3.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x337 "$(tdir_msp430x337)" msp430all
-emsp430x412.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x412 "$(tdir_msp430x412)" msp430all
-emsp430x413.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x413 "$(tdir_msp430x413)" msp430all
-emsp430x415.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x415 "$(tdir_msp430x415)" msp430all
-emsp430x417.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x417 "$(tdir_msp430x417)" msp430all
-emsp430x435.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x435 "$(tdir_msp430x435)" msp430all
-emsp430x436.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x436 "$(tdir_msp430x436)" msp430all
-emsp430x437.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x437 "$(tdir_msp430x437)" msp430all
-emsp430x447.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x447 "$(tdir_msp430x447)" msp430all
-emsp430x448.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x448 "$(tdir_msp430x448)" msp430all
-emsp430x449.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x449 "$(tdir_msp430x449)" msp430all
-emsp430xE423.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xE423 "$(tdir_msp430xE423)" msp430all
-emsp430xE425.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xE425 "$(tdir_msp430xE425)" msp430all
-emsp430xE427.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xE427 "$(tdir_msp430xE427)" msp430all
-emsp430xG437.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xG437 "$(tdir_msp430xG437)" msp430all
-emsp430xG438.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xG438 "$(tdir_msp430xG438)" msp430all
-emsp430xG439.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xG439 "$(tdir_msp430xG439)" msp430all
-emsp430xW423.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW423 "$(tdir_msp430xW423)" msp430all
-emsp430xW425.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW425 "$(tdir_msp430xW425)" msp430all
-emsp430xW427.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW427 "$(tdir_msp430xW427)" msp430all
-emsp430X.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430X "$(tdir_msp430X)" msp430all
+
+emsp430.c: $(srcdir)/emulparams/msp430.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc ${GEN_DEPENDS}
+
+emsp430X.c: $(srcdir)/emulparams/msp430.sh $(srcdir)/emulparams/msp430X.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc ${GEN_DEPENDS}
+
+ends32elf.c: $(srcdir)/emulparams/nds32elf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32elf16m.c: $(srcdir)/emulparams/nds32elf16m.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32belf.c: $(srcdir)/emulparams/nds32belf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32belf16m.c: $(srcdir)/emulparams/nds32belf16m.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32elf_linux.c: $(srcdir)/emulparams/nds32elf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32belf_linux.c: $(srcdir)/emulparams/nds32belf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
enews.c: $(srcdir)/emulparams/news.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} news "$(tdir_news)"
+
enios2elf.c: $(srcdir)/emulparams/nios2elf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} nios2elf "$(tdir_nios2elf)"
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/nios2elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+enios2linux.c: $(srcdir)/emulparams/nios2linux.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/nios2elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/emultempl/netbsd.em \
$(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} ns32knbsd "$(tdir_ns32knbsd)"
+
eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aarch64elf "$(tdir_aarch64elf)"
+
eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aarch64elf32 "$(tdir_aarch64elf32)"
+
eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aarch64elfb "$(tdir_aarch64elfb)"
+
eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aarch64elf32b "$(tdir_aarch64elf32b)"
+
eaarch64linux.c: $(srcdir)/emulparams/aarch64linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aarch64linux "$(tdir_aarch64linux)"
+
eaarch64linuxb.c: $(srcdir)/emulparams/aarch64linuxb.sh $(srcdir)/emulparams/aarch64linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} aarch64linuxb "$(tdir_aarch64linuxb)"
-eor32.c: $(srcdir)/emulparams/or32.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/or32.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} or32 "$(tdir_or32)"
-eor32elf.c: $(srcdir)/emulparams/or32elf.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} or32elf "$(tdir_or32elf)"
+
+eaarch64linux32.c: $(srcdir)/emulparams/aarch64linux32.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64linux32b.c: $(srcdir)/emulparams/aarch64linux32b.sh $(srcdir)/emulparams/aarch64linux32.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
epc532macha.c: $(srcdir)/emulparams/pc532macha.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} pc532macha "$(tdir_pc532macha)"
+
epdp11.c: $(srcdir)/emulparams/pdp11.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} pdp11 "$(tdir_pdp11)"
+
epjelf.c: $(srcdir)/emulparams/pjelf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} pjelf "$(tdir_pjelf)"
+
epjlelf.c: $(srcdir)/emulparams/pjlelf.sh $(srcdir)/emulparams/pjelf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} pjlelf "$(tdir_pjlelf)"
+
eppclynx.c: $(srcdir)/emulparams/ppclynx.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} ppclynx "$(tdir_ppclynx)"
+
eppcmacos.c: $(srcdir)/emulparams/ppcmacos.sh \
$(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} ppcmacos "$(tdir_ppcmacos)"
+
eppcnw.c: $(srcdir)/emulparams/ppcnw.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/nw.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} ppcnw "$(tdir_ppcnw)"
+
eppcpe.c: $(srcdir)/emulparams/ppcpe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/ppcpe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} ppcpe "$(tdir_ppcpe)"
+
eriscix.c: $(srcdir)/emulparams/riscix.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} riscix "$(tdir_riscix)"
-escore3_elf.c: $(srcdir)/emulparams/scoreelf.sh \
+
+escore3_elf.c: $(srcdir)/emulparams/score3_elf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/scoreelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} score3_elf "$(tdir_score3_elf)" scoreelf
-escore7_elf.c: $(srcdir)/emulparams/scoreelf.sh \
+
+escore7_elf.c: $(srcdir)/emulparams/score3_elf.sh \
+ $(srcdir)/emulparams/score7_elf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/scoreelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} score7_elf "$(tdir_score7_elf)" scoreelf
+
esh.c: $(srcdir)/emulparams/sh.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} sh "$(tdir_sh)"
+
eshelf.c: $(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf "$(tdir_shelf)"
+
eshelf32.c: $(srcdir)/emulparams/shelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf32 "$(tdir_shelf32)"
+
eshelf32_linux.c: $(srcdir)/emulparams/shelf32_linux.sh \
$(srcdir)/emulparams/shelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf32_linux "$(tdir_shelf32_linux)"
+
eshelf32_nbsd.c: $(srcdir)/emulparams/shelf32_nbsd.sh \
$(srcdir)/emulparams/shelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf32_nbsd "$(tdir_shelf32_nbsd)"
+
eshelf_fd.c: $(srcdir)/emulparams/shelf_fd.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_fd "$(tdir_shelf_fd)"
+
eshelf_linux.c: $(srcdir)/emulparams/shelf_linux.sh \
$(srcdir)/emulparams/shlelf_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_linux "$(tdir_shelf_linux)"
+
eshelf_nbsd.c: $(srcdir)/emulparams/shelf_nbsd.sh \
$(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_nbsd "$(tdir_shelf_nbsd)"
+
eshelf_nto.c: $(srcdir)/emulparams/shelf_nto.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_nto "$(tdir_shelf_nto)"
+
eshelf_uclinux.c: $(srcdir)/emulparams/shelf_uclinux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_uclinux "$(tdir_shelf_uclinux)"
+
eshelf_vxworks.c: $(srcdir)/emulparams/shelf_vxworks.sh \
$(srcdir)/emulparams/vxworks.sh $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc \
$(srcdir)/emultempl/vxworks.em ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_vxworks "$(tdir_shelf_vxworks)"
+
eshl.c: $(srcdir)/emulparams/shl.sh \
$(srcdir)/emulparams/sh.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shl "$(tdir_shl)"
+
eshlelf.c: $(srcdir)/emulparams/shlelf.sh \
$(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf "$(tdir_shlelf)"
+
eshlelf32.c: $(srcdir)/emulparams/shlelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h $(srcdir)/emulparams/shelf32.sh \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf32 "$(tdir_shlelf32)"
+
eshlelf32_linux.c: $(srcdir)/emulparams/shlelf32_linux.sh \
$(srcdir)/emulparams/shelf32_linux.sh $(srcdir)/emulparams/shelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf32_linux "$(tdir_shlelf32_linux)"
+
eshlelf32_nbsd.c: $(srcdir)/emulparams/shlelf32_nbsd.sh \
$(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf32_nbsd "$(tdir_shlelf32_nbsd)"
+
eshlelf_fd.c: $(srcdir)/emulparams/shlelf_fd.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_fd "$(tdir_shlelf_fd)"
+
eshlelf_linux.c: $(srcdir)/emulparams/shlelf_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_linux "$(tdir_shlelf_linux)"
+
eshlelf_nbsd.c: $(srcdir)/emulparams/shlelf_nbsd.sh \
$(srcdir)/emulparams/shelf_nbsd.sh \
$(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_nbsd "$(tdir_shlelf_nbsd)"
+
eshlelf_nto.c: $(srcdir)/emulparams/shlelf_nto.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_nto "$(tdir_shlelf_nto)"
+
eshlelf_vxworks.c: $(srcdir)/emulparams/shlelf_vxworks.sh \
$(srcdir)/emulparams/shelf_vxworks.sh $(srcdir)/emulparams/vxworks.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/vxworks.em \
${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_vxworks "$(tdir_shlelf_vxworks)"
+
eshlsymbian.c: $(srcdir)/emulparams/shlsymbian.sh \
$(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf32sh-symbian.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlsymbian "$(tdir_shlelf)"
+
eshpe.c: $(srcdir)/emulparams/shpe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shpe "$(tdir_shl)"
+
esparcaout.c: $(srcdir)/emulparams/sparcaout.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} sparcaout "$(tdir_sparcaout)"
+
esparclinux.c: $(srcdir)/emulparams/sparclinux.sh \
$(srcdir)/emultempl/linux.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} sparclinux "$(tdir_sparclinux)"
+
esparcnbsd.c: $(srcdir)/emulparams/sparcnbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} sparcnbsd "$(tdir_sparcnbsd)"
+
est2000.c: $(srcdir)/emulparams/st2000.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/st2000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} st2000 "$(tdir_st2000)"
+
esun3.c: $(srcdir)/emulparams/sun3.sh \
$(srcdir)/emultempl/sunos.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} sun3 "$(tdir_sun3)"
+
esun4.c: $(srcdir)/emulparams/sun4.sh \
$(srcdir)/emultempl/sunos.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} sun4 "$(tdir_sun4)"
+
etic30aout.c: $(srcdir)/emulparams/tic30aout.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic30aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic30aout "$(tdir_tic30aout)"
+
etic30coff.c: $(srcdir)/emulparams/tic30coff.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic30coff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic30coff "$(tdir_tic30coff)"
+
etic3xcoff.c: $(srcdir)/emulparams/tic3xcoff.sh \
$(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic4xcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic3xcoff "$(tdir_tic4xcoff)"
+
etic3xcoff_onchip.c: $(srcdir)/emulparams/tic3xcoff_onchip.sh \
$(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic4xcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic3xcoff_onchip "$(tdir_tic4xcoff)"
+
etic4xcoff.c: $(srcdir)/emulparams/tic4xcoff.sh \
$(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic4xcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic4xcoff "$(tdir_tic4xcoff)"
+
etic54xcoff.c: $(srcdir)/emulparams/tic54xcoff.sh \
$(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic54xcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic54xcoff "$(tdir_tic54xcoff)"
+
etic80coff.c: $(srcdir)/emulparams/tic80coff.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic80coff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} tic80coff "$(tdir_tic80coff)"
+
ev850.c: $(srcdir)/emulparams/v850.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/v850.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} v850 "$(tdir_v850)"
+
ev850_rh850.c: $(srcdir)/emulparams/v850_rh850.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/v850_rh850.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} v850_rh850 "$(tdir_v850_rh850)"
+
evanilla.c: $(srcdir)/emulparams/vanilla.sh \
$(srcdir)/emultempl/vanilla.em $(srcdir)/scripttempl/vanilla.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} vanilla "$(tdir_vanilla)"
+
evax.c: $(srcdir)/emulparams/vax.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} vax "$(tdir_vax)"
+
evaxnbsd.c: $(srcdir)/emulparams/vaxnbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} vaxnbsd "$(tdir_vaxnbsd)"
+
evsta.c: $(srcdir)/emulparams/vsta.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} vsta "$(tdir_vsta)"
+
ew65.c: $(srcdir)/emulparams/w65.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/w65.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} w65 "$(tdir_w65)"
+
exgateelf.c: $(srcdir)/emulparams/xgateelf.sh \
$(srcdir)/emultempl/generic.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elfxgate.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} xgateelf "$(tdir_xgate)"
+
ez80.c: $(srcdir)/emulparams/z80.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/emultempl/z80.em \
$(srcdir)/scripttempl/z80.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} z80 "$(tdir_z80)"
+
ez8001.c: $(srcdir)/emulparams/z8001.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} z8001 "$(tdir_z8001)"
+
ez8002.c: $(srcdir)/emulparams/z8002.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} z8002 "$(tdir_z8002)"
eelf32_x86_64.c: $(srcdir)/emulparams/elf32_x86_64.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_x86_64 "$(tdir_elf32_x86_64)"
+
eelf32_x86_64_nacl.c: $(srcdir)/emulparams/elf32_x86_64_nacl.sh \
$(srcdir)/emulparams/elf32_x86_64.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_x86_64_nacl "$(tdir_elf32_x86_64_nacl)"
+
eelf64_aix.c: $(srcdir)/emulparams/elf64_aix.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_aix "$(tdir_elf64_aix)"
+
eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \
$(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
$(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_ia64 "$(tdir_elf64_ia64)"
+
eelf64_ia64_fbsd.c: $(srcdir)/emulparams/elf64_ia64_fbsd.sh \
$(srcdir)/emulparams/elf64_ia64.sh \
$(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
$(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_ia64_fbsd "$(tdir_elf64_ia64_fbsd)"
+
eelf64_ia64_vms.c: $(srcdir)/emulparams/elf64_ia64_vms.sh \
$(srcdir)/emultempl/vms.em $(srcdir)/emultempl/elf-generic.em \
$(srcdir)/scripttempl/ia64vms.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_ia64_vms "$(tdir_elf64_ia64_vms)"
+
eelf64_s390.c: $(srcdir)/emulparams/elf64_s390.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_s390 "$(tdir_elf64_s390)"
+
eelf64_sparc.c: $(srcdir)/emulparams/elf64_sparc.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_sparc "$(tdir_elf64_sparc)"
+
eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
$(srcdir)/emulparams/elf64_sparc.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)"
+
eelf64_sparc_sol2.c: $(srcdir)/emulparams/elf64_sparc_sol2.sh \
$(srcdir)/emulparams/elf64_sparc.sh \
$(srcdir)/emulparams/solaris2.sh \
$(srcdir)/emultempl/solaris2.em \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_sparc_sol2 "$(tdir_elf64_sparc_sol2)"
+
eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \
$(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64alpha "$(tdir_elf64alpha)"
+
eelf64alpha_fbsd.c: $(srcdir)/emulparams/elf64alpha_fbsd.sh \
$(srcdir)/emulparams/elf64alpha.sh \
$(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64alpha_fbsd "$(tdir_elf64alpha_fbsd)"
+
eelf64alpha_nbsd.c: $(srcdir)/emulparams/elf64alpha_nbsd.sh \
$(srcdir)/emulparams/elf64alpha.sh \
$(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64alpha_nbsd "$(tdir_elf64alpha_nbsd)"
+
eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
$(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64bmip "$(tdir_elf64bmip)"
+
eelf64btsmip.c: $(srcdir)/emulparams/elf64btsmip.sh \
$(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64btsmip "$(tdir_elf64btsmip)"
+
eelf64btsmip_fbsd.c: $(srcdir)/emulparams/elf64btsmip_fbsd.sh \
$(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64btsmip_fbsd "$(tdir_elf64btsmip_fbsd)"
+
eelf64hppa.c: $(srcdir)/emulparams/elf64hppa.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf64hppa.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64hppa "$(tdir_elf64hppa)"
+
eelf64lppc.c: $(srcdir)/emulparams/elf64lppc.sh \
$(srcdir)/emulparams/elf64ppc.sh $(srcdir)/emultempl/ppc64elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64lppc "$(tdir_elf64lppc)"
+
eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \
$(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64ltsmip "$(tdir_elf64ltsmip)"
+
eelf64ltsmip_fbsd.c: $(srcdir)/emulparams/elf64ltsmip_fbsd.sh \
$(srcdir)/emulparams/elf64btsmip_fbsd.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64ltsmip_fbsd "$(tdir_elf64ltsmip_fbsd)"
+
eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mmix-elfnmmo.em \
$(srcdir)/emultempl/mmixelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64mmix "$(tdir_elf64mmix)"
+
eelf64ppc.c: $(srcdir)/emulparams/elf64ppc.sh $(srcdir)/emultempl/ppc64elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64ppc "$(tdir_elf64ppc)"
+
eelf64ppc_fbsd.c: $(srcdir)/emulparams/elf64ppc_fbsd.sh \
$(srcdir)/emultempl/ppc64elf.em ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64ppc_fbsd "$(tdir_elf64ppc_fbsd)"
+
eelf64rdos.c: $(srcdir)/emulparams/elf64rdos.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64rdos "$(tdir_elf64rdos)"
+
eelf64tilegx.c: $(srcdir)/emulparams/elf64tilegx.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64tilegx "$(tdir_tilegx)"
+
eelf64tilegx_be.c: $(srcdir)/emulparams/elf64tilegx_be.sh \
$(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64tilegx_be "$(tdir_tilegx_be)"
+
eelf_l1om.c: $(srcdir)/emulparams/elf_l1om.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_l1om "$(tdir_elf_l1om)"
+
eelf_l1om_fbsd.c: $(srcdir)/emulparams/elf_l1om_fbsd.sh \
$(srcdir)/emulparams/elf_l1om.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_l1om_fbsd "$(tdir_elf_l1om_fbsd)"
+
eelf_k1om.c: $(srcdir)/emulparams/elf_k1om.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_k1om "$(tdir_elf_k1om)"
+
eelf_k1om_fbsd.c: $(srcdir)/emulparams/elf_k1om_fbsd.sh \
$(srcdir)/emulparams/elf_k1om.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_k1om_fbsd "$(tdir_elf_k1om_fbsd)"
+
eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)"
+
eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
$(srcdir)/emulparams/elf_x86_64.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64_fbsd "$(tdir_elf_x86_64_fbsd)"
+
eelf_x86_64_nacl.c: $(srcdir)/emulparams/elf_x86_64_nacl.sh \
$(srcdir)/emulparams/elf_x86_64.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64_nacl "$(tdir_elf_x86_64_nacl)"
+
eelf_x86_64_sol2.c: $(srcdir)/emulparams/elf_x86_64_sol2.sh \
$(srcdir)/emulparams/elf_x86_64.sh \
$(srcdir)/emulparams/solaris2.sh \
$(srcdir)/emultempl/solaris2.em \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64_sol2 "$(tdir_elf_x86_64_sol2)"
+
ehppa64linux.c: $(srcdir)/emulparams/hppa64linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hppa64linux "$(tdir_hppa64linux)"
+
emmo.c: $(srcdir)/emulparams/mmo.sh $(srcdir)/emultempl/mmix-elfnmmo.em \
$(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em \
$(srcdir)/emultempl/mmo.em $(srcdir)/scripttempl/DWARF.sc \
$(srcdir)/scripttempl/mmo.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mmo "$(tdir_mmo)"
+
eshelf64.c: $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf64 "$(tdir_shelf64)"
+
eshelf64_nbsd.c: $(srcdir)/emulparams/shelf64_nbsd.sh \
$(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf64_nbsd "$(tdir_shelf64_nbsd)"
+
eshlelf64.c: $(srcdir)/emulparams/shlelf64.sh \
$(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf64 "$(tdir_shlelf64)"
+
eshlelf64_nbsd.c: $(srcdir)/emulparams/shlelf64_nbsd.sh \
$(srcdir)/emulparams/shelf64_nbsd.sh \
$(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf64_nbsd "$(tdir_shlelf64_nbsd)"
check-DEJAGNU: site.exp
srcroot=`cd $(srcdir) && pwd`; export srcroot; \
@@ -3718,23 +3462,23 @@ install-exec-local: ld-new$(EXEEXT) install-binPROGRAMS
if test "$(bindir)" != "$(tooldir)/bin"; then \
rm -f $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT) >/dev/null 2>/dev/null \
- || $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
+ || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
fi; \
if test "x$(install_as_default)" = "xyes"; then \
ld=`echo ld | sed '$(transform)'`; \
rm -f $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT) >/dev/null 2>/dev/null \
- || $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \
+ || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \
if test "$(bindir)" != "$(tooldir)/bin"; then \
rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
- || $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
+ || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
fi; \
fi
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(scriptdir)/ldscripts
- for f in ldscripts/*; do \
+ for f in ldscripts/* ; do \
$(INSTALL_DATA) $$f $(DESTDIR)$(scriptdir)/$$f ; \
done
diststuff: info $(EXTRA_DIST)
diff --git a/binutils-2.25/ld/NEWS b/binutils-2.25/ld/NEWS
index 38fdff87..c44c0abe 100644
--- a/binutils-2.25/ld/NEWS
+++ b/binutils-2.25/ld/NEWS
@@ -1,5 +1,19 @@
-*- text -*-
+Changes in 2.25:
+
+* PE binaries now once again contain real timestamps by default. To disable
+ the inclusion of a timestamp in a PE binary, use the --no-insert-timestamp
+ command line option.
+
+* Replace support for openrisc and or32 with support for or1k.
+
+* Add support for the --build-id command line option to COFF based targets.
+
+* x86/x86_64 pe-coff now supports the --build-id option.
+
+* Add support for the Andes NDS32.
+
Changes in 2.24:
* Add LOG2CEIL() builtin function to the linker script language
@@ -578,7 +592,7 @@ Changes in version 2.1:
other utilities should work on Risc/Ultrix and Irix.
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2012-2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/binutils-2.25/ld/README b/binutils-2.25/ld/README
index 64fc2cb5..71c3177f 100644
--- a/binutils-2.25/ld/README
+++ b/binutils-2.25/ld/README
@@ -66,7 +66,7 @@ workarounds to this:
genscripts.sh with "sh ${srcdir}..." (no parens) and make sure the
emulparams script used exports any shell variables it sets.
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2012-2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/binutils-2.25/ld/config.in b/binutils-2.25/ld/config.in
index f4a8a23e..2ab48448 100644
--- a/binutils-2.25/ld/config.in
+++ b/binutils-2.25/ld/config.in
@@ -1,4 +1,4 @@
-/* config.in. Generated from configure.in by autoheader. */
+/* config.in. Generated from configure.ac by autoheader. */
/* Check that config.h is #included before system headers
(this works only for glibc, but that should be enough). */
@@ -47,18 +47,9 @@
*/
#undef HAVE_DIRENT_H
-/* Define to 1 if you have the `dlclose' function. */
-#undef HAVE_DLCLOSE
-
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
-/* Define to 1 if you have the `dlopen' function. */
-#undef HAVE_DLOPEN
-
-/* Define to 1 if you have the `dlsym' function. */
-#undef HAVE_DLSYM
-
/* Define to 1 if you have the <elf-hints.h> header file. */
#undef HAVE_ELF_HINTS_H
diff --git a/binutils-2.25/ld/configure b/binutils-2.25/ld/configure
index 63d17e27..1047d181 100755
--- a/binutils-2.25/ld/configure
+++ b/binutils-2.25/ld/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64.
+# Generated by GNU Autoconf 2.64 for ld 2.24.90.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -554,12 +554,12 @@ MFLAGS=
MAKEFLAGS=
# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-PACKAGE_URL=
+PACKAGE_NAME='ld'
+PACKAGE_TARNAME='ld'
+PACKAGE_VERSION='2.24.90'
+PACKAGE_STRING='ld 2.24.90'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
ac_unique_file="ldmain.c"
# Factoring default headers for most tests.
@@ -613,6 +613,7 @@ enable_initfini_array
ENABLE_PLUGINS_FALSE
ENABLE_PLUGINS_TRUE
NATIVE_LIB_DIRS
+HOSTING_SLIBS
HOSTING_LIBS
HOSTING_SCRT0
HOSTING_CRT0
@@ -640,6 +641,13 @@ INCINTL
LIBINTL_DEP
LIBINTL
USE_NLS
+NO_WERROR
+WARN_CFLAGS
+installed_linker
+install_as_default
+TARGET_SYSTEM_ROOT_DEFINE
+TARGET_SYSTEM_ROOT
+use_sysroot
CXXCPP
OTOOL64
OTOOL
@@ -657,22 +665,15 @@ LD
FGREP
SED
LIBTOOL
+EGREP
+GREP
+CPP
am__fastdepCXX_FALSE
am__fastdepCXX_TRUE
CXXDEPMODE
ac_ct_CXX
CXXFLAGS
CXX
-NO_WERROR
-WARN_CFLAGS
-EGREP
-GREP
-CPP
-installed_linker
-install_as_default
-TARGET_SYSTEM_ROOT_DEFINE
-TARGET_SYSTEM_ROOT
-use_sysroot
MAINT
MAINTAINER_MODE_FALSE
MAINTAINER_MODE_TRUE
@@ -770,6 +771,14 @@ ac_user_opts='
enable_option_checking
enable_dependency_tracking
enable_maintainer_mode
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+enable_plugins
+enable_largefile
with_lib_path
enable_targets
enable_64_bit_bfd
@@ -778,14 +787,6 @@ enable_gold
enable_got
enable_werror
enable_build_warnings
-enable_plugins
-enable_largefile
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-enable_libtool_lock
enable_nls
enable_initfini_array
with_zlib
@@ -798,10 +799,10 @@ CFLAGS
LDFLAGS
LIBS
CPPFLAGS
-CPP
CXX
CXXFLAGS
CCC
+CPP
CXXCPP
YACC
YFLAGS'
@@ -845,7 +846,7 @@ sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
includedir='${prefix}/include'
oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
@@ -1346,7 +1347,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
+\`configure' configures ld 2.24.90 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1394,7 +1395,7 @@ Fine tuning of the installation directories:
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/ld]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
@@ -1416,7 +1417,9 @@ _ACEOF
fi
if test -n "$ac_init_help"; then
-
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of ld 2.24.90:";;
+ esac
cat <<\_ACEOF
Optional Features:
@@ -1427,6 +1430,13 @@ Optional Features:
--enable-dependency-tracking do not reject slow dependency extractors
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
+ --enable-shared[=PKGS] build shared libraries [default=yes]
+ --enable-static[=PKGS] build static libraries [default=yes]
+ --enable-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-plugins Enable support for plugins
+ --disable-largefile omit support for large files
--enable-targets alternative target configurations
--enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
@@ -1434,24 +1444,17 @@ Optional Features:
multigot)
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings
- --enable-plugins Enable support for plugins (defaults no)
- --disable-largefile omit support for large files
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
--disable-nls do not use Native Language Support
--enable-initfini-array use .init_array/.fini_array sections
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-lib-path=dir1:dir2... set default LIB_PATH
- --with-sysroot=DIR Search for usr/lib et al within DIR.
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-lib-path=dir1:dir2... set default LIB_PATH
+ --with-sysroot=DIR Search for usr/lib et al within DIR.
--with-zlib include zlib support (auto/yes/no) default=auto
Some influential environment variables:
@@ -1462,9 +1465,9 @@ Some influential environment variables:
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
CXX C++ compiler command
CXXFLAGS C++ compiler flags
+ CPP C preprocessor
CXXCPP C++ preprocessor
YACC The `Yet Another C Compiler' implementation to use. Defaults to
the first program found out of: `bison -y', `byacc', `yacc'.
@@ -1538,7 +1541,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-configure
+ld configure 2.24.90
generated by GNU Autoconf 2.64
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1636,20 +1639,21 @@ fi
} # ac_fn_c_try_link
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ (eval "$ac_compile") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
@@ -1657,37 +1661,36 @@ $as_echo "$ac_try_echo"; } >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- }; then :
+ } && test -s conftest.$ac_objext; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_retval=1
+ ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
-} # ac_fn_c_try_cpp
+} # ac_fn_cxx_try_compile
-# ac_fn_cxx_try_compile LINENO
-# ----------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_compile ()
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
@@ -1695,21 +1698,21 @@ $as_echo "$ac_try_echo"; } >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_cxx_werror_flag" ||
+ test $ac_status = 0; } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
+ }; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_retval=1
+ ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
-} # ac_fn_cxx_try_compile
+} # ac_fn_c_try_cpp
# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
@@ -2247,7 +2250,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by $as_me, which was
+It was created by ld $as_me 2.24.90, which was
generated by GNU Autoconf 2.64. Invocation command line was
$ $0 $@
@@ -3556,7 +3559,6 @@ if test "$ac_res" != no; then :
fi
-BFD_VERSION=`${srcdir}/../bfd/configure --version | sed -n -e '1s,.* ,,p'`
am__api_version='1.11'
# Find a good install program. We prefer a C program (faster),
@@ -4056,8 +4058,8 @@ fi
# Define the identity of the package.
- PACKAGE=ld
- VERSION=${BFD_VERSION}
+ PACKAGE='ld'
+ VERSION='2.24.90'
cat >>confdefs.h <<_ACEOF
@@ -4248,521 +4250,6 @@ fi
-
-# Check whether --with-lib-path was given.
-if test "${with_lib_path+set}" = set; then :
- withval=$with_lib_path; LIB_PATH=$withval
-fi
-
-# Check whether --enable-targets was given.
-if test "${enable_targets+set}" = set; then :
- enableval=$enable_targets; case "${enableval}" in
- yes | "") as_fn_error "enable-targets option must specify target names or 'all'" "$LINENO" 5
- ;;
- no) enable_targets= ;;
- *) enable_targets=$enableval ;;
-esac
-fi
-# Check whether --enable-64-bit-bfd was given.
-if test "${enable_64_bit_bfd+set}" = set; then :
- enableval=$enable_64_bit_bfd; case "${enableval}" in
- yes) want64=true ;;
- no) want64=false ;;
- *) as_fn_error "bad value ${enableval} for 64-bit-bfd option" "$LINENO" 5 ;;
-esac
-else
- want64=false
-fi
-
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
- case ${with_sysroot} in
- yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
- *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
- esac
-
- TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
- use_sysroot=yes
-
- if test "x$prefix" = xNONE; then
- test_prefix=/usr/local
- else
- test_prefix=$prefix
- fi
- if test "x$exec_prefix" = xNONE; then
- test_exec_prefix=$test_prefix
- else
- test_exec_prefix=$exec_prefix
- fi
- case ${TARGET_SYSTEM_ROOT} in
- "${test_prefix}"|"${test_prefix}/"*|\
- "${test_exec_prefix}"|"${test_exec_prefix}/"*|\
- '${prefix}'|'${prefix}/'*|\
- '${exec_prefix}'|'${exec_prefix}/'*)
- t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
- TARGET_SYSTEM_ROOT_DEFINE="$t"
- ;;
- esac
-
-else
-
- use_sysroot=no
- TARGET_SYSTEM_ROOT=
- TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
-
-fi
-
-
-
-
-
-# Check whether --enable-gold was given.
-if test "${enable_gold+set}" = set; then :
- enableval=$enable_gold; case "${enableval}" in
- default)
- install_as_default=no
- installed_linker=ld.bfd
- ;;
- yes|no)
- install_as_default=yes
- installed_linker=ld.bfd
- ;;
- *)
- as_fn_error "invalid --enable-gold argument" "$LINENO" 5
- ;;
- esac
-else
- install_as_default=yes
- installed_linker=ld.bfd
-fi
-
-
-
-
-# Check whether --enable-got was given.
-if test "${enable_got+set}" = set; then :
- enableval=$enable_got; case "${enableval}" in
- target | single | negative | multigot) got_handling=$enableval ;;
- *) as_fn_error "bad value ${enableval} for --enable-got option" "$LINENO" 5 ;;
-esac
-else
- got_handling=target
-fi
-
-
-case "${got_handling}" in
- target)
-
-$as_echo "#define GOT_HANDLING_DEFAULT GOT_HANDLING_TARGET_DEFAULT" >>confdefs.h
- ;;
- single)
-
-$as_echo "#define GOT_HANDLING_DEFAULT GOT_HANDLING_SINGLE" >>confdefs.h
- ;;
- negative)
-
-$as_echo "#define GOT_HANDLING_DEFAULT GOT_HANDLING_NEGATIVE" >>confdefs.h
- ;;
- multigot)
-
-$as_echo "#define GOT_HANDLING_DEFAULT GOT_HANDLING_MULTIGOT" >>confdefs.h
- ;;
- *) as_fn_error "bad value ${got_handling} for --enable-got option" "$LINENO" 5 ;;
-esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-
-GCC_WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-__GNUC__
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "^[0-3]$" >/dev/null 2>&1; then :
-
-else
- GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Wshadow"
-fi
-rm -f conftest*
-
-
-# Check whether --enable-werror was given.
-if test "${enable_werror+set}" = set; then :
- enableval=$enable_werror; case "${enableval}" in
- yes | y) ERROR_ON_WARNING="yes" ;;
- no | n) ERROR_ON_WARNING="no" ;;
- *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
- esac
-fi
-
-
-# Disable -Wformat by default when using gcc on mingw
-case "${host}" in
- *-*-mingw32*)
- if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
- GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Wno-format"
- fi
- ;;
- *) ;;
-esac
-
-# Enable -Werror by default when using gcc
-if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
- ERROR_ON_WARNING=yes
-fi
-
-NO_WERROR=
-if test "${ERROR_ON_WARNING}" = yes ; then
- GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Werror"
- NO_WERROR="-Wno-error"
-fi
-
-if test "${GCC}" = yes ; then
- WARN_CFLAGS="${GCC_WARN_CFLAGS}"
-fi
-
-# Check whether --enable-build-warnings was given.
-if test "${enable_build_warnings+set}" = set; then :
- enableval=$enable_build_warnings; case "${enableval}" in
- yes) WARN_CFLAGS="${GCC_WARN_CFLAGS}";;
- no) if test "${GCC}" = yes ; then
- WARN_CFLAGS="-w"
- fi;;
- ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
- WARN_CFLAGS="${GCC_WARN_CFLAGS} ${t}";;
- *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
- WARN_CFLAGS="${t} ${GCC_WARN_CFLAGS}";;
- *) WARN_CFLAGS=`echo "${enableval}" | sed -e "s/,/ /g"`;;
-esac
-fi
-
-
-if test x"$silent" != x"yes" && test x"$WARN_CFLAGS" != x""; then
- echo "Setting warning flags = $WARN_CFLAGS" 6>&1
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
-$as_echo_n "checking for LC_MESSAGES... " >&6; }
-if test "${am_cv_val_LC_MESSAGES+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <locale.h>
-int
-main ()
-{
-return LC_MESSAGES
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- am_cv_val_LC_MESSAGES=yes
-else
- am_cv_val_LC_MESSAGES=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_val_LC_MESSAGES" >&5
-$as_echo "$am_cv_val_LC_MESSAGES" >&6; }
- if test $am_cv_val_LC_MESSAGES = yes; then
-
-$as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h
-
- fi
-
-
-ac_config_headers="$ac_config_headers config.h:config.in"
-
-
-# PR 14072
-
-
-if test -z "$target" ; then
- as_fn_error "Unrecognized target system type; please check config.sub." "$LINENO" 5
-fi
-if test -z "$host" ; then
- as_fn_error "Unrecognized host system type; please check config.sub." "$LINENO" 5
-fi
-
-# host-specific stuff:
-
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -5687,6 +5174,274 @@ else
fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
if test "${ac_cv_header_stdc+set}" = set; then :
@@ -5881,241 +5636,6 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
-# The tests for host and target for $enable_largefile require
-# canonical names.
-
-
-
-# As the $enable_largefile decision depends on --enable-plugins we must set it
-# even in directories otherwise not depending on the $plugins option.
-
-
-# Check whether --enable-plugins was given.
-if test "${enable_plugins+set}" = set; then :
- enableval=$enable_plugins; case "${enableval}" in
- yes | "") plugins=yes ;;
- no) plugins=no ;;
- *) plugins=yes ;;
- esac
-else
- plugins=no
-fi
-
-
-
-case "${host}" in
- sparc-*-solaris*|i[3-7]86-*-solaris*)
- # On native 32bit sparc and ia32 solaris, large-file and procfs support
- # are mutually exclusive; and without procfs support, the bfd/ elf module
- # cannot provide certain routines such as elfcore_write_prpsinfo
- # or elfcore_write_prstatus. So unless the user explicitly requested
- # large-file support through the --enable-largefile switch, disable
- # large-file support in favor of procfs support.
- test "${target}" = "${host}" -a "x$plugins" = xno \
- && : ${enable_largefile="no"}
- ;;
-esac
-
-# Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
- enableval=$enable_largefile;
-fi
-
-if test "$enable_largefile" != no; then
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_sys_largefile_CC=no
- if test "$GCC" != yes; then
- ac_save_CC=$CC
- while :; do
- # IRIX 6.2 and later do not support large files by default,
- # so use the C compiler's -n32 option if that helps.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
- break
-fi
-rm -f core conftest.err conftest.$ac_objext
- CC="$CC -n32"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_largefile_CC=' -n32'; break
-fi
-rm -f core conftest.err conftest.$ac_objext
- break
- done
- CC=$ac_save_CC
- rm -f conftest.$ac_ext
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
- if test "$ac_cv_sys_largefile_CC" != no; then
- CC=$CC$ac_cv_sys_largefile_CC
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_file_offset_bits=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#define _FILE_OFFSET_BITS 64
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_file_offset_bits=64; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_sys_file_offset_bits=unknown
- break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
- no | unknown) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
-;;
-esac
-rm -rf conftest*
- if test $ac_cv_sys_file_offset_bits = unknown; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_large_files=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#define _LARGE_FILES 1
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_large_files=1; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_sys_large_files=unknown
- break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-$as_echo "$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
- no | unknown) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-#define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-;;
-esac
-rm -rf conftest*
- fi
-fi
-
-
-
case `pwd` in
*\ * | *\ *)
@@ -12192,7 +11712,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12195 "configure"
+#line 11715 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12298,7 +11818,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12301 "configure"
+#line 11821 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15552,6 +15072,580 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+# The tests for host and target for $enable_largefile require
+# canonical names.
+
+
+
+# As the $enable_largefile decision depends on --enable-plugins we must set it
+# even in directories otherwise not depending on the $plugins option.
+
+
+ maybe_plugins=no
+ for ac_header in dlfcn.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+ for ac_header in windows.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_WINDOWS_H 1
+_ACEOF
+ maybe_plugins=yes
+fi
+
+done
+
+
+ # Check whether --enable-plugins was given.
+if test "${enable_plugins+set}" = set; then :
+ enableval=$enable_plugins; case "${enableval}" in
+ no) plugins=no ;;
+ *) plugins=yes
+ if test "$maybe_plugins" != "yes" ; then
+ as_fn_error "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
+ fi ;;
+ esac
+else
+ plugins=$maybe_plugins
+
+fi
+
+ if test "$plugins" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if test "${ac_cv_search_dlopen+set}" = set; then :
+ break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+ ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+ fi
+
+
+case "${host}" in
+ sparc-*-solaris*|i[3-7]86-*-solaris*)
+ # On native 32bit sparc and ia32 solaris, large-file and procfs support
+ # are mutually exclusive; and without procfs support, the bfd/ elf module
+ # cannot provide certain routines such as elfcore_write_prpsinfo
+ # or elfcore_write_prstatus. So unless the user explicitly requested
+ # large-file support through the --enable-largefile switch, disable
+ # large-file support in favor of procfs support.
+ test "${target}" = "${host}" -a "x$plugins" = xno \
+ && : ${enable_largefile="no"}
+ ;;
+esac
+
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+ enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_sys_largefile_CC=no
+ if test "$GCC" != yes; then
+ ac_save_CC=$CC
+ while :; do
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ if ac_fn_c_try_compile "$LINENO"; then :
+ break
+fi
+rm -f core conftest.err conftest.$ac_objext
+ CC="$CC -n32"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext
+ break
+ done
+ CC=$ac_save_CC
+ rm -f conftest.$ac_ext
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_file_offset_bits=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_file_offset_bits=64; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_file_offset_bits=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ if test $ac_cv_sys_file_offset_bits = unknown; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if test "${ac_cv_sys_large_files+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_large_files=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_large_files=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_large_files=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ fi
+fi
+
+
+
+
+# Check whether --with-lib-path was given.
+if test "${with_lib_path+set}" = set; then :
+ withval=$with_lib_path; LIB_PATH=$withval
+fi
+
+# Check whether --enable-targets was given.
+if test "${enable_targets+set}" = set; then :
+ enableval=$enable_targets; case "${enableval}" in
+ yes | "") as_fn_error "enable-targets option must specify target names or 'all'" "$LINENO" 5
+ ;;
+ no) enable_targets= ;;
+ *) enable_targets=$enableval ;;
+esac
+fi
+# Check whether --enable-64-bit-bfd was given.
+if test "${enable_64_bit_bfd+set}" = set; then :
+ enableval=$enable_64_bit_bfd; case "${enableval}" in
+ yes) want64=true ;;
+ no) want64=false ;;
+ *) as_fn_error "bad value ${enableval} for 64-bit-bfd option" "$LINENO" 5 ;;
+esac
+else
+ want64=false
+fi
+
+
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+ withval=$with_sysroot;
+ case ${with_sysroot} in
+ yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
+ *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
+ esac
+
+ TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
+ use_sysroot=yes
+
+ if test "x$prefix" = xNONE; then
+ test_prefix=/usr/local
+ else
+ test_prefix=$prefix
+ fi
+ if test "x$exec_prefix" = xNONE; then
+ test_exec_prefix=$test_prefix
+ else
+ test_exec_prefix=$exec_prefix
+ fi
+ case ${TARGET_SYSTEM_ROOT} in
+ "${test_prefix}"|"${test_prefix}/"*|\
+ "${test_exec_prefix}"|"${test_exec_prefix}/"*|\
+ '${prefix}'|'${prefix}/'*|\
+ '${exec_prefix}'|'${exec_prefix}/'*)
+ t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
+ TARGET_SYSTEM_ROOT_DEFINE="$t"
+ ;;
+ esac
+
+else
+
+ use_sysroot=no
+ TARGET_SYSTEM_ROOT=
+ TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
+
+fi
+
+
+
+
+
+# Check whether --enable-gold was given.
+if test "${enable_gold+set}" = set; then :
+ enableval=$enable_gold; case "${enableval}" in
+ default)
+ install_as_default=no
+ installed_linker=ld.bfd
+ ;;
+ yes|no)
+ install_as_default=yes
+ installed_linker=ld.bfd
+ ;;
+ *)
+ as_fn_error "invalid --enable-gold argument" "$LINENO" 5
+ ;;
+ esac
+else
+ install_as_default=yes
+ installed_linker=ld.bfd
+fi
+
+
+
+
+# Check whether --enable-got was given.
+if test "${enable_got+set}" = set; then :
+ enableval=$enable_got; case "${enableval}" in
+ target | single | negative | multigot) got_handling=$enableval ;;
+ *) as_fn_error "bad value ${enableval} for --enable-got option" "$LINENO" 5 ;;
+esac
+else
+ got_handling=target
+fi
+
+
+case "${got_handling}" in
+ target)
+
+$as_echo "#define GOT_HANDLING_DEFAULT GOT_HANDLING_TARGET_DEFAULT" >>confdefs.h
+ ;;
+ single)
+
+$as_echo "#define GOT_HANDLING_DEFAULT GOT_HANDLING_SINGLE" >>confdefs.h
+ ;;
+ negative)
+
+$as_echo "#define GOT_HANDLING_DEFAULT GOT_HANDLING_NEGATIVE" >>confdefs.h
+ ;;
+ multigot)
+
+$as_echo "#define GOT_HANDLING_DEFAULT GOT_HANDLING_MULTIGOT" >>confdefs.h
+ ;;
+ *) as_fn_error "bad value ${got_handling} for --enable-got option" "$LINENO" 5 ;;
+esac
+
+
+# Set the 'development' global.
+. $srcdir/../bfd/development.sh
+
+GCC_WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+__GNUC__
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "^[0-3]$" >/dev/null 2>&1; then :
+
+else
+ GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Wshadow"
+fi
+rm -f conftest*
+
+
+# Check whether --enable-werror was given.
+if test "${enable_werror+set}" = set; then :
+ enableval=$enable_werror; case "${enableval}" in
+ yes | y) ERROR_ON_WARNING="yes" ;;
+ no | n) ERROR_ON_WARNING="no" ;;
+ *) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+ esac
+fi
+
+
+# Disable -Wformat by default when using gcc on mingw
+case "${host}" in
+ *-*-mingw32*)
+ if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
+ GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Wno-format"
+ fi
+ ;;
+ *) ;;
+esac
+
+# Enable -Werror by default when using gcc. Turn it off for releases.
+if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" -a "$development" = true ; then
+ ERROR_ON_WARNING=yes
+fi
+
+NO_WERROR=
+if test "${ERROR_ON_WARNING}" = yes ; then
+ GCC_WARN_CFLAGS="$GCC_WARN_CFLAGS -Werror"
+ NO_WERROR="-Wno-error"
+fi
+
+if test "${GCC}" = yes ; then
+ WARN_CFLAGS="${GCC_WARN_CFLAGS}"
+fi
+
+# Check whether --enable-build-warnings was given.
+if test "${enable_build_warnings+set}" = set; then :
+ enableval=$enable_build_warnings; case "${enableval}" in
+ yes) WARN_CFLAGS="${GCC_WARN_CFLAGS}";;
+ no) if test "${GCC}" = yes ; then
+ WARN_CFLAGS="-w"
+ fi;;
+ ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
+ WARN_CFLAGS="${GCC_WARN_CFLAGS} ${t}";;
+ *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
+ WARN_CFLAGS="${t} ${GCC_WARN_CFLAGS}";;
+ *) WARN_CFLAGS=`echo "${enableval}" | sed -e "s/,/ /g"`;;
+esac
+fi
+
+
+if test x"$silent" != x"yes" && test x"$WARN_CFLAGS" != x""; then
+ echo "Setting warning flags = $WARN_CFLAGS" 6>&1
+fi
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
+$as_echo_n "checking for LC_MESSAGES... " >&6; }
+if test "${am_cv_val_LC_MESSAGES+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <locale.h>
+int
+main ()
+{
+return LC_MESSAGES
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ am_cv_val_LC_MESSAGES=yes
+else
+ am_cv_val_LC_MESSAGES=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_val_LC_MESSAGES" >&5
+$as_echo "$am_cv_val_LC_MESSAGES" >&6; }
+ if test $am_cv_val_LC_MESSAGES = yes; then
+
+$as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h
+
+ fi
+
+
+ac_config_headers="$ac_config_headers config.h:config.in"
+
+
+# PR 14072
+
+
+if test -z "$target" ; then
+ as_fn_error "Unrecognized target system type; please check config.sub." "$LINENO" 5
+fi
+if test -z "$host" ; then
+ as_fn_error "Unrecognized host system type; please check config.sub." "$LINENO" 5
+fi
+
+# host-specific stuff:
+
ALL_LINGUAS="fr sv tr es da vi zh_CN zh_TW ga fi id bg it uk"
# If we haven't got the data from the intl directory,
# assume NLS is disabled.
@@ -16208,6 +16302,7 @@ do_compare="$gcc_cv_prog_cmp_skip"
+
for ac_header in string.h strings.h stdlib.h unistd.h elf-hints.h limits.h locale.h sys/param.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
@@ -16454,17 +16549,6 @@ fi
fi
-# Check for dlopen support and enable plugins if possible.
-enable_plugins=yes
-ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
-
-else
- enable_plugins=no
-fi
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
$as_echo_n "checking for library containing dlopen... " >&6; }
if test "${ac_cv_search_dlopen+set}" = set; then :
@@ -16519,42 +16603,9 @@ ac_res=$ac_cv_search_dlopen
if test "$ac_res" != no; then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-else
- enable_plugins=no
fi
-for ac_func in dlopen dlsym dlclose
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
- if test "x$as_val" = x""yes; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- enable_plugins=no
-fi
-done
-
-# We also support plugins on Windows (MinGW).
-if test x$enable_plugins = xno ; then
- for ac_header in windows.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_windows_h" = x""yes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_WINDOWS_H 1
-_ACEOF
- enable_plugins=yes
-fi
-
-done
-
-fi
- if test x$enable_plugins = xyes; then
+ if test x$plugins = xyes; then
ENABLE_PLUGINS_TRUE=
ENABLE_PLUGINS_FALSE='#'
else
@@ -16840,7 +16891,7 @@ all_libpath=
rm -f tdirs
# If the host is 64-bit, then we enable 64-bit targets by default.
-# This is consistent with what ../bfd/configure.in does.
+# This is consistent with what ../bfd/configure.ac does.
if test x${want64} = xfalse; then
# The cast to long int works around a bug in the HP C Compiler
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
@@ -16942,6 +16993,7 @@ do
;;
esac
done
+
fi
done
@@ -16953,10 +17005,11 @@ TDIRS=tdirs
if test x${all_targets} = xtrue; then
if test x${want64} = xtrue; then
EMULATION_OFILES='$(ALL_EMULATIONS) $(ALL_64_EMULATIONS)'
+ EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES) $(ALL_64_EMUL_EXTRA_OFILES)'
else
EMULATION_OFILES='$(ALL_EMULATIONS)'
+ EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)'
fi
- EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)'
else
EMULATION_OFILES=$all_emuls
EMUL_EXTRA_OFILES=$all_emul_extras
@@ -17541,7 +17594,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by $as_me, which was
+This file was extended by ld $as_me 2.24.90, which was
generated by GNU Autoconf 2.64. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -17605,7 +17658,7 @@ Report bugs to the package provider."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-config.status
+ld config.status 2.24.90
configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -18094,8 +18147,8 @@ for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
"default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in:po/Make-in" ;;
diff --git a/binutils-2.25/ld/configure.in b/binutils-2.25/ld/configure.ac
index 2af3dfc2..1bddfc9f 100644
--- a/binutils-2.25/ld/configure.in
+++ b/binutils-2.25/ld/configure.ac
@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script
dnl
-dnl Copyright 2012 Free Software Foundation
+dnl Copyright (C) 2012-2014 Free Software Foundation, Inc.
dnl
dnl This file is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
@@ -18,19 +18,26 @@ dnl <http://www.gnu.org/licenses/>.
dnl
AC_PREREQ(2.59)
-AC_INIT
+m4_include([../bfd/version.m4])
+AC_INIT([ld], BFD_VERSION)
AC_CONFIG_SRCDIR(ldmain.c)
AC_CANONICAL_TARGET
AC_CANONICAL_BUILD
AC_ISC_POSIX
-changequote(,)dnl
-BFD_VERSION=`${srcdir}/../bfd/configure --version | sed -n -e '1s,.* ,,p'`
-changequote([,])dnl
-AM_INIT_AUTOMAKE(ld, ${BFD_VERSION})
+AM_INIT_AUTOMAKE
AM_MAINTAINER_MODE
+AC_PROG_CC
+AC_PROG_CXX
+AC_GNU_SOURCE
+AC_USE_SYSTEM_EXTENSIONS
+AC_PROG_INSTALL
+
+LT_INIT
+ACX_LARGEFILE
+
AC_ARG_WITH(lib-path, [ --with-lib-path=dir1:dir2... set default LIB_PATH],LIB_PATH=$withval)
AC_ARG_ENABLE(targets,
[ --enable-targets alternative target configurations],
@@ -159,15 +166,6 @@ fi
# host-specific stuff:
-AC_PROG_CC
-AC_PROG_CXX
-AC_GNU_SOURCE
-AC_USE_SYSTEM_EXTENSIONS
-ACX_LARGEFILE
-AC_PROG_INSTALL
-
-LT_INIT
-
ALL_LINGUAS="fr sv tr es da vi zh_CN zh_TW ga fi id bg it uk"
ZW_GNU_GETTEXT_SISTER_DIR
AM_PO_SUBDIRS
@@ -187,6 +185,7 @@ AC_SUBST(HDEFINES)
AC_SUBST(HOSTING_CRT0)
AC_SUBST(HOSTING_SCRT0)
AC_SUBST(HOSTING_LIBS)
+AC_SUBST(HOSTING_SLIBS)
AC_SUBST(NATIVE_LIB_DIRS)
AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h elf-hints.h limits.h locale.h sys/param.h)
@@ -196,16 +195,8 @@ AC_CHECK_FUNCS(glob mkstemp realpath sbrk setlocale waitpid)
AC_CHECK_FUNCS(open lseek close)
AC_HEADER_DIRENT
-# Check for dlopen support and enable plugins if possible.
-enable_plugins=yes
-AC_CHECK_HEADER([dlfcn.h],[],[enable_plugins=no],[AC_INCLUDES_DEFAULT])
-AC_SEARCH_LIBS([dlopen],[dl],[],[enable_plugins=no],[])
-AC_CHECK_FUNCS([dlopen dlsym dlclose],[],[enable_plugins=no])
-# We also support plugins on Windows (MinGW).
-if test x$enable_plugins = xno ; then
- AC_CHECK_HEADERS([windows.h],[enable_plugins=yes],[],[AC_INCLUDES_DEFAULT])
-fi
-AM_CONDITIONAL([ENABLE_PLUGINS], [test x$enable_plugins = xyes])
+AC_SEARCH_LIBS([dlopen], [dl])
+AM_CONDITIONAL([ENABLE_PLUGINS], [test x$plugins = xyes])
AC_ARG_ENABLE(initfini-array,
[ --enable-initfini-array use .init_array/.fini_array sections],
@@ -283,7 +274,7 @@ dnl file.
rm -f tdirs
# If the host is 64-bit, then we enable 64-bit targets by default.
-# This is consistent with what ../bfd/configure.in does.
+# This is consistent with what ../bfd/configure.ac does.
if test x${want64} = xfalse; then
AC_CHECK_SIZEOF(void *)
if test "x${ac_cv_sizeof_void_p}" = "x8"; then
@@ -352,6 +343,7 @@ do
;;
esac
done
+
fi
done
@@ -363,10 +355,11 @@ AC_SUBST_FILE(TDIRS)
if test x${all_targets} = xtrue; then
if test x${want64} = xtrue; then
EMULATION_OFILES='$(ALL_EMULATIONS) $(ALL_64_EMULATIONS)'
+ EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES) $(ALL_64_EMUL_EXTRA_OFILES)'
else
EMULATION_OFILES='$(ALL_EMULATIONS)'
+ EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)'
fi
- EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)'
else
EMULATION_OFILES=$all_emuls
EMUL_EXTRA_OFILES=$all_emul_extras
diff --git a/binutils-2.25/ld/configure.host b/binutils-2.25/ld/configure.host
index c56f67de..042ebbc7 100644
--- a/binutils-2.25/ld/configure.host
+++ b/binutils-2.25/ld/configure.host
@@ -3,7 +3,7 @@
# file lets us skip running autoconf when modifying host specific
# information.
#
-# Copyright 2012 Free Software Foundation
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -57,6 +57,7 @@ case "${host}" in
*-*-linux*)
HOSTING_CRT0='-dynamic-linker `${CC} --help --verbose 2>&1 | egrep "ld[^ ]*\.so" | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld[^ ]*\.so..\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} --print-file-name=crtbegin.o; fi`'
HOSTING_SCRT0='-dynamic-linker `${CC} --help --verbose 2>&1 | egrep "ld[^ ]*\.so" | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld[^ ]*\.so..\).*,\1,"` `${CC} --print-file-name=Scrt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbeginS.o ]; then echo ../gcc/crtbeginS.o; else ${CC} --print-file-name=crtbeginS.o; fi`'
+ HOSTING_SLIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtendS.o ]; then echo ../gcc/crtendS.o; else ${CC} --print-file-name=crtendS.o; fi` `${CC} --print-file-name=crtn.o`'
HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
;;
@@ -249,3 +250,9 @@ esac
if test -z "$HOSTING_SCRT0"; then
HOSTING_SCRT0="$HOSTING_CRT0"
fi
+
+# Provide default HOSTING_SLIBS. Each host should define a proper one
+# if needed.
+if test -z "$HOSTING_SLIBS"; then
+ HOSTING_SLIBS="$HOSTING_LIBS"
+fi
diff --git a/binutils-2.25/ld/configure.tgt b/binutils-2.25/ld/configure.tgt
index c0291c85..24e36d10 100644
--- a/binutils-2.25/ld/configure.tgt
+++ b/binutils-2.25/ld/configure.tgt
@@ -1,17 +1,17 @@
# configure.tgt
#
-# Copyright 2013 Free Software Foundation
+# Copyright (C) 2013-2014 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
@@ -26,7 +26,7 @@
# targ_emul name of linker emulation to use
# targ_extra_emuls additional linker emulations to provide
# targ_extra_libpath additional linker emulations using LIB_PATH
-# targ_extra_ofiles additional objects needed by the emulation
+# targ_extra_ofiles additional host-compiled objects needed by the emulation
# targ64_extra_emuls additional linker emulations to provide if
# --enable-64-bit-bfd is given or if host is 64 bit.
# targ64_extra_libpath additional linker emulations using LIB_PATH if
@@ -50,9 +50,11 @@ aarch64_be-*-elf) targ_emul=aarch64elfb
aarch64-*-elf) targ_emul=aarch64elf
targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;;
aarch64_be-*-linux*) targ_emul=aarch64linuxb
- targ_extra_emuls="aarch64linux aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb_linux_eabi armelf_linux_eabi armelfb armelf" ;;
+ targ_extra_libpath="aarch64linux aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi"
+ targ_extra_emuls="aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb armelf $targ_extra_libpath" ;;
aarch64-*-linux*) targ_emul=aarch64linux
- targ_extra_emuls="aarch64linuxb aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf_linux_eabi armelfb_linux_eabi armelf armelfb" ;;
+ targ_extra_libpath="aarch64linuxb aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi"
+ targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb $targ_extra_libpath" ;;
alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
targ_emul=elf64alpha_fbsd
targ_extra_emuls="elf64alpha alpha"
@@ -79,9 +81,11 @@ arm-*-pe) targ_emul=armpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;;
arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
armeb-*-aout) targ_emul=armaoutb ;;
arm-*-coff) targ_emul=armcoff ;;
-arm-*-freebsd* | arm-*-kfreebsd*-gnu)
+arm*b-*-freebsd*) targ_emul=armelfb_fbsd
+ targ_extra_emuls="armelf_fbsd armelf" ;;
+arm*-*-freebsd* | arm-*-kfreebsd*-gnu)
targ_emul=armelf_fbsd
- targ_extra_emuls="armelf" ;;
+ targ_extra_emuls="armelfb_fbsd armelf" ;;
armeb-*-netbsdelf*) targ_emul=armelfb_nbsd;
targ_extra_emuls="armelf_nbsd armelf armnbsd" ;;
arm-*-netbsdelf*) targ_emul=armelf_nbsd;
@@ -91,7 +95,8 @@ arm-*-netbsd*) targ_emul=armnbsd;
arm-*-nto*) targ_emul=armnto ;;
arm-*-openbsd*) targ_emul=armnbsd ;;
arm-*-rtems*) targ_emul=armelf ;;
-armeb-*-elf) targ_emul=armelfb ;;
+armeb-*-elf | armeb-*-eabi*)
+ targ_emul=armelfb ;;
arm-*-elf | arm*-*-eabi*)
targ_emul=armelf ;;
arm*-*-symbianelf*) targ_emul=armsymbian;;
@@ -136,7 +141,7 @@ arm*-*-uclinux*) targ_emul=armelf_linux
arm-*-vxworks) targ_emul=armelf_vxworks ;;
arm*-*-conix*) targ_emul=armelf ;;
avr-*-*) targ_emul=avr2
- targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7"
+ targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny"
;;
bfin-*-elf) targ_emul=elf32bfin;
targ_extra_emuls="elf32bfinfd"
@@ -184,6 +189,8 @@ fr30-*-*) targ_emul=elf32fr30
frv-*-*linux*) targ_emul=elf32frvfd ;;
frv-*-*) targ_emul=elf32frv ; targ_extra_emuls="elf32frvfd"
;;
+moxie-*-moxiebox*) targ_emul=moxiebox
+ ;;
moxie-*-*) targ_emul=elf32moxie
;;
h8300-*-hms* | h8300-*-coff* | h8300-*-rtemscoff*)
@@ -311,7 +318,7 @@ i[3-7]86-*-winnt*) targ_emul=i386pe ;
i[3-7]86-*-pe) targ_emul=i386pe ;
targ_extra_ofiles="deffilep.o pe-dll.o" ;;
i[3-7]86-*-cygwin*) targ_emul=i386pe ;
- targ_extra_ofiles="deffilep.o pe-dll.o"
+ targ_extra_ofiles="deffilep.o pe-dll.o" ;
test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;;
i[3-7]86-*-mingw32*) targ_emul=i386pe ;
targ_extra_ofiles="deffilep.o pe-dll.o" ;;
@@ -452,7 +459,7 @@ mips*vr5000el-*-elf*) targ_emul=elf32l4300 ;;
mips*vr5000-*-elf*) targ_emul=elf32b4300 ;;
mips*el-sde-elf*) targ_emul=elf32ltsmip
targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" ;;
-mips*-sde-elf* | mips*-mti-elf*)
+mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
targ_emul=elf32btsmip
targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;;
mips64*el-ps2-elf*) targ_emul=elf32lr5900n32
@@ -509,17 +516,25 @@ mn10300-*-*) targ_emul=mn10300
;;
mt-*elf) targ_emul=elf32mt
;;
-msp430-*-*) targ_emul=msp430x110
- targ_extra_emuls="msp430x112 msp430x1101 msp430x1111 msp430x1121 msp430x1122 msp430x1132 msp430x122 msp430x123 msp430x1222 msp430x1232 msp430x133 msp430x135 msp430x1331 msp430x1351 msp430x147 msp430x148 msp430x149 msp430x155 msp430x156 msp430x157 msp430x167 msp430x168 msp430x169 msp430x1610 msp430x1611 msp430x1612 msp430x2101 msp430x2111 msp430x2121 msp430x2131 msp430x311 msp430x312 msp430x313 msp430x314 msp430x315 msp430x323 msp430x325 msp430x336 msp430x337 msp430x412 msp430x413 msp430x415 msp430x417 msp430xE423 msp430xE425 msp430xE427 msp430xW423 msp430xW425 msp430xW427 msp430xG437 msp430xG438 msp430xG439 msp430x435 msp430x436 msp430x437 msp430x447 msp430x448 msp430x449 msp430X"
+msp430-*-*) targ_emul=msp430
+ targ_extra_emuls="msp430X"
+ ;;
+nds32*le-*-elf*) targ_emul=nds32elf
+ targ_extra_emuls="nds32elf16m nds32belf nds32belf16m"
+ ;;
+nds32*be-*-elf*) targ_emul=nds32belf
+ targ_extra_emuls="nds32elf nds32elf16m nds32belf16m"
;;
+nds32*le-*-linux-gnu*) targ_emul=nds32elf_linux ;;
+nds32*be-*-linux-gnu*) targ_emul=nds32belf_linux ;;
+nios2*-*-linux*) targ_emul=nios2linux ;;
nios2*-*-*) targ_emul=nios2elf ;;
ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;;
ns32k-*-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd
;;
-openrisc-*-*) targ_emul=elf32openrisc ;;
-or32-*-coff) targ_emul=or32 ;;
-or32-*-elf) targ_emul=or32elf ;;
-or32-*-rtems*) targ_emul=or32elf
+or1k-*-elf | or1knd-*-elf) targ_emul=elf32or1k ;;
+or1k-*-linux* | or1knd-*-linux*) targ_emul=elf32or1k_linux ;;
+or1k-*-rtems* | or1knd-*-rtems*) targ_emul=elf32or1k
;;
pdp11-*-*) targ_emul=pdp11
;;
@@ -749,7 +764,7 @@ xstormy16-*-*) targ_emul=elf32xstormy16
;;
xtensa*-*-*) targ_emul=elf32xtensa
;;
-xgate-*-*) targ_emul=xgateelf
+xgate-*-*) targ_emul=xgateelf
;;
z80-*-coff) targ_emul=z80
;;
@@ -770,7 +785,7 @@ NATIVE_LIB_DIRS='/usr/local/lib /lib /usr/lib'
case "${target}" in
*-*-dragonfly*)
- NATIVE_LIB_DIRS='/usr/lib /usr/pkg/lib /usr/local/lib'
+ NATIVE_LIB_DIRS='/lib /usr/lib /usr/pkg/lib /usr/local/lib'
;;
*-*-freebsd*)
diff --git a/binutils-2.25/ld/deffile.h b/binutils-2.25/ld/deffile.h
index ca8c7795..0d400adf 100644
--- a/binutils-2.25/ld/deffile.h
+++ b/binutils-2.25/ld/deffile.h
@@ -1,6 +1,5 @@
/* deffile.h - header for .DEF file parser
- Copyright 1998, 1999, 2000, 2002, 2003, 2005, 2006, 2007, 2009
- Free Software Foundation, Inc.
+ Copyright (C) 1998-2014 Free Software Foundation, Inc.
Written by DJ Delorie dj@cygnus.com
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/deffilep.y b/binutils-2.25/ld/deffilep.y
index 2dd21be8..438bd5b6 100644
--- a/binutils-2.25/ld/deffilep.y
+++ b/binutils-2.25/ld/deffilep.y
@@ -1,7 +1,6 @@
%{ /* deffilep.y - parser for .def files */
-/* Copyright 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006,
- 2007, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
This file is part of GNU Binutils.
diff --git a/binutils-2.25/ld/emulparams/README b/binutils-2.25/ld/emulparams/README
index 58e31700..2d67bb22 100644
--- a/binutils-2.25/ld/emulparams/README
+++ b/binutils-2.25/ld/emulparams/README
@@ -1,7 +1,7 @@
The files in this directory are read by genscripts.sh as shell commands.
They set parameters for the emulations.
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2012-2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/binutils-2.25/ld/emulparams/aarch64elf32.sh b/binutils-2.25/ld/emulparams/aarch64elf32.sh
index 68a4d800..f85c9ffd 100644
--- a/binutils-2.25/ld/emulparams/aarch64elf32.sh
+++ b/binutils-2.25/ld/emulparams/aarch64elf32.sh
@@ -17,7 +17,7 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
ENTRY=_start
EMBEDDED=yes
-SEPARATE_GOTPLT=24
+SEPARATE_GOTPLT=12
IREL_IN_PLT=
TEXT_START_ADDR=0x00400000
diff --git a/binutils-2.25/ld/emulparams/aarch64linux.sh b/binutils-2.25/ld/emulparams/aarch64linux.sh
index d8642962..9867b33b 100644
--- a/binutils-2.25/ld/emulparams/aarch64linux.sh
+++ b/binutils-2.25/ld/emulparams/aarch64linux.sh
@@ -45,3 +45,5 @@ case "$target" in
esac
;;
esac
+
+ELF_INTERPRETER_NAME=\"/lib/ld-linux-aarch64.so.1\"
diff --git a/binutils-2.25/ld/emulparams/aarch64linux32.sh b/binutils-2.25/ld/emulparams/aarch64linux32.sh
new file mode 100644
index 00000000..b84eb451
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/aarch64linux32.sh
@@ -0,0 +1,49 @@
+ARCH="aarch64:ilp32"
+MACHINE=
+NOP=0
+
+SCRIPT_NAME=elf
+ELFSIZE=32
+OUTPUT_FORMAT="elf32-littleaarch64"
+BIG_OUTPUT_FORMAT="elf32-bigaarch64"
+LITTLE_OUTPUT_FORMAT="elf32-littleaarch64"
+NO_REL_RELOCS=yes
+
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=aarch64elf
+
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+SEPARATE_GOTPLT=12
+IREL_IN_PLT=
+
+TEXT_START_ADDR=0x400000
+
+DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
+
+# AArch64 does not support .s* sections.
+NO_SMALL_DATA=yes
+
+OTHER_BSS_SYMBOLS='__bss_start__ = .;'
+OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
+OTHER_END_SYMBOLS='__end__ = . ;'
+
+OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
+ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
+# Ensure each PLT entry is aligned to a cache line.
+PLT=".plt ${RELOCATING-0} : ALIGN(16) { *(.plt)${IREL_IN_PLT+ *(.iplt)} }"
+
+# Linux modifies the default library search path to first include
+# a 32-bit specific directory.
+case "$target" in
+ aarch64*-linux*)
+ case "$EMULATION_NAME" in
+ aarch64linux*) LIBPATH_SUFFIX=ilp32 ;;
+ esac
+ ;;
+esac
+
+ELF_INTERPRETER_NAME=\"/lib/ld-linux-aarch64_ilp32.so.1\"
diff --git a/binutils-2.25/ld/emulparams/aarch64linux32b.sh b/binutils-2.25/ld/emulparams/aarch64linux32b.sh
new file mode 100644
index 00000000..e92feecb
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/aarch64linux32b.sh
@@ -0,0 +1,3 @@
+. ${srcdir}/emulparams/aarch64linux32.sh
+OUTPUT_FORMAT="elf32-bigaarch64"
+ELF_INTERPRETER_NAME=\"/lib/ld-linux-aarch64_be_ilp32.so.1\"
diff --git a/binutils-2.25/ld/emulparams/aarch64linuxb.sh b/binutils-2.25/ld/emulparams/aarch64linuxb.sh
index 2bdf6028..75232050 100644
--- a/binutils-2.25/ld/emulparams/aarch64linuxb.sh
+++ b/binutils-2.25/ld/emulparams/aarch64linuxb.sh
@@ -1,2 +1,3 @@
. ${srcdir}/emulparams/aarch64linux.sh
OUTPUT_FORMAT="elf64-bigaarch64"
+ELF_INTERPRETER_NAME=\"/lib/ld-linux-aarch64_be.so.1\"
diff --git a/binutils-2.25/ld/emulparams/armelf_fbsd.sh b/binutils-2.25/ld/emulparams/armelf_fbsd.sh
index ee9520dc..b2a39216 100644
--- a/binutils-2.25/ld/emulparams/armelf_fbsd.sh
+++ b/binutils-2.25/ld/emulparams/armelf_fbsd.sh
@@ -1,3 +1,11 @@
. ${srcdir}/emulparams/armelf.sh
. ${srcdir}/emulparams/elf_fbsd.sh
+
+TEXT_START_ADDR=0x00010000
+
TARGET2_TYPE=got-rel
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+GENERATE_PIE_SCRIPT=yes
+
+unset STACK_ADDR
+unset EMBEDDED
diff --git a/binutils-2.25/ld/emulparams/armelf_linux.sh b/binutils-2.25/ld/emulparams/armelf_linux.sh
index 35891f1f..280db842 100644
--- a/binutils-2.25/ld/emulparams/armelf_linux.sh
+++ b/binutils-2.25/ld/emulparams/armelf_linux.sh
@@ -17,7 +17,7 @@ OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
OTHER_END_SYMBOLS='__end__ = . ;'
OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
-TEXT_START_ADDR=0x00008000
+TEXT_START_ADDR=0x00010000
TARGET2_TYPE=got-rel
# ARM does not support .s* sections.
diff --git a/binutils-2.25/ld/emulparams/armelfb_fbsd.sh b/binutils-2.25/ld/emulparams/armelfb_fbsd.sh
new file mode 100644
index 00000000..a28b476b
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/armelfb_fbsd.sh
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/armelf_fbsd.sh
+OUTPUT_FORMAT="elf32-bigarm"
diff --git a/binutils-2.25/ld/emulparams/avrtiny.sh b/binutils-2.25/ld/emulparams/avrtiny.sh
new file mode 100644
index 00000000..b4ed14bb
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/avrtiny.sh
@@ -0,0 +1,13 @@
+ARCH=avr:100
+MACHINE=
+SCRIPT_NAME=avrtiny
+OUTPUT_FORMAT="elf32-avr"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=elf32
+
+TEXT_ORIGIN=0x0
+TEXT_LENGTH=4K
+DATA_ORIGIN=0x0800040
+DATA_LENGTH=0x100
+EXTRA_EM_FILE=avrelf
diff --git a/binutils-2.25/ld/emulparams/crislinux.sh b/binutils-2.25/ld/emulparams/crislinux.sh
index 47a9c511..c072dbae 100644
--- a/binutils-2.25/ld/emulparams/crislinux.sh
+++ b/binutils-2.25/ld/emulparams/crislinux.sh
@@ -16,6 +16,7 @@ GENERATE_SHLIB_SCRIPT=yes
TEXT_START_ADDR=0x80000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
# We don't do the hoops through DEFINED to provide [_]*start, as it
# doesn't work with --gc-sections, and the start-name is pretty fixed
diff --git a/binutils-2.25/ld/emulparams/elf32_x86_64.sh b/binutils-2.25/ld/emulparams/elf32_x86_64.sh
index d34297be..11d17adb 100644
--- a/binutils-2.25/ld/emulparams/elf32_x86_64.sh
+++ b/binutils-2.25/ld/emulparams/elf32_x86_64.sh
@@ -29,8 +29,13 @@ fi
case "$target" in
x86_64*-linux*|i[3-7]86-*-linux-*)
case "$EMULATION_NAME" in
- *32*) LIBPATH_SUFFIX=x32 ;;
- *64*) LIBPATH_SUFFIX=64 ;;
+ *32*)
+ LIBPATH_SUFFIX=x32
+ LIBPATH_SUFFIX_SKIP=64
+ ;;
+ *64*)
+ LIBPATH_SUFFIX=64
+ ;;
esac
;;
esac
diff --git a/binutils-2.25/ld/emulparams/bfin.sh b/binutils-2.25/ld/emulparams/elf32bfin.sh
index 6c0bb409..6c0bb409 100755..100644
--- a/binutils-2.25/ld/emulparams/bfin.sh
+++ b/binutils-2.25/ld/emulparams/elf32bfin.sh
diff --git a/binutils-2.25/ld/emulparams/elf32bfinfd.sh b/binutils-2.25/ld/emulparams/elf32bfinfd.sh
index 26f8f470..4c96bc95 100644
--- a/binutils-2.25/ld/emulparams/elf32bfinfd.sh
+++ b/binutils-2.25/ld/emulparams/elf32bfinfd.sh
@@ -1,4 +1,4 @@
-. ${srcdir}/emulparams/bfin.sh
+. ${srcdir}/emulparams/elf32bfin.sh
unset STACK_ADDR
OUTPUT_FORMAT="elf32-bfinfdpic"
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
diff --git a/binutils-2.25/ld/emulparams/elf32bmip.sh b/binutils-2.25/ld/emulparams/elf32bmip.sh
index 22896851..8da0f8f7 100644
--- a/binutils-2.25/ld/emulparams/elf32bmip.sh
+++ b/binutils-2.25/ld/emulparams/elf32bmip.sh
@@ -6,7 +6,7 @@ SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-bigmips"
BIG_OUTPUT_FORMAT="elf32-bigmips"
LITTLE_OUTPUT_FORMAT="elf32-littlemips"
-TEXT_START_ADDR=0x80000
+TEXT_START_ADDR=0x0400000
test -n "${EMBEDDED}" || DATA_ADDR=0x10000000
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
@@ -17,7 +17,8 @@ if test -z "${CREATE_SHLIB}"; then
INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }"
fi
INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS}
- .reginfo ${RELOCATING-0} : { *(.reginfo) }
+ .MIPS.abiflags ${RELOCATING-0} : { *(.MIPS.abiflags) }
+ .reginfo ${RELOCATING-0} : { *(.reginfo) }
"
OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
# Unlike most targets, the MIPS backend puts all dynamic relocations
@@ -64,6 +65,12 @@ OTHER_BSS_SYMBOLS='_fbss = .;'
OTHER_SECTIONS='
.gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
.gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
+ .mdebug.abi32 0 : { KEEP(*(.mdebug.abi32)) }
+ .mdebug.abiN32 0 : { KEEP(*(.mdebug.abiN32)) }
+ .mdebug.abi64 0 : { KEEP(*(.mdebug.abi64)) }
+ .mdebug.abiO64 0 : { KEEP(*(.mdebug.abiO64)) }
+ .mdebug.eabi32 0 : { KEEP(*(.mdebug.eabi32)) }
+ .mdebug.eabi64 0 : { KEEP(*(.mdebug.eabi64)) }
.gcc_compiled_long32 0 : { KEEP(*(.gcc_compiled_long32)) }
.gcc_compiled_long64 0 : { KEEP(*(.gcc_compiled_long64)) }
'
diff --git a/binutils-2.25/ld/emulparams/elf32bmipn32-defs.sh b/binutils-2.25/ld/emulparams/elf32bmipn32-defs.sh
index 514990b2..723eac80 100644
--- a/binutils-2.25/ld/emulparams/elf32bmipn32-defs.sh
+++ b/binutils-2.25/ld/emulparams/elf32bmipn32-defs.sh
@@ -88,6 +88,7 @@ if test -z "${CREATE_SHLIB}"; then
INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }"
fi
INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS}
+ .MIPS.abiflags ${RELOCATING-0} : { *(.MIPS.abiflags) }
.reginfo ${RELOCATING-0} : { *(.reginfo) }"
# Discard any .MIPS.content* or .MIPS.events* sections. The linker
# doesn't know how to adjust them.
diff --git a/binutils-2.25/ld/emulparams/elf32ltsmip.sh b/binutils-2.25/ld/emulparams/elf32ltsmip.sh
index edf73df7..4a660f09 100644
--- a/binutils-2.25/ld/emulparams/elf32ltsmip.sh
+++ b/binutils-2.25/ld/emulparams/elf32ltsmip.sh
@@ -1,3 +1,2 @@
. ${srcdir}/emulparams/elf32btsmip.sh
OUTPUT_FORMAT="elf32-tradlittlemips"
-unset TEXT_DYNAMIC
diff --git a/binutils-2.25/ld/emulparams/elf32openrisc.sh b/binutils-2.25/ld/emulparams/elf32openrisc.sh
deleted file mode 100755
index bbe9a3e8..00000000
--- a/binutils-2.25/ld/emulparams/elf32openrisc.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-MACHINE=
-SCRIPT_NAME=elf
-OUTPUT_FORMAT="elf32-openrisc"
-NO_RELA_RELOCS=yes
-TEXT_START_ADDR=0x10000
-ARCH=openrisc
-MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
-ENTRY=_start
-EMBEDDED=yes
-NOP=0x15000000
-
diff --git a/binutils-2.25/ld/emulparams/elf32or1k.sh b/binutils-2.25/ld/emulparams/elf32or1k.sh
new file mode 100644
index 00000000..e8d59b81
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/elf32or1k.sh
@@ -0,0 +1,14 @@
+SCRIPT_NAME=elf
+MACHINE=
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf32-or1k"
+NOP=0x15000000
+TEXT_START_ADDR=0x0000
+TARGET_PAGE_SIZE=0x2000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+EMBEDDED=yes
+ARCH=or1k
+ELFSIZE=32
+INITIAL_READONLY_SECTIONS=".vectors ${RELOCATING-0} : { KEEP (*(.vectors)) }"
+NO_REL_RELOCS=yes
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
diff --git a/binutils-2.25/ld/emulparams/elf32or1k_linux.sh b/binutils-2.25/ld/emulparams/elf32or1k_linux.sh
new file mode 100644
index 00000000..80ef51c5
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/elf32or1k_linux.sh
@@ -0,0 +1,6 @@
+. ${srcdir}/emulparams/elf32or1k.sh
+unset EMBEDDED
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+GENERATE_COMBRELOC_SCRIPT=yes
+TEXT_START_ADDR=0x00002000
diff --git a/binutils-2.25/ld/emulparams/elf32ppccommon.sh b/binutils-2.25/ld/emulparams/elf32ppccommon.sh
index 049fdb98..1f54ef80 100644
--- a/binutils-2.25/ld/emulparams/elf32ppccommon.sh
+++ b/binutils-2.25/ld/emulparams/elf32ppccommon.sh
@@ -13,8 +13,6 @@ ARCH=powerpc:common
MACHINE=
EXECUTABLE_SYMBOLS='PROVIDE (__stack = 0); PROVIDE (___stack = 0);'
if test -z "${CREATE_SHLIB}"; then
- SDATA_START_SYMBOLS="PROVIDE (_SDA_BASE_ = 32768);"
- SDATA2_START_SYMBOLS="PROVIDE (_SDA2_BASE_ = 32768);"
SBSS_START_SYMBOLS="PROVIDE (__sbss_start = .); PROVIDE (___sbss_start = .);"
SBSS_END_SYMBOLS="PROVIDE (__sbss_end = .); PROVIDE (___sbss_end = .);"
else
diff --git a/binutils-2.25/ld/emulparams/elf32ppcvxworks.sh b/binutils-2.25/ld/emulparams/elf32ppcvxworks.sh
index 1bc3f309..88c1da0c 100644
--- a/binutils-2.25/ld/emulparams/elf32ppcvxworks.sh
+++ b/binutils-2.25/ld/emulparams/elf32ppcvxworks.sh
@@ -1,3 +1,5 @@
. ${srcdir}/emulparams/elf32ppccommon.sh
+. ${srcdir}/emulparams/plt_unwind.sh
+EXTRA_EM_FILE=ppc32elf
OUTPUT_FORMAT="elf32-powerpc-vxworks"
. ${srcdir}/emulparams/vxworks.sh
diff --git a/binutils-2.25/ld/emulparams/elf64bmip-defs.sh b/binutils-2.25/ld/emulparams/elf64bmip-defs.sh
index 110f8929..8a0522f8 100644
--- a/binutils-2.25/ld/emulparams/elf64bmip-defs.sh
+++ b/binutils-2.25/ld/emulparams/elf64bmip-defs.sh
@@ -1,3 +1,6 @@
. ${srcdir}/emulparams/elf32bmipn32-defs.sh
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
-INITIAL_READONLY_SECTIONS=".MIPS.options : { *(.MIPS.options) }"
+INITIAL_READONLY_SECTIONS="
+ .MIPS.abiflags ${RELOCATING-0} : { *(.MIPS.abiflags) }
+ .MIPS.options : { *(.MIPS.options) }
+"
diff --git a/binutils-2.25/ld/emulparams/elf_i386.sh b/binutils-2.25/ld/emulparams/elf_i386.sh
index add700ff..93f19924 100644
--- a/binutils-2.25/ld/emulparams/elf_i386.sh
+++ b/binutils-2.25/ld/emulparams/elf_i386.sh
@@ -19,7 +19,10 @@ IREL_IN_PLT=
case "$target" in
x86_64*-linux* | i[3-7]86*-linux*)
case "$EMULATION_NAME" in
- *i386*) LIBPATH_SUFFIX=32 ;;
+ *i386*)
+ LIBPATH_SUFFIX=32
+ LIBPATH_SUFFIX_SKIP=64
+ ;;
esac
;;
esac
diff --git a/binutils-2.25/ld/emulparams/elf_k1om.sh b/binutils-2.25/ld/emulparams/elf_k1om.sh
index a5351e07..00bf2cad 100644
--- a/binutils-2.25/ld/emulparams/elf_k1om.sh
+++ b/binutils-2.25/ld/emulparams/elf_k1om.sh
@@ -16,6 +16,7 @@ NO_SMALL_DATA=yes
LARGE_SECTIONS=yes
LARGE_BSS_AFTER_BSS=
SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0"
+IREL_IN_PLT=
if [ "x${host}" = "x${target}" ]; then
case " $EMULATION_LIBPATH " in
diff --git a/binutils-2.25/ld/emulparams/elf_l1om.sh b/binutils-2.25/ld/emulparams/elf_l1om.sh
index a090d21f..abf59f16 100644
--- a/binutils-2.25/ld/emulparams/elf_l1om.sh
+++ b/binutils-2.25/ld/emulparams/elf_l1om.sh
@@ -16,6 +16,7 @@ NO_SMALL_DATA=yes
LARGE_SECTIONS=yes
LARGE_BSS_AFTER_BSS=
SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0"
+IREL_IN_PLT=
if [ "x${host}" = "x${target}" ]; then
case " $EMULATION_LIBPATH " in
diff --git a/binutils-2.25/ld/emulparams/elf_x86_64.sh b/binutils-2.25/ld/emulparams/elf_x86_64.sh
index 4842257c..1e83a74c 100644
--- a/binutils-2.25/ld/emulparams/elf_x86_64.sh
+++ b/binutils-2.25/ld/emulparams/elf_x86_64.sh
@@ -16,6 +16,8 @@ LARGE_SECTIONS=yes
LARGE_BSS_AFTER_BSS=
SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0"
IREL_IN_PLT=
+# Reuse TINY_READONLY_SECTION which is placed right after .plt section.
+TINY_READONLY_SECTION=".plt.bnd ${RELOCATING-0} : { *(.plt.bnd) }"
if [ "x${host}" = "x${target}" ]; then
case " $EMULATION_LIBPATH " in
@@ -29,7 +31,10 @@ fi
case "$target" in
x86_64*-linux*|i[3-7]86-*-linux-*)
case "$EMULATION_NAME" in
- *64*) LIBPATH_SUFFIX=64 ;;
+ *64*)
+ LIBPATH_SUFFIX=64
+ BNDPLT=yes
+ ;;
esac
;;
*-*-solaris2*)
diff --git a/binutils-2.25/ld/emulparams/moxiebox.sh b/binutils-2.25/ld/emulparams/moxiebox.sh
new file mode 100644
index 00000000..99b530a9
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/moxiebox.sh
@@ -0,0 +1,9 @@
+SCRIPT_NAME=elf
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-littlemoxie"
+TEXT_START_ADDR=0x1000
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ARCH=moxie
+EMBEDDED=yes
+STACK_ADDR=0x400000
diff --git a/binutils-2.25/ld/emulparams/msp430.sh b/binutils-2.25/ld/emulparams/msp430.sh
new file mode 100644
index 00000000..b4596985
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/msp430.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# This called by genscripts_extra.sh
+
+SCRIPT_NAME=elf32msp430
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
+OUTPUT_FORMAT="elf32-msp430"
+MACHINE=
+MAXPAGESIZE=1
+EMBEDDED=yes
+
+ARCH=msp:14
+ROM_START=0x8000
+ROM_SIZE=0x7fe0
+RAM_START=0x0200
+RAM_SIZE=1K
+STACK=0x600
diff --git a/binutils-2.25/ld/emulparams/msp430X.sh b/binutils-2.25/ld/emulparams/msp430X.sh
new file mode 100644
index 00000000..fea669bc
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/msp430X.sh
@@ -0,0 +1,8 @@
+. ${srcdir}/emulparams/msp430.sh
+
+ARCH=MSP430x43
+ROM_START=0x02000
+ROM_SIZE=0x0dfe0
+RAM_START=0x10000
+RAM_SIZE=0x30000
+STACK=0x600
diff --git a/binutils-2.25/ld/emulparams/msp430all.sh b/binutils-2.25/ld/emulparams/msp430all.sh
deleted file mode 100644
index 33d975e4..00000000
--- a/binutils-2.25/ld/emulparams/msp430all.sh
+++ /dev/null
@@ -1,562 +0,0 @@
-#!/bin/sh
-
-# This called by genscripts_extra.sh
-
-MSP430_NAME=${EMULATION_NAME}
-
-SCRIPT_NAME=elf32msp430
-TEMPLATE_NAME=generic
-EXTRA_EM_FILE=genelf
-OUTPUT_FORMAT="elf32-msp430"
-MACHINE=
-MAXPAGESIZE=1
-EMBEDDED=yes
-
-if [ "${MSP430_NAME}" = "msp430x110" ] ; then
-ARCH=MSP430
-ROM_START=0xfc00
-ROM_SIZE=0x3e0
-RAM_START=0x0200
-RAM_SIZE=128
-STACK=0x280
-fi
-
-if [ "${MSP430_NAME}" = "msp430x1101" ] ; then
-ARCH=MSP430x11x1
-ROM_START=0xfc00
-ROM_SIZE=0x3e0
-RAM_START=0x0200
-RAM_SIZE=128
-STACK=0x280
-fi
-
-if [ "${MSP430_NAME}" = "msp430x1111" ] ; then
-ARCH=MSP430x11x1
-ROM_START=0xf800
-ROM_SIZE=0x07e0
-RAM_START=0x0200
-RAM_SIZE=128
-STACK=0x280
-fi
-
-if [ "${MSP430_NAME}" = "msp430x112" ] ; then
-ARCH=MSP430
-ROM_START=0xf000
-ROM_SIZE=0xfe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x1121" ] ; then
-ARCH=MSP430x11x1
-ROM_START=0xf000
-ROM_SIZE=0x0fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x1122" ] ; then
-ARCH=MSP430x11x1
-ROM_START=0xf000
-ROM_SIZE=0x0fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x1132" ] ; then
-ARCH=MSP430x11x1
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x122" ] ; then
-ARCH=msp:12
-ROM_START=0xf000
-ROM_SIZE=0xfe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x1222" ] ; then
-ARCH=MSP430x12
-ROM_START=0xf000
-ROM_SIZE=0xfe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x123" ] ; then
-ARCH=MSP430x12
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x1232" ] ; then
-ARCH=MSP430x12
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x133" ] ; then
-ARCH=MSP430x13
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x1331" ] ; then
-ARCH=MSP430x13
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x135" ] ; then
-ARCH=MSP430x13
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-STACK=0x400
-fi
-
-if [ "${MSP430_NAME}" = "msp430x1351" ] ; then
-ARCH=MSP430x13
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-STACK=0x400
-fi
-
-if [ "${MSP430_NAME}" = "msp430x147" ] ; then
-ARCH=MSP430x14
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1K
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430x148" ] ; then
-ARCH=MSP430x14
-ROM_START=0x4000
-ROM_SIZE=0xbfe0
-RAM_START=0x0200
-RAM_SIZE=0x0800
-STACK=0xa00
-fi
-
-if [ "${MSP430_NAME}" = "msp430x149" ] ; then
-ARCH=MSP430x14
-ROM_START=0x1100
-ROM_SIZE=0xeee0
-RAM_START=0x0200
-RAM_SIZE=0x0800
-STACK=0xa00
-fi
-
-if [ "${MSP430_NAME}" = "msp430x155" ] ; then
-ARCH=MSP430x15
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-STACK=0x400
-fi
-
-if [ "${MSP430_NAME}" = "msp430x156" ] ; then
-ARCH=MSP430x15
-ROM_START=0xa000
-ROM_SIZE=0x5fe0
-RAM_START=0x0200
-RAM_SIZE=512
-STACK=0x400
-fi
-
-if [ "${MSP430_NAME}" = "msp430x157" ] ; then
-ARCH=MSP430x15
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1K
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430x167" ] ; then
-ARCH=MSP430X16
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1K
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430x168" ] ; then
-ARCH=MSP430X16
-ROM_START=0x4000
-ROM_SIZE=0xbfe0
-RAM_START=0x0200
-RAM_SIZE=0x0800
-STACK=0xa00
-fi
-
-if [ "${MSP430_NAME}" = "msp430x169" ] ; then
-ARCH=MSP430X16
-ROM_START=0x1100
-ROM_SIZE=0xeee0
-RAM_START=0x0200
-RAM_SIZE=0x0800
-STACK=0xa00
-fi
-
-if [ "${MSP430_NAME}" = "msp430x1610" ] ; then
-ARCH=MSP430X16
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x1100
-RAM_SIZE=0x1400
-STACK=0x2500
-fi
-
-if [ "${MSP430_NAME}" = "msp430x1611" ] ; then
-ARCH=MSP430X16
-ROM_START=0x4000
-ROM_SIZE=0xbfe0
-RAM_START=0x1100
-RAM_SIZE=0x2800
-STACK=0x3900
-fi
-
-if [ "${MSP430_NAME}" = "msp430x1612" ] ; then
-ARCH=MSP430X16
-ROM_START=0x2500
-ROM_SIZE=0xdae0
-RAM_START=0x1100
-RAM_SIZE=0x1400
-STACK=0x2500
-fi
-
-if [ "${MSP430_NAME}" = "msp430x2101" ] ; then
-ARCH=MSP430x21
-ROM_START=0xFC00
-ROM_SIZE=0x03e0
-RAM_START=0x0200
-RAM_SIZE=128
-STACK=0x280
-fi
-
-if [ "${MSP430_NAME}" = "msp430x2111" ] ; then
-ARCH=MSP430x21
-ROM_START=0xF800
-ROM_SIZE=0x07e0
-RAM_START=0x0200
-RAM_SIZE=128
-STACK=0x280
-fi
-
-if [ "${MSP430_NAME}" = "msp430x2121" ] ; then
-ARCH=MSP430x21
-ROM_START=0xf000
-ROM_SIZE=0x0fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x2131" ] ; then
-ARCH=MSP430x21
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x311" ] ; then
-ARCH=MSP430x31
-SCRIPT_NAME=elf32msp430_3
-ROM_START=0xf800
-ROM_SIZE=0x07e0
-RAM_START=0x0200
-RAM_SIZE=128
-STACK=0x280
-fi
-
-if [ "${MSP430_NAME}" = "msp430x312" ] ; then
-ARCH=MSP430x31
-SCRIPT_NAME=elf32msp430_3
-ROM_START=0xf000
-ROM_SIZE=0x0fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x313" ] ; then
-ARCH=MSP430x31
-SCRIPT_NAME=elf32msp430_3
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x314" ] ; then
-ARCH=MSP430x31
-SCRIPT_NAME=elf32msp430_3
-ROM_START=0xd000
-ROM_SIZE=0x2fe0
-RAM_START=0x0200
-RAM_SIZE=512
-STACK=0x400
-fi
-
-if [ "${MSP430_NAME}" = "msp430x315" ] ; then
-ARCH=MSP430x31
-SCRIPT_NAME=elf32msp430_3
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-STACK=0x400
-fi
-
-if [ "${MSP430_NAME}" = "msp430x323" ] ; then
-ARCH=MSP430x32
-SCRIPT_NAME=elf32msp430_3
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x325" ] ; then
-ARCH=MSP430x32
-SCRIPT_NAME=elf32msp430_3
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-STACK=0x400
-fi
-
-if [ "${MSP430_NAME}" = "msp430x336" ] ; then
-ARCH=MSP430x33
-SCRIPT_NAME=elf32msp430_3
-ROM_START=0xa000
-ROM_SIZE=0x5fe0
-RAM_START=0x0200
-RAM_SIZE=1024
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430x337" ] ; then
-ARCH=MSP430x33
-SCRIPT_NAME=elf32msp430_3
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1024
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430x412" ] ; then
-ARCH=MSP430x41
-ROM_START=0xf000
-ROM_SIZE=0x0fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x413" ] ; then
-ARCH=MSP430x41
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430x415" ] ; then
-ARCH=MSP430x41
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-STACK=0x400
-fi
-
-if [ "${MSP430_NAME}" = "msp430x417" ] ; then
-ARCH=MSP430x41
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1024
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430x435" ] ; then
-ARCH=MSP430x43
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-STACK=0x400
-fi
-
-if [ "${MSP430_NAME}" = "msp430x436" ] ; then
-ARCH=MSP430x43
-ROM_START=0xa000
-ROM_SIZE=0x5fe0
-RAM_START=0x0200
-RAM_SIZE=1024
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430x437" ] ; then
-ARCH=MSP430x43
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1024
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430x447" ] ; then
-ARCH=msp:44
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1024
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430x448" ] ; then
-ARCH=msp:44
-ROM_START=0x4000
-ROM_SIZE=0xbfe0
-RAM_START=0x0200
-RAM_SIZE=0x0800
-STACK=0xa00
-fi
-
-if [ "${MSP430_NAME}" = "msp430x449" ] ; then
-ARCH=msp:44
-ROM_START=0x1100
-ROM_SIZE=0xeee0
-RAM_START=0x0200
-RAM_SIZE=0x0800
-STACK=0xa00
-fi
-
-if [ "${MSP430_NAME}" = "msp430xE423" ] ; then
-ARCH=msp:42
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430xE425" ] ; then
-ARCH=msp:42
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-STACK=0x400
-fi
-
-if [ "${MSP430_NAME}" = "msp430xE427" ] ; then
-ARCH=msp:42
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1024
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430xG437" ] ; then
-ARCH=MSP430x43
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=1024
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430xG438" ] ; then
-ARCH=MSP430x43
-ROM_START=0x4000
-ROM_SIZE=0xbef0
-RAM_START=0x0200
-RAM_SIZE=0x0800
-STACK=0xa00
-fi
-
-if [ "${MSP430_NAME}" = "msp430xG439" ] ; then
-ARCH=MSP430x43
-ROM_START=0x1100
-ROM_SIZE=0xeee0
-RAM_START=0x0200
-RAM_SIZE=0x0800
-STACK=0xa00
-fi
-
-if [ "${MSP430_NAME}" = "msp430xW423" ] ; then
-ARCH=msp:42
-ROM_START=0xe000
-ROM_SIZE=0x1fe0
-RAM_START=0x0200
-RAM_SIZE=256
-STACK=0x300
-fi
-
-if [ "${MSP430_NAME}" = "msp430xW425" ] ; then
-ARCH=msp:42
-ROM_START=0xc000
-ROM_SIZE=0x3fe0
-RAM_START=0x0200
-RAM_SIZE=512
-STACK=0x400
-fi
-
-if [ "${MSP430_NAME}" = "msp430xW427" ] ; then
-ARCH=msp:42
-ROM_START=0x8000
-ROM_SIZE=0x7fe0
-RAM_START=0x0200
-RAM_SIZE=0x400
-STACK=0x600
-fi
-
-if [ "${MSP430_NAME}" = "msp430X" ] ; then
-ARCH=MSP430x43
-ROM_START=0x02000
-ROM_SIZE=0x0dfe0
-RAM_START=0x10000
-RAM_SIZE=0x30000
-STACK=0x600
-fi
diff --git a/binutils-2.25/ld/emulparams/nds32belf.sh b/binutils-2.25/ld/emulparams/nds32belf.sh
new file mode 100644
index 00000000..eee48faf
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/nds32belf.sh
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/nds32elf.sh
+OUTPUT_FORMAT="$BIG_OUTPUT_FORMAT"
diff --git a/binutils-2.25/ld/emulparams/nds32belf16m.sh b/binutils-2.25/ld/emulparams/nds32belf16m.sh
new file mode 100644
index 00000000..9839f7b1
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/nds32belf16m.sh
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/nds32elf16m.sh
+OUTPUT_FORMAT="$BIG_OUTPUT_FORMAT"
diff --git a/binutils-2.25/ld/emulparams/nds32belf_linux.sh b/binutils-2.25/ld/emulparams/nds32belf_linux.sh
new file mode 100644
index 00000000..bc99e38d
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/nds32belf_linux.sh
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/nds32elf_linux.sh
+OUTPUT_FORMAT="$BIG_OUTPUT_FORMAT"
diff --git a/binutils-2.25/ld/emulparams/nds32elf.sh b/binutils-2.25/ld/emulparams/nds32elf.sh
new file mode 100644
index 00000000..f0a7c313
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/nds32elf.sh
@@ -0,0 +1,18 @@
+TEXT_START_ADDR=0x500000
+# This sets the stack to the top of simulator memory (48MB).
+OTHER_END_SYMBOLS='PROVIDE (_stack = 0x3000000);'
+
+SCRIPT_NAME=nds32elf
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=nds32elf
+BIG_OUTPUT_FORMAT="elf32-nds32be"
+LITTLE_OUTPUT_FORMAT="elf32-nds32le"
+OUTPUT_FORMAT="$LITTLE_OUTPUT_FORMAT"
+ARCH=nds32
+MACHINE=
+MAXPAGESIZE=0x20
+EMBEDDED=yes
+COMMONPAGESIZE=0x20
+
+# Use external linker script files.
+COMPILE_IN=no
diff --git a/binutils-2.25/ld/emulparams/nds32elf16m.sh b/binutils-2.25/ld/emulparams/nds32elf16m.sh
new file mode 100644
index 00000000..deb86990
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/nds32elf16m.sh
@@ -0,0 +1,18 @@
+TEXT_START_ADDR=0x300000
+# This sets the stack to the top of simulator memory (48MB).
+OTHER_END_SYMBOLS='PROVIDE (_stack = 0x780000);'
+
+SCRIPT_NAME=nds32elf
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=nds32elf
+BIG_OUTPUT_FORMAT="elf32-nds32be"
+LITTLE_OUTPUT_FORMAT="elf32-nds32le"
+OUTPUT_FORMAT="$LITTLE_OUTPUT_FORMAT"
+ARCH=nds32
+MACHINE=
+MAXPAGESIZE=0x20
+EMBEDDED=yes
+COMMONPAGESIZE=0x20
+
+# Use external linker script files.
+COMPILE_IN=no
diff --git a/binutils-2.25/ld/emulparams/nds32elf_linux.sh b/binutils-2.25/ld/emulparams/nds32elf_linux.sh
new file mode 100644
index 00000000..1145c0ee
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/nds32elf_linux.sh
@@ -0,0 +1,35 @@
+DEFAULT_TEXT_START_ADDR=0
+DEFAULT_STACK_START_ADDR=0
+MACHINE=
+SCRIPT_NAME=nds32elf
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=nds32elf
+BIG_OUTPUT_FORMAT="elf32-nds32be-linux"
+LITTLE_OUTPUT_FORMAT="elf32-nds32le-linux"
+OUTPUT_FORMAT="$LITTLE_OUTPUT_FORMAT"
+LIB_PATH="=/usr/local/lib:=/lib:=/usr/lib/"
+
+if [ "${DEFAULT_TEXT_START_ADDR}" = "0" ]; then
+ TEXT_START_ADDR=0x8000
+else
+ TEXT_START_ADDR=${DEFAULT_TEXT_START_ADDR}
+fi
+
+ARCH=nds32
+MACHINE=
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+
+# Hmmm, there's got to be a better way. This sets the stack to the
+# top of simulator memory (32MB).
+if [ "${DEFAULT_STACK_START_ADDR}" = "0" ]; then
+ OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = 0x2000000);'
+else
+ OTHER_RELOCATING_SECTIONS="PROVIDE (_stack = ${DEFAULT_STACK_START_ADDR});"
+fi
+
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+
+# Use external linker script files.
+COMPILE_IN=no
diff --git a/binutils-2.25/ld/emulparams/nios2elf.sh b/binutils-2.25/ld/emulparams/nios2elf.sh
index 767f3dec..7ccde977 100644
--- a/binutils-2.25/ld/emulparams/nios2elf.sh
+++ b/binutils-2.25/ld/emulparams/nios2elf.sh
@@ -1,6 +1,6 @@
SCRIPT_NAME=elf
TEMPLATE_NAME=elf32
-EXTRA_EM_FILE=
+EXTRA_EM_FILE=nios2elf
OUTPUT_FORMAT="elf32-littlenios2"
LITTLE_OUTPUT_FORMAT="elf32-littlenios2"
BIG_OUTPUT_FORMAT="elf32-bignios2"
diff --git a/binutils-2.25/ld/emulparams/nios2linux.sh b/binutils-2.25/ld/emulparams/nios2linux.sh
new file mode 100644
index 00000000..e6542508
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/nios2linux.sh
@@ -0,0 +1,20 @@
+SCRIPT_NAME=elf
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE="nios2elf"
+OUTPUT_FORMAT="elf32-littlenios2"
+LITTLE_OUTPUT_FORMAT="elf32-littlenios2"
+BIG_OUTPUT_FORMAT="elf32-bignios2"
+TEXT_START_ADDR=0x2000
+OTHER_GOT_SYMBOLS='
+ HIDDEN (_gp = ALIGN(16) + 0x7ff0);
+ PROVIDE_HIDDEN (gp = _gp);
+'
+ARCH=nios2
+MACHINE=
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
+ENTRY=_start
+NOP=0x0001883a
+
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
diff --git a/binutils-2.25/ld/emulparams/or32.sh b/binutils-2.25/ld/emulparams/or32.sh
deleted file mode 100644
index 0e22e45d..00000000
--- a/binutils-2.25/ld/emulparams/or32.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-SCRIPT_NAME=or32
-OUTPUT_FORMAT="coff-or32-big"
-TEXT_START_ADDR=0x1000000
-TARGET_PAGE_SIZE=0x1000000
-ARCH=or32
diff --git a/binutils-2.25/ld/emulparams/or32elf.sh b/binutils-2.25/ld/emulparams/or32elf.sh
deleted file mode 100644
index 5d85b047..00000000
--- a/binutils-2.25/ld/emulparams/or32elf.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-SCRIPT_NAME=elf
-TEMPLATE_NAME=generic
-EXTRA_EM_FILE=genelf
-OUTPUT_FORMAT="elf32-or32"
-NO_RELA_RELOCS=yes
-TEXT_START_ADDR=0x1000000
-TARGET_PAGE_SIZE=0x1000000
-MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
-ARCH=or32
diff --git a/binutils-2.25/ld/emulparams/scoreelf.sh b/binutils-2.25/ld/emulparams/score3_elf.sh
index 3a7ed315..4636cd35 100644
--- a/binutils-2.25/ld/emulparams/scoreelf.sh
+++ b/binutils-2.25/ld/emulparams/score3_elf.sh
@@ -26,15 +26,7 @@ OTHER_BSS_SYMBOLS='
# This sets the stack to the top of the simulator memory (2^19 bytes).
STACK_ADDR=0x8000000
-SCORE_NAME=${EMULATION_NAME}
-if [ "${SCORE_NAME}" = "score3_elf" ] ; then
ARCH=score3
-fi
-
-if [ "${SCORE_NAME}" = "score7_elf" ] ; then
-ARCH=score7
-fi
-
MACHINE=
ENTRY=_start
EMBEDDED=yes
diff --git a/binutils-2.25/ld/emulparams/score7_elf.sh b/binutils-2.25/ld/emulparams/score7_elf.sh
new file mode 100644
index 00000000..9b7ce9b1
--- /dev/null
+++ b/binutils-2.25/ld/emulparams/score7_elf.sh
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/score3_elf.sh
+ARCH=score7
diff --git a/binutils-2.25/ld/emultempl/README b/binutils-2.25/ld/emultempl/README
index c3c74727..f81ce08d 100644
--- a/binutils-2.25/ld/emultempl/README
+++ b/binutils-2.25/ld/emultempl/README
@@ -2,7 +2,7 @@ The files in this directory are sourced by genscripts.sh, after
setting some variables to substitute in, to produce
C source files that contain jump tables for each emulation.
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2012-2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/binutils-2.25/ld/emultempl/aarch64elf.em b/binutils-2.25/ld/emultempl/aarch64elf.em
index b3279bf8..42e8056f 100644
--- a/binutils-2.25/ld/emultempl/aarch64elf.em
+++ b/binutils-2.25/ld/emultempl/aarch64elf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2009-2012 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
# Contributed by ARM Ltd.
#
# This file is part of the GNU Binutils.
@@ -30,6 +30,7 @@ fragment <<EOF
static int no_enum_size_warning = 0;
static int no_wchar_size_warning = 0;
static int pic_veneer = 0;
+static int fix_erratum_835769 = 0;
static void
gld${EMULATION_NAME}_before_parse (void)
@@ -159,7 +160,6 @@ elf${ELFSIZE}_aarch64_add_stub_section (const char *stub_sec_name,
asection *stub_sec;
flagword flags;
asection *output_section;
- const char *secname;
lang_output_section_statement_type *os;
struct hook_stub_info info;
@@ -173,8 +173,7 @@ elf${ELFSIZE}_aarch64_add_stub_section (const char *stub_sec_name,
bfd_set_section_alignment (stub_file->the_bfd, stub_sec, 3);
output_section = input_section->output_section;
- secname = bfd_get_section_name (output_section->owner, output_section);
- os = lang_output_section_find (secname);
+ os = lang_output_section_get (output_section);
info.input_section = input_section;
lang_list_init (&info.add);
@@ -221,20 +220,27 @@ build_section_lists (lang_statement_union_type *statement)
static void
gld${EMULATION_NAME}_after_allocation (void)
{
+ int ret;
+
/* bfd_elf32_discard_info just plays with debugging sections,
ie. doesn't affect any code, so we can delay resizing the
sections. It's likely we'll resize everything in the process of
adding stubs. */
- if (bfd_elf_discard_info (link_info.output_bfd, & link_info))
+ ret = bfd_elf_discard_info (link_info.output_bfd, & link_info);
+ if (ret < 0)
+ {
+ einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ return;
+ }
+ else if (ret > 0)
need_laying_out = 1;
/* If generating a relocatable output file, then we don't
have to examine the relocs. */
if (stub_file != NULL && !link_info.relocatable)
{
- int ret = elf${ELFSIZE}_aarch64_setup_section_lists (link_info.output_bfd,
- & link_info);
-
+ ret = elf${ELFSIZE}_aarch64_setup_section_lists (link_info.output_bfd,
+ &link_info);
if (ret != 0)
{
if (ret < 0)
@@ -297,7 +303,7 @@ aarch64_elf_create_output_section_statements (void)
bfd_elf${ELFSIZE}_aarch64_set_options (link_info.output_bfd, &link_info,
no_enum_size_warning,
no_wchar_size_warning,
- pic_veneer);
+ pic_veneer, fix_erratum_835769);
stub_file = lang_add_input_file ("linker stubs",
lang_input_file_is_fake_enum,
@@ -346,6 +352,7 @@ PARSE_AND_LIST_PROLOGUE='
#define OPTION_PIC_VENEER 310
#define OPTION_STUBGROUP_SIZE 311
#define OPTION_NO_WCHAR_SIZE_WARNING 312
+#define OPTION_FIX_ERRATUM_835769 313
'
PARSE_AND_LIST_SHORTOPTS=p
@@ -356,6 +363,7 @@ PARSE_AND_LIST_LONGOPTS='
{ "pic-veneer", no_argument, NULL, OPTION_PIC_VENEER},
{ "stub-group-size", required_argument, NULL, OPTION_STUBGROUP_SIZE },
{ "no-wchar-size-warning", no_argument, NULL, OPTION_NO_WCHAR_SIZE_WARNING},
+ { "fix-cortex-a53-835769", no_argument, NULL, OPTION_FIX_ERRATUM_835769},
'
PARSE_AND_LIST_OPTIONS='
@@ -373,6 +381,7 @@ PARSE_AND_LIST_OPTIONS='
after each stub section. Values of +/-1 indicate\n\
the linker should choose suitable defaults.\n"
));
+ fprintf (file, _(" --fix-cortex-a53-835769 Fix erratum 835769\n"));
'
PARSE_AND_LIST_ARGS_CASES='
@@ -392,6 +401,10 @@ PARSE_AND_LIST_ARGS_CASES='
pic_veneer = 1;
break;
+ case OPTION_FIX_ERRATUM_835769:
+ fix_erratum_835769 = 1;
+ break;
+
case OPTION_STUBGROUP_SIZE:
{
const char *end;
diff --git a/binutils-2.25/ld/emultempl/aix.em b/binutils-2.25/ld/emultempl/aix.em
index aa72ce64..56985cfa 100644
--- a/binutils-2.25/ld/emultempl/aix.em
+++ b/binutils-2.25/ld/emultempl/aix.em
@@ -9,7 +9,7 @@ fragment <<EOF
/* This file is is generated by a shell script. DO NOT EDIT! */
/* AIX emulation code for ${EMULATION_NAME}
- Copyright 1991-2013 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>
AIX support by Ian Lance Taylor <ian@cygnus.com>
AIX 64 bit support by Tom Rix <trix@redhat.com>
@@ -854,7 +854,7 @@ gld${EMULATION_NAME}_before_allocation (void)
/* Remove this section from the list of the output section.
This assumes we know what the script looks like. */
is = NULL;
- os = lang_output_section_find (sec->output_section->name);
+ os = lang_output_section_get (sec->output_section);
if (os == NULL)
einfo ("%P%F: can't find output section %s\n",
sec->output_section->name);
@@ -1399,7 +1399,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
@@ -1509,7 +1509,13 @@ gld${EMULATION_NAME}_open_dynamic_archive (const char *arch,
if (!entry->flags.maybe_archive)
return FALSE;
- path = concat (search->name, "/lib", entry->filename, arch, ".a", NULL);
+ if (entry->flags.full_name_provided)
+ path = concat (search->name, "/", entry->filename,
+ (const char *) NULL);
+ else
+ path = concat (search->name, "/lib", entry->filename, arch, ".a",
+ (const char *) NULL);
+
if (!ldfile_try_open_bfd (path, entry))
{
free (path);
@@ -1547,6 +1553,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = {
NULL, /* list_options */
NULL, /* recognized_file */
NULL, /* find potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/alphaelf.em b/binutils-2.25/ld/emultempl/alphaelf.em
index 21064ad8..a36fc7d1 100644
--- a/binutils-2.25/ld/emultempl/alphaelf.em
+++ b/binutils-2.25/ld/emultempl/alphaelf.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2003, 2004, 2005, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -73,6 +72,7 @@ alpha_after_open (void)
static void
alpha_after_parse (void)
{
+ link_info.relax_pass = 2;
if (limit_32bit && !link_info.shared && !link_info.relocatable)
lang_section_start (".interp",
exp_binop ('+',
diff --git a/binutils-2.25/ld/emultempl/armcoff.em b/binutils-2.25/ld/emultempl/armcoff.em
index 20bff145..de10a6c5 100644
--- a/binutils-2.25/ld/emultempl/armcoff.em
+++ b/binutils-2.25/ld/emultempl/armcoff.em
@@ -4,8 +4,7 @@ fragment <<EOF
/* This file is is generated by a shell script. DO NOT EDIT! */
/* emulate the original gld for the given ${EMULATION_NAME}
- Copyright 1991, 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain steve@cygnus.com
This file is part of the GNU Binutils.
@@ -205,7 +204,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
@@ -280,6 +279,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
gld${EMULATION_NAME}_list_options,
NULL, /* recognized file */
NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/armelf.em b/binutils-2.25/ld/emultempl/armelf.em
index eee6af12..1dde0197 100644
--- a/binutils-2.25/ld/emultempl/armelf.em
+++ b/binutils-2.25/ld/emultempl/armelf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 1991-2013 Free Software Foundation, Inc.
+# Copyright (C) 1991-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -28,10 +28,10 @@ fragment <<EOF
#include "ldctor.h"
#include "elf/arm.h"
-static char *thumb_entry_symbol = NULL;
+static char * thumb_entry_symbol = NULL;
static int byteswap_code = 0;
static int target1_is_rel = 0${TARGET1_IS_REL};
-static char *target2_type = "${TARGET2_TYPE}";
+static char * target2_type = "${TARGET2_TYPE}";
static int fix_v4bx = 0;
static int use_blx = 0;
static bfd_arm_vfp11_fix vfp11_denorm_fix = BFD_ARM_VFP11_FIX_DEFAULT;
@@ -189,7 +189,6 @@ elf32_arm_add_stub_section (const char * stub_sec_name,
asection *stub_sec;
flagword flags;
asection *output_section;
- const char *secname;
lang_output_section_statement_type *os;
struct hook_stub_info info;
@@ -203,8 +202,7 @@ elf32_arm_add_stub_section (const char * stub_sec_name,
bfd_set_section_alignment (stub_file->the_bfd, stub_sec, alignment_power);
output_section = input_section->output_section;
- secname = bfd_get_section_name (output_section->owner, output_section);
- os = lang_output_section_find (secname);
+ os = lang_output_section_get (output_section);
info.input_section = input_section;
lang_list_init (&info.add);
@@ -273,6 +271,8 @@ compare_output_sec_vma (const void *a, const void *b)
static void
gld${EMULATION_NAME}_after_allocation (void)
{
+ int ret;
+
if (!link_info.relocatable)
{
/* Build a sorted list of input text sections, then use that to process
@@ -327,15 +327,20 @@ gld${EMULATION_NAME}_after_allocation (void)
ie. doesn't affect any code, so we can delay resizing the
sections. It's likely we'll resize everything in the process of
adding stubs. */
- if (bfd_elf_discard_info (link_info.output_bfd, & link_info))
+ ret = bfd_elf_discard_info (link_info.output_bfd, & link_info);
+ if (ret < 0)
+ {
+ einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ return;
+ }
+ else if (ret > 0)
need_laying_out = 1;
/* If generating a relocatable output file, then we don't
have to examine the relocs. */
if (stub_file != NULL && !link_info.relocatable)
{
- int ret = elf32_arm_setup_section_lists (link_info.output_bfd, & link_info);
-
+ ret = elf32_arm_setup_section_lists (link_info.output_bfd, &link_info);
if (ret != 0)
{
if (ret < 0)
@@ -526,13 +531,14 @@ PARSE_AND_LIST_PROLOGUE='
#define OPTION_NO_ENUM_SIZE_WARNING 309
#define OPTION_PIC_VENEER 310
#define OPTION_FIX_V4BX_INTERWORKING 311
-#define OPTION_STUBGROUP_SIZE 312
+#define OPTION_STUBGROUP_SIZE 312
#define OPTION_NO_WCHAR_SIZE_WARNING 313
#define OPTION_FIX_CORTEX_A8 314
#define OPTION_NO_FIX_CORTEX_A8 315
-#define OPTION_NO_MERGE_EXIDX_ENTRIES 316
+#define OPTION_NO_MERGE_EXIDX_ENTRIES 316
#define OPTION_FIX_ARM1176 317
#define OPTION_NO_FIX_ARM1176 318
+#define OPTION_LONG_PLT 319
'
PARSE_AND_LIST_SHORTOPTS=p
@@ -557,6 +563,7 @@ PARSE_AND_LIST_LONGOPTS='
{ "no-merge-exidx-entries", no_argument, NULL, OPTION_NO_MERGE_EXIDX_ENTRIES },
{ "fix-arm1176", no_argument, NULL, OPTION_FIX_ARM1176 },
{ "no-fix-arm1176", no_argument, NULL, OPTION_NO_FIX_ARM1176 },
+ { "long-plt", no_argument, NULL, OPTION_LONG_PLT },
'
PARSE_AND_LIST_OPTIONS='
@@ -574,6 +581,8 @@ PARSE_AND_LIST_OPTIONS='
fprintf (file, _(" --no-wchar-size-warning Don'\''t warn about objects with incompatible\n"
" wchar_t sizes\n"));
fprintf (file, _(" --pic-veneer Always generate PIC interworking veneers\n"));
+ fprintf (file, _(" --long-plt Generate long .plt entries\n"
+ " to handle large .plt/.got displacements\n"));
fprintf (file, _("\
--stub-group-size=N Maximum size of a group of input sections that\n\
can be handled by one stub section. A negative\n\
@@ -677,6 +686,10 @@ PARSE_AND_LIST_ARGS_CASES='
case OPTION_NO_FIX_ARM1176:
fix_arm1176 = 0;
break;
+
+ case OPTION_LONG_PLT:
+ bfd_elf32_arm_use_long_plt ();
+ break;
'
# We have our own before_allocation etc. functions, but they call
diff --git a/binutils-2.25/ld/emultempl/avrelf.em b/binutils-2.25/ld/emultempl/avrelf.em
index 90894a14..170dc3e3 100644
--- a/binutils-2.25/ld/emultempl/avrelf.em
+++ b/binutils-2.25/ld/emultempl/avrelf.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/emultempl/beos.em b/binutils-2.25/ld/emultempl/beos.em
index f59e000d..732abfdc 100644
--- a/binutils-2.25/ld/emultempl/beos.em
+++ b/binutils-2.25/ld/emultempl/beos.em
@@ -7,8 +7,7 @@ else
fi
fragment <<EOF
/* This file is part of GLD, the Gnu Linker.
- Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1995-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -778,6 +777,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
NULL, /* list options */
NULL, /* recognized file */
NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/bfin.em b/binutils-2.25/ld/emultempl/bfin.em
index ca57ac13..1439da2b 100644
--- a/binutils-2.25/ld/emultempl/bfin.em
+++ b/binutils-2.25/ld/emultempl/bfin.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2010 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/emultempl/cr16elf.em b/binutils-2.25/ld/emultempl/cr16elf.em
index f76b95e2..02f5220c 100644
--- a/binutils-2.25/ld/emultempl/cr16elf.em
+++ b/binutils-2.25/ld/emultempl/cr16elf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2007, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
# Contributed by M R Swami Reddy <MR.Swami.Reddy@nsc.com>
#
# This file is part of the GNU Binutils.
@@ -47,7 +47,7 @@ cr16_elf_after_open (void)
input file with a nonzero .data section. The BFD backend will fill in
these sections with magic numbers which can be used to relocate the
data section at run time. */
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
+ for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
{
asection *datasec;
@@ -139,7 +139,7 @@ cr16elf_before_allocation (void)
/* If we are generating embedded relocs, call a special BFD backend
routine to do the work. */
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
+ for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
{
asection *datasec, *relsec;
char *errmsg;
diff --git a/binutils-2.25/ld/emultempl/crxelf.em b/binutils-2.25/ld/emultempl/crxelf.em
index c6d5a8dd..da594295 100644
--- a/binutils-2.25/ld/emultempl/crxelf.em
+++ b/binutils-2.25/ld/emultempl/crxelf.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2004, 2005, 2007, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/emultempl/elf-generic.em b/binutils-2.25/ld/emultempl/elf-generic.em
index 2c850f11..32c102dd 100644
--- a/binutils-2.25/ld/emultempl/elf-generic.em
+++ b/binutils-2.25/ld/emultempl/elf-generic.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/emultempl/elf32.em b/binutils-2.25/ld/emultempl/elf32.em
index 682f5e53..137446fe 100644
--- a/binutils-2.25/ld/emultempl/elf32.em
+++ b/binutils-2.25/ld/emultempl/elf32.em
@@ -12,9 +12,7 @@ fragment <<EOF
/* This file is is generated by a shell script. DO NOT EDIT! */
/* ${ELFSIZE} bit ELF emulation code for ${EMULATION_NAME}
- Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>
ELF support by Ian Lance Taylor <ian@cygnus.com>
@@ -40,11 +38,9 @@ fragment <<EOF
#include "sysdep.h"
#include "bfd.h"
#include "libiberty.h"
-#include "filenames.h"
#include "safe-ctype.h"
+#include "filenames.h"
#include "getopt.h"
-#include "md5.h"
-#include "sha1.h"
#include <fcntl.h>
#include "bfdlink.h"
@@ -56,6 +52,7 @@ fragment <<EOF
#include "ldlang.h"
#include "ldfile.h"
#include "ldemul.h"
+#include "ldbuildid.h"
#include <ldgram.h>
#include "elf/common.h"
#include "elf-bfd.h"
@@ -897,53 +894,20 @@ id_note_section_size (bfd *abfd ATTRIBUTE_UNUSED)
{
const char *style = emit_note_gnu_build_id;
bfd_size_type size;
+ bfd_size_type build_id_size;
size = offsetof (Elf_External_Note, name[sizeof "GNU"]);
size = (size + 3) & -(bfd_size_type) 4;
- if (!strcmp (style, "md5") || !strcmp (style, "uuid"))
- size += 128 / 8;
- else if (!strcmp (style, "sha1"))
- size += 160 / 8;
- else if (!strncmp (style, "0x", 2))
- {
- /* ID is in string form (hex). Convert to bits. */
- const char *id = style + 2;
- do
- {
- if (ISXDIGIT (id[0]) && ISXDIGIT (id[1]))
- {
- ++size;
- id += 2;
- }
- else if (*id == '-' || *id == ':')
- ++id;
- else
- {
- size = 0;
- break;
- }
- } while (*id != '\0');
- }
+ build_id_size = compute_build_id_size (style);
+ if (build_id_size)
+ size += build_id_size;
else
size = 0;
return size;
}
-static unsigned char
-read_hex (const char xdigit)
-{
- if (ISDIGIT (xdigit))
- return xdigit - '0';
- if (ISUPPER (xdigit))
- return xdigit - 'A' + 0xa;
- if (ISLOWER (xdigit))
- return xdigit - 'a' + 0xa;
- abort ();
- return 0;
-}
-
static bfd_boolean
write_build_id (bfd *abfd)
{
@@ -956,7 +920,6 @@ write_build_id (bfd *abfd)
bfd_size_type size;
file_ptr position;
Elf_External_Note *e_note;
- typedef void (*sum_fn) (const void *, size_t, void *);
style = t->o->build_id.style;
asec = t->o->build_id.sec;
@@ -988,55 +951,7 @@ write_build_id (bfd *abfd)
bfd_h_put_32 (abfd, NT_GNU_BUILD_ID, &e_note->type);
memcpy (e_note->name, "GNU", sizeof "GNU");
- if (strcmp (style, "md5") == 0)
- {
- struct md5_ctx ctx;
-
- md5_init_ctx (&ctx);
- if (!bed->s->checksum_contents (abfd, (sum_fn) &md5_process_bytes, &ctx))
- return FALSE;
- md5_finish_ctx (&ctx, id_bits);
- }
- else if (strcmp (style, "sha1") == 0)
- {
- struct sha1_ctx ctx;
-
- sha1_init_ctx (&ctx);
- if (!bed->s->checksum_contents (abfd, (sum_fn) &sha1_process_bytes, &ctx))
- return FALSE;
- sha1_finish_ctx (&ctx, id_bits);
- }
- else if (strcmp (style, "uuid") == 0)
- {
- int n;
- int fd = open ("/dev/urandom", O_RDONLY);
- if (fd < 0)
- return FALSE;
- n = read (fd, id_bits, size);
- close (fd);
- if (n < (int) size)
- return FALSE;
- }
- else if (strncmp (style, "0x", 2) == 0)
- {
- /* ID is in string form (hex). Convert to bits. */
- const char *id = style + 2;
- size_t n = 0;
- do
- {
- if (ISXDIGIT (id[0]) && ISXDIGIT (id[1]))
- {
- id_bits[n] = read_hex (*id++) << 4;
- id_bits[n++] |= read_hex (*id++);
- }
- else if (*id == '-' || *id == ':')
- ++id;
- else
- abort (); /* Should have been validated earlier. */
- } while (*id != '\0');
- }
- else
- abort (); /* Should have been validated earlier. */
+ generate_build_id (abfd, style, bed->s->checksum_contents, id_bits, size);
position = i_shdr->sh_offset + asec->output_offset;
size = asec->size;
@@ -1099,7 +1014,7 @@ gld${EMULATION_NAME}_after_open (void)
/* Find an ELF input. */
for (abfd = link_info.input_bfds;
- abfd != (bfd *) NULL; abfd = abfd->link_next)
+ abfd != (bfd *) NULL; abfd = abfd->link.next)
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
break;
@@ -1114,7 +1029,20 @@ gld${EMULATION_NAME}_after_open (void)
}
if (link_info.relocatable)
- return;
+ {
+ if (link_info.execstack == ! link_info.noexecstack)
+ /* PR ld/16744: If "-z [no]execstack" has been specified on the
+ command line and we are perfoming a relocatable link then no
+ PT_GNU_STACK segment will be created and so the
+ linkinfo.[no]execstack values set in _handle_option() will have no
+ effect. Instead we create a .note.GNU-stack section in much the
+ same way as the assembler does with its --[no]execstack option. */
+ (void) bfd_make_section_with_flags (link_info.input_bfds,
+ ".note.GNU-stack",
+ SEC_READONLY | (link_info.execstack ? SEC_CODE : 0));
+
+ return;
+ }
if (link_info.eh_frame_hdr
&& !link_info.traditional_format)
@@ -1123,7 +1051,7 @@ gld${EMULATION_NAME}_after_open (void)
bfd_boolean warn_eh_frame = FALSE;
asection *s;
- for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next)
+ for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
{
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
elfbfd = abfd;
@@ -1480,6 +1408,8 @@ gld${EMULATION_NAME}_before_allocation (void)
const char *rpath;
asection *sinterp;
bfd *abfd;
+ struct elf_link_hash_entry *ehdr_start = NULL;
+ struct bfd_link_hash_entry ehdr_start_save = ehdr_start_save;
if (is_elf_hash_table (link_info.hash))
{
@@ -1487,10 +1417,35 @@ gld${EMULATION_NAME}_before_allocation (void)
/* Make __ehdr_start hidden if it has been referenced, to
prevent the symbol from being dynamic. */
- if (!bfd_elf_record_link_assignment (link_info.output_bfd, &link_info,
- "__ehdr_start", TRUE, TRUE))
- einfo ("%P%F: failed to record assignment to %s: %E\n",
- "__ehdr_start");
+ if (!link_info.relocatable)
+ {
+ struct elf_link_hash_entry *h
+ = elf_link_hash_lookup (elf_hash_table (&link_info), "__ehdr_start",
+ FALSE, FALSE, TRUE);
+
+ /* Only adjust the export class if the symbol was referenced
+ and not defined, otherwise leave it alone. */
+ if (h != NULL
+ && (h->root.type == bfd_link_hash_new
+ || h->root.type == bfd_link_hash_undefined
+ || h->root.type == bfd_link_hash_undefweak
+ || h->root.type == bfd_link_hash_common))
+ {
+ _bfd_elf_link_hash_hide_symbol (&link_info, h, TRUE);
+ if (ELF_ST_VISIBILITY (h->other) != STV_INTERNAL)
+ h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_HIDDEN;
+ /* Don't leave the symbol undefined. Undefined hidden
+ symbols typically won't have dynamic relocations, but
+ we most likely will need dynamic relocations for
+ __ehdr_start if we are building a PIE or shared
+ library. */
+ ehdr_start = h;
+ ehdr_start_save = h->root;
+ h->root.type = bfd_link_hash_defined;
+ h->root.u.def.section = bfd_abs_section_ptr;
+ h->root.u.def.value = 0;
+ }
+ }
/* If we are going to make any variable assignments, we need to
let the ELF backend know about them in case the variables are
@@ -1504,7 +1459,7 @@ gld${EMULATION_NAME}_before_allocation (void)
if (rpath == NULL)
rpath = (const char *) getenv ("LD_RUN_PATH");
- for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next)
+ for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
{
const char *audit_libs = elf_dt_audit (abfd);
@@ -1605,6 +1560,14 @@ ${ELF_INTERPRETER_SET_DEFAULT}
if (!bfd_elf_size_dynsym_hash_dynstr (link_info.output_bfd, &link_info))
einfo ("%P%F: failed to set dynamic section sizes: %E\n");
+
+ if (ehdr_start != NULL)
+ {
+ /* If we twiddled __ehdr_start to defined earlier, put it back
+ as it was. */
+ ehdr_start->root.type = ehdr_start_save.type;
+ ehdr_start->root.u = ehdr_start_save.u;
+ }
}
EOF
@@ -1623,42 +1586,46 @@ gld${EMULATION_NAME}_open_dynamic_archive
{
const char *filename;
char *string;
+ size_t len;
+ bfd_boolean opened = FALSE;
if (! entry->flags.maybe_archive)
return FALSE;
filename = entry->filename;
+ len = strlen (search->name) + strlen (filename);
+ if (entry->flags.full_name_provided)
+ {
+ len += sizeof "/";
+ string = (char *) xmalloc (len);
+ sprintf (string, "%s/%s", search->name, filename);
+ }
+ else
+ {
+ size_t xlen = 0;
- /* This allocates a few bytes too many when EXTRA_SHLIB_EXTENSION
- is defined, but it does not seem worth the headache to optimize
- away those two bytes of space. */
- string = (char *) xmalloc (strlen (search->name)
- + strlen (filename)
- + strlen (arch)
+ len += strlen (arch) + sizeof "/lib.so";
#ifdef EXTRA_SHLIB_EXTENSION
- + strlen (EXTRA_SHLIB_EXTENSION)
+ xlen = (strlen (EXTRA_SHLIB_EXTENSION) > 3
+ ? strlen (EXTRA_SHLIB_EXTENSION) - 3
+ : 0);
#endif
- + sizeof "/lib.so");
-
- sprintf (string, "%s/lib%s%s.so", search->name, filename, arch);
-
+ string = (char *) xmalloc (len + xlen);
+ sprintf (string, "%s/lib%s%s.so", search->name, filename, arch);
#ifdef EXTRA_SHLIB_EXTENSION
- /* Try the .so extension first. If that fails build a new filename
- using EXTRA_SHLIB_EXTENSION. */
- if (! ldfile_try_open_bfd (string, entry))
- {
- sprintf (string, "%s/lib%s%s%s", search->name,
- filename, arch, EXTRA_SHLIB_EXTENSION);
+ /* Try the .so extension first. If that fails build a new filename
+ using EXTRA_SHLIB_EXTENSION. */
+ opened = ldfile_try_open_bfd (string, entry);
+ if (!opened)
+ strcpy (string + len - 4, EXTRA_SHLIB_EXTENSION);
#endif
+ }
- if (! ldfile_try_open_bfd (string, entry))
+ if (!opened && !ldfile_try_open_bfd (string, entry))
{
free (string);
return FALSE;
}
-#ifdef EXTRA_SHLIB_EXTENSION
- }
-#endif
entry->filename = string;
@@ -1683,7 +1650,8 @@ gld${EMULATION_NAME}_open_dynamic_archive
/* Rather than duplicating the logic above. Just use the
filename we recorded earlier. */
- filename = lbasename (entry->filename);
+ if (!entry->flags.full_name_provided)
+ filename = lbasename (entry->filename);
bfd_elf_set_dt_needed_name (entry->the_bfd, filename);
}
@@ -1777,6 +1745,9 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
{ ".rodata",
SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_DATA,
0, 0, 0, 0 },
+ { ".tdata",
+ SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_DATA | SEC_THREAD_LOCAL,
+ 0, 0, 0, 0 },
{ ".data",
SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_DATA,
0, 0, 0, 0 },
@@ -1800,6 +1771,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
{
orphan_text = 0,
orphan_rodata,
+ orphan_tdata,
orphan_data,
orphan_bss,
orphan_rel,
@@ -1927,6 +1899,8 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
place = &hold[orphan_bss];
else if ((s->flags & SEC_SMALL_DATA) != 0)
place = &hold[orphan_sdata];
+ else if ((s->flags & SEC_THREAD_LOCAL) != 0)
+ place = &hold[orphan_tdata];
else if ((s->flags & SEC_READONLY) == 0)
place = &hold[orphan_data];
else if (((iself && (sh_type == SHT_RELA || sh_type == SHT_REL))
@@ -1968,9 +1942,12 @@ fragment <<EOF
static void
gld${EMULATION_NAME}_after_allocation (void)
{
- bfd_boolean need_layout = bfd_elf_discard_info (link_info.output_bfd,
- &link_info);
- gld${EMULATION_NAME}_map_segments (need_layout);
+ int need_layout = bfd_elf_discard_info (link_info.output_bfd, &link_info);
+
+ if (need_layout < 0)
+ einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ else
+ gld${EMULATION_NAME}_map_segments (need_layout);
}
EOF
fi
@@ -1982,7 +1959,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
@@ -2300,6 +2277,14 @@ fragment <<EOF
link_info.execstack = FALSE;
}
EOF
+
+if test x"$BNDPLT" = xyes; then
+fragment <<EOF
+ else if (strcmp (optarg, "bndplt") == 0)
+ link_info.bndplt = TRUE;
+EOF
+fi
+
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
fragment <<EOF
else if (strcmp (optarg, "global") == 0)
@@ -2479,6 +2464,13 @@ fragment <<EOF
EOF
fi
+if test x"$BNDPLT" = xyes; then
+fragment <<EOF
+ fprintf (file, _("\
+ -z bndplt Always generate BND prefix in PLT entries\n"));
+EOF
+fi
+
if test -n "$PARSE_AND_LIST_OPTIONS" ; then
fragment <<EOF
$PARSE_AND_LIST_OPTIONS
@@ -2524,6 +2516,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
${LDEMUL_LIST_OPTIONS-gld${EMULATION_NAME}_list_options},
${LDEMUL_RECOGNIZED_FILE-gld${EMULATION_NAME}_load_symbols},
${LDEMUL_FIND_POTENTIAL_LIBRARIES-NULL},
- ${LDEMUL_NEW_VERS_PATTERN-NULL}
+ ${LDEMUL_NEW_VERS_PATTERN-NULL},
+ ${LDEMUL_EXTRA_MAP_FILE_TEXT-NULL}
};
EOF
diff --git a/binutils-2.25/ld/emultempl/epiphanyelf_4x4.em b/binutils-2.25/ld/emultempl/epiphanyelf_4x4.em
index 9f913ea7..650604a2 100644
--- a/binutils-2.25/ld/emultempl/epiphanyelf_4x4.em
+++ b/binutils-2.25/ld/emultempl/epiphanyelf_4x4.em
@@ -1,7 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 1991, 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-# 2004, 2005, 2007, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1991-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/emultempl/genelf.em b/binutils-2.25/ld/emultempl/genelf.em
index ce416eb6..5c5e1cbf 100644
--- a/binutils-2.25/ld/emultempl/genelf.em
+++ b/binutils-2.25/ld/emultempl/genelf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -38,7 +38,7 @@ gld${EMULATION_NAME}_after_open (void)
after_open_default ();
if (link_info.relocatable)
- for (ibfd = link_info.input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+ for (ibfd = link_info.input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
if ((syms = bfd_get_outsymbols (ibfd)) != NULL
&& bfd_get_flavour (ibfd) == bfd_target_elf_flavour)
for (sec = ibfd->sections; sec != NULL; sec = sec->next)
diff --git a/binutils-2.25/ld/emultempl/generic.em b/binutils-2.25/ld/emultempl/generic.em
index dce2bffd..111b1c1d 100644
--- a/binutils-2.25/ld/emultempl/generic.em
+++ b/binutils-2.25/ld/emultempl/generic.em
@@ -4,8 +4,7 @@ fragment <<EOF
/* This file is is generated by a shell script. DO NOT EDIT! */
/* emulate the original gld for the given ${EMULATION_NAME}
- Copyright 1991, 1992, 1994, 1996, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2007 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain steve@cygnus.com
This file is part of the GNU Binutils.
@@ -81,7 +80,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
@@ -156,6 +155,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
${LDEMUL_LIST_OPTIONS-NULL},
${LDEMUL_RECOGNIZED_FILE-NULL},
${LDEMUL_FIND_POTENTIAL_LIBRARIES-NULL},
- ${LDEMUL_NEW_VERS_PATTERN-NULL}
+ ${LDEMUL_NEW_VERS_PATTERN-NULL},
+ ${LDEMUL_EXTRA_MAP_FILE_TEXT-NULL}
};
EOF
diff --git a/binutils-2.25/ld/emultempl/gld960.em b/binutils-2.25/ld/emultempl/gld960.em
index 4ba3eeca..5632f31a 100644
--- a/binutils-2.25/ld/emultempl/gld960.em
+++ b/binutils-2.25/ld/emultempl/gld960.em
@@ -1,8 +1,7 @@
# This shell script emits a C file. -*- C -*-
# It does some substitutions.
fragment <<EOF
-/* Copyright 1991, 1992, 1994, 1999, 2000, 2001, 2002, 2003, 2005, 2007, 2008
- Free Software Foundation, Inc.
+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -74,7 +73,7 @@ static char *
gld960_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
@@ -149,6 +148,7 @@ struct ld_emulation_xfer_struct ld_gld960_emulation =
NULL, /* list options */
NULL, /* recognized file */
NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/gld960c.em b/binutils-2.25/ld/emultempl/gld960c.em
index 1999ea89..dd69c798 100644
--- a/binutils-2.25/ld/emultempl/gld960c.em
+++ b/binutils-2.25/ld/emultempl/gld960c.em
@@ -1,8 +1,7 @@
# This shell script emits a C file. -*- C -*-
# It does some substitutions.
fragment <<EOF
-/* Copyright 1991, 1993, 1994, 1996, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -87,7 +86,7 @@ static char *
gld960_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
@@ -162,6 +161,7 @@ struct ld_emulation_xfer_struct ld_gld960coff_emulation =
NULL, /* list options */
NULL, /* recognized file */
NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/hppaelf.em b/binutils-2.25/ld/emultempl/hppaelf.em
index 65c1ea5e..69557965 100644
--- a/binutils-2.25/ld/emultempl/hppaelf.em
+++ b/binutils-2.25/ld/emultempl/hppaelf.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 1991, 1993, 1994, 1997, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
+# Copyright (C) 1991-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -178,7 +177,6 @@ hppaelf_add_stub_section (const char *stub_sec_name, asection *input_section)
asection *stub_sec;
flagword flags;
asection *output_section;
- const char *secname;
lang_output_section_statement_type *os;
struct hook_stub_info info;
@@ -190,8 +188,7 @@ hppaelf_add_stub_section (const char *stub_sec_name, asection *input_section)
goto err_ret;
output_section = input_section->output_section;
- secname = bfd_get_section_name (output_section->owner, output_section);
- os = lang_output_section_find (secname);
+ os = lang_output_section_get (output_section);
info.input_section = input_section;
lang_list_init (&info.add);
@@ -245,20 +242,26 @@ build_section_lists (lang_statement_union_type *statement)
static void
gld${EMULATION_NAME}_after_allocation (void)
{
+ int ret;
+
/* bfd_elf_discard_info just plays with data and debugging sections,
ie. doesn't affect code size, so we can delay resizing the
sections. It's likely we'll resize everything in the process of
adding stubs. */
- if (bfd_elf_discard_info (link_info.output_bfd, &link_info))
+ ret = bfd_elf_discard_info (link_info.output_bfd, &link_info);
+ if (ret < 0)
+ {
+ einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ return;
+ }
+ else if (ret > 0)
need_laying_out = 1;
/* If generating a relocatable output file, then we don't
have to examine the relocs. */
if (stub_file != NULL && !link_info.relocatable)
{
- int ret = elf32_hppa_setup_section_lists (link_info.output_bfd,
- &link_info);
-
+ ret = elf32_hppa_setup_section_lists (link_info.output_bfd, &link_info);
if (ret != 0)
{
if (ret < 0)
diff --git a/binutils-2.25/ld/emultempl/ia64elf.em b/binutils-2.25/ld/emultempl/ia64elf.em
index 88d57480..b14cb3d1 100644
--- a/binutils-2.25/ld/emultempl/ia64elf.em
+++ b/binutils-2.25/ld/emultempl/ia64elf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2003, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/emultempl/irix.em b/binutils-2.25/ld/emultempl/irix.em
index 41b8ce42..502d4a5f 100644
--- a/binutils-2.25/ld/emultempl/irix.em
+++ b/binutils-2.25/ld/emultempl/irix.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/emultempl/linux.em b/binutils-2.25/ld/emultempl/linux.em
index 61c7df4e..bbc5946d 100644
--- a/binutils-2.25/ld/emultempl/linux.em
+++ b/binutils-2.25/ld/emultempl/linux.em
@@ -9,8 +9,7 @@ fragment <<EOF
/* This file is is generated by a shell script. DO NOT EDIT! */
/* Linux a.out emulation code for ${EMULATION_NAME}
- Copyright 1991, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2007, 2008, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>
Linux support by Eric Youngdale <ericy@cais.cais.com>
@@ -62,7 +61,7 @@ gld${EMULATION_NAME}_open_dynamic_archive
{
char *string;
- if (! entry->flags.maybe_archive)
+ if (! entry->flags.maybe_archive || entry->flags.full_name_provided)
return FALSE;
string = (char *) xmalloc (strlen (search->name)
@@ -131,7 +130,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
@@ -206,6 +205,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
NULL, /* list options */
NULL, /* recognized file */
NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/lnk960.em b/binutils-2.25/ld/emultempl/lnk960.em
index e556d432..6364f6df 100644
--- a/binutils-2.25/ld/emultempl/lnk960.em
+++ b/binutils-2.25/ld/emultempl/lnk960.em
@@ -2,8 +2,7 @@
# It does some substitutions.
fragment <<EOF
/* intel coff loader emulation specific stuff
- Copyright 1991, 1992, 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003,
- 2005, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain steve@cygnus.com
This file is part of the GNU Binutils.
@@ -268,7 +267,7 @@ static char *
lnk960_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
@@ -343,6 +342,7 @@ struct ld_emulation_xfer_struct ld_lnk960_emulation =
NULL, /* list options */
NULL, /* recognized file */
NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/m68hc1xelf.em b/binutils-2.25/ld/emultempl/m68hc1xelf.em
index 594b193c..b3578973 100644
--- a/binutils-2.25/ld/emultempl/m68hc1xelf.em
+++ b/binutils-2.25/ld/emultempl/m68hc1xelf.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 1991, 1993, 1994, 1997, 1999, 2000, 2001, 2002, 2003, 2005, 2007,
-# 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1991-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -250,7 +249,6 @@ m68hc11elf_add_stub_section (const char *stub_sec_name,
asection *stub_sec;
flagword flags;
asection *output_section;
- const char *secname;
lang_output_section_statement_type *os;
struct hook_stub_info info;
@@ -262,8 +260,7 @@ m68hc11elf_add_stub_section (const char *stub_sec_name,
goto err_ret;
output_section = tramp_section->output_section;
- secname = bfd_get_section_name (output_section->owner, output_section);
- os = lang_output_section_find (secname);
+ os = lang_output_section_get (output_section);
/* Try to put the new section at the same place as an existing
.tramp section. Such .tramp section exists in most cases and
diff --git a/binutils-2.25/ld/emultempl/m68kcoff.em b/binutils-2.25/ld/emultempl/m68kcoff.em
index f68866cf..1a95d7ca 100644
--- a/binutils-2.25/ld/emultempl/m68kcoff.em
+++ b/binutils-2.25/ld/emultempl/m68kcoff.em
@@ -4,8 +4,7 @@ fragment <<EOF
/* This file is is generated by a shell script. DO NOT EDIT! */
/* Handle embedded relocs for m68k.
- Copyright 2000, 2002, 2003, 2004, 2005, 2007, 2008
- Free Software Foundation, Inc.
+ Copyright (C) 2000-2014 Free Software Foundation, Inc.
Written by Michael Sokolov <msokolov@ivan.Harhan.ORG>, based on generic.em
by Steve Chamberlain <steve@cygnus.com>, embedded relocs code based on
mipsecoff.em by Ian Lance Taylor <ian@cygnus.com> (now removed).
@@ -68,7 +67,7 @@ gld${EMULATION_NAME}_after_open (void)
|| link_info.relocatable)
return;
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
+ for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
{
asection *datasec;
@@ -134,7 +133,7 @@ gld${EMULATION_NAME}_after_allocation (void)
|| link_info.relocatable)
return;
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
+ for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
{
asection *datasec, *relsec;
char *errmsg;
@@ -165,7 +164,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
@@ -240,6 +239,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
NULL, /* list options */
NULL, /* recognized file */
NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/m68kelf.em b/binutils-2.25/ld/emultempl/m68kelf.em
index 48a50bcf..c5cfe77b 100644
--- a/binutils-2.25/ld/emultempl/m68kelf.em
+++ b/binutils-2.25/ld/emultempl/m68kelf.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2000, 2001, 2003, 2005, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2000-2014 Free Software Foundation, Inc.
# Written by Michael Sokolov <msokolov@ivan.Harhan.ORG>, based on armelf.em
#
# This file is part of the GNU Binutils.
@@ -76,7 +75,7 @@ m68k_elf_after_open (void)
input file with a nonzero .data section. The BFD backend will fill in
these sections with magic numbers which can be used to relocate the
data section at run time. */
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
+ for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
{
asection *datasec;
@@ -154,7 +153,7 @@ m68k_elf_after_allocation (void)
/* If we are generating embedded relocs, call a special BFD backend
routine to do the work. */
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
+ for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
{
asection *datasec, *relsec;
char *errmsg;
diff --git a/binutils-2.25/ld/emultempl/metagelf.em b/binutils-2.25/ld/emultempl/metagelf.em
index 21e3e942..97739dc7 100644
--- a/binutils-2.25/ld/emultempl/metagelf.em
+++ b/binutils-2.25/ld/emultempl/metagelf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright (C) 2013-2014 Free Software Foundation, Inc.
#
# This file is part of GNU Binutils.
#
@@ -45,9 +45,9 @@ static bfd_signed_vma group_size = 1;
static void
metagelf_create_output_section_statements (void)
{
- extern const bfd_target bfd_elf32_metag_vec;
+ extern const bfd_target metag_elf32_vec;
- if (link_info.output_bfd->xvec != &bfd_elf32_metag_vec)
+ if (link_info.output_bfd->xvec != &metag_elf32_vec)
return;
stub_file = lang_add_input_file ("linker stubs",
@@ -154,7 +154,6 @@ metagelf_add_stub_section (const char *stub_sec_name, asection *input_section)
asection *stub_sec;
flagword flags;
asection *output_section;
- const char *secname;
lang_output_section_statement_type *os;
struct hook_stub_info info;
@@ -166,8 +165,7 @@ metagelf_add_stub_section (const char *stub_sec_name, asection *input_section)
goto err_ret;
output_section = input_section->output_section;
- secname = bfd_get_section_name (output_section->owner, output_section);
- os = lang_output_section_find (secname);
+ os = lang_output_section_get (output_section);
info.input_section = input_section;
lang_list_init (&info.add);
@@ -221,20 +219,26 @@ build_section_lists (lang_statement_union_type *statement)
static void
gld${EMULATION_NAME}_after_allocation (void)
{
+ int ret;
+
/* bfd_elf_discard_info just plays with data and debugging sections,
ie. doesn't affect code size, so we can delay resizing the
sections. It's likely we'll resize everything in the process of
adding stubs. */
- if (bfd_elf_discard_info (link_info.output_bfd, &link_info))
+ ret = bfd_elf_discard_info (link_info.output_bfd, &link_info);
+ if (ret < 0)
+ {
+ einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ return;
+ }
+ else if (ret > 0)
need_laying_out = 1;
/* If generating a relocatable output file, then we don't
have to examine the relocs. */
if (stub_file != NULL && !link_info.relocatable)
{
- int ret = elf_metag_setup_section_lists (link_info.output_bfd,
- &link_info);
-
+ ret = elf_metag_setup_section_lists (link_info.output_bfd, &link_info);
if (ret != 0)
{
if (ret < 0)
diff --git a/binutils-2.25/ld/emultempl/mipself.em b/binutils-2.25/ld/emultempl/mipself.em
index 3c6ec9fd..b6e17ceb 100644
--- a/binutils-2.25/ld/emultempl/mipself.em
+++ b/binutils-2.25/ld/emultempl/mipself.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -136,7 +136,6 @@ mips_add_stub_section (const char *stub_sec_name, asection *input_section,
{
asection *stub_sec;
flagword flags;
- const char *secname;
lang_output_section_statement_type *os;
struct hook_stub_info info;
@@ -176,9 +175,7 @@ mips_add_stub_section (const char *stub_sec_name, asection *input_section,
if (!bfd_set_section_flags (stub_bfd, stub_sec, flags))
goto err_ret;
- /* Create an output section statement. */
- secname = bfd_get_section_name (output_section->owner, output_section);
- os = lang_output_section_find (secname);
+ os = lang_output_section_get (output_section);
/* Initialize a statement list that contains only the new statement. */
lang_list_init (&info.add);
diff --git a/binutils-2.25/ld/emultempl/mmix-elfnmmo.em b/binutils-2.25/ld/emultempl/mmix-elfnmmo.em
index 00597920..5ef5e5eb 100644
--- a/binutils-2.25/ld/emultempl/mmix-elfnmmo.em
+++ b/binutils-2.25/ld/emultempl/mmix-elfnmmo.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -102,7 +101,7 @@ mmix_after_allocation (void)
This section is only present when there are register symbols. */
sec = bfd_get_section_by_name (link_info.output_bfd, MMIX_REG_SECTION_NAME);
if (sec != NULL)
- bfd_set_section_vma (abfd, sec, 0);
+ bfd_set_section_vma (sec->owner, sec, 0);
if (!_bfd_mmix_after_linker_allocation (link_info.output_bfd, &link_info))
{
diff --git a/binutils-2.25/ld/emultempl/mmixelf.em b/binutils-2.25/ld/emultempl/mmixelf.em
index 89c60c98..566eeb01 100644
--- a/binutils-2.25/ld/emultempl/mmixelf.em
+++ b/binutils-2.25/ld/emultempl/mmixelf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2001, 2002, 2003, 2005, 2007, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/emultempl/mmo.em b/binutils-2.25/ld/emultempl/mmo.em
index b895a9aa..f7deaaac 100644
--- a/binutils-2.25/ld/emultempl/mmo.em
+++ b/binutils-2.25/ld/emultempl/mmo.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/emultempl/nds32elf.em b/binutils-2.25/ld/emultempl/nds32elf.em
new file mode 100644
index 00000000..592471e7
--- /dev/null
+++ b/binutils-2.25/ld/emultempl/nds32elf.em
@@ -0,0 +1,386 @@
+# This shell script emits a C file. -*- C -*-
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Contributed by Andes Technology Corporation.
+#
+# This file is part of the GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+#
+
+fragment <<EOF
+
+#include "libbfd.h"
+#include "elf-bfd.h"
+#include "elf/nds32.h"
+#include "bfd_stdint.h"
+#include "elf32-nds32.h"
+
+static int relax_fp_as_gp = 1; /* --mrelax-omit-fp */
+static int eliminate_gc_relocs = 0; /* --meliminate-gc-relocs */
+static FILE *sym_ld_script = NULL; /* --mgen-symbol-ld-script=<file> */
+/* Disable if linking a dynamically linked executable. */
+static int load_store_relax = 1;
+static int target_optimize = 0; /* Switch optimization. */
+static int relax_status = 0; /* Finished optimization. */
+static int relax_round = 0; /* Going optimization. */
+static FILE *ex9_export_file = NULL; /* --mexport-ex9=<file> */
+static FILE *ex9_import_file = NULL; /* --mimport-ex9=<file> */
+static int update_ex9_table = 0; /* --mupdate-ex9. */
+static int ex9_limit = 511;
+static bfd_boolean ex9_loop_aware = FALSE; /* Ignore ex9 if inside a loop. */
+static bfd_boolean ifc_loop_aware = FALSE; /* Ignore ifc if inside a loop. */
+
+/* Save the target options into output bfd to avoid using to many global
+ variables. Do this after the output has been created, but before
+ inputs are read. */
+static void
+nds32_elf_create_output_section_statements (void)
+{
+ if (strstr (bfd_get_target (link_info.output_bfd), "nds32") == NULL)
+ {
+ /* Check the output target is nds32. */
+ einfo ("%F%X%P: error: Cannot change output format whilst "
+ "linking NDS32 binaries.\n");
+ return;
+ }
+
+ bfd_elf32_nds32_set_target_option (&link_info, relax_fp_as_gp,
+ eliminate_gc_relocs,
+ sym_ld_script,
+ load_store_relax,
+ target_optimize, relax_status, relax_round,
+ ex9_export_file, ex9_import_file,
+ update_ex9_table, ex9_limit,
+ ex9_loop_aware, ifc_loop_aware);
+}
+
+static void
+nds32_elf_after_parse (void)
+{
+ if (link_info.relocatable)
+ DISABLE_RELAXATION;
+
+ if (!RELAXATION_ENABLED)
+ {
+ target_optimize = target_optimize & (!NDS32_RELAX_JUMP_IFC_ON);
+ target_optimize = target_optimize & (!NDS32_RELAX_EX9_ON);
+ relax_fp_as_gp = 0;
+ }
+
+ if (ex9_import_file != NULL)
+ {
+ ex9_export_file = NULL;
+ target_optimize = target_optimize & (!NDS32_RELAX_EX9_ON);
+ }
+ else
+ update_ex9_table = 0;
+
+ if (link_info.shared)
+ {
+ target_optimize = target_optimize & (!NDS32_RELAX_JUMP_IFC_ON);
+ target_optimize = target_optimize & (!NDS32_RELAX_EX9_ON);
+ }
+
+ after_parse_default ();
+}
+
+static void
+nds32_elf_after_open (void)
+{
+ unsigned int arch_ver = (unsigned int)-1;
+ unsigned int abi_ver = (unsigned int)-1;
+ bfd *abfd;
+
+ /* For now, make sure all object files are of the same architecture.
+ We may try to merge object files with different architecture together. */
+ for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
+ {
+ if (arch_ver == (unsigned int)-1 && E_N1_ARCH != (elf_elfheader (abfd)->e_flags & EF_NDS_ARCH))
+ arch_ver = elf_elfheader (abfd)->e_flags & EF_NDS_ARCH ;
+
+ if (abi_ver == (unsigned int)-1)
+ {
+ /* Initialize ABI version, if not ABI0.
+ (OS uses empty file to create empty ELF with ABI0). */
+ if ((elf_elfheader (abfd)->e_flags & EF_NDS_ABI) != 0)
+ abi_ver = elf_elfheader (abfd)->e_flags & EF_NDS_ABI ;
+ }
+ else if ((elf_elfheader (abfd)->e_flags & EF_NDS_ABI) != 0
+ && abi_ver != (elf_elfheader (abfd)->e_flags & EF_NDS_ABI))
+ {
+ /* Incompatible objects. */
+ einfo (_("%F%B: ABI version of object files mismatched\n"), abfd);
+ }
+
+#if defined NDS32_EX9_EXT
+ /* Append .ex9.itable section in the last input object file. */
+ if (abfd->link_next == NULL && (target_optimize & NDS32_RELAX_EX9_ON))
+ {
+ asection *itable;
+ struct bfd_link_hash_entry *h;
+ itable = bfd_make_section_with_flags (abfd, ".ex9.itable",
+ SEC_CODE | SEC_ALLOC | SEC_LOAD
+ | SEC_HAS_CONTENTS | SEC_READONLY
+ | SEC_IN_MEMORY | SEC_KEEP);
+ if (itable)
+ {
+ itable->gc_mark = 1;
+ itable->alignment_power = 2;
+ itable->size = 0x1000;
+ itable->contents = bfd_zalloc (abfd, itable->size);
+
+ /* Add a symbol in the head of ex9.itable to objdump clearly. */
+ h = bfd_link_hash_lookup (link_info.hash, "_EX9_BASE_",
+ FALSE, FALSE, FALSE);
+ _bfd_generic_link_add_one_symbol
+ (&link_info, link_info.output_bfd, "_EX9_BASE_",
+ BSF_GLOBAL | BSF_WEAK, itable, 0, (const char *) NULL, FALSE,
+ get_elf_backend_data (link_info.output_bfd)->collect, &h);
+ }
+ }
+#endif
+ }
+
+ /* Check object files if the target is dynamic linked executable
+ or shared object. */
+ if (elf_hash_table (&link_info)->dynamic_sections_created
+ || link_info.shared || link_info.pie)
+ {
+ for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
+ {
+ if (!(elf_elfheader (abfd)->e_flags & E_NDS32_HAS_PIC))
+ {
+ /* Non-PIC object file is used. */
+ if (link_info.shared || link_info.pie)
+ {
+ /* For PIE or shared object, all input must be PIC. */
+ einfo (_("%B: must use -fpic to compile this file "
+ "for shared object or PIE\n"), abfd);
+ }
+ else
+ {
+ /* Dynamic linked executable with SDA and non-PIC.
+ Turn off load/store relaxtion. */
+ /* TODO: This may support in the future. */
+ load_store_relax = 0 ;
+ relax_fp_as_gp = 0;
+ }
+ }
+ }
+ /* Turn off relax when building shared object or PIE
+ until we can support their relaxation. */
+ }
+
+ /* Call the standard elf routine. */
+ gld${EMULATION_NAME}_after_open ();
+}
+
+static void
+nds32_elf_after_allocation (void)
+{
+ if (target_optimize & NDS32_RELAX_EX9_ON
+ || (ex9_import_file != NULL && update_ex9_table == 1))
+ {
+ /* Initialize ex9 hash table. */
+ if (!nds32_elf_ex9_init ())
+ return;
+ }
+
+ /* Call default after allocation callback.
+ 1. This is where relaxation is done.
+ 2. It calls gld${EMULATION_NAME}_map_segments to build ELF segment table.
+ 3. Any relaxation requires relax being done must be called after it. */
+ gld${EMULATION_NAME}_after_allocation ();
+}
+
+EOF
+# Define some shell vars to insert bits of code into the standard elf
+# parse_args and list_options functions.
+#
+PARSE_AND_LIST_PROLOGUE='
+#define OPTION_BASELINE 301
+#define OPTION_ELIM_GC_RELOCS (OPTION_BASELINE + 1)
+#define OPTION_FP_AS_GP (OPTION_BASELINE + 2)
+#define OPTION_NO_FP_AS_GP (OPTION_BASELINE + 3)
+#define OPTION_REDUCE_FP_UPDATE (OPTION_BASELINE + 4)
+#define OPTION_NO_REDUCE_FP_UPDATE (OPTION_BASELINE + 5)
+#define OPTION_EXPORT_SYMBOLS (OPTION_BASELINE + 6)
+
+/* These are only available to ex9. */
+#if defined NDS32_EX9_EXT
+#define OPTION_EX9_BASELINE 320
+#define OPTION_EX9_TABLE (OPTION_EX9_BASELINE + 1)
+#define OPTION_NO_EX9_TABLE (OPTION_EX9_BASELINE + 2)
+#define OPTION_EXPORT_EX9 (OPTION_EX9_BASELINE + 3)
+#define OPTION_IMPORT_EX9 (OPTION_EX9_BASELINE + 4)
+#define OPTION_UPDATE_EX9 (OPTION_EX9_BASELINE + 5)
+#define OPTION_EX9_LIMIT (OPTION_EX9_BASELINE + 6)
+#define OPTION_EX9_LOOP (OPTION_EX9_BASELINE + 7)
+#endif
+
+/* These are only available to link-time ifc. */
+#if defined NDS32_IFC_EXT
+#define OPTION_IFC_BASELINE 340
+#define OPTION_JUMP_IFC (OPTION_IFC_BASELINE + 1)
+#define OPTION_NO_JUMP_IFC (OPTION_IFC_BASELINE + 2)
+#define OPTION_IFC_LOOP (OPTION_IFC_BASELINE + 3)
+#endif
+'
+PARSE_AND_LIST_LONGOPTS='
+ { "mfp-as-gp", no_argument, NULL, OPTION_FP_AS_GP},
+ { "mno-fp-as-gp", no_argument, NULL, OPTION_NO_FP_AS_GP},
+ { "mexport-symbols", required_argument, NULL, OPTION_EXPORT_SYMBOLS},
+ /* These are deprecated options. Remove them in the future. */
+ { "mrelax-reduce-fp-update", no_argument, NULL, OPTION_REDUCE_FP_UPDATE},
+ { "mrelax-no-reduce-fp-update", no_argument, NULL, OPTION_NO_REDUCE_FP_UPDATE},
+ { "mbaseline", required_argument, NULL, OPTION_BASELINE},
+ { "meliminate-gc-relocs", no_argument, NULL, OPTION_ELIM_GC_RELOCS},
+ { "mrelax-omit-fp", no_argument, NULL, OPTION_FP_AS_GP},
+ { "mrelax-no-omit-fp", no_argument, NULL, OPTION_NO_FP_AS_GP},
+ { "mgen-symbol-ld-script", required_argument, NULL, OPTION_EXPORT_SYMBOLS},
+ /* These are specific optioins for ex9-ext support. */
+#if defined NDS32_EX9_EXT
+ { "mex9", no_argument, NULL, OPTION_EX9_TABLE},
+ { "mno-ex9", no_argument, NULL, OPTION_NO_EX9_TABLE},
+ { "mexport-ex9", required_argument, NULL, OPTION_EXPORT_EX9},
+ { "mimport-ex9", required_argument, NULL, OPTION_IMPORT_EX9},
+ { "mupdate-ex9", no_argument, NULL, OPTION_UPDATE_EX9},
+ { "mex9-limit", required_argument, NULL, OPTION_EX9_LIMIT},
+ { "mex9-loop-aware", no_argument, NULL, OPTION_EX9_LOOP},
+#endif
+ /* These are specific optioins for ifc-ext support. */
+#if defined NDS32_IFC_EXT
+ { "mifc", no_argument, NULL, OPTION_JUMP_IFC},
+ { "mno-ifc", no_argument, NULL, OPTION_NO_JUMP_IFC},
+ { "mifc-loop-aware", no_argument, NULL, OPTION_IFC_LOOP},
+#endif
+'
+PARSE_AND_LIST_OPTIONS='
+ fprintf (file, _("\
+ --m[no-]fp-as-gp Disable/enable fp-as-gp relaxation\n\
+ --mexport-symbols=FILE Exporting symbols in linker script\n\
+"));
+
+#if defined NDS32_EX9_EXT
+ fprintf (file, _("\
+ --m[no-]ex9 Disable/enable link-time EX9 relaxation\n\
+ --mexport-ex9=FILE Export EX9 table after linking\n\
+ --mimport-ex9=FILE Import Ex9 table for EX9 relaxation\n\
+ --mupdate-ex9 Update existing EX9 table\n\
+ --mex9-limit=NUM Maximum number of entries in ex9 table\n\
+ --mex9-loop-aware Avoid generate EX9 instruction inside loop\n\
+"));
+#endif
+
+#if defined NDS32_IFC_EXT
+ fprintf (file, _("\
+ --m[no-]ifc Disable/enable link-time IFC optimization\n\
+ --mifc-loop-aware Avoid generate IFC instruction inside loop\n\
+"));
+#endif
+'
+PARSE_AND_LIST_ARGS_CASES='
+ case OPTION_BASELINE:
+ einfo ("%P: --mbaseline is not used anymore.\n");
+ break;
+ case OPTION_ELIM_GC_RELOCS:
+ eliminate_gc_relocs = 1;
+ break;
+ case OPTION_FP_AS_GP:
+ case OPTION_NO_FP_AS_GP:
+ relax_fp_as_gp = (optc == OPTION_FP_AS_GP);
+ break;
+ case OPTION_REDUCE_FP_UPDATE:
+ case OPTION_NO_REDUCE_FP_UPDATE:
+ einfo ("%P: --relax-[no-]reduce-fp-updat is not used anymore.\n");
+ break;
+ case OPTION_EXPORT_SYMBOLS:
+ if (!optarg)
+ einfo (_("Missing file for --mexport-symbols.\n"), optarg);
+
+ if(strcmp (optarg, "-") == 0)
+ sym_ld_script = stdout;
+ else
+ {
+ sym_ld_script = fopen (optarg, FOPEN_WT);
+ if(sym_ld_script == NULL)
+ einfo (_("%P%F: cannot open map file %s: %E.\n"), optarg);
+ }
+ break;
+#if defined NDS32_EX9_EXT
+ case OPTION_EX9_TABLE:
+ target_optimize = target_optimize | NDS32_RELAX_EX9_ON;
+ break;
+ case OPTION_NO_EX9_TABLE:
+ target_optimize = target_optimize & (!NDS32_RELAX_EX9_ON);
+ break;
+ case OPTION_EXPORT_EX9:
+ if (!optarg)
+ einfo (_("Missing file for --mexport-ex9=<file>.\n"));
+
+ if(strcmp (optarg, "-") == 0)
+ ex9_export_file = stdout;
+ else
+ {
+ ex9_export_file = fopen (optarg, "wb");
+ if(ex9_export_file == NULL)
+ einfo (_("ERROR %P%F: cannot open ex9 export file %s.\n"), optarg);
+ }
+ break;
+ case OPTION_IMPORT_EX9:
+ if (!optarg)
+ einfo (_("Missing file for --mimport-ex9=<file>.\n"));
+
+ ex9_import_file = fopen (optarg, "rb+");
+ if(ex9_import_file == NULL)
+ einfo (_("ERROR %P%F: cannot open ex9 import file %s.\n"), optarg);
+ break;
+ case OPTION_UPDATE_EX9:
+ update_ex9_table = 1;
+ break;
+ case OPTION_EX9_LIMIT:
+ if (optarg)
+ {
+ ex9_limit = atoi (optarg);
+ if (ex9_limit > 511 || ex9_limit < 1)
+ {
+ einfo (_("ERROR: the range of ex9_limit must between 1 and 511\n"));
+ exit (1);
+ }
+ }
+ break;
+ case OPTION_EX9_LOOP:
+ target_optimize = target_optimize | NDS32_RELAX_EX9_ON;
+ ex9_loop_aware = 1;
+ break;
+#endif
+#if defined NDS32_IFC_EXT
+ case OPTION_JUMP_IFC:
+ target_optimize = target_optimize | NDS32_RELAX_JUMP_IFC_ON;
+ break;
+ case OPTION_NO_JUMP_IFC:
+ target_optimize = target_optimize & (!NDS32_RELAX_JUMP_IFC_ON);
+ break;
+ case OPTION_IFC_LOOP:
+ target_optimize = target_optimize | NDS32_RELAX_JUMP_IFC_ON;
+ ifc_loop_aware = 1;
+ break;
+#endif
+'
+LDEMUL_AFTER_OPEN=nds32_elf_after_open
+LDEMUL_AFTER_PARSE=nds32_elf_after_parse
+LDEMUL_AFTER_ALLOCATION=nds32_elf_after_allocation
+LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS=nds32_elf_create_output_section_statements
diff --git a/binutils-2.25/ld/emultempl/needrelax.em b/binutils-2.25/ld/emultempl/needrelax.em
index 7f902246..a89f1227 100644
--- a/binutils-2.25/ld/emultempl/needrelax.em
+++ b/binutils-2.25/ld/emultempl/needrelax.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2001, 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/emultempl/netbsd.em b/binutils-2.25/ld/emultempl/netbsd.em
index 99b48b0c..82478b2a 100644
--- a/binutils-2.25/ld/emultempl/netbsd.em
+++ b/binutils-2.25/ld/emultempl/netbsd.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/emultempl/nios2elf.em b/binutils-2.25/ld/emultempl/nios2elf.em
new file mode 100644
index 00000000..bdf54a3e
--- /dev/null
+++ b/binutils-2.25/ld/emultempl/nios2elf.em
@@ -0,0 +1,323 @@
+# This shell script emits a C file. -*- C -*-
+# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+#
+# This file is part of GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+#
+
+# This file is sourced from elf32.em, and defines extra Nios II ELF
+# specific routines. Taken from metagelf.em.
+#
+fragment <<EOF
+
+#include "ldctor.h"
+#include "elf32-nios2.h"
+
+
+/* Fake input file for stubs. */
+static lang_input_statement_type *stub_file;
+
+/* Whether we need to call nios2_layout_sections_again. */
+static int need_laying_out = 0;
+
+
+/* This is called before the input files are opened. We create a new
+ fake input file to hold the stub sections. */
+
+static void
+nios2elf_create_output_section_statements (void)
+{
+ extern const bfd_target nios2_elf32_le_vec, nios2_elf32_be_vec;
+
+ if (link_info.output_bfd->xvec != &nios2_elf32_le_vec
+ && link_info.output_bfd->xvec != &nios2_elf32_be_vec)
+ return;
+
+ /* If --no-relax was not explicitly specified by the user, enable
+ relaxation. If it's not enabled (either explicitly or by default),
+ we're done, as we won't need to create any stubs. */
+ if (!link_info.relocatable && RELAXATION_DISABLED_BY_DEFAULT)
+ ENABLE_RELAXATION;
+ if (!RELAXATION_ENABLED)
+ return;
+
+ stub_file = lang_add_input_file ("linker stubs",
+ lang_input_file_is_fake_enum,
+ NULL);
+ stub_file->the_bfd = bfd_create ("linker stubs", link_info.output_bfd);
+ if (stub_file->the_bfd == NULL
+ || ! bfd_set_arch_mach (stub_file->the_bfd,
+ bfd_get_arch (link_info.output_bfd),
+ bfd_get_mach (link_info.output_bfd)))
+ {
+ einfo ("%X%P: can not create BFD %E\n");
+ return;
+ }
+
+ stub_file->the_bfd->flags |= BFD_LINKER_CREATED;
+ ldlang_add_file (stub_file);
+}
+
+
+struct hook_stub_info
+{
+ lang_statement_list_type add;
+ asection *input_section;
+};
+
+/* Traverse the linker tree to find the spot where the stub goes. */
+
+static bfd_boolean
+hook_in_stub (struct hook_stub_info *info, lang_statement_union_type **lp,
+ bfd_boolean afterp)
+{
+ lang_statement_union_type *l;
+ bfd_boolean ret;
+
+ for (; (l = *lp) != NULL; lp = &l->header.next)
+ {
+ switch (l->header.type)
+ {
+ case lang_constructors_statement_enum:
+ ret = hook_in_stub (info, &constructor_list.head, afterp);
+ if (ret)
+ return ret;
+ break;
+
+ case lang_output_section_statement_enum:
+ ret = hook_in_stub (info,
+ &l->output_section_statement.children.head,
+ afterp);
+ if (ret)
+ return ret;
+ break;
+
+ case lang_wild_statement_enum:
+ ret = hook_in_stub (info, &l->wild_statement.children.head, afterp);
+ if (ret)
+ return ret;
+ break;
+
+ case lang_group_statement_enum:
+ ret = hook_in_stub (info, &l->group_statement.children.head, afterp);
+ if (ret)
+ return ret;
+ break;
+
+ case lang_input_section_enum:
+ if (l->input_section.section == info->input_section)
+ {
+ /* We've found our section. Insert the stub immediately
+ before or after its associated input section. */
+ if (afterp)
+ {
+ *(info->add.tail) = l->header.next;
+ l->header.next = info->add.head;
+ }
+ else
+ {
+ *lp = info->add.head;
+ *(info->add.tail) = l;
+ }
+ return TRUE;
+ }
+ break;
+
+ case lang_data_statement_enum:
+ case lang_reloc_statement_enum:
+ case lang_object_symbols_statement_enum:
+ case lang_output_statement_enum:
+ case lang_target_statement_enum:
+ case lang_input_statement_enum:
+ case lang_assignment_statement_enum:
+ case lang_padding_statement_enum:
+ case lang_address_statement_enum:
+ case lang_fill_statement_enum:
+ break;
+
+ default:
+ FAIL ();
+ break;
+ }
+ }
+ return FALSE;
+}
+
+/* Call-back for elf32_nios2_size_stubs. */
+
+/* Create a new stub section, and arrange for it to be linked
+ immediately before or after INPUT_SECTION, according to AFTERP. */
+
+static asection *
+nios2elf_add_stub_section (const char *stub_sec_name, asection *input_section,
+ bfd_boolean afterp)
+{
+ asection *stub_sec;
+ flagword flags;
+ asection *output_section;
+ const char *secname;
+ lang_output_section_statement_type *os;
+ struct hook_stub_info info;
+
+ flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_CODE
+ | SEC_HAS_CONTENTS | SEC_RELOC | SEC_IN_MEMORY | SEC_KEEP);
+ stub_sec = bfd_make_section_anyway_with_flags (stub_file->the_bfd,
+ stub_sec_name, flags);
+ if (stub_sec == NULL)
+ goto err_ret;
+
+ output_section = input_section->output_section;
+ secname = bfd_get_section_name (output_section->owner, output_section);
+ os = lang_output_section_find (secname);
+
+ info.input_section = input_section;
+ lang_list_init (&info.add);
+ lang_add_section (&info.add, stub_sec, NULL, os);
+
+ if (info.add.head == NULL)
+ goto err_ret;
+
+ if (hook_in_stub (&info, &os->children.head, afterp))
+ return stub_sec;
+
+ err_ret:
+ einfo ("%X%P: can not make stub section: %E\n");
+ return NULL;
+}
+
+
+/* Another call-back for elf32_nios2_size_stubs. */
+
+static void
+nios2elf_layout_sections_again (void)
+{
+ /* If we have changed sizes of the stub sections, then we need
+ to recalculate all the section offsets. This may mean we need to
+ add even more stubs. */
+ gld${EMULATION_NAME}_map_segments (TRUE);
+ need_laying_out = -1;
+}
+
+
+static void
+build_section_lists (lang_statement_union_type *statement)
+{
+ if (statement->header.type == lang_input_section_enum)
+ {
+ asection *i = statement->input_section.section;
+
+ if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS
+ && (i->flags & SEC_EXCLUDE) == 0
+ && i->output_section != NULL
+ && i->output_section->owner == link_info.output_bfd)
+ {
+ nios2_elf32_next_input_section (&link_info, i);
+ }
+ }
+}
+
+
+/* For Nios II we use this opportunity to build linker stubs. */
+
+static void
+gld${EMULATION_NAME}_after_allocation (void)
+{
+ int ret;
+
+ /* bfd_elf_discard_info just plays with data and debugging sections,
+ ie. doesn't affect code size, so we can delay resizing the
+ sections. It's likely we'll resize everything in the process of
+ adding stubs. */
+ ret = bfd_elf_discard_info (link_info.output_bfd, &link_info);
+ if (ret < 0)
+ {
+ einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ return;
+ }
+ else if (ret > 0)
+ need_laying_out = 1;
+
+ /* If generating a relocatable output file, then we don't
+ have to examine the relocs. */
+ if (stub_file != NULL && !link_info.relocatable && RELAXATION_ENABLED)
+ {
+ ret = nios2_elf32_setup_section_lists (link_info.output_bfd, &link_info);
+ if (ret != 0)
+ {
+ if (ret < 0)
+ {
+ einfo ("%X%P: can not size stub section: %E\n");
+ return;
+ }
+
+ lang_for_each_statement (build_section_lists);
+
+ /* Call into the BFD backend to do the real work. */
+ if (! nios2_elf32_size_stubs (link_info.output_bfd,
+ stub_file->the_bfd,
+ &link_info,
+ &nios2elf_add_stub_section,
+ &nios2elf_layout_sections_again))
+ {
+ einfo ("%X%P: can not size stub section: %E\n");
+ return;
+ }
+ }
+ }
+
+ if (need_laying_out != -1)
+ gld${EMULATION_NAME}_map_segments (need_laying_out);
+
+ if (!link_info.relocatable && RELAXATION_ENABLED)
+ {
+ /* Now build the linker stubs. */
+ if (stub_file != NULL && stub_file->the_bfd->sections != NULL)
+ {
+ if (! nios2_elf32_build_stubs (&link_info))
+ einfo ("%X%P: can not build stubs: %E\n");
+ }
+ }
+}
+
+
+/* Avoid processing the fake stub_file in vercheck, stat_needed and
+ check_needed routines. */
+
+static void (*real_func) (lang_input_statement_type *);
+
+static void nios2_for_each_input_file_wrapper (lang_input_statement_type *l)
+{
+ if (l != stub_file)
+ (*real_func) (l);
+}
+
+static void
+nios2_lang_for_each_input_file (void (*func) (lang_input_statement_type *))
+{
+ real_func = func;
+ lang_for_each_input_file (&nios2_for_each_input_file_wrapper);
+}
+
+#define lang_for_each_input_file nios2_lang_for_each_input_file
+
+EOF
+
+
+# Put these extra nios2elf routines in ld_${EMULATION_NAME}_emulation
+#
+LDEMUL_AFTER_ALLOCATION=gld${EMULATION_NAME}_after_allocation
+LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS=nios2elf_create_output_section_statements
diff --git a/binutils-2.25/ld/emultempl/pe.em b/binutils-2.25/ld/emultempl/pe.em
index 4df7753c..979cc8b8 100644
--- a/binutils-2.25/ld/emultempl/pe.em
+++ b/binutils-2.25/ld/emultempl/pe.em
@@ -8,7 +8,7 @@ fi
rm -f e${EMULATION_NAME}.c
(echo;echo;echo;echo;echo)>e${EMULATION_NAME}.c # there, now line numbers match ;-)
fragment <<EOF
-/* Copyright 1995-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -66,6 +66,7 @@ fragment <<EOF
#include "ldlex.h"
#include "ldmisc.h"
#include "ldctor.h"
+#include "ldbuildid.h"
#include "coff/internal.h"
/* FIXME: See bfd/peXXigen.c for why we include an architecture specific
@@ -73,9 +74,10 @@ fragment <<EOF
#include "coff/i386.h"
#include "coff/pe.h"
-/* FIXME: This is a BFD internal header file, and we should not be
+/* FIXME: These are BFD internal header files, and we should not be
using it here. */
#include "../bfd/libcoff.h"
+#include "../bfd/libpei.h"
#include "deffile.h"
#include "pe-dll.h"
@@ -130,12 +132,15 @@ static int support_old_code = 0;
static char * thumb_entry_symbol = NULL;
static lang_assignment_statement_type *image_base_statement = 0;
static unsigned short pe_dll_characteristics = 0;
+static bfd_boolean insert_timestamp = TRUE;
+static const char *emit_build_id;
#ifdef DLL_SUPPORT
static int pe_enable_stdcall_fixup = -1; /* 0=disable 1=enable. */
static char *pe_out_def_filename = NULL;
static char *pe_implib_filename = NULL;
static int pe_enable_auto_image_base = 0;
+static unsigned long pe_auto_image_base = 0x61500000;
static char *pe_dll_search_prefix = NULL;
#endif
@@ -239,8 +244,7 @@ fragment <<EOF
(OPTION_EXCLUDE_LIBS + 1)
#define OPTION_DLL_DISABLE_RUNTIME_PSEUDO_RELOC \
(OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC + 1)
-#define OPTION_LARGE_ADDRESS_AWARE \
- (OPTION_DLL_DISABLE_RUNTIME_PSEUDO_RELOC + 1)
+#define OPTION_LARGE_ADDRESS_AWARE (OPTION_DLL_DISABLE_RUNTIME_PSEUDO_RELOC + 1)
#define OPTION_DISABLE_LARGE_ADDRESS_AWARE \
(OPTION_LARGE_ADDRESS_AWARE + 1)
#define OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V1 \
@@ -251,15 +255,13 @@ fragment <<EOF
(OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V2 + 1)
#define OPTION_USE_NUL_PREFIXED_IMPORT_TABLES \
(OPTION_EXCLUDE_MODULES_FOR_IMPLIB + 1)
-#define OPTION_NO_LEADING_UNDERSCORE \
- (OPTION_USE_NUL_PREFIXED_IMPORT_TABLES + 1)
-#define OPTION_LEADING_UNDERSCORE \
- (OPTION_NO_LEADING_UNDERSCORE + 1)
+#define OPTION_NO_LEADING_UNDERSCORE (OPTION_USE_NUL_PREFIXED_IMPORT_TABLES + 1)
+#define OPTION_LEADING_UNDERSCORE (OPTION_NO_LEADING_UNDERSCORE + 1)
#define OPTION_ENABLE_LONG_SECTION_NAMES \
(OPTION_LEADING_UNDERSCORE + 1)
#define OPTION_DISABLE_LONG_SECTION_NAMES \
(OPTION_ENABLE_LONG_SECTION_NAMES + 1)
-/* DLLCharacteristics flags */
+/* DLLCharacteristics flags. */
#define OPTION_DYNAMIC_BASE (OPTION_DISABLE_LONG_SECTION_NAMES + 1)
#define OPTION_FORCE_INTEGRITY (OPTION_DYNAMIC_BASE + 1)
#define OPTION_NX_COMPAT (OPTION_FORCE_INTEGRITY + 1)
@@ -268,6 +270,10 @@ fragment <<EOF
#define OPTION_NO_BIND (OPTION_NO_SEH + 1)
#define OPTION_WDM_DRIVER (OPTION_NO_BIND + 1)
#define OPTION_TERMINAL_SERVER_AWARE (OPTION_WDM_DRIVER + 1)
+/* Determinism. */
+#define OPTION_INSERT_TIMESTAMP (OPTION_TERMINAL_SERVER_AWARE + 1)
+#define OPTION_NO_INSERT_TIMESTAMP (OPTION_INSERT_TIMESTAMP + 1)
+#define OPTION_BUILD_ID (OPTION_NO_INSERT_TIMESTAMP + 1)
static void
gld${EMULATION_NAME}_add_options
@@ -301,6 +307,8 @@ gld${EMULATION_NAME}_add_options
OPTION_USE_NUL_PREFIXED_IMPORT_TABLES},
{"no-leading-underscore", no_argument, NULL, OPTION_NO_LEADING_UNDERSCORE},
{"leading-underscore", no_argument, NULL, OPTION_LEADING_UNDERSCORE},
+ {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP},
+ {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP},
#ifdef DLL_SUPPORT
/* getopt allows abbreviations, so we do this to stop it
from treating -o as an abbreviation for this option. */
@@ -321,7 +329,7 @@ gld${EMULATION_NAME}_add_options
treating -c as an abbreviation for these --compat-implib. */
{"compat-implib", no_argument, NULL, OPTION_IMP_COMPAT},
{"compat-implib", no_argument, NULL, OPTION_IMP_COMPAT},
- {"enable-auto-image-base", no_argument, NULL, OPTION_ENABLE_AUTO_IMAGE_BASE},
+ {"enable-auto-image-base", optional_argument, NULL, OPTION_ENABLE_AUTO_IMAGE_BASE},
{"disable-auto-image-base", no_argument, NULL, OPTION_DISABLE_AUTO_IMAGE_BASE},
{"dll-search-prefix", required_argument, NULL, OPTION_DLL_SEARCH_PREFIX},
{"no-default-excludes", no_argument, NULL, OPTION_NO_DEFAULT_EXCLUDES},
@@ -345,6 +353,7 @@ gld${EMULATION_NAME}_add_options
{"no-bind", no_argument, NULL, OPTION_NO_BIND},
{"wdmdriver", no_argument, NULL, OPTION_WDM_DRIVER},
{"tsaware", no_argument, NULL, OPTION_TERMINAL_SERVER_AWARE},
+ {"build-id", optional_argument, NULL, OPTION_BUILD_ID},
{NULL, no_argument, NULL, 0}
};
@@ -384,7 +393,7 @@ typedef struct
#define U_SIZE(CSTR) \
(sizeof (CSTR) + (is_underscoring () == 0 ? 0 : 1))
-#define D(field,symbol,def,usc) {&pe.field,sizeof(pe.field), def, symbol, 0, usc}
+#define D(field,symbol,def,usc) {&pe.field, sizeof (pe.field), def, symbol, 0, usc}
static definfo init[] =
{
@@ -438,6 +447,8 @@ gld_${EMULATION_NAME}_list_options (FILE *file)
fprintf (file, _(" --support-old-code Support interworking with old code\n"));
fprintf (file, _(" --[no-]leading-underscore Set explicit symbol underscore prefix mode\n"));
fprintf (file, _(" --thumb-entry=<symbol> Set the entry point to be Thumb <symbol>\n"));
+ fprintf (file, _(" --[no-]insert-timestamp Use a real timestamp rather than zero (default).\n"));
+ fprintf (file, _(" This makes binaries non-deterministic\n"));
#ifdef DLL_SUPPORT
fprintf (file, _(" --add-stdcall-alias Export symbols with and without @nn\n"));
fprintf (file, _(" --disable-stdcall-fixup Don't link _sym to _sym@nn\n"));
@@ -452,11 +463,12 @@ gld_${EMULATION_NAME}_list_options (FILE *file)
fprintf (file, _(" --kill-at Remove @nn from exported symbols\n"));
fprintf (file, _(" --out-implib <file> Generate import library\n"));
fprintf (file, _(" --output-def <file> Generate a .DEF file for the built DLL\n"));
- fprintf (file, _(" --warn-duplicate-exports Warn about duplicate exports.\n"));
+ fprintf (file, _(" --warn-duplicate-exports Warn about duplicate exports\n"));
fprintf (file, _(" --compat-implib Create backward compatible import libs;\n\
create __imp_<SYMBOL> as well.\n"));
- fprintf (file, _(" --enable-auto-image-base Automatically choose image base for DLLs\n\
- unless user specifies one\n"));
+ fprintf (file, _(" --enable-auto-image-base[=<address>] Automatically choose image base for DLLs\n\
+ (optionally starting with address) unless\n\
+ specifically set with --image-base\n"));
fprintf (file, _(" --disable-auto-image-base Do not auto-choose image base. (default)\n"));
fprintf (file, _(" --dll-search-prefix=<string> When linking dynamically to a dll without\n\
an importlib, use <string><basename>.dll\n\
@@ -490,6 +502,7 @@ gld_${EMULATION_NAME}_list_options (FILE *file)
fprintf (file, _(" --no-bind Do not bind this image\n"));
fprintf (file, _(" --wdmdriver Driver uses the WDM model\n"));
fprintf (file, _(" --tsaware Image is Terminal Server aware\n"));
+ fprintf (file, _(" --build-id[=STYLE] Generate build ID\n"));
}
@@ -684,6 +697,7 @@ set_pe_stack_heap (char *resname, char *comname)
einfo (_("%P%F: strange hex info for PE parameter '%s'\n"), optarg);
}
+#define DEFAULT_BUILD_ID_STYLE "md5"
static bfd_boolean
gld${EMULATION_NAME}_handle_option (int optc)
@@ -754,6 +768,12 @@ gld${EMULATION_NAME}_handle_option (int optc)
case OPTION_LEADING_UNDERSCORE:
pe_leading_underscore = 1;
break;
+ case OPTION_INSERT_TIMESTAMP:
+ insert_timestamp = TRUE;
+ break;
+ case OPTION_NO_INSERT_TIMESTAMP:
+ insert_timestamp = FALSE;
+ break;
#ifdef DLL_SUPPORT
case OPTION_OUT_DEF:
pe_out_def_filename = xstrdup (optarg);
@@ -796,6 +816,12 @@ gld${EMULATION_NAME}_handle_option (int optc)
break;
case OPTION_ENABLE_AUTO_IMAGE_BASE:
pe_enable_auto_image_base = 1;
+ if (optarg && *optarg)
+ {
+ char *end;
+ pe_auto_image_base = strtoul (optarg, &end, 0);
+ /* XXX should check that we actually parsed something */
+ }
break;
case OPTION_DISABLE_AUTO_IMAGE_BASE:
pe_enable_auto_image_base = 0;
@@ -866,6 +892,17 @@ gld${EMULATION_NAME}_handle_option (int optc)
case OPTION_TERMINAL_SERVER_AWARE:
pe_dll_characteristics |= IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE;
break;
+ case OPTION_BUILD_ID:
+ if (emit_build_id != NULL)
+ {
+ free ((char *) emit_build_id);
+ emit_build_id = NULL;
+ }
+ if (optarg == NULL)
+ optarg = DEFAULT_BUILD_ID_STYLE;
+ if (strcmp (optarg, "none"))
+ emit_build_id = xstrdup (optarg);
+ break;
}
/* Set DLLCharacteristics bits */
@@ -905,7 +942,7 @@ static unsigned long
compute_dll_image_base (const char *ofile)
{
unsigned long hash = strhash (ofile);
- return 0x61300000 + ((hash << 16) & 0x0FFC0000);
+ return pe_auto_image_base + ((hash << 16) & 0x0FFC0000);
}
#endif
@@ -1221,6 +1258,169 @@ debug_section_p (bfd *abfd ATTRIBUTE_UNUSED, asection *sect, void *obj)
*found = 1;
}
+static bfd_boolean
+pecoff_checksum_contents (bfd *abfd,
+ void (*process) (const void *, size_t, void *),
+ void *arg)
+{
+ file_ptr filepos = (file_ptr) 0;
+
+ while (1)
+ {
+ unsigned char b;
+ int status;
+
+ if (bfd_seek (abfd, filepos, SEEK_SET) != 0)
+ return 0;
+
+ status = bfd_bread (&b, (bfd_size_type) 1, abfd);
+ if (status < 1)
+ {
+ break;
+ }
+
+ (*process) (&b, 1, arg);
+ filepos += 1;
+ }
+
+ return TRUE;
+}
+
+static bfd_boolean
+write_build_id (bfd *abfd)
+{
+ struct pe_tdata *t = pe_data (abfd);
+ asection *asec;
+ struct bfd_link_order *link_order = NULL;
+ unsigned char *contents;
+ bfd_size_type size;
+ bfd_size_type build_id_size;
+ unsigned char *build_id;
+
+ /* Find the section the .buildid output section has been merged info. */
+ for (asec = abfd->sections; asec != NULL; asec = asec->next)
+ {
+ struct bfd_link_order *l = NULL;
+ for (l = asec->map_head.link_order; l != NULL; l = l->next)
+ {
+ if ((l->type == bfd_indirect_link_order))
+ {
+ if (l->u.indirect.section == t->build_id.sec)
+ {
+ link_order = l;
+ break;
+ }
+ }
+ }
+
+ if (link_order)
+ break;
+ }
+
+ if (!link_order)
+ {
+ einfo (_("%P: warning: .buildid section discarded,"
+ " --build-id ignored.\n"));
+ return TRUE;
+ }
+
+ if (t->build_id.sec->contents == NULL)
+ t->build_id.sec->contents = (unsigned char *) xmalloc (t->build_id.sec->size);
+ contents = t->build_id.sec->contents;
+ size = t->build_id.sec->size;
+
+ build_id_size = compute_build_id_size (t->build_id.style);
+ build_id = xmalloc (build_id_size);
+ generate_build_id (abfd, t->build_id.style, pecoff_checksum_contents, build_id, build_id_size);
+
+ bfd_vma ib = pe_data (link_info.output_bfd)->pe_opthdr.ImageBase;
+
+ /* Construct a debug directory entry which points to an immediately following CodeView record. */
+ struct internal_IMAGE_DEBUG_DIRECTORY idd;
+ idd.Characteristics = 0;
+ idd.TimeDateStamp = 0;
+ idd.MajorVersion = 0;
+ idd.MinorVersion = 0;
+ idd.Type = PE_IMAGE_DEBUG_TYPE_CODEVIEW;
+ idd.SizeOfData = sizeof (CV_INFO_PDB70) + 1;
+ idd.AddressOfRawData = asec->vma - ib + link_order->offset
+ + sizeof (struct external_IMAGE_DEBUG_DIRECTORY);
+ idd.PointerToRawData = asec->filepos + link_order->offset
+ + sizeof (struct external_IMAGE_DEBUG_DIRECTORY);
+
+ struct external_IMAGE_DEBUG_DIRECTORY *ext = (struct external_IMAGE_DEBUG_DIRECTORY *)contents;
+ _bfd_XXi_swap_debugdir_out (abfd, &idd, ext);
+
+ /* Write the debug directory entry. */
+ if (bfd_seek (abfd, asec->filepos + link_order->offset, SEEK_SET) != 0)
+ return 0;
+
+ if ((bfd_bwrite (contents, size, abfd) != size))
+ return 0;
+
+ /* Construct the CodeView record. */
+ CODEVIEW_INFO cvinfo;
+ cvinfo.CVSignature = CVINFO_PDB70_CVSIGNATURE;
+ cvinfo.Age = 1;
+
+ /* Zero pad or truncate the generated build_id to fit in the CodeView record. */
+ memset (&(cvinfo.Signature), 0, CV_INFO_SIGNATURE_LENGTH);
+ memcpy (&(cvinfo.Signature), build_id, (build_id_size > CV_INFO_SIGNATURE_LENGTH)
+ ? CV_INFO_SIGNATURE_LENGTH : build_id_size);
+
+ free (build_id);
+
+ /* Write the codeview record. */
+ if (_bfd_XXi_write_codeview_record (abfd, idd.PointerToRawData, &cvinfo) == 0)
+ return 0;
+
+ /* Record the location of the debug directory in the data directory. */
+ pe_data (link_info.output_bfd)->pe_opthdr.DataDirectory[PE_DEBUG_DATA].VirtualAddress
+ = asec->vma - ib + link_order->offset;
+ pe_data (link_info.output_bfd)->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size
+ = sizeof (struct external_IMAGE_DEBUG_DIRECTORY);
+
+ return TRUE;
+}
+
+/* Make .buildid section, and set up coff_tdata->build_id. */
+static bfd_boolean
+setup_build_id (bfd *ibfd)
+{
+ asection *s;
+ flagword flags;
+
+ if (!validate_build_id_style (emit_build_id))
+ {
+ einfo ("%P: warning: unrecognized --build-id style ignored.\n");
+ return FALSE;
+ }
+
+ flags = (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_IN_MEMORY
+ | SEC_LINKER_CREATED | SEC_READONLY | SEC_DATA);
+ s = bfd_make_section_anyway_with_flags (ibfd, ".buildid", flags);
+ if (s != NULL)
+ {
+ struct pe_tdata *t = pe_data (link_info.output_bfd);
+ t->build_id.after_write_object_contents = &write_build_id;
+ t->build_id.style = emit_build_id;
+ t->build_id.sec = s;
+
+ /* Section is a fixed size:
+ One IMAGE_DEBUG_DIRECTORY entry, of type IMAGE_DEBUG_TYPE_CODEVIEW,
+ pointing at a CV_INFO_PDB70 record containing the build-id, with a
+ null byte for PdbFileName. */
+ s->size = sizeof (struct external_IMAGE_DEBUG_DIRECTORY)
+ + sizeof (CV_INFO_PDB70) + 1;
+
+ return TRUE;
+ }
+
+ einfo ("%P: warning: Cannot create .buildid section,"
+ " --build-id ignored.\n");
+ return FALSE;
+}
+
static void
gld_${EMULATION_NAME}_after_open (void)
{
@@ -1238,11 +1438,31 @@ gld_${EMULATION_NAME}_after_open (void)
printf ("-%s\n", sym->root.string);
bfd_hash_traverse (&link_info.hash->table, pr_sym, NULL);
- for (a = link_info.input_bfds; a; a = a->link_next)
+ for (a = link_info.input_bfds; a; a = a->link.next)
printf ("*%s\n",a->filename);
}
#endif
+ if (emit_build_id != NULL)
+ {
+ bfd *abfd;
+
+ /* Find a COFF input. */
+ for (abfd = link_info.input_bfds;
+ abfd != (bfd *) NULL; abfd = abfd->link.next)
+ if (bfd_get_flavour (abfd) == bfd_target_coff_flavour)
+ break;
+
+ /* If there are no COFF input files do not try to
+ add a build-id section. */
+ if (abfd == NULL
+ || !setup_build_id (abfd))
+ {
+ free ((char *) emit_build_id);
+ emit_build_id = NULL;
+ }
+ }
+
/* Pass the wacky PE command line options into the output bfd.
FIXME: This should be done via a function, rather than by
including an internal BFD header. */
@@ -1255,6 +1475,7 @@ gld_${EMULATION_NAME}_after_open (void)
pe_data (link_info.output_bfd)->pe_opthdr = pe;
pe_data (link_info.output_bfd)->dll = init[DLLOFF].value;
pe_data (link_info.output_bfd)->real_flags |= real_flags;
+ pe_data (link_info.output_bfd)->insert_timestamp = insert_timestamp;
/* At this point we must decide whether to use long section names
in the output or not. If the user hasn't explicitly specified
@@ -1264,17 +1485,23 @@ gld_${EMULATION_NAME}_after_open (void)
find it, so enable it in that case. */
if (pe_use_coff_long_section_names < 0 && link_info.strip == strip_none)
{
- /* Iterate over all sections of all input BFDs, checking
- for any that begin 'debug_' and are long names. */
- LANG_FOR_EACH_INPUT_STATEMENT (is)
+ if (link_info.relocatable)
+ pe_use_coff_long_section_names = 1;
+ else
{
- int found_debug = 0;
- bfd_map_over_sections (is->the_bfd, debug_section_p, &found_debug);
- if (found_debug)
- {
- pe_use_coff_long_section_names = 1;
- break;
- }
+ /* Iterate over all sections of all input BFDs, checking
+ for any that begin 'debug_' and are long names. */
+ LANG_FOR_EACH_INPUT_STATEMENT (is)
+ {
+ int found_debug = 0;
+
+ bfd_map_over_sections (is->the_bfd, debug_section_p, &found_debug);
+ if (found_debug)
+ {
+ pe_use_coff_long_section_names = 1;
+ break;
+ }
+ }
}
}
@@ -2101,7 +2328,7 @@ gld_${EMULATION_NAME}_open_dynamic_archive
unsigned int i;
- if (! entry->flags.maybe_archive)
+ if (! entry->flags.maybe_archive || entry->flags.full_name_provided)
return FALSE;
filename = entry->filename;
@@ -2227,6 +2454,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
gld_${EMULATION_NAME}_list_options,
gld_${EMULATION_NAME}_recognized_file,
gld_${EMULATION_NAME}_find_potential_libraries,
- NULL /* new_vers_pattern. */
+ NULL, /* new_vers_pattern. */
+ NULL /* extra_map_file_text. */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/pep.em b/binutils-2.25/ld/emultempl/pep.em
index 3e8b65e1..b24a6082 100644
--- a/binutils-2.25/ld/emultempl/pep.em
+++ b/binutils-2.25/ld/emultempl/pep.em
@@ -18,8 +18,7 @@ esac
rm -f e${EMULATION_NAME}.c
(echo;echo;echo;echo;echo)>e${EMULATION_NAME}.c # there, now line numbers match ;-)
fragment <<EOF
-/* Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012
- Free Software Foundation, Inc.
+/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
Written by Kai Tietz, OneVision Software GmbH&CoKg.
This file is part of the GNU Binutils.
@@ -65,6 +64,7 @@ fragment <<EOF
#include "ldlex.h"
#include "ldmisc.h"
#include "ldctor.h"
+#include "ldbuildid.h"
#include "coff/internal.h"
/* FIXME: See bfd/peXXigen.c for why we include an architecture specific
@@ -72,9 +72,10 @@ fragment <<EOF
#include "coff/x86_64.h"
#include "coff/pe.h"
-/* FIXME: This is a BFD internal header file, and we should not be
+/* FIXME: These are BFD internal header files, and we should not be
using it here. */
#include "../bfd/libcoff.h"
+#include "../bfd/libpei.h"
#undef AOUTSZ
#define AOUTSZ PEPAOUTSZ
@@ -146,6 +147,8 @@ static flagword real_flags = IMAGE_FILE_LARGE_ADDRESS_AWARE;
static int support_old_code = 0;
static lang_assignment_statement_type *image_base_statement = 0;
static unsigned short pe_dll_characteristics = 0;
+static bfd_boolean insert_timestamp = TRUE;
+static const char *emit_build_id;
#ifdef DLL_SUPPORT
static int pep_enable_stdcall_fixup = 1; /* 0=disable 1=enable (default). */
@@ -234,6 +237,7 @@ enum options
OPTION_LEADING_UNDERSCORE,
OPTION_ENABLE_LONG_SECTION_NAMES,
OPTION_DISABLE_LONG_SECTION_NAMES,
+ OPTION_HIGH_ENTROPY_VA,
OPTION_DYNAMIC_BASE,
OPTION_FORCE_INTEGRITY,
OPTION_NX_COMPAT,
@@ -241,7 +245,10 @@ enum options
OPTION_NO_SEH,
OPTION_NO_BIND,
OPTION_WDM_DRIVER,
- OPTION_TERMINAL_SERVER_AWARE
+ OPTION_INSERT_TIMESTAMP,
+ OPTION_NO_INSERT_TIMESTAMP,
+ OPTION_TERMINAL_SERVER_AWARE,
+ OPTION_BUILD_ID
};
static void
@@ -308,6 +315,7 @@ gld${EMULATION_NAME}_add_options
#endif
{"enable-long-section-names", no_argument, NULL, OPTION_ENABLE_LONG_SECTION_NAMES},
{"disable-long-section-names", no_argument, NULL, OPTION_DISABLE_LONG_SECTION_NAMES},
+ {"high-entropy-va", no_argument, NULL, OPTION_HIGH_ENTROPY_VA},
{"dynamicbase",no_argument, NULL, OPTION_DYNAMIC_BASE},
{"forceinteg", no_argument, NULL, OPTION_FORCE_INTEGRITY},
{"nxcompat", no_argument, NULL, OPTION_NX_COMPAT},
@@ -316,6 +324,9 @@ gld${EMULATION_NAME}_add_options
{"no-bind", no_argument, NULL, OPTION_NO_BIND},
{"wdmdriver", no_argument, NULL, OPTION_WDM_DRIVER},
{"tsaware", no_argument, NULL, OPTION_TERMINAL_SERVER_AWARE},
+ {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP},
+ {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP},
+ {"build-id", optional_argument, NULL, OPTION_BUILD_ID},
{NULL, no_argument, NULL, 0}
};
@@ -353,7 +364,7 @@ typedef struct
#define U_SIZE(CSTR) \
(sizeof (CSTR) + (is_underscoring () == 0 ? 0 : 1))
-#define D(field,symbol,def,usc) {&pep.field,sizeof(pep.field), def, symbol,0, usc}
+#define D(field,symbol,def,usc) {&pep.field, sizeof (pep.field), def, symbol, 0, usc}
static definfo init[] =
{
@@ -402,6 +413,8 @@ gld_${EMULATION_NAME}_list_options (FILE *file)
fprintf (file, _(" --subsystem <name>[:<version>] Set required OS subsystem [& version]\n"));
fprintf (file, _(" --support-old-code Support interworking with old code\n"));
fprintf (file, _(" --[no-]leading-underscore Set explicit symbol underscore prefix mode\n"));
+ fprintf (file, _(" --[no-]insert-timestamp Use a real timestamp rather than zero. (default)\n"));
+ fprintf (file, _(" This makes binaries non-deterministic\n"));
#ifdef DLL_SUPPORT
fprintf (file, _(" --add-stdcall-alias Export symbols with and without @nn\n"));
fprintf (file, _(" --disable-stdcall-fixup Don't link _sym to _sym@nn\n"));
@@ -439,6 +452,8 @@ gld_${EMULATION_NAME}_list_options (FILE *file)
executable image files\n"));
fprintf (file, _(" --disable-long-section-names Never use long COFF section names, even\n\
in object files\n"));
+ fprintf (file, _(" --high-entropy-va Image is compatible with 64-bit address space\n\
+ layout randomization (ASLR)\n"));
fprintf (file, _(" --dynamicbase Image base address may be relocated using\n\
address space layout randomization (ASLR)\n"));
fprintf (file, _(" --forceinteg Code integrity checks are enforced\n"));
@@ -449,6 +464,7 @@ gld_${EMULATION_NAME}_list_options (FILE *file)
fprintf (file, _(" --no-bind Do not bind this image\n"));
fprintf (file, _(" --wdmdriver Driver uses the WDM model\n"));
fprintf (file, _(" --tsaware Image is Terminal Server aware\n"));
+ fprintf (file, _(" --build-id[=STYLE] Generate build ID\n"));
#endif
}
@@ -639,6 +655,7 @@ set_pep_stack_heap (char *resname, char *comname)
einfo (_("%P%F: strange hex info for PE parameter '%s'\n"), optarg);
}
+#define DEFAULT_BUILD_ID_STYLE "md5"
static bfd_boolean
gld${EMULATION_NAME}_handle_option (int optc)
@@ -707,6 +724,12 @@ gld${EMULATION_NAME}_handle_option (int optc)
case OPTION_LEADING_UNDERSCORE:
pep_leading_underscore = 1;
break;
+ case OPTION_INSERT_TIMESTAMP:
+ insert_timestamp = TRUE;
+ break;
+ case OPTION_NO_INSERT_TIMESTAMP:
+ insert_timestamp = FALSE;
+ break;
#ifdef DLL_SUPPORT
case OPTION_OUT_DEF:
pep_out_def_filename = xstrdup (optarg);
@@ -785,6 +808,9 @@ gld${EMULATION_NAME}_handle_option (int optc)
pep_use_coff_long_section_names = 0;
break;
/* Get DLLCharacteristics bits */
+ case OPTION_HIGH_ENTROPY_VA:
+ pe_dll_characteristics |= IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA;
+ break;
case OPTION_DYNAMIC_BASE:
pe_dll_characteristics |= IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE;
break;
@@ -809,6 +835,17 @@ gld${EMULATION_NAME}_handle_option (int optc)
case OPTION_TERMINAL_SERVER_AWARE:
pe_dll_characteristics |= IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE;
break;
+ case OPTION_BUILD_ID:
+ if (emit_build_id != NULL)
+ {
+ free ((char *) emit_build_id);
+ emit_build_id = NULL;
+ }
+ if (optarg == NULL)
+ optarg = DEFAULT_BUILD_ID_STYLE;
+ if (strcmp (optarg, "none"))
+ emit_build_id = xstrdup (optarg);
+ break;
}
/* Set DLLCharacteristics bits */
@@ -1180,10 +1217,174 @@ static void
debug_section_p (bfd *abfd ATTRIBUTE_UNUSED, asection *sect, void *obj)
{
int *found = (int *) obj;
+
if (strncmp (".debug_", sect->name, sizeof (".debug_") - 1) == 0)
*found = 1;
}
+static bfd_boolean
+pecoff_checksum_contents (bfd *abfd,
+ void (*process) (const void *, size_t, void *),
+ void *arg)
+{
+ file_ptr filepos = (file_ptr) 0;
+
+ while (1)
+ {
+ unsigned char b;
+ int status;
+
+ if (bfd_seek (abfd, filepos, SEEK_SET) != 0)
+ return 0;
+
+ status = bfd_bread (&b, (bfd_size_type) 1, abfd);
+ if (status < 1)
+ {
+ break;
+ }
+
+ (*process) (&b, 1, arg);
+ filepos += 1;
+ }
+
+ return TRUE;
+}
+
+static bfd_boolean
+write_build_id (bfd *abfd)
+{
+ struct pe_tdata *t = pe_data (abfd);
+ asection *asec;
+ struct bfd_link_order *link_order = NULL;
+ unsigned char *contents;
+ bfd_size_type size;
+ bfd_size_type build_id_size;
+ unsigned char *build_id;
+
+ /* Find the section the .buildid output section has been merged info. */
+ for (asec = abfd->sections; asec != NULL; asec = asec->next)
+ {
+ struct bfd_link_order *l = NULL;
+ for (l = asec->map_head.link_order; l != NULL; l = l->next)
+ {
+ if ((l->type == bfd_indirect_link_order))
+ {
+ if (l->u.indirect.section == t->build_id.sec)
+ {
+ link_order = l;
+ break;
+ }
+ }
+ }
+
+ if (link_order)
+ break;
+ }
+
+ if (!link_order)
+ {
+ einfo (_("%P: warning: .buildid section discarded,"
+ " --build-id ignored.\n"));
+ return TRUE;
+ }
+
+ if (t->build_id.sec->contents == NULL)
+ t->build_id.sec->contents = (unsigned char *) xmalloc (t->build_id.sec->size);
+ contents = t->build_id.sec->contents;
+ size = t->build_id.sec->size;
+
+ build_id_size = compute_build_id_size (t->build_id.style);
+ build_id = xmalloc (build_id_size);
+ generate_build_id (abfd, t->build_id.style, pecoff_checksum_contents, build_id, build_id_size);
+
+ bfd_vma ib = pe_data (link_info.output_bfd)->pe_opthdr.ImageBase;
+
+ /* Construct a debug directory entry which points to an immediately following CodeView record. */
+ struct internal_IMAGE_DEBUG_DIRECTORY idd;
+ idd.Characteristics = 0;
+ idd.TimeDateStamp = 0;
+ idd.MajorVersion = 0;
+ idd.MinorVersion = 0;
+ idd.Type = PE_IMAGE_DEBUG_TYPE_CODEVIEW;
+ idd.SizeOfData = sizeof (CV_INFO_PDB70) + 1;
+ idd.AddressOfRawData = asec->vma - ib + link_order->offset
+ + sizeof (struct external_IMAGE_DEBUG_DIRECTORY);
+ idd.PointerToRawData = asec->filepos + link_order->offset
+ + sizeof (struct external_IMAGE_DEBUG_DIRECTORY);
+
+ struct external_IMAGE_DEBUG_DIRECTORY *ext = (struct external_IMAGE_DEBUG_DIRECTORY *)contents;
+ _bfd_XXi_swap_debugdir_out (abfd, &idd, ext);
+
+ /* Write the debug directory enttry */
+ if (bfd_seek (abfd, asec->filepos + link_order->offset, SEEK_SET) != 0)
+ return 0;
+
+ if ((bfd_bwrite (contents, size, abfd) != size))
+ return 0;
+
+ /* Construct the CodeView record. */
+ CODEVIEW_INFO cvinfo;
+ cvinfo.CVSignature = CVINFO_PDB70_CVSIGNATURE;
+ cvinfo.Age = 1;
+
+ /* Zero pad or truncate the generated build_id to fit in the CodeView record. */
+ memset (&(cvinfo.Signature), 0, CV_INFO_SIGNATURE_LENGTH);
+ memcpy (&(cvinfo.Signature), build_id, (build_id_size > CV_INFO_SIGNATURE_LENGTH)
+ ? CV_INFO_SIGNATURE_LENGTH : build_id_size);
+
+ free (build_id);
+
+ /* Write the codeview record. */
+ if (_bfd_XXi_write_codeview_record (abfd, idd.PointerToRawData, &cvinfo) == 0)
+ return 0;
+
+ /* Record the location of the debug directory in the data directory. */
+ pe_data (link_info.output_bfd)->pe_opthdr.DataDirectory[PE_DEBUG_DATA].VirtualAddress
+ = asec->vma - ib + link_order->offset;
+ pe_data (link_info.output_bfd)->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size
+ = sizeof (struct external_IMAGE_DEBUG_DIRECTORY);
+
+ return TRUE;
+}
+
+/* Make .buildid section, and set up coff_tdata->build_id. */
+static bfd_boolean
+setup_build_id (bfd *ibfd)
+{
+ asection *s;
+ flagword flags;
+
+ if (!validate_build_id_style (emit_build_id))
+ {
+ einfo ("%P: warning: unrecognized --build-id style ignored.\n");
+ return FALSE;
+ }
+
+ flags = (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_IN_MEMORY
+ | SEC_LINKER_CREATED | SEC_READONLY | SEC_DATA);
+ s = bfd_make_section_anyway_with_flags (ibfd, ".buildid", flags);
+ if (s != NULL)
+ {
+ struct pe_tdata *t = pe_data (link_info.output_bfd);
+ t->build_id.after_write_object_contents = &write_build_id;
+ t->build_id.style = emit_build_id;
+ t->build_id.sec = s;
+
+ /* Section is a fixed size:
+ One IMAGE_DEBUG_DIRECTORY entry, of type IMAGE_DEBUG_TYPE_CODEVIEW,
+ pointing at a CV_INFO_PDB70 record containing the build-id, with a
+ null byte for PdbFileName. */
+ s->size = sizeof (struct external_IMAGE_DEBUG_DIRECTORY)
+ + sizeof (CV_INFO_PDB70) + 1;
+
+ return TRUE;
+ }
+
+ einfo ("%P: warning: Cannot create .buildid section,"
+ " --build-id ignored.\n");
+ return FALSE;
+}
+
static void
gld_${EMULATION_NAME}_after_open (void)
{
@@ -1202,11 +1403,31 @@ gld_${EMULATION_NAME}_after_open (void)
printf ("-%s\n", sym->root.string);
bfd_hash_traverse (&link_info.hash->table, pr_sym, NULL);
- for (a = link_info.input_bfds; a; a = a->link_next)
+ for (a = link_info.input_bfds; a; a = a->link.next)
printf ("*%s\n",a->filename);
}
#endif
+ if (emit_build_id != NULL)
+ {
+ bfd *abfd;
+
+ /* Find a COFF input. */
+ for (abfd = link_info.input_bfds;
+ abfd != (bfd *) NULL; abfd = abfd->link.next)
+ if (bfd_get_flavour (abfd) == bfd_target_coff_flavour)
+ break;
+
+ /* If there are no COFF input files do not try to
+ add a build-id section. */
+ if (abfd == NULL
+ || !setup_build_id (abfd))
+ {
+ free ((char *) emit_build_id);
+ emit_build_id = NULL;
+ }
+ }
+
/* Pass the wacky PE command line options into the output bfd.
FIXME: This should be done via a function, rather than by
including an internal BFD header. */
@@ -1219,6 +1440,7 @@ gld_${EMULATION_NAME}_after_open (void)
pe_data (link_info.output_bfd)->pe_opthdr = pep;
pe_data (link_info.output_bfd)->dll = init[DLLOFF].value;
pe_data (link_info.output_bfd)->real_flags |= real_flags;
+ pe_data (link_info.output_bfd)->insert_timestamp = insert_timestamp;
/* At this point we must decide whether to use long section names
in the output or not. If the user hasn't explicitly specified
@@ -1228,17 +1450,23 @@ gld_${EMULATION_NAME}_after_open (void)
find it, so enable it in that case. */
if (pep_use_coff_long_section_names < 0 && link_info.strip == strip_none)
{
- /* Iterate over all sections of all input BFDs, checking
- for any that begin 'debug_' and are long names. */
- LANG_FOR_EACH_INPUT_STATEMENT (is)
+ if (link_info.relocatable)
+ pep_use_coff_long_section_names = 1;
+ else
{
- int found_debug = 0;
- bfd_map_over_sections (is->the_bfd, debug_section_p, &found_debug);
- if (found_debug)
- {
- pep_use_coff_long_section_names = 1;
- break;
- }
+ /* Iterate over all sections of all input BFDs, checking
+ for any that begin 'debug_' and are long names. */
+ LANG_FOR_EACH_INPUT_STATEMENT (is)
+ {
+ int found_debug = 0;
+
+ bfd_map_over_sections (is->the_bfd, debug_section_p, &found_debug);
+ if (found_debug)
+ {
+ pep_use_coff_long_section_names = 1;
+ break;
+ }
+ }
}
}
@@ -1871,7 +2099,7 @@ gld_${EMULATION_NAME}_open_dynamic_archive
unsigned int i;
- if (! entry->flags.maybe_archive)
+ if (! entry->flags.maybe_archive || entry->flags.full_name_provided)
return FALSE;
filename = entry->filename;
@@ -1997,6 +2225,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
gld_${EMULATION_NAME}_list_options,
gld_${EMULATION_NAME}_recognized_file,
gld_${EMULATION_NAME}_find_potential_libraries,
- NULL /* new_vers_pattern. */
+ NULL, /* new_vers_pattern. */
+ NULL /* extra_map_file_text */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/ppc32elf.em b/binutils-2.25/ld/emultempl/ppc32elf.em
index 6843770c..0e2af126 100644
--- a/binutils-2.25/ld/emultempl/ppc32elf.em
+++ b/binutils-2.25/ld/emultempl/ppc32elf.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2003, 2005, 2007, 2008, 2009, 2010, 2011, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -28,6 +27,7 @@ fragment <<EOF
#include "libbfd.h"
#include "elf32-ppc.h"
#include "ldlex.h"
+#include "ldlang.h"
#define is_ppc_elf(bfd) \
(bfd_get_flavour (bfd) == bfd_target_elf_flavour \
@@ -35,15 +35,30 @@ fragment <<EOF
/* Whether to run tls optimization. */
static int notlsopt = 0;
-static int no_tls_get_addr_opt = 0;
-/* Whether to emit symbols for stubs. */
-static int emit_stub_syms = -1;
-
-/* Chooses the correct place for .plt and .got. */
-static enum ppc_elf_plt_type plt_style = PLT_UNSET;
+/* Choose the correct place for .got. */
static int old_got = 0;
+static bfd_vma pagesize = 0;
+
+static struct ppc_elf_params params = { PLT_UNSET, -1, 0, 0, 0, 0 };
+
+static void
+ppc_after_open_output (void)
+{
+ if (params.emit_stub_syms < 0)
+ params.emit_stub_syms = link_info.emitrelocations || link_info.shared;
+ if (pagesize == 0)
+ pagesize = config.commonpagesize;
+ params.pagesize_p2 = bfd_log2 (pagesize);
+ ppc_elf_link_params (&link_info, &params);
+}
+
+EOF
+
+# No --secure-plt, --bss-plt, or --sdata-got for vxworks.
+if test -z "$VXWORKS_BASE_EM_FILE" ; then
+ fragment <<EOF
static void
ppc_after_open (void)
{
@@ -57,10 +72,7 @@ ppc_after_open (void)
lang_output_section_statement_type *plt_os[2];
lang_output_section_statement_type *got_os[2];
- if (emit_stub_syms < 0)
- emit_stub_syms = link_info.emitrelocations || link_info.shared;
- new_plt = ppc_elf_select_plt_layout (link_info.output_bfd, &link_info,
- plt_style, emit_stub_syms);
+ new_plt = ppc_elf_select_plt_layout (link_info.output_bfd, &link_info);
if (new_plt < 0)
einfo ("%X%P: select_plt_layout problem %E\n");
@@ -102,13 +114,15 @@ ppc_after_open (void)
gld${EMULATION_NAME}_after_open ();
}
+EOF
+fi
+fragment <<EOF
static void
ppc_before_allocation (void)
{
if (is_ppc_elf (link_info.output_bfd))
{
- if (ppc_elf_tls_setup (link_info.output_bfd, &link_info,
- no_tls_get_addr_opt)
+ if (ppc_elf_tls_setup (link_info.output_bfd, &link_info)
&& !notlsopt)
{
if (!ppc_elf_tls_optimize (link_info.output_bfd, &link_info))
@@ -121,9 +135,14 @@ ppc_before_allocation (void)
gld${EMULATION_NAME}_before_allocation ();
+ ppc_elf_maybe_strip_sdata_syms (&link_info);
+
+ if (RELAXATION_ENABLED)
+ params.branch_trampolines = 1;
+
/* Turn on relaxation if executable sections have addresses that
might make branches overflow. */
- if (RELAXATION_DISABLED_BY_DEFAULT)
+ else if (!RELAXATION_DISABLED_BY_USER)
{
bfd_vma low = (bfd_vma) -1;
bfd_vma high = 0;
@@ -150,8 +169,50 @@ ppc_before_allocation (void)
high = o->vma + o->rawsize - 1;
}
if (high > low && high - low > (1 << 25) - 1)
- ENABLE_RELAXATION;
+ params.branch_trampolines = 1;
}
+
+ if (params.ppc476_workaround || params.branch_trampolines)
+ ENABLE_RELAXATION;
+}
+
+/* Replaces default zero fill padding in executable sections with
+ "ba 0" instructions. This works around the ppc476 icache bug if we
+ have a function pointer tail call near the end of a page, some
+ small amount of padding, then the function called at the beginning
+ of the next page. If the "ba 0" is ever executed we should hit a
+ segv, so it's almost as good as an illegal instruction (zero). */
+
+static void
+no_zero_padding (lang_statement_union_type *l)
+{
+ if (l->header.type == lang_padding_statement_enum
+ && l->padding_statement.size != 0
+ && l->padding_statement.output_section != NULL
+ && (l->padding_statement.output_section->flags & SEC_CODE) != 0
+ && l->padding_statement.fill->size == 0)
+ {
+ struct _ppc_fill_type
+ {
+ size_t size;
+ unsigned char data[4];
+ };
+ static struct _ppc_fill_type fill_be = { 4, {0x48, 0, 0, 2} };
+ static struct _ppc_fill_type fill_le = { 4, {2, 0, 0, 0x48} };
+
+ if (bfd_big_endian (link_info.output_bfd))
+ l->padding_statement.fill = (struct _fill_type *) &fill_be;
+ else
+ l->padding_statement.fill = (struct _fill_type *) &fill_le;
+ }
+}
+
+static void
+ppc_finish (void)
+{
+ if (params.ppc476_workaround)
+ lang_for_each_statement (no_zero_padding);
+ finish_default ();
}
EOF
@@ -186,16 +247,24 @@ PARSE_AND_LIST_PROLOGUE=${PARSE_AND_LIST_PROLOGUE}'
#define OPTION_OLD_GOT (OPTION_OLD_PLT + 1)
#define OPTION_STUBSYMS (OPTION_OLD_GOT + 1)
#define OPTION_NO_STUBSYMS (OPTION_STUBSYMS + 1)
+#define OPTION_PPC476_WORKAROUND (OPTION_NO_STUBSYMS + 1)
+#define OPTION_NO_PPC476_WORKAROUND (OPTION_PPC476_WORKAROUND + 1)
'
PARSE_AND_LIST_LONGOPTS=${PARSE_AND_LIST_LONGOPTS}'
{ "emit-stub-syms", no_argument, NULL, OPTION_STUBSYMS },
{ "no-emit-stub-syms", no_argument, NULL, OPTION_NO_STUBSYMS },
{ "no-tls-optimize", no_argument, NULL, OPTION_NO_TLS_OPT },
- { "no-tls-get-addr-optimize", no_argument, NULL, OPTION_NO_TLS_GET_ADDR_OPT },
+ { "no-tls-get-addr-optimize", no_argument, NULL, OPTION_NO_TLS_GET_ADDR_OPT },'
+if test -z "$VXWORKS_BASE_EM_FILE" ; then
+ PARSE_AND_LIST_LONGOPTS=${PARSE_AND_LIST_LONGOPTS}'
{ "secure-plt", no_argument, NULL, OPTION_NEW_PLT },
{ "bss-plt", no_argument, NULL, OPTION_OLD_PLT },
- { "sdata-got", no_argument, NULL, OPTION_OLD_GOT },
+ { "sdata-got", no_argument, NULL, OPTION_OLD_GOT },'
+fi
+PARSE_AND_LIST_LONGOPTS=${PARSE_AND_LIST_LONGOPTS}'
+ { "ppc476-workaround", optional_argument, NULL, OPTION_PPC476_WORKAROUND },
+ { "no-ppc476-workaround", no_argument, NULL, OPTION_NO_PPC476_WORKAROUND },
'
PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}'
@@ -203,20 +272,27 @@ PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}'
--emit-stub-syms Label linker stubs with a symbol.\n\
--no-emit-stub-syms Don'\''t label linker stubs with a symbol.\n\
--no-tls-optimize Don'\''t try to optimize TLS accesses.\n\
- --no-tls-get-addr-optimize Don'\''t use a special __tls_get_addr call.\n\
+ --no-tls-get-addr-optimize Don'\''t use a special __tls_get_addr call.\n'
+if test -z "$VXWORKS_BASE_EM_FILE" ; then
+ PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}'\
--secure-plt Use new-style PLT if possible.\n\
--bss-plt Force old-style BSS PLT.\n\
- --sdata-got Force GOT location just before .sdata.\n"
+ --sdata-got Force GOT location just before .sdata.\n'
+fi
+PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}'\
+ --ppc476-workaround [=pagesize]\n\
+ Avoid a cache bug on ppc476.\n\
+ --no-ppc476-workaround Disable workaround.\n"
));
'
PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
case OPTION_STUBSYMS:
- emit_stub_syms = 1;
+ params.emit_stub_syms = 1;
break;
case OPTION_NO_STUBSYMS:
- emit_stub_syms = 0;
+ params.emit_stub_syms = 0;
break;
case OPTION_NO_TLS_OPT:
@@ -224,15 +300,15 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
break;
case OPTION_NO_TLS_GET_ADDR_OPT:
- no_tls_get_addr_opt = 1;
+ params.no_tls_get_addr_opt = 1;
break;
case OPTION_NEW_PLT:
- plt_style = PLT_NEW;
+ params.plt_style = PLT_NEW;
break;
case OPTION_OLD_PLT:
- plt_style = PLT_OLD;
+ params.plt_style = PLT_OLD;
break;
case OPTION_OLD_GOT:
@@ -241,11 +317,32 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
case OPTION_TRADITIONAL_FORMAT:
notlsopt = 1;
- no_tls_get_addr_opt = 1;
+ params.no_tls_get_addr_opt = 1;
return FALSE;
+
+ case OPTION_PPC476_WORKAROUND:
+ params.ppc476_workaround = 1;
+ if (optarg != NULL)
+ {
+ char *end;
+ pagesize = strtoul (optarg, &end, 0);
+ if (*end
+ || (pagesize < 4096 && pagesize != 0)
+ || pagesize != (pagesize & -pagesize))
+ einfo (_("%P%F: invalid pagesize `%s'\''\n"), optarg);
+ }
+ break;
+
+ case OPTION_NO_PPC476_WORKAROUND:
+ params.ppc476_workaround = 0;
+ break;
'
# Put these extra ppc32elf routines in ld_${EMULATION_NAME}_emulation
#
-LDEMUL_AFTER_OPEN=ppc_after_open
+LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS=ppc_after_open_output
+if test -z "$VXWORKS_BASE_EM_FILE" ; then
+ LDEMUL_AFTER_OPEN=ppc_after_open
+fi
LDEMUL_BEFORE_ALLOCATION=ppc_before_allocation
+LDEMUL_FINISH=ppc_finish
diff --git a/binutils-2.25/ld/emultempl/ppc64elf.em b/binutils-2.25/ld/emultempl/ppc64elf.em
index f2085d7d..59ea7869 100644
--- a/binutils-2.25/ld/emultempl/ppc64elf.em
+++ b/binutils-2.25/ld/emultempl/ppc64elf.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -30,25 +29,29 @@ fragment <<EOF
#include "elf-bfd.h"
#include "elf64-ppc.h"
#include "ldlex.h"
+#include "elf/ppc64.h"
+
+static asection *ppc_add_stub_section (const char *, asection *);
+static void ppc_layout_sections_again (void);
+
+static struct ppc64_elf_params params = { NULL,
+ &ppc_add_stub_section,
+ &ppc_layout_sections_again,
+ 1, 0, 0,
+ ${DEFAULT_PLT_STATIC_CHAIN-0}, -1, 0,
+ 0, -1, -1};
/* Fake input file for stubs. */
static lang_input_statement_type *stub_file;
-static int stub_added = 0;
/* Whether we need to call ppc_layout_sections_again. */
static int need_laying_out = 0;
-/* Maximum size of a group of input sections that can be handled by
- one stub section. A value of +/-1 indicates the bfd back-end
- should use a suitable default size. */
-static bfd_signed_vma group_size = 1;
-
/* Whether to add ".foo" entries for each "foo" in a version script. */
static int dotsyms = 1;
/* Whether to run tls optimization. */
static int no_tls_opt = 0;
-static int no_tls_get_addr_opt = 0;
/* Whether to run opd optimization. */
static int no_opd_opt = 0;
@@ -56,30 +59,14 @@ static int no_opd_opt = 0;
/* Whether to run toc optimization. */
static int no_toc_opt = 0;
-/* Whether to allow multiple toc sections. */
-static int no_multi_toc = 0;
-
/* Whether to sort input toc and got sections. */
static int no_toc_sort = 0;
-/* Set if PLT call stubs should load r11. */
-static int plt_static_chain = ${DEFAULT_PLT_STATIC_CHAIN-0};
-
-/* Set if PLT call stubs need to be thread safe on power7+. */
-static int plt_thread_safe = -1;
-
/* Set if individual PLT call stubs should be aligned. */
static int plt_stub_align = 0;
-/* Whether to emit symbols for stubs. */
-static int emit_stub_syms = -1;
-
static asection *toc_section = 0;
-/* Whether to canonicalize .opd so that there are no overlapping
- .opd entries. */
-static int non_overlapping_opd = 0;
-
/* This is called before the input files are opened. We create a new
fake input file to hold the stub sections. */
@@ -107,7 +94,10 @@ ppc_create_output_section_statements (void)
stub_file->the_bfd->flags |= BFD_LINKER_CREATED;
ldlang_add_file (stub_file);
- if (!ppc64_elf_init_stub_bfd (stub_file->the_bfd, &link_info))
+ params.stub_bfd = stub_file->the_bfd;
+ if (params.save_restore_funcs < 0)
+ params.save_restore_funcs = !link_info.relocatable;
+ if (!ppc64_elf_init_stub_bfd (&link_info, &params))
einfo ("%F%P: can not init BFD: %E\n");
}
@@ -256,10 +246,10 @@ ppc_before_allocation (void)
if (stub_file != NULL)
{
if (!no_opd_opt
- && !ppc64_elf_edit_opd (&link_info, non_overlapping_opd))
+ && !ppc64_elf_edit_opd (&link_info))
einfo ("%X%P: can not edit %s: %E\n", "opd");
- if (ppc64_elf_tls_setup (&link_info, no_tls_get_addr_opt, &no_multi_toc)
+ if (ppc64_elf_tls_setup (&link_info)
&& !no_tls_opt)
{
/* Size the sections. This is premature, but we want to know the
@@ -378,7 +368,6 @@ ppc_add_stub_section (const char *stub_sec_name, asection *input_section)
asection *stub_sec;
flagword flags;
asection *output_section;
- const char *secname;
lang_output_section_statement_type *os;
struct hook_stub_info info;
@@ -392,8 +381,7 @@ ppc_add_stub_section (const char *stub_sec_name, asection *input_section)
goto err_ret;
output_section = input_section->output_section;
- secname = bfd_get_section_name (output_section->owner, output_section);
- os = lang_output_section_find (secname);
+ os = lang_output_section_get (output_section);
info.input_section = input_section;
lang_list_init (&info.add);
@@ -402,7 +390,6 @@ ppc_add_stub_section (const char *stub_sec_name, asection *input_section)
if (info.add.head == NULL)
goto err_ret;
- stub_added = 1;
if (hook_in_stub (&info, &os->children.head))
return stub_sec;
@@ -471,27 +458,20 @@ build_section_lists (lang_statement_union_type *statement)
static void
gld${EMULATION_NAME}_after_allocation (void)
{
- /* bfd_elf_discard_info just plays with data and debugging sections,
- ie. doesn't affect code size, so we can delay resizing the
- sections. It's likely we'll resize everything in the process of
- adding stubs. */
- if (bfd_elf_discard_info (link_info.output_bfd, &link_info))
- need_laying_out = 1;
+ int ret;
/* If generating a relocatable output file, then we don't have any
stubs. */
if (stub_file != NULL && !link_info.relocatable)
{
- int ret = ppc64_elf_setup_section_lists (&link_info,
- &ppc_add_stub_section,
- &ppc_layout_sections_again);
+ ret = ppc64_elf_setup_section_lists (&link_info);
if (ret < 0)
einfo ("%X%P: can not size stub section: %E\n");
- else if (ret > 0)
+ else
{
ppc64_elf_start_multitoc_partition (&link_info);
- if (!no_multi_toc)
+ if (!params.no_multi_toc)
{
toc_section = bfd_get_section_by_name (link_info.output_bfd,
".got");
@@ -500,7 +480,7 @@ gld${EMULATION_NAME}_after_allocation (void)
}
if (ppc64_elf_layout_multitoc (&link_info)
- && !no_multi_toc
+ && !params.no_multi_toc
&& toc_section != NULL)
lang_for_each_statement (build_toc_list);
@@ -512,13 +492,24 @@ gld${EMULATION_NAME}_after_allocation (void)
einfo ("%P: .init/.fini fragments use differing TOC pointers\n");
/* Call into the BFD backend to do the real work. */
- if (!ppc64_elf_size_stubs (&link_info, group_size,
- plt_static_chain, plt_thread_safe,
- plt_stub_align))
+ if (!ppc64_elf_size_stubs (&link_info))
einfo ("%X%P: can not size stub section: %E\n");
}
}
+ /* We can't parse and merge .eh_frame until the glink .eh_frame has
+ been generated. Otherwise the glink .eh_frame CIE won't be
+ merged with other CIEs, and worse, the glink .eh_frame FDEs won't
+ be listed in .eh_frame_hdr. */
+ ret = bfd_elf_discard_info (link_info.output_bfd, &link_info);
+ if (ret < 0)
+ {
+ einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ return;
+ }
+ else if (ret > 0)
+ need_laying_out = 1;
+
if (need_laying_out != -1)
{
gld${EMULATION_NAME}_map_segments (need_laying_out);
@@ -534,34 +525,34 @@ gld${EMULATION_NAME}_after_allocation (void)
static void
gld${EMULATION_NAME}_finish (void)
{
+ char *msg = NULL;
+ char *line, *endline;
+
/* e_entry on PowerPC64 points to the function descriptor for
_start. If _start is missing, default to the first function
descriptor in the .opd section. */
- entry_section = ".opd";
-
- if (stub_added)
+ if (stub_file != NULL
+ && (elf_elfheader (link_info.output_bfd)->e_flags & EF_PPC64_ABI) == 1)
+ entry_section = ".opd";
+
+ if (params.emit_stub_syms < 0)
+ params.emit_stub_syms = 1;
+ if (stub_file != NULL
+ && !link_info.relocatable
+ && !ppc64_elf_build_stubs (&link_info, config.stats ? &msg : NULL))
+ einfo ("%X%P: can not build stubs: %E\n");
+
+ fflush (stdout);
+ for (line = msg; line != NULL; line = endline)
{
- char *msg = NULL;
- char *line, *endline;
-
- if (emit_stub_syms < 0)
- emit_stub_syms = 1;
- if (!ppc64_elf_build_stubs (emit_stub_syms, &link_info,
- config.stats ? &msg : NULL))
- einfo ("%X%P: can not build stubs: %E\n");
-
- fflush (stdout);
- for (line = msg; line != NULL; line = endline)
- {
- endline = strchr (line, '\n');
- if (endline != NULL)
- *endline++ = '\0';
- fprintf (stderr, "%s: %s\n", program_name, line);
- }
- fflush (stderr);
- if (msg != NULL)
- free (msg);
+ endline = strchr (line, '\n');
+ if (endline != NULL)
+ *endline++ = '\0';
+ fprintf (stderr, "%s: %s\n", program_name, line);
}
+ fflush (stderr);
+ if (msg != NULL)
+ free (msg);
ppc64_elf_restore_symbols (&link_info);
finish_default ();
@@ -664,7 +655,9 @@ PARSE_AND_LIST_PROLOGUE=${PARSE_AND_LIST_PROLOGUE}'
#define OPTION_NO_PLT_ALIGN (OPTION_PLT_ALIGN + 1)
#define OPTION_STUBSYMS (OPTION_NO_PLT_ALIGN + 1)
#define OPTION_NO_STUBSYMS (OPTION_STUBSYMS + 1)
-#define OPTION_DOTSYMS (OPTION_NO_STUBSYMS + 1)
+#define OPTION_SAVRES (OPTION_NO_STUBSYMS + 1)
+#define OPTION_NO_SAVRES (OPTION_SAVRES + 1)
+#define OPTION_DOTSYMS (OPTION_NO_SAVRES + 1)
#define OPTION_NO_DOTSYMS (OPTION_DOTSYMS + 1)
#define OPTION_NO_TLS_OPT (OPTION_NO_DOTSYMS + 1)
#define OPTION_NO_TLS_GET_ADDR_OPT (OPTION_NO_TLS_OPT + 1)
@@ -687,6 +680,8 @@ PARSE_AND_LIST_LONGOPTS=${PARSE_AND_LIST_LONGOPTS}'
{ "no-emit-stub-syms", no_argument, NULL, OPTION_NO_STUBSYMS },
{ "dotsyms", no_argument, NULL, OPTION_DOTSYMS },
{ "no-dotsyms", no_argument, NULL, OPTION_NO_DOTSYMS },
+ { "save-restore-funcs", no_argument, NULL, OPTION_SAVRES },
+ { "no-save-restore-funcs", no_argument, NULL, OPTION_NO_SAVRES },
{ "no-tls-optimize", no_argument, NULL, OPTION_NO_TLS_OPT },
{ "no-tls-get-addr-optimize", no_argument, NULL, OPTION_NO_TLS_GET_ADDR_OPT },
{ "no-opd-optimize", no_argument, NULL, OPTION_NO_OPD_OPT },
@@ -741,6 +736,14 @@ PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}'
--no-dotsyms Don'\''t do anything special in version scripts.\n"
));
fprintf (file, _("\
+ --save-restore-funcs Provide register save and restore routines used\n\
+ by gcc -Os code. Defaults to on for normal\n\
+ final link, off for ld -r.\n"
+ ));
+ fprintf (file, _("\
+ --no-save-restore-funcs Don'\''t provide these routines.\n"
+ ));
+ fprintf (file, _("\
--no-tls-optimize Don'\''t try to optimize TLS accesses.\n"
));
fprintf (file, _("\
@@ -768,26 +771,26 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
case OPTION_STUBGROUP_SIZE:
{
const char *end;
- group_size = bfd_scan_vma (optarg, &end, 0);
+ params.group_size = bfd_scan_vma (optarg, &end, 0);
if (*end)
einfo (_("%P%F: invalid number `%s'\''\n"), optarg);
}
break;
case OPTION_PLT_STATIC_CHAIN:
- plt_static_chain = 1;
+ params.plt_static_chain = 1;
break;
case OPTION_NO_PLT_STATIC_CHAIN:
- plt_static_chain = 0;
+ params.plt_static_chain = 0;
break;
case OPTION_PLT_THREAD_SAFE:
- plt_thread_safe = 1;
+ params.plt_thread_safe = 1;
break;
case OPTION_NO_PLT_THREAD_SAFE:
- plt_thread_safe = 0;
+ params.plt_thread_safe = 0;
break;
case OPTION_PLT_ALIGN:
@@ -808,11 +811,11 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
break;
case OPTION_STUBSYMS:
- emit_stub_syms = 1;
+ params.emit_stub_syms = 1;
break;
case OPTION_NO_STUBSYMS:
- emit_stub_syms = 0;
+ params.emit_stub_syms = 0;
break;
case OPTION_DOTSYMS:
@@ -823,12 +826,20 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
dotsyms = 0;
break;
+ case OPTION_SAVRES:
+ params.save_restore_funcs = 1;
+ break;
+
+ case OPTION_NO_SAVRES:
+ params.save_restore_funcs = 0;
+ break;
+
case OPTION_NO_TLS_OPT:
no_tls_opt = 1;
break;
case OPTION_NO_TLS_GET_ADDR_OPT:
- no_tls_get_addr_opt = 1;
+ params.no_tls_get_addr_opt = 1;
break;
case OPTION_NO_OPD_OPT:
@@ -840,7 +851,7 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
break;
case OPTION_NO_MULTI_TOC:
- no_multi_toc = 1;
+ params.no_multi_toc = 1;
break;
case OPTION_NO_TOC_SORT:
@@ -848,17 +859,17 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
break;
case OPTION_NON_OVERLAPPING_OPD:
- non_overlapping_opd = 1;
+ params.non_overlapping_opd = 1;
break;
case OPTION_TRADITIONAL_FORMAT:
no_tls_opt = 1;
- no_tls_get_addr_opt = 1;
+ params.no_tls_get_addr_opt = 1;
no_opd_opt = 1;
no_toc_opt = 1;
- no_multi_toc = 1;
+ params.no_multi_toc = 1;
no_toc_sort = 1;
- plt_static_chain = 1;
+ params.plt_static_chain = 1;
return FALSE;
'
diff --git a/binutils-2.25/ld/emultempl/rxelf.em b/binutils-2.25/ld/emultempl/rxelf.em
index f27e8e64..6386abd3 100644
--- a/binutils-2.25/ld/emultempl/rxelf.em
+++ b/binutils-2.25/ld/emultempl/rxelf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -25,6 +25,8 @@
test -z "$TARGET2_TYPE" && TARGET2_TYPE="rel"
fragment <<EOF
+#include "elf32-rx.h"
+
static bfd_boolean no_flag_mismatch_warnings = TRUE;
static bfd_boolean ignore_lma = TRUE;
@@ -86,3 +88,5 @@ PARSE_AND_LIST_ARGS_CASES='
'
LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS=rx_elf_create_output_section_statements
+
+LDEMUL_EXTRA_MAP_FILE_TEXT=rx_additional_link_map_text
diff --git a/binutils-2.25/ld/emultempl/scoreelf.em b/binutils-2.25/ld/emultempl/scoreelf.em
index 8556b404..fa3c0f79 100644
--- a/binutils-2.25/ld/emultempl/scoreelf.em
+++ b/binutils-2.25/ld/emultempl/scoreelf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
# Contributed by:
# Brain.lin (brain.lin@sunplusct.com)
# Mei Ligang (ligang@sunnorth.com.cn)
diff --git a/binutils-2.25/ld/emultempl/sh64elf.em b/binutils-2.25/ld/emultempl/sh64elf.em
index 17f9ddec..c49fbe83 100644
--- a/binutils-2.25/ld/emultempl/sh64elf.em
+++ b/binutils-2.25/ld/emultempl/sh64elf.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2000-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -249,6 +248,9 @@ sh64_elf_${EMULATION_NAME}_after_allocation (void)
gld${EMULATION_NAME}_after_allocation ();
+ /* Needed, since we create link_orders here. */
+ lang_clear_os_map ();
+
cranges = bfd_get_section_by_name (link_info.output_bfd,
SH64_CRANGES_SECTION_NAME);
diff --git a/binutils-2.25/ld/emultempl/solaris2.em b/binutils-2.25/ld/emultempl/solaris2.em
index 2c24467f..6aff0ba1 100644
--- a/binutils-2.25/ld/emultempl/solaris2.em
+++ b/binutils-2.25/ld/emultempl/solaris2.em
@@ -9,7 +9,7 @@ fragment <<EOF
/* This file is generated by a shell script. DO NOT EDIT! */
/* Solaris 2 emulation code for ${EMULATION_NAME}
- Copyright 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010-2014 Free Software Foundation, Inc.
Written by Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/emultempl/spu_ovl.S b/binutils-2.25/ld/emultempl/spu_ovl.S
index 509397a6..03fecc60 100644
--- a/binutils-2.25/ld/emultempl/spu_ovl.S
+++ b/binutils-2.25/ld/emultempl/spu_ovl.S
@@ -1,6 +1,6 @@
/* Overlay manager for SPU.
- Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2006-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/emultempl/spuelf.em b/binutils-2.25/ld/emultempl/spuelf.em
index e14fa263..1b4d72f0 100644
--- a/binutils-2.25/ld/emultempl/spuelf.em
+++ b/binutils-2.25/ld/emultempl/spuelf.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -90,9 +89,9 @@ static const struct _ovl_stream icache_mgr_stream = {
static int
is_spu_target (void)
{
- extern const bfd_target bfd_elf32_spu_vec;
+ extern const bfd_target spu_elf32_vec;
- return link_info.output_bfd->xvec == &bfd_elf32_spu_vec;
+ return link_info.output_bfd->xvec == &spu_elf32_vec;
}
/* Create our note section. */
@@ -138,8 +137,9 @@ spu_place_special_section (asection *s, asection *o, const char *output_name)
lang_output_section_statement_type *os;
if (o != NULL)
- output_name = o->name;
- os = lang_output_section_find (output_name);
+ os = lang_output_section_get (o);
+ else
+ os = lang_output_section_find (output_name);
if (os == NULL)
{
os = gld${EMULATION_NAME}_place_orphan (s, output_name, 0);
@@ -447,7 +447,7 @@ EOF
if grep -q 'ld_elf.*ppc.*_emulation' ldemul-list.h; then
fragment <<EOF
-#include <errno.h>
+#include "safe-ctype.h"
#include "filenames.h"
#include "libiberty.h"
diff --git a/binutils-2.25/ld/emultempl/sunos.em b/binutils-2.25/ld/emultempl/sunos.em
index af11027a..e57e1f0e 100644
--- a/binutils-2.25/ld/emultempl/sunos.em
+++ b/binutils-2.25/ld/emultempl/sunos.em
@@ -9,9 +9,7 @@ fragment <<EOF
/* This file is is generated by a shell script. DO NOT EDIT! */
/* SunOS emulation code for ${EMULATION_NAME}
- Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>
SunOS shared library support by Ian Lance Taylor <ian@cygnus.com>
@@ -960,7 +958,7 @@ static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
@@ -1035,6 +1033,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
NULL, /* list options */
NULL, /* recognized file */
NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/tic6xdsbt.em b/binutils-2.25/ld/emultempl/tic6xdsbt.em
index 01923b3f..ff591f13 100644
--- a/binutils-2.25/ld/emultempl/tic6xdsbt.em
+++ b/binutils-2.25/ld/emultempl/tic6xdsbt.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -36,19 +36,19 @@ static int merge_exidx_entries = -1;
static int
is_tic6x_target (void)
{
- extern const bfd_target bfd_elf32_tic6x_le_vec;
- extern const bfd_target bfd_elf32_tic6x_be_vec;
- extern const bfd_target bfd_elf32_tic6x_linux_le_vec;
- extern const bfd_target bfd_elf32_tic6x_linux_be_vec;
- extern const bfd_target bfd_elf32_tic6x_elf_le_vec;
- extern const bfd_target bfd_elf32_tic6x_elf_be_vec;
-
- return (link_info.output_bfd->xvec == &bfd_elf32_tic6x_le_vec
- || link_info.output_bfd->xvec == &bfd_elf32_tic6x_be_vec
- || link_info.output_bfd->xvec == &bfd_elf32_tic6x_linux_le_vec
- || link_info.output_bfd->xvec == &bfd_elf32_tic6x_linux_be_vec
- || link_info.output_bfd->xvec == &bfd_elf32_tic6x_elf_le_vec
- || link_info.output_bfd->xvec == &bfd_elf32_tic6x_elf_be_vec);
+ extern const bfd_target tic6x_elf32_le_vec;
+ extern const bfd_target tic6x_elf32_be_vec;
+ extern const bfd_target tic6x_elf32_linux_le_vec;
+ extern const bfd_target tic6x_elf32_linux_be_vec;
+ extern const bfd_target tic6x_elf32_c6000_le_vec;
+ extern const bfd_target tic6x_elf32_c6000_be_vec;
+
+ return (link_info.output_bfd->xvec == &tic6x_elf32_le_vec
+ || link_info.output_bfd->xvec == &tic6x_elf32_be_vec
+ || link_info.output_bfd->xvec == &tic6x_elf32_linux_le_vec
+ || link_info.output_bfd->xvec == &tic6x_elf32_linux_be_vec
+ || link_info.output_bfd->xvec == &tic6x_elf32_c6000_le_vec
+ || link_info.output_bfd->xvec == &tic6x_elf32_c6000_be_vec);
}
/* Pass params to backend. */
@@ -95,6 +95,7 @@ static void
gld${EMULATION_NAME}_after_allocation (void)
{
int layout_changed = 0;
+ int ret;
if (!link_info.relocatable)
{
@@ -149,7 +150,13 @@ gld${EMULATION_NAME}_after_allocation (void)
/* bfd_elf32_discard_info just plays with debugging sections,
ie. doesn't affect any code, so we can delay resizing the
sections. */
- if (bfd_elf_discard_info (link_info.output_bfd, & link_info))
+ ret = bfd_elf_discard_info (link_info.output_bfd, & link_info);
+ if (ret < 0)
+ {
+ einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ return;
+ }
+ else if (ret > 0)
layout_changed = 1;
gld${EMULATION_NAME}_map_segments (layout_changed);
diff --git a/binutils-2.25/ld/emultempl/ticoff.em b/binutils-2.25/ld/emultempl/ticoff.em
index dff1d701..c403d560 100644
--- a/binutils-2.25/ld/emultempl/ticoff.em
+++ b/binutils-2.25/ld/emultempl/ticoff.em
@@ -3,8 +3,7 @@
(echo;echo;echo;echo)>e${EMULATION_NAME}.c # there, now line numbers match ;-)
fragment <<EOF
/* This file is part of GLD, the Gnu Linker.
- Copyright 1999, 2000, 2002, 2003, 2004, 2005, 2007
- Free Software Foundation, Inc.
+ Copyright (C) 1999-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -106,7 +105,7 @@ gld_${EMULATION_NAME}_before_parse(void)
static char *
gld_${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test -n "$COMPILE_IN"
+if test x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
@@ -181,6 +180,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
gld_${EMULATION_NAME}_list_options,
NULL, /* recognized file */
NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/vanilla.em b/binutils-2.25/ld/emultempl/vanilla.em
index 4a83dfd2..f8ade99c 100644
--- a/binutils-2.25/ld/emultempl/vanilla.em
+++ b/binutils-2.25/ld/emultempl/vanilla.em
@@ -2,8 +2,7 @@
# It does some substitutions.
fragment <<EOF
/* A vanilla emulation with no defaults
- Copyright 1991, 1992, 1994, 2000, 2001, 2002, 2003, 2005, 2007, 2008
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain steve@cygnus.com
This file is part of the GNU Binutils.
@@ -82,6 +81,7 @@ struct ld_emulation_xfer_struct ld_vanilla_emulation =
NULL, /* list options */
NULL, /* recognized file */
NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
diff --git a/binutils-2.25/ld/emultempl/vms.em b/binutils-2.25/ld/emultempl/vms.em
index 30c1a160..40be66d8 100644
--- a/binutils-2.25/ld/emultempl/vms.em
+++ b/binutils-2.25/ld/emultempl/vms.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2010, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 2010-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -58,7 +57,7 @@ gld${EMULATION_NAME}_open_dynamic_archive (const char *arch ATTRIBUTE_UNUSED,
{
char *string;
- if (! entry->flags.maybe_archive)
+ if (! entry->flags.maybe_archive || entry->flags.full_name_provided)
return FALSE;
string = (char *) xmalloc (strlen (search->name)
@@ -208,9 +207,12 @@ gld${EMULATION_NAME}_before_allocation (void)
static void
gld${EMULATION_NAME}_after_allocation (void)
{
- bfd_boolean need_layout = bfd_elf_discard_info (link_info.output_bfd,
- &link_info);
- gld${EMULATION_NAME}_map_segments (need_layout);
+ int need_layout = bfd_elf_discard_info (link_info.output_bfd, &link_info);
+
+ if (need_layout < 0)
+ einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ else
+ gld${EMULATION_NAME}_map_segments (need_layout);
}
static void
diff --git a/binutils-2.25/ld/emultempl/vxworks.em b/binutils-2.25/ld/emultempl/vxworks.em
index 7a21ac3f..4bdc0889 100644
--- a/binutils-2.25/ld/emultempl/vxworks.em
+++ b/binutils-2.25/ld/emultempl/vxworks.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/emultempl/xtensaelf.em b/binutils-2.25/ld/emultempl/xtensaelf.em
index 1e6eb075..948d18dc 100644
--- a/binutils-2.25/ld/emultempl/xtensaelf.em
+++ b/binutils-2.25/ld/emultempl/xtensaelf.em
@@ -1,6 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-# Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -1311,7 +1310,7 @@ is_inconsistent_linkonce_section (asection *sec)
for Tensilica's XCC compiler. */
name = sec_name + linkonce_len;
if (CONST_STRNEQ (name, "prop."))
- name = strchr (name + 5, '.') + 1;
+ name = strchr (name + 5, '.') ? strchr (name + 5, '.') + 1 : name + 5;
else if (name[1] == '.'
&& (name[0] == 'p' || name[0] == 'e' || name[0] == 'h'))
name += 2;
diff --git a/binutils-2.25/ld/emultempl/z80.em b/binutils-2.25/ld/emultempl/z80.em
index eeb32138..9411f5bd 100644
--- a/binutils-2.25/ld/emultempl/z80.em
+++ b/binutils-2.25/ld/emultempl/z80.em
@@ -1,7 +1,7 @@
# This shell script emits C code -*- C -*-
# to keep track of the machine type of Z80 object files
# It does some substitutions.
-# Copyright 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2005-2014 Free Software Foundation, Inc.
# This file is part of the GNU Binutils.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/binutils-2.25/ld/gen-doc.texi b/binutils-2.25/ld/gen-doc.texi
index a2c88dbb..2a76ae74 100644
--- a/binutils-2.25/ld/gen-doc.texi
+++ b/binutils-2.25/ld/gen-doc.texi
@@ -1,5 +1,4 @@
-@c Copyright 2012
-@c Free Software Foundation, Inc.
+@c Copyright (C) 2012-2014 Free Software Foundation, Inc.
@c For copying conditions, see the file ld.texinfo.
@c ------------------------------ CONFIGURATION VARS:
@@ -17,6 +16,8 @@
@set MIPS
@set MMIX
@set MSP430
+@set NDS32
+@set NIOSII
@set POWERPC
@set POWERPC64
@set Renesas
diff --git a/binutils-2.25/ld/genscripts.sh b/binutils-2.25/ld/genscripts.sh
index f9e7d4ef..499607ab 100755
--- a/binutils-2.25/ld/genscripts.sh
+++ b/binutils-2.25/ld/genscripts.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# genscripts.sh - generate the ld-emulation-target specific files
-# Copyright 2004, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the Gnu Linker.
#
@@ -33,8 +33,7 @@
# enable_initfini_array \
# this_emulation \
# optional:
-# tool_dir \
-# customizer_script
+# tool_dir
#
# Sample usage:
#
@@ -93,14 +92,9 @@ use_sysroot=$1
ENABLE_INITFINI_ARRAY=$2
EMULATION_NAME=$3
TOOL_LIB=$4
-CUSTOMIZER_SCRIPT=$5
-
-if [ "x${CUSTOMIZER_SCRIPT}" = "x" ] ; then
- CUSTOMIZER_SCRIPT=${EMULATION_NAME}
-fi
-CUSTOMIZER_SCRIPT="${srcdir}/emulparams/${CUSTOMIZER_SCRIPT}.sh"
# Include the emulation-specific parameters:
+CUSTOMIZER_SCRIPT="${srcdir}/emulparams/${EMULATION_NAME}.sh"
. ${CUSTOMIZER_SCRIPT}
if test -d ldscripts; then
@@ -160,6 +154,7 @@ append_to_lib_path()
if [ "x${use_sysroot}" = "xyes" ] ; then
lib="=${lib}"
fi
+ skip_lib=no
if test -n "${LIBPATH_SUFFIX}"; then
case "${lib}" in
*${LIBPATH_SUFFIX})
@@ -169,18 +164,27 @@ append_to_lib_path()
*) lib_path1=${lib_path1}:${lib} ;;
esac ;;
*)
- case :${lib_path1}: in
- *:${lib}${LIBPATH_SUFFIX}:*) ;;
- ::) lib_path1=${lib}${LIBPATH_SUFFIX} ;;
- *) lib_path1=${lib_path1}:${lib}${LIBPATH_SUFFIX} ;;
- esac ;;
+ if test -n "${LIBPATH_SUFFIX_SKIP}"; then
+ case "${lib}" in
+ *${LIBPATH_SUFFIX_SKIP}) skip_lib=yes ;;
+ esac
+ fi
+ if test "${skip_lib}" = "no"; then
+ case :${lib_path1}: in
+ *:${lib}${LIBPATH_SUFFIX}:*) ;;
+ ::) lib_path1=${lib}${LIBPATH_SUFFIX} ;;
+ *) lib_path1=${lib_path1}:${lib}${LIBPATH_SUFFIX} ;;
+ esac
+ fi ;;
+ esac
+ fi
+ if test "${skip_lib}" = "no"; then
+ case :${lib_path1}:${lib_path2}: in
+ *:${lib}:*) ;;
+ *::) lib_path2=${lib} ;;
+ *) lib_path2=${lib_path2}:${lib} ;;
esac
fi
- case :${lib_path1}:${lib_path2}: in
- *:${lib}:*) ;;
- *::) lib_path2=${lib} ;;
- *) lib_path2=${lib_path2}:${lib} ;;
- esac
done
fi
}
@@ -224,8 +228,7 @@ case :${lib_path1}:${lib_path2}: in
*) LIB_PATH=${lib_path1}:${lib_path2} ;;
esac
-# For Android, comment out LIB_SEARCH_DIRS.
-#LIB_SEARCH_DIRS=`echo ${LIB_PATH} | sed -e 's/:/ /g' -e 's/\([^ ][^ ]*\)/SEARCH_DIR(\\"\1\\");/g'`
+LIB_SEARCH_DIRS=`echo ${LIB_PATH} | sed -e 's/:/ /g' -e 's/\([^ ][^ ]*\)/SEARCH_DIR(\\"\1\\");/g'`
# We need it for testsuite.
set $EMULATION_LIBPATH
@@ -291,7 +294,6 @@ LD_FLAG=
DATA_ALIGNMENT=${DATA_ALIGNMENT_}
RELOCATING=" "
( echo "/* Default linker script, for normal executables */"
- echo "/* Modified for Android. */"
. ${CUSTOMIZER_SCRIPT}
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.x
@@ -345,7 +347,6 @@ if test -n "$GENERATE_SHLIB_SCRIPT"; then
DATA_ALIGNMENT=${DATA_ALIGNMENT_sc-${DATA_ALIGNMENT}}
COMBRELOC=ldscripts/${EMULATION_NAME}.xsc.tmp
( echo "/* Script for --shared -z combreloc: shared library, combine & sort relocs */"
- echo "/* Modified for Android. */"
. ${CUSTOMIZER_SCRIPT}
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xsc
@@ -406,8 +407,8 @@ if test -n "$GENERATE_AUTO_IMPORT_SCRIPT"; then
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xa
fi
-case " $EMULATION_LIBPATH " in
- *" ${EMULATION_NAME} "*) COMPILE_IN=true;;
+case "$COMPILE_IN: $EMULATION_LIBPATH " in
+ :*" ${EMULATION_NAME} "*) COMPILE_IN=yes;;
esac
# PR ld/5652:
diff --git a/binutils-2.25/ld/h8-doc.texi b/binutils-2.25/ld/h8-doc.texi
index 023f2cc6..6dbca1f8 100644
--- a/binutils-2.25/ld/h8-doc.texi
+++ b/binutils-2.25/ld/h8-doc.texi
@@ -1,5 +1,4 @@
-@c Copyright 2012
-@c Free Software Foundation, Inc.
+@c Copyright (C) 2012-2014 Free Software Foundation, Inc.
@c For copying conditions, see the file ld.texinfo.
@c ------------------------------ CONFIGURATION VARS:
diff --git a/binutils-2.25/ld/ld.h b/binutils-2.25/ld/ld.h
index 4acb7219..f773ce78 100644
--- a/binutils-2.25/ld/ld.h
+++ b/binutils-2.25/ld/ld.h
@@ -1,7 +1,5 @@
/* ld.h -- general linker header file
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -104,23 +102,6 @@ struct wildcard_list {
struct wildcard_spec spec;
};
-struct map_symbol_def {
- struct bfd_link_hash_entry *entry;
- struct map_symbol_def *next;
-};
-
-/* The initial part of fat_user_section_struct has to be idential with
- lean_user_section_struct. */
-typedef struct fat_user_section_struct {
- /* For input sections, when writing a map file: head / tail of a linked
- list of hash table entries for symbols defined in this section. */
- struct map_symbol_def *map_symbol_def_head;
- struct map_symbol_def **map_symbol_def_tail;
- unsigned long map_symbol_def_count;
-} fat_section_userdata_type;
-
-#define get_userdata(x) ((x)->userdata)
-
#define BYTE_SIZE (1)
#define SHORT_SIZE (2)
#define LONG_SIZE (4)
diff --git a/binutils-2.25/ld/ld.texinfo b/binutils-2.25/ld/ld.texinfo
index e4788f67..bb386e40 100644
--- a/binutils-2.25/ld/ld.texinfo
+++ b/binutils-2.25/ld/ld.texinfo
@@ -1,6 +1,6 @@
\input texinfo
@setfilename ld.info
-@c Copyright 1991-2013 Free Software Foundation, Inc.
+@c Copyright (C) 1991-2014 Free Software Foundation, Inc.
@syncodeindex ky cp
@c man begin INCLUDE
@include configdoc.texi
@@ -29,6 +29,8 @@
@set MIPS
@set MMIX
@set MSP430
+@set NDS32
+@set NIOSII
@set POWERPC
@set POWERPC64
@set Renesas
@@ -53,7 +55,7 @@ This file documents the @sc{gnu} linker LD
@end ifset
version @value{VERSION}.
-Copyright @copyright{} 1991-2013 Free Software Foundation, Inc.
+Copyright @copyright{} 1991-2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
@@ -90,7 +92,7 @@ section entitled ``GNU Free Documentation License''.
@vskip 0pt plus 1filll
@c man begin COPYRIGHT
-Copyright @copyright{} 1991-2013 Free Software Foundation, Inc.
+Copyright @copyright{} 1991-2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
@@ -704,7 +706,8 @@ how @command{ld} searches for a linker script unless @option{-T}
option is specified.
If @var{searchdir} begins with @code{=}, then the @code{=} will be replaced
-by the @dfn{sysroot prefix}, a path specified when the linker is configured.
+by the @dfn{sysroot prefix}, controlled by the @samp{--sysroot} option, or
+specified when the linker is configured.
@ifset UsesEnvVars
The default set of paths searched (without being specified with
@@ -825,6 +828,34 @@ the linker may make more use of this option. Also currently there is
no difference in the linker's behaviour for different non-zero values
of this option. Again this may change with future releases.
+@kindex --push-state
+@cindex push state governing input file handling
+@item --push-state
+The @option{--push-state} allows to preserve the current state of the
+flags which govern the input file handling so that they can all be
+restored with one corresponding @option{--pop-state} option.
+
+The option which are covered are: @option{-Bdynamic}, @option{-Bstatic},
+@option{-dn}, @option{-dy}, @option{-call_shared}, @option{-non_shared},
+@option{-static}, @option{-N}, @option{-n}, @option{--whole-archive},
+@option{--no-whole-archive}, @option{-r}, @option{-Ur},
+@option{--copy-dt-needed-entries}, @option{--no-copy-dt-needed-entries},
+@option{--as-needed}, @option{--no-as-needed}, and @option{-a}.
+
+One target for this option are specifications for @file{pkg-config}. When
+used with the @option{--libs} option all possibly needed libraries are
+listed and then possibly linked with all the time. It is better to return
+something as follows:
+
+@smallexample
+-Wl,--push-state,--as-needed -libone -libtwo -Wl,--pop-state
+@end smallexample
+
+@kindex --pop-state
+@cindex pop state governing input file handling
+Undoes the effect of --push-state, restores the previous values of the
+flags governing input file handling.
+
@kindex -q
@kindex --emit-relocs
@cindex retain relocations in final executable
@@ -1102,6 +1133,9 @@ Specify a stack size for in an ELF @code{PT_GNU_STACK} segment.
Specifying zero will override any default non-zero sized
@code{PT_GNU_STACK} segment creation.
+@item bndplt
+Always generate BND prefix in PLT entries. Supported for Linux/x86_64.
+
@end table
Other keywords are ignored for Solaris compatibility.
@@ -1149,8 +1183,8 @@ on the command line, regardless of whether the library is actually
needed or not. @option{--as-needed} causes a DT_NEEDED tag to only be
emitted for a library that @emph{at that point in the link} satisfies a
non-weak undefined symbol reference from a regular object file or, if
-the library is not found in the DT_NEEDED lists of other libraries, a
-non-weak undefined symbol reference from another dynamic library.
+the library is not found in the DT_NEEDED lists of other needed libraries, a
+non-weak undefined symbol reference from another needed dynamic library.
Object files or libraries appearing on the command line @emph{after}
the library in question do not affect whether the library is seen as
needed. This is similar to the rules for extraction of object files
@@ -1604,6 +1638,9 @@ This option is only supported on a few targets.
@ifset M68HC11
@xref{M68HC11/68HC12,,@command{ld} and the 68HC11 and 68HC12}.
@end ifset
+@ifset NIOSII
+@xref{Nios II,,@command{ld} and the Altera Nios II}.
+@end ifset
@ifset POWERPC
@xref{PowerPC ELF32,,@command{ld} and PowerPC 32-bit ELF Support}.
@end ifset
@@ -1838,8 +1875,8 @@ Same as @option{--section-start}, with @code{.bss}, @code{.data} or
@kindex -Ttext-segment=@var{org}
@item -Ttext-segment=@var{org}
@cindex text segment origin, cmd line
-When creating an ELF executable or shared object, it will set the address
-of the first byte of the text segment.
+When creating an ELF executable, it will set the address of the first
+byte of the text segment.
@kindex -Trodata-segment=@var{org}
@item -Trodata-segment=@var{org}
@@ -2155,16 +2192,16 @@ enable other tradeoffs in future versions of the linker.
@kindex --build-id=@var{style}
@item --build-id
@itemx --build-id=@var{style}
-Request creation of @code{.note.gnu.build-id} ELF note section.
-The contents of the note are unique bits identifying this linked
-file. @var{style} can be @code{uuid} to use 128 random bits,
-@code{sha1} to use a 160-bit @sc{SHA1} hash on the normative
-parts of the output contents, @code{md5} to use a 128-bit
-@sc{MD5} hash on the normative parts of the output contents, or
-@code{0x@var{hexstring}} to use a chosen bit string specified as
-an even number of hexadecimal digits (@code{-} and @code{:}
-characters between digit pairs are ignored). If @var{style} is
-omitted, @code{sha1} is used.
+Request the creation of a @code{.note.gnu.build-id} ELF note section
+or a @code{.build-id} COFF section. The contents of the note are
+unique bits identifying this linked file. @var{style} can be
+@code{uuid} to use 128 random bits, @code{sha1} to use a 160-bit
+@sc{SHA1} hash on the normative parts of the output contents,
+@code{md5} to use a 128-bit @sc{MD5} hash on the normative parts of
+the output contents, or @code{0x@var{hexstring}} to use a chosen bit
+string specified as an even number of hexadecimal digits (@code{-} and
+@code{:} characters between digit pairs are ignored). If @var{style}
+is omitted, @code{sha1} is used.
The @code{md5} and @code{sha1} styles produces an identifier
that is always the same in an identical output file, but will be
@@ -2410,11 +2447,12 @@ creation step.
@kindex --enable-auto-image-base
@item --enable-auto-image-base
-Automatically choose the image base for DLLs, unless one is specified
-using the @code{--image-base} argument. By using a hash generated
-from the dllname to create unique image bases for each DLL, in-memory
-collisions and relocations which can delay program execution are
-avoided.
+@itemx --enable-auto-image-base=@var{value}
+Automatically choose the image base for DLLs, optionally starting with base
+@var{value}, unless one is specified using the @code{--image-base} argument.
+By using a hash generated from the dllname to create unique image bases
+for each DLL, in-memory collisions and relocations which can delay program
+execution are avoided.
[This option is specific to the i386 PE targeted port of the linker]
@kindex --disable-auto-image-base
@@ -2621,6 +2659,11 @@ The following options set flags in the @code{DllCharacteristics} field
of the PE file header:
[These options are specific to PE targeted ports of the linker]
+@kindex --high-entropy-va
+@item --high-entropy-va
+Image is compatible with 64-bit address space layout randomization
+(ASLR).
+
@kindex --dynamicbase
@item --dynamicbase
The image base address may be relocated using address space layout
@@ -2657,6 +2700,17 @@ The driver uses the MS Windows Driver Model.
@item --tsaware
The image is Terminal Server aware.
+@kindex --insert-timestamp
+@item --insert-timestamp
+@itemx --no-insert-timestamp
+Insert a real timestamp into the image. This is the default behaviour
+as it matches legacy code and it means that the image will work with
+other, proprietary tools. The problem with this default is that it
+will result in slightly different images being produced each tiem the
+same sources are linked. The option @option{--no-insert-timestamp}
+can be used to insert a zero value for the timestamp, this ensuring
+that binaries produced from indentical sources will compare
+identically.
@end table
@c man end
@@ -3092,7 +3146,9 @@ with the @samp{/} character, and the script being processed was
located inside the @dfn{sysroot prefix}, the filename will be looked
for in the @dfn{sysroot prefix}. Otherwise, the linker will try to
open the file in the current directory. If it is not found, the
-linker will search through the archive library search path. See the
+linker will search through the archive library search path.
+The @dfn{sysroot prefix} can also be forced by specifying @code{=}
+as the first character in the filename path. See also the
description of @samp{-L} in @ref{Options,,Command Line Options}.
If you use @samp{INPUT (-l@var{file})}, @command{ld} will transform the
@@ -3777,7 +3833,7 @@ The full description of an output section looks like this:
@var{output-section-command}
@var{output-section-command}
@dots{}
- @} [>@var{region}] [AT>@var{lma_region}] [:@var{phdr} :@var{phdr} @dots{}] [=@var{fillexp}]
+ @} [>@var{region}] [AT>@var{lma_region}] [:@var{phdr} :@var{phdr} @dots{}] [=@var{fillexp}] [,]
@end group
@end smallexample
@@ -3785,6 +3841,8 @@ Most output sections do not use most of the optional section attributes.
The whitespace around @var{section} is required, so that the section
name is unambiguous. The colon and the curly braces are also required.
+The comma at the end may be required if a @var{fillexp} is used and
+the next @var{sections-command} looks like a continuation of the expression.
The line breaks and other white space are optional.
Each @var{output-section-command} may be one of the following:
@@ -4400,9 +4458,9 @@ scripts.
@cindex discarding sections
@cindex sections, discarding
@cindex removing sections
-The linker will not create output sections with no contents. This is
-for convenience when referring to input sections that may or may not
-be present in any of the input files. For example:
+The linker will not normally create output sections with no contents.
+This is for convenience when referring to input sections that may or
+may not be present in any of the input files. For example:
@smallexample
.foo : @{ *(.foo) @}
@end smallexample
@@ -4410,7 +4468,12 @@ be present in any of the input files. For example:
will only create a @samp{.foo} section in the output file if there is a
@samp{.foo} section in at least one input file, and if the input
sections are not all empty. Other link script directives that allocate
-space in an output section will also create the output section.
+space in an output section will also create the output section. So
+too will assignments to dot even if the assignment does not create
+space, except for @samp{. = 0}, @samp{. = . + 0}, @samp{. = sym},
+@samp{. = . + sym} and @samp{. = ALIGN (. != 0, expr, 1)} when
+@samp{sym} is an absolute symbol of value 0 defined in the script.
+This allows you to force output of an empty section with @samp{. = .}.
The linker will ignore address assignments (@pxref{Output Section Address})
on discarded output sections, except when the linker script defines
@@ -4594,10 +4657,8 @@ for (dst = &_bstart; dst< &_bend; dst++)
@cindex forcing output section alignment
@cindex output section alignment
You can increase an output section's alignment by using ALIGN. As an
-alternative you can force the output section alignment to the maximum alignment
-of all its input sections with ALIGN_WITH_INPUT. The alignment forced by
-ALIGN_WITH_INPUT is used even in case the load and virtual memory regions are
-different.
+alternative you can enforce that the difference between the VMA and LMA remains
+intact throughout this output section with the ALIGN_WITH_INPUT attribute.
@node Forced Input Alignment
@subsubsection Forced Input Alignment
@@ -4715,7 +4776,7 @@ OVERLAY [@var{start}] : [NOCROSSREFS] [AT ( @var{ldaddr} )]
@dots{}
@} [:@var{phdr}@dots{}] [=@var{fill}]
@dots{}
- @} [>@var{region}] [:@var{phdr}@dots{}] [=@var{fill}]
+ @} [>@var{region}] [:@var{phdr}@dots{}] [=@var{fill}] [,]
@end group
@end smallexample
@@ -4726,6 +4787,9 @@ those within the general @code{SECTIONS} construct (@pxref{SECTIONS}),
except that no addresses and no memory regions may be defined for
sections within an @code{OVERLAY}.
+The comma at the end may be required if a @var{fill} is used and
+the next @var{sections-command} looks like a continuation of the expression.
+
The sections are all defined with the same starting address. The load
addresses of the sections are arranged such that they are consecutive in
memory starting at the load address used for the @code{OVERLAY} as a
@@ -5910,13 +5974,15 @@ evaluation purposes.
@item DATA_SEGMENT_RELRO_END(@var{offset}, @var{exp})
@kindex DATA_SEGMENT_RELRO_END(@var{offset}, @var{exp})
This defines the end of the @code{PT_GNU_RELRO} segment when
-@samp{-z relro} option is used. Second argument is returned.
+@samp{-z relro} option is used.
When @samp{-z relro} option is not present, @code{DATA_SEGMENT_RELRO_END}
does nothing, otherwise @code{DATA_SEGMENT_ALIGN} is padded so that
@var{exp} + @var{offset} is aligned to the most commonly used page
boundary for particular target. If present in the linker script,
it must always come in between @code{DATA_SEGMENT_ALIGN} and
-@code{DATA_SEGMENT_END}.
+@code{DATA_SEGMENT_END}. Evaluates to the second argument plus any
+padding needed at the end of the @code{PT_GNU_RELRO} segment due to
+section alignment.
@smallexample
. = DATA_SEGMENT_RELRO_END(24, .);
@@ -6089,6 +6155,12 @@ functionality are not listed.
@ifset MSP430
* MSP430:: @command{ld} and MSP430
@end ifset
+@ifset NDS32
+* NDS32:: @command{ld} and NDS32
+@end ifset
+@ifset NIOSII
+* Nios II:: @command{ld} and the Altera Nios II
+@end ifset
@ifset POWERPC
* PowerPC ELF32:: @command{ld} and PowerPC 32-bit ELF Support
@end ifset
@@ -6236,17 +6308,6 @@ instructions into @code{bal} instructions when it determines that the
target subroutine is a leaf routine (that is, the target subroutine does
not itself call any subroutines).
-@cindex Cortex-A8 erratum workaround
-@kindex --fix-cortex-a8
-@kindex --no-fix-cortex-a8
-The @samp{--fix-cortex-a8} switch enables a link-time workaround for an erratum in certain Cortex-A8 processors. The workaround is enabled by default if you are targeting the ARM v7-A architecture profile. It can be enabled otherwise by specifying @samp{--fix-cortex-a8}, or disabled unconditionally by specifying @samp{--no-fix-cortex-a8}.
-
-The erratum only affects Thumb-2 code. Please contact ARM for further details.
-
-@kindex --merge-exidx-entries
-@kindex --no-merge-exidx-entries
-The @samp{--no-merge-exidx-entries} switch disables the merging of adjacent exidx entries in debuginfo.
-
@ifclear GENERIC
@lowersections
@end ifclear
@@ -6505,6 +6566,31 @@ Farcalls stubs insertion is fully supported for the ARM-EABI target
only, because it relies on object files properties not present
otherwise.
+@cindex Cortex-A8 erratum workaround
+@kindex --fix-cortex-a8
+@kindex --no-fix-cortex-a8
+The @samp{--fix-cortex-a8} switch enables a link-time workaround for an erratum in certain Cortex-A8 processors. The workaround is enabled by default if you are targeting the ARM v7-A architecture profile. It can be enabled otherwise by specifying @samp{--fix-cortex-a8}, or disabled unconditionally by specifying @samp{--no-fix-cortex-a8}.
+
+The erratum only affects Thumb-2 code. Please contact ARM for further details.
+
+@cindex Cortex-A53 erratum 835769 workaround
+@kindex --fix-cortex-a53-835769
+@kindex --no-fix-cortex-a53-835769
+The @samp{--fix-cortex-a53-835769} switch enables a link-time workaround for erratum 835769 present on certain early revisions of Cortex-A53 processors. The workaround is disabled by default. It can be enabled by specifying @samp{--fix-cortex-a53-835769}, or disabled unconditionally by specifying @samp{--no-fix-cortex-a53-835769}.
+
+Please contact ARM for further details.
+
+@kindex --merge-exidx-entries
+@kindex --no-merge-exidx-entries
+@cindex Merging exidx entries
+The @samp{--no-merge-exidx-entries} switch disables the merging of adjacent exidx entries in debuginfo.
+
+@kindex --long-plt
+@cindex 32-bit PLT entries
+The @samp{--long-plt} option enables the use of 16 byte PLT entries
+which support up to 4Gb of code. The default is to use 12 byte PLT
+entries which only support 512Mb of code.
+
@ifclear GENERIC
@lowersections
@end ifclear
@@ -6679,6 +6765,91 @@ The last two sections are used by gcc.
@end ifclear
@end ifset
+@ifset NDS32
+@ifclear GENERIC
+@raisesections
+@end ifclear
+
+@node NDS32
+@section @code{ld} and NDS32
+@kindex relaxing on NDS32
+For NDS32, there are some options to select relaxation behavior. The linker
+relaxes objects according to these options.
+
+@table @code
+@item @samp{--m[no-]fp-as-gp}
+Disable/enable fp-as-gp relaxation.
+
+@item @samp{--mexport-symbols=FILE}
+Exporting symbols and their address into FILE as linker script.
+
+@item @samp{--m[no-]ex9}
+Disable/enable link-time EX9 relaxation.
+
+@item @samp{--mexport-ex9=FILE}
+Export the EX9 table after linking.
+
+@item @samp{--mimport-ex9=FILE}
+Import the Ex9 table for EX9 relaxation.
+
+@item @samp{--mupdate-ex9}
+Update the existing EX9 table.
+
+@item @samp{--mex9-limit=NUM}
+Maximum number of entries in the ex9 table.
+
+@item @samp{--mex9-loop-aware}
+Avoid generating the EX9 instruction inside the loop.
+
+@item @samp{--m[no-]ifc}
+Disable/enable the link-time IFC optimization.
+
+@item @samp{--mifc-loop-aware}
+Avoid generating the IFC instruction inside the loop.
+@end table
+
+@ifclear GENERIC
+@lowersections
+@end ifclear
+@end ifset
+
+@ifset NIOSII
+@ifclear GENERIC
+@raisesections
+@end ifclear
+
+@node Nios II
+@section @command{ld} and the Altera Nios II
+@cindex Nios II call relaxation
+@kindex --relax on Nios II
+
+Call and immediate jump instructions on Nios II processors are limited to
+transferring control to addresses in the same 256MB memory segment,
+which may result in @command{ld} giving
+@samp{relocation truncated to fit} errors with very large programs.
+The command-line option @option{--relax} enables the generation of
+trampolines that can access the entire 32-bit address space for calls
+outside the normal @code{call} and @code{jmpi} address range. These
+trampolines are inserted at section boundaries, so may not themselves
+be reachable if an input section and its associated call trampolines are
+larger than 256MB.
+
+The @option{--relax} option is enabled by default unless @option{-r}
+is also specified. You can disable trampoline generation by using the
+@option{--no-relax} linker option. You can also disable this optimization
+locally by using the @samp{set .noat} directive in assembly-language
+source files, as the linker-inserted trampolines use the @code{at}
+register as a temporary.
+
+Note that the linker @option{--relax} option is independent of assembler
+relaxation options, and that using the GNU assembler's @option{-relax-all}
+option interferes with the linker's more selective call instruction relaxation.
+
+@ifclear GENERIC
+@lowersections
+@end ifclear
+@end ifset
+
@ifset POWERPC
@ifclear GENERIC
@raisesections
@@ -7479,6 +7650,7 @@ by @command{ld} and respected when laying out the common symbols. Native
tools will be able to process object files employing this GNU extension,
but will fail to respect the alignment instructions, and may issue noisy
warnings about unknown linker directives.
+
@end table
@ifclear GENERIC
diff --git a/binutils-2.25/ld/ldbuildid.c b/binutils-2.25/ld/ldbuildid.c
new file mode 100644
index 00000000..0e1a9bf2
--- /dev/null
+++ b/binutils-2.25/ld/ldbuildid.c
@@ -0,0 +1,158 @@
+/* ldbuildid.c - Build Id support routines
+ Copyright 2013, 2014 Free Software Foundation, Inc.
+
+ This file is part of the GNU Binutils.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
+
+#include "sysdep.h"
+#include "bfd.h"
+#include "safe-ctype.h"
+#include "md5.h"
+#include "sha1.h"
+#include "ldbuildid.h"
+
+#define streq(a,b) strcmp ((a), (b)) == 0
+#define strneq(a,b,n) strncmp ((a), (b), (n)) == 0
+
+bfd_boolean
+validate_build_id_style (const char *style)
+{
+ if ((streq (style, "md5")) || (streq (style, "sha1"))
+#ifndef __MINGW32__
+ || (streq (style, "uuid"))
+#endif
+ || (strneq (style, "0x", 2)))
+ return TRUE;
+
+ return FALSE;
+}
+
+bfd_size_type
+compute_build_id_size (const char *style)
+{
+ if (streq (style, "md5") || streq (style, "uuid"))
+ return 128 / 8;
+
+ if (streq (style, "sha1"))
+ return 160 / 8;
+
+ if (strneq (style, "0x", 2))
+ {
+ bfd_size_type size = 0;
+ /* ID is in string form (hex). Count the bytes. */
+ const char *id = style + 2;
+
+ do
+ {
+ if (ISXDIGIT (id[0]) && ISXDIGIT (id[1]))
+ {
+ ++size;
+ id += 2;
+ }
+ else if (*id == '-' || *id == ':')
+ ++id;
+ else
+ {
+ size = 0;
+ break;
+ }
+ } while (*id != '\0');
+ return size;
+ }
+
+ return 0;
+}
+
+static unsigned char
+read_hex (const char xdigit)
+{
+ if (ISDIGIT (xdigit))
+ return xdigit - '0';
+
+ if (ISUPPER (xdigit))
+ return xdigit - 'A' + 0xa;
+
+ if (ISLOWER (xdigit))
+ return xdigit - 'a' + 0xa;
+
+ abort ();
+ return 0;
+}
+
+bfd_boolean
+generate_build_id (bfd *abfd,
+ const char *style,
+ checksum_fn checksum_contents,
+ unsigned char *id_bits,
+ int size ATTRIBUTE_UNUSED)
+{
+ if (streq (style, "md5"))
+ {
+ struct md5_ctx ctx;
+
+ md5_init_ctx (&ctx);
+ if (!(*checksum_contents) (abfd, (sum_fn) &md5_process_bytes, &ctx))
+ return FALSE;
+ md5_finish_ctx (&ctx, id_bits);
+ }
+ else if (streq (style, "sha1"))
+ {
+ struct sha1_ctx ctx;
+
+ sha1_init_ctx (&ctx);
+ if (!(*checksum_contents) (abfd, (sum_fn) &sha1_process_bytes, &ctx))
+ return FALSE;
+ sha1_finish_ctx (&ctx, id_bits);
+ }
+#ifndef __MINGW32__
+ else if (streq (style, "uuid"))
+ {
+ int n;
+ int fd = open ("/dev/urandom", O_RDONLY);
+
+ if (fd < 0)
+ return FALSE;
+ n = read (fd, id_bits, size);
+ close (fd);
+ if (n < size)
+ return FALSE;
+ }
+#endif
+ else if (strneq (style, "0x", 2))
+ {
+ /* ID is in string form (hex). Convert to bits. */
+ const char *id = style + 2;
+ size_t n = 0;
+
+ do
+ {
+ if (ISXDIGIT (id[0]) && ISXDIGIT (id[1]))
+ {
+ id_bits[n] = read_hex (*id++) << 4;
+ id_bits[n++] |= read_hex (*id++);
+ }
+ else if (*id == '-' || *id == ':')
+ ++id;
+ else
+ abort (); /* Should have been validated earlier. */
+ } while (*id != '\0');
+ }
+ else
+ abort (); /* Should have been validated earlier. */
+
+ return TRUE;
+}
diff --git a/binutils-2.25/ld/ldbuildid.h b/binutils-2.25/ld/ldbuildid.h
new file mode 100644
index 00000000..a91ac1a1
--- /dev/null
+++ b/binutils-2.25/ld/ldbuildid.h
@@ -0,0 +1,39 @@
+/* ldbuildid.h -
+ Copyright 2013, 2014 Free Software Foundation, Inc.
+
+ This file is part of the GNU Binutils.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
+
+#ifndef LDBUILDID_H
+#define LDBUILDID_H
+
+extern bfd_boolean
+validate_build_id_style (const char *);
+
+extern bfd_size_type
+compute_build_id_size (const char *);
+
+typedef void (*sum_fn) (const void *, size_t, void *);
+
+typedef bfd_boolean (*checksum_fn) (bfd *,
+ void (*) (const void *, size_t, void *),
+ void *);
+
+extern bfd_boolean
+generate_build_id (bfd *, const char *, checksum_fn, unsigned char *, int);
+
+#endif /* LDBUILDID_H */
diff --git a/binutils-2.25/ld/ldcref.c b/binutils-2.25/ld/ldcref.c
index 56b917d4..19c9062f 100644
--- a/binutils-2.25/ld/ldcref.c
+++ b/binutils-2.25/ld/ldcref.c
@@ -1,5 +1,5 @@
/* ldcref.c -- output a cross reference table
- Copyright 1996-2013 Free Software Foundation, Inc.
+ Copyright (C) 1996-2014 Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@cygnus.com>
This file is part of the GNU Binutils.
@@ -40,7 +40,8 @@
/* We keep an instance of this structure for each reference to a
symbol from a given object. */
-struct cref_ref {
+struct cref_ref
+{
/* The next reference. */
struct cref_ref *next;
/* The object. */
@@ -55,7 +56,8 @@ struct cref_ref {
/* We keep a hash table of symbols. Each entry looks like this. */
-struct cref_hash_entry {
+struct cref_hash_entry
+{
struct bfd_hash_entry root;
/* The demangled name. */
const char *demangled;
@@ -65,7 +67,8 @@ struct cref_hash_entry {
/* This is what the hash table looks like. */
-struct cref_hash_table {
+struct cref_hash_table
+{
struct bfd_hash_table root;
};
@@ -109,8 +112,8 @@ static size_t cref_symcount;
static struct bfd_hash_entry **old_table;
static unsigned int old_size;
static unsigned int old_count;
-static void *old_tab;
-static void *alloc_mark;
+static void * old_tab;
+static void * alloc_mark;
static size_t tabsize, entsize, refsize;
static size_t old_symcount;
@@ -348,7 +351,10 @@ cref_sort_array (const void *a1, const void *a2)
const struct cref_hash_entry * const *p2 =
(const struct cref_hash_entry * const *) a2;
- return strcmp ((*p1)->demangled, (*p2)->demangled);
+ if (demangling)
+ return strcmp ((*p1)->demangled, (*p2)->demangled);
+ else
+ return strcmp ((*p1)->root.string, (*p2)->root.string);
}
/* Write out the cref table. */
@@ -426,8 +432,16 @@ output_one_cref (FILE *fp, struct cref_hash_entry *h)
}
}
- fprintf (fp, "%s ", h->demangled);
- len = strlen (h->demangled) + 1;
+ if (demangling)
+ {
+ fprintf (fp, "%s ", h->demangled);
+ len = strlen (h->demangled) + 1;
+ }
+ else
+ {
+ fprintf (fp, "%s ", h->root.string);
+ len = strlen (h->root.string) + 1;
+ }
for (r = h->refs; r != NULL; r = r->next)
{
diff --git a/binutils-2.25/ld/ldctor.c b/binutils-2.25/ld/ldctor.c
index b29c1e0c..610a82cf 100644
--- a/binutils-2.25/ld/ldctor.c
+++ b/binutils-2.25/ld/ldctor.c
@@ -1,7 +1,5 @@
/* ldctor.c -- constructor support routines
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
By Steve Chamberlain <sac@cygnus.com>
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/ldctor.h b/binutils-2.25/ld/ldctor.h
index 27edc611..7cd0c845 100644
--- a/binutils-2.25/ld/ldctor.h
+++ b/binutils-2.25/ld/ldctor.h
@@ -1,6 +1,5 @@
/* ldctor.h - linker constructor support
- Copyright 1991, 1992, 1993, 1994, 1995, 1998, 2000, 2002, 2003, 2005,
- 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/ldemul.c b/binutils-2.25/ld/ldemul.c
index 85baeab3..6145c47c 100644
--- a/binutils-2.25/ld/ldemul.c
+++ b/binutils-2.25/ld/ldemul.c
@@ -1,7 +1,5 @@
/* ldemul.c -- clearing house for ld emulation states
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2005, 2007, 2008, 2009, 2010, 2011, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -350,3 +348,10 @@ ldemul_new_vers_pattern (struct bfd_elf_version_expr *entry)
entry = (*ld_emulation->new_vers_pattern) (entry);
return entry;
}
+
+void
+ldemul_extra_map_file_text (bfd *abfd, struct bfd_link_info *info, FILE *mapf)
+{
+ if (ld_emulation->extra_map_file_text)
+ ld_emulation->extra_map_file_text (abfd, info, mapf);
+}
diff --git a/binutils-2.25/ld/ldemul.h b/binutils-2.25/ld/ldemul.h
index 890107fc..27b13ad5 100644
--- a/binutils-2.25/ld/ldemul.h
+++ b/binutils-2.25/ld/ldemul.h
@@ -1,7 +1,5 @@
/* ld-emul.h - Linker emulation header file
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001,
- 2002, 2003, 2004, 2005, 2007, 2008
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -96,6 +94,8 @@ extern int ldemul_find_potential_libraries
(char *, struct lang_input_statement_struct *);
extern struct bfd_elf_version_expr *ldemul_new_vers_pattern
(struct bfd_elf_version_expr *);
+extern void ldemul_extra_map_file_text
+ (bfd *, struct bfd_link_info *, FILE *);
typedef struct ld_emulation_xfer_struct {
/* Run before parsing the command line and script file.
@@ -196,6 +196,11 @@ typedef struct ld_emulation_xfer_struct {
struct bfd_elf_version_expr * (*new_vers_pattern)
(struct bfd_elf_version_expr *);
+ /* Called when printing the map file, in case there are
+ emulation-specific sections for it. */
+ void (*extra_map_file_text)
+ (bfd *, struct bfd_link_info *, FILE *);
+
} ld_emulation_xfer_type;
typedef enum {
diff --git a/binutils-2.25/ld/ldexp.c b/binutils-2.25/ld/ldexp.c
index 49e7c65f..5c4f8dda 100644
--- a/binutils-2.25/ld/ldexp.c
+++ b/binutils-2.25/ld/ldexp.c
@@ -1,5 +1,5 @@
/* This module handles expression trees.
- Copyright 1991-2013 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support <sac@cygnus.com>.
This file is part of the GNU Binutils.
@@ -575,13 +575,10 @@ fold_name (etree_type *tree)
break;
case DEFINED:
- if (expld.phase == lang_first_phase_enum)
- lang_track_definedness (tree->name.name);
- else
+ if (expld.phase != lang_first_phase_enum)
{
struct bfd_link_hash_entry *h;
- int def_iteration
- = lang_symbol_definition_iteration (tree->name.name);
+ struct lang_definedness_hash_entry *def;
h = bfd_wrapped_link_hash_lookup (link_info.output_bfd,
&link_info,
@@ -591,15 +588,33 @@ fold_name (etree_type *tree)
&& (h->type == bfd_link_hash_defined
|| h->type == bfd_link_hash_defweak
|| h->type == bfd_link_hash_common)
- && (def_iteration == lang_statement_iteration
- || def_iteration == -1));
+ && ((def = lang_symbol_defined (tree->name.name)) == NULL
+ || def->by_object
+ || def->iteration == (lang_statement_iteration & 1)));
}
break;
case NAME:
if (expld.assign_name != NULL
&& strcmp (expld.assign_name, tree->name.name) == 0)
- expld.assign_name = NULL;
+ {
+ /* Self-assignment is only allowed for absolute symbols
+ defined in a linker script. */
+ struct bfd_link_hash_entry *h;
+ struct lang_definedness_hash_entry *def;
+
+ h = bfd_wrapped_link_hash_lookup (link_info.output_bfd,
+ &link_info,
+ tree->name.name,
+ FALSE, FALSE, TRUE);
+ if (!(h != NULL
+ && (h->type == bfd_link_hash_defined
+ || h->type == bfd_link_hash_defweak)
+ && h->u.def.section == bfd_abs_section_ptr
+ && (def = lang_symbol_defined (tree->name.name)) != NULL
+ && def->iteration == (lang_statement_iteration & 1)))
+ expld.assign_name = NULL;
+ }
if (expld.phase == lang_first_phase_enum)
;
else if (tree->name.name[0] == '.' && tree->name.name[1] == 0)
@@ -775,6 +790,89 @@ fold_name (etree_type *tree)
}
}
+/* Return true if TREE is '.'. */
+
+static bfd_boolean
+is_dot (const etree_type *tree)
+{
+ return (tree->type.node_class == etree_name
+ && tree->type.node_code == NAME
+ && tree->name.name[0] == '.'
+ && tree->name.name[1] == 0);
+}
+
+/* Return true if TREE is a constant equal to VAL. */
+
+static bfd_boolean
+is_value (const etree_type *tree, bfd_vma val)
+{
+ return (tree->type.node_class == etree_value
+ && tree->value.value == val);
+}
+
+/* Return true if TREE is an absolute symbol equal to VAL defined in
+ a linker script. */
+
+static bfd_boolean
+is_sym_value (const etree_type *tree, bfd_vma val)
+{
+ struct bfd_link_hash_entry *h;
+ struct lang_definedness_hash_entry *def;
+
+ return (tree->type.node_class == etree_name
+ && tree->type.node_code == NAME
+ && (def = lang_symbol_defined (tree->name.name)) != NULL
+ && def->by_script
+ && def->iteration == (lang_statement_iteration & 1)
+ && (h = bfd_wrapped_link_hash_lookup (link_info.output_bfd,
+ &link_info,
+ tree->name.name,
+ FALSE, FALSE, TRUE)) != NULL
+ && h->type == bfd_link_hash_defined
+ && h->u.def.section == bfd_abs_section_ptr
+ && h->u.def.value == val);
+}
+
+/* Return true if TREE is ". != 0". */
+
+static bfd_boolean
+is_dot_ne_0 (const etree_type *tree)
+{
+ return (tree->type.node_class == etree_binary
+ && tree->type.node_code == NE
+ && is_dot (tree->binary.lhs)
+ && is_value (tree->binary.rhs, 0));
+}
+
+/* Return true if TREE is ". = . + 0" or ". = . + sym" where sym is an
+ absolute constant with value 0 defined in a linker script. */
+
+static bfd_boolean
+is_dot_plus_0 (const etree_type *tree)
+{
+ return (tree->type.node_class == etree_binary
+ && tree->type.node_code == '+'
+ && is_dot (tree->binary.lhs)
+ && (is_value (tree->binary.rhs, 0)
+ || is_sym_value (tree->binary.rhs, 0)));
+}
+
+/* Return true if TREE is "ALIGN (. != 0 ? some_expression : 1)". */
+
+static bfd_boolean
+is_align_conditional (const etree_type *tree)
+{
+ if (tree->type.node_class == etree_unary
+ && tree->type.node_code == ALIGN_K)
+ {
+ tree = tree->unary.child;
+ return (tree->type.node_class == etree_trinary
+ && is_dot_ne_0 (tree->trinary.cond)
+ && is_value (tree->trinary.rhs, 1));
+ }
+ return 0;
+}
+
static void
exp_fold_tree_1 (etree_type *tree)
{
@@ -839,6 +937,20 @@ exp_fold_tree_1 (etree_type *tree)
exp_fold_tree_1 (tree->assign.src);
expld.assigning_to_dot = FALSE;
+ /* If we are assigning to dot inside an output section
+ arrange to keep the section, except for certain
+ expressions that evaluate to zero. We ignore . = 0,
+ . = . + 0, and . = ALIGN (. != 0 ? expr : 1). */
+ if (expld.phase == lang_mark_phase_enum
+ && expld.section != bfd_abs_section_ptr
+ && !(expld.result.valid_p
+ && expld.result.value == 0
+ && (is_value (tree->assign.src, 0)
+ || is_sym_value (tree->assign.src, 0)
+ || is_dot_plus_0 (tree->assign.src)
+ || is_align_conditional (tree->assign.src))))
+ expld.section->flags |= SEC_KEEP;
+
if (!expld.result.valid_p)
{
if (expld.phase != lang_mark_phase_enum)
@@ -889,7 +1001,10 @@ exp_fold_tree_1 (etree_type *tree)
if (h == NULL
|| (h->type != bfd_link_hash_new
&& h->type != bfd_link_hash_undefined
- && h->type != bfd_link_hash_common))
+ && h->type != bfd_link_hash_common
+ && !(h->type == bfd_link_hash_defined
+ && (h->u.def.section->flags
+ & SEC_LINKER_CREATED) != 0)))
{
/* Do nothing. The symbol was never referenced, or was
defined by some object. */
diff --git a/binutils-2.25/ld/ldexp.h b/binutils-2.25/ld/ldexp.h
index 2c726e72..6a02b39e 100644
--- a/binutils-2.25/ld/ldexp.h
+++ b/binutils-2.25/ld/ldexp.h
@@ -1,6 +1,5 @@
/* ldexp.h -
- Copyright 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2007, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/ldfile.c b/binutils-2.25/ld/ldfile.c
index 16baef83..782ed7f0 100644
--- a/binutils-2.25/ld/ldfile.c
+++ b/binutils-2.25/ld/ldfile.c
@@ -1,7 +1,5 @@
/* Linker file opening and searching.
- Copyright 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -369,7 +367,7 @@ ldfile_open_file_search (const char *arch,
return TRUE;
}
- if (entry->flags.maybe_archive)
+ if (entry->flags.maybe_archive && !entry->flags.full_name_provided)
string = concat (search->name, slash, lib, entry->filename,
arch, suffix, (const char *) NULL);
else
diff --git a/binutils-2.25/ld/ldfile.h b/binutils-2.25/ld/ldfile.h
index 94560925..cbcd7cb3 100644
--- a/binutils-2.25/ld/ldfile.h
+++ b/binutils-2.25/ld/ldfile.h
@@ -1,6 +1,5 @@
/* ldfile.h -
- Copyright 1991, 1992, 1993, 1994, 1995, 2000, 2002, 2003, 2004, 2005,
- 2007, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/ldgram.y b/binutils-2.25/ld/ldgram.y
index 1ded4e73..e76a0a30 100644
--- a/binutils-2.25/ld/ldgram.y
+++ b/binutils-2.25/ld/ldgram.y
@@ -1,5 +1,5 @@
/* A YACC grammar to parse a superset of the AT&T linker scripting language.
- Copyright 1991-2013 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support (steve@cygnus.com).
This file is part of the GNU Binutils.
@@ -365,38 +365,43 @@ ifile_p1:
;
input_list:
+ { ldlex_inputlist(); }
+ input_list1
+ { ldlex_popstate(); }
+
+input_list1:
NAME
{ lang_add_input_file($1,lang_input_file_is_search_file_enum,
(char *)NULL); }
- | input_list ',' NAME
+ | input_list1 ',' NAME
{ lang_add_input_file($3,lang_input_file_is_search_file_enum,
(char *)NULL); }
- | input_list NAME
+ | input_list1 NAME
{ lang_add_input_file($2,lang_input_file_is_search_file_enum,
(char *)NULL); }
| LNAME
{ lang_add_input_file($1,lang_input_file_is_l_enum,
(char *)NULL); }
- | input_list ',' LNAME
+ | input_list1 ',' LNAME
{ lang_add_input_file($3,lang_input_file_is_l_enum,
(char *)NULL); }
- | input_list LNAME
+ | input_list1 LNAME
{ lang_add_input_file($2,lang_input_file_is_l_enum,
(char *)NULL); }
| AS_NEEDED '('
{ $<integer>$ = input_flags.add_DT_NEEDED_for_regular;
input_flags.add_DT_NEEDED_for_regular = TRUE; }
- input_list ')'
+ input_list1 ')'
{ input_flags.add_DT_NEEDED_for_regular = $<integer>3; }
- | input_list ',' AS_NEEDED '('
+ | input_list1 ',' AS_NEEDED '('
{ $<integer>$ = input_flags.add_DT_NEEDED_for_regular;
input_flags.add_DT_NEEDED_for_regular = TRUE; }
- input_list ')'
+ input_list1 ')'
{ input_flags.add_DT_NEEDED_for_regular = $<integer>5; }
- | input_list AS_NEEDED '('
+ | input_list1 AS_NEEDED '('
{ $<integer>$ = input_flags.add_DT_NEEDED_for_regular;
input_flags.add_DT_NEEDED_for_regular = TRUE; }
- input_list ')'
+ input_list1 ')'
{ input_flags.add_DT_NEEDED_for_regular = $<integer>4; }
;
diff --git a/binutils-2.25/ld/ldint.texinfo b/binutils-2.25/ld/ldint.texinfo
index 19272c5d..99a5da29 100644
--- a/binutils-2.25/ld/ldint.texinfo
+++ b/binutils-2.25/ld/ldint.texinfo
@@ -1,8 +1,6 @@
\input texinfo
@setfilename ldint.info
-@c Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-@c 2003, 2005, 2006, 2007
-@c Free Software Foundation, Inc.
+@c Copyright (C) 1992-2014 Free Software Foundation, Inc.
@ifnottex
@dircategory Software development
@@ -14,8 +12,7 @@
@copying
This file documents the internals of the GNU linker ld.
-Copyright @copyright{} 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2007
-Free Software Foundation, Inc.
+Copyright @copyright{} 1992-2014 Free Software Foundation, Inc.
Contributed by Cygnus Support.
Permission is granted to copy, distribute and/or modify this document
@@ -58,8 +55,7 @@ included in the section entitled ``GNU Free Documentation License''.
@end tex
@vskip 0pt plus 1filll
-Copyright @copyright{} 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000
-Free Software Foundation, Inc.
+Copyright @copyright{} 1992-2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
diff --git a/binutils-2.25/ld/ldlang.c b/binutils-2.25/ld/ldlang.c
index ba7f493b..c4da07f5 100644
--- a/binutils-2.25/ld/ldlang.c
+++ b/binutils-2.25/ld/ldlang.c
@@ -1,5 +1,5 @@
/* Linker command language support.
- Copyright 1991-2013 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -40,6 +40,7 @@
#include "demangle.h"
#include "hashtab.h"
#include "libbfd.h"
+#include "elf-bfd.h"
#ifdef ENABLE_PLUGINS
#include "plugin.h"
#endif /* ENABLE_PLUGINS */
@@ -56,7 +57,7 @@ static struct obstack map_obstack;
#define obstack_chunk_free free
static const char *entry_symbol_default = "start";
static bfd_boolean placed_commons = FALSE;
-static bfd_boolean stripped_excluded_sections = FALSE;
+static bfd_boolean map_head_is_link_order = FALSE;
static lang_output_section_statement_type *default_common_section;
static bfd_boolean map_option_f;
static bfd_vma print_dot;
@@ -67,10 +68,10 @@ static struct bfd_hash_table lang_definedness_table;
static lang_statement_list_type *stat_save[10];
static lang_statement_list_type **stat_save_ptr = &stat_save[0];
static struct unique_sections *unique_section_list;
+static struct asneeded_minfo *asneeded_list_head;
/* Forward declarations. */
static void exp_init_os (etree_type *);
-static void init_map_userdata (bfd *, asection *, void *);
static lang_input_statement_type *lookup_name (const char *);
static struct bfd_hash_entry *lang_definedness_newfunc
(struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
@@ -106,13 +107,12 @@ bfd_boolean lang_float_flag = FALSE;
bfd_boolean delete_output_file_on_failure = FALSE;
struct lang_phdr *lang_phdr_list;
struct lang_nocrossrefs *nocrossref_list;
+struct asneeded_minfo **asneeded_list_tail;
/* Functions that traverse the linker script and might evaluate
- DEFINED() need to increment this. */
+ DEFINED() need to increment this at the start of the traversal. */
int lang_statement_iteration = 0;
-etree_type *base; /* Relocation base - or null */
-
/* Return TRUE if the PATTERN argument is a wildcard pattern.
Although backslashes are treated specially if a pattern contains
wildcards, we do not consider the mere presence of a backslash to
@@ -1062,13 +1062,6 @@ new_afile (const char *name,
p->flags.whole_archive = input_flags.whole_archive;
p->flags.sysrooted = input_flags.sysrooted;
- if (file_type == lang_input_file_is_l_enum
- && name[0] == ':' && name[1] != '\0')
- {
- file_type = lang_input_file_is_search_file_enum;
- name = name + 1;
- }
-
switch (file_type)
{
case lang_input_file_is_symbols_only_enum:
@@ -1082,7 +1075,13 @@ new_afile (const char *name,
p->local_sym_name = name;
break;
case lang_input_file_is_l_enum:
- p->filename = name;
+ if (name[0] == ':' && name[1] != '\0')
+ {
+ p->filename = name + 1;
+ p->flags.full_name_provided = TRUE;
+ }
+ else
+ p->filename = name;
p->local_sym_name = concat ("-l", name, (const char *) NULL);
p->flags.maybe_archive = TRUE;
p->flags.real = TRUE;
@@ -1119,6 +1118,26 @@ lang_add_input_file (const char *name,
lang_input_file_enum_type file_type,
const char *target)
{
+ if (name != NULL && *name == '=')
+ {
+ lang_input_statement_type *ret;
+ char *sysrooted_name
+ = concat (ld_sysroot, name + 1, (const char *) NULL);
+
+ /* We've now forcibly prepended the sysroot, making the input
+ file independent of the context. Therefore, temporarily
+ force a non-sysrooted context for this statement, so it won't
+ get the sysroot prepended again when opened. (N.B. if it's a
+ script, any child nodes with input files starting with "/"
+ will be handled as "sysrooted" as they'll be found to be
+ within the sysroot subdirectory.) */
+ unsigned int outer_sysrooted = input_flags.sysrooted;
+ input_flags.sysrooted = 0;
+ ret = new_afile (sysrooted_name, file_type, target, TRUE);
+ input_flags.sysrooted = outer_sysrooted;
+ return ret;
+ }
+
return new_afile (name, file_type, target, TRUE);
}
@@ -1222,23 +1241,21 @@ lang_init (void)
abs_output_section->bfd_section = bfd_abs_section_ptr;
- /* The value "3" is ad-hoc, somewhat related to the expected number of
- DEFINED expressions in a linker script. For most default linker
- scripts, there are none. Why a hash table then? Well, it's somewhat
- simpler to re-use working machinery than using a linked list in terms
- of code-complexity here in ld, besides the initialization which just
- looks like other code here. */
+ /* The value "13" is ad-hoc, somewhat related to the expected number of
+ assignments in a linker script. */
if (!bfd_hash_table_init_n (&lang_definedness_table,
lang_definedness_newfunc,
sizeof (struct lang_definedness_hash_entry),
- 3))
+ 13))
einfo (_("%P%F: can not create hash table: %E\n"));
+
+ asneeded_list_head = NULL;
+ asneeded_list_tail = &asneeded_list_head;
}
void
lang_finish (void)
{
- bfd_link_hash_table_free (link_info.output_bfd, link_info.hash);
bfd_hash_table_free (&lang_definedness_table);
output_section_statement_table_free ();
}
@@ -1377,6 +1394,14 @@ lang_memory_default (asection * section)
return lang_memory_region_lookup (DEFAULT_MEMORY_REGION, FALSE);
}
+/* Get the output section statement directly from the userdata. */
+
+lang_output_section_statement_type *
+lang_output_section_get (const asection *output_section)
+{
+ return get_userdata (output_section);
+}
+
/* Find or create an output_section_statement with the given NAME.
If CONSTRAINT is non-zero match one with that constraint, otherwise
match any non-negative constraint. If CREATE, always make a
@@ -1487,7 +1512,7 @@ lang_output_section_find_by_flags (const asection *sec,
lang_match_sec_type_func match_type)
{
lang_output_section_statement_type *first, *look, *found;
- flagword flags;
+ flagword look_flags, sec_flags, differ;
/* We know the first statement on this list is *ABS*. May as well
skip it. */
@@ -1495,21 +1520,22 @@ lang_output_section_find_by_flags (const asection *sec,
first = first->next;
/* First try for an exact match. */
+ sec_flags = sec->flags;
found = NULL;
for (look = first; look; look = look->next)
{
- flags = look->flags;
+ look_flags = look->flags;
if (look->bfd_section != NULL)
{
- flags = look->bfd_section->flags;
+ look_flags = look->bfd_section->flags;
if (match_type && !match_type (link_info.output_bfd,
look->bfd_section,
sec->owner, sec))
continue;
}
- flags ^= sec->flags;
- if (!(flags & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_READONLY
- | SEC_CODE | SEC_SMALL_DATA | SEC_THREAD_LOCAL)))
+ differ = look_flags ^ sec_flags;
+ if (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_READONLY
+ | SEC_CODE | SEC_SMALL_DATA | SEC_THREAD_LOCAL)))
found = look;
}
if (found != NULL)
@@ -1519,115 +1545,144 @@ lang_output_section_find_by_flags (const asection *sec,
return found;
}
- if ((sec->flags & SEC_CODE) != 0
- && (sec->flags & SEC_ALLOC) != 0)
+ if ((sec_flags & SEC_CODE) != 0
+ && (sec_flags & SEC_ALLOC) != 0)
{
/* Try for a rw code section. */
for (look = first; look; look = look->next)
{
- flags = look->flags;
+ look_flags = look->flags;
if (look->bfd_section != NULL)
{
- flags = look->bfd_section->flags;
+ look_flags = look->bfd_section->flags;
if (match_type && !match_type (link_info.output_bfd,
look->bfd_section,
sec->owner, sec))
continue;
}
- flags ^= sec->flags;
- if (!(flags & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD
- | SEC_CODE | SEC_SMALL_DATA | SEC_THREAD_LOCAL)))
+ differ = look_flags ^ sec_flags;
+ if (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD
+ | SEC_CODE | SEC_SMALL_DATA | SEC_THREAD_LOCAL)))
found = look;
}
}
- else if ((sec->flags & (SEC_READONLY | SEC_THREAD_LOCAL)) != 0
- && (sec->flags & SEC_ALLOC) != 0)
+ else if ((sec_flags & SEC_READONLY) != 0
+ && (sec_flags & SEC_ALLOC) != 0)
{
/* .rodata can go after .text, .sdata2 after .rodata. */
for (look = first; look; look = look->next)
{
- flags = look->flags;
+ look_flags = look->flags;
if (look->bfd_section != NULL)
{
- flags = look->bfd_section->flags;
+ look_flags = look->bfd_section->flags;
if (match_type && !match_type (link_info.output_bfd,
look->bfd_section,
sec->owner, sec))
continue;
}
- flags ^= sec->flags;
- if (!(flags & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD
- | SEC_READONLY | SEC_SMALL_DATA))
- || (!(flags & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD
- | SEC_READONLY))
- && !(look->flags & SEC_SMALL_DATA))
- || (!(flags & (SEC_THREAD_LOCAL | SEC_ALLOC))
- && (look->flags & SEC_THREAD_LOCAL)
- && (!(flags & SEC_LOAD)
- || (look->flags & SEC_LOAD))))
+ differ = look_flags ^ sec_flags;
+ if (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD
+ | SEC_READONLY | SEC_SMALL_DATA))
+ || (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD
+ | SEC_READONLY))
+ && !(look_flags & SEC_SMALL_DATA)))
found = look;
}
}
- else if ((sec->flags & SEC_SMALL_DATA) != 0
- && (sec->flags & SEC_ALLOC) != 0)
+ else if ((sec_flags & SEC_THREAD_LOCAL) != 0
+ && (sec_flags & SEC_ALLOC) != 0)
+ {
+ /* .tdata can go after .data, .tbss after .tdata. Treat .tbss
+ as if it were a loaded section, and don't use match_type. */
+ bfd_boolean seen_thread_local = FALSE;
+
+ match_type = NULL;
+ for (look = first; look; look = look->next)
+ {
+ look_flags = look->flags;
+ if (look->bfd_section != NULL)
+ look_flags = look->bfd_section->flags;
+
+ differ = look_flags ^ (sec_flags | SEC_LOAD | SEC_HAS_CONTENTS);
+ if (!(differ & (SEC_THREAD_LOCAL | SEC_ALLOC)))
+ {
+ /* .tdata and .tbss must be adjacent and in that order. */
+ if (!(look_flags & SEC_LOAD)
+ && (sec_flags & SEC_LOAD))
+ /* ..so if we're at a .tbss section and we're placing
+ a .tdata section stop looking and return the
+ previous section. */
+ break;
+ found = look;
+ seen_thread_local = TRUE;
+ }
+ else if (seen_thread_local)
+ break;
+ else if (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD)))
+ found = look;
+ }
+ }
+ else if ((sec_flags & SEC_SMALL_DATA) != 0
+ && (sec_flags & SEC_ALLOC) != 0)
{
/* .sdata goes after .data, .sbss after .sdata. */
for (look = first; look; look = look->next)
{
- flags = look->flags;
+ look_flags = look->flags;
if (look->bfd_section != NULL)
{
- flags = look->bfd_section->flags;
+ look_flags = look->bfd_section->flags;
if (match_type && !match_type (link_info.output_bfd,
look->bfd_section,
sec->owner, sec))
continue;
}
- flags ^= sec->flags;
- if (!(flags & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD
- | SEC_THREAD_LOCAL))
- || ((look->flags & SEC_SMALL_DATA)
- && !(sec->flags & SEC_HAS_CONTENTS)))
+ differ = look_flags ^ sec_flags;
+ if (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD
+ | SEC_THREAD_LOCAL))
+ || ((look_flags & SEC_SMALL_DATA)
+ && !(sec_flags & SEC_HAS_CONTENTS)))
found = look;
}
}
- else if ((sec->flags & SEC_HAS_CONTENTS) != 0
- && (sec->flags & SEC_ALLOC) != 0)
+ else if ((sec_flags & SEC_HAS_CONTENTS) != 0
+ && (sec_flags & SEC_ALLOC) != 0)
{
/* .data goes after .rodata. */
for (look = first; look; look = look->next)
{
- flags = look->flags;
+ look_flags = look->flags;
if (look->bfd_section != NULL)
{
- flags = look->bfd_section->flags;
+ look_flags = look->bfd_section->flags;
if (match_type && !match_type (link_info.output_bfd,
look->bfd_section,
sec->owner, sec))
continue;
}
- flags ^= sec->flags;
- if (!(flags & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD
- | SEC_SMALL_DATA | SEC_THREAD_LOCAL)))
+ differ = look_flags ^ sec_flags;
+ if (!(differ & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD
+ | SEC_SMALL_DATA | SEC_THREAD_LOCAL)))
found = look;
}
}
- else if ((sec->flags & SEC_ALLOC) != 0)
+ else if ((sec_flags & SEC_ALLOC) != 0)
{
/* .bss goes after any other alloc section. */
for (look = first; look; look = look->next)
{
- flags = look->flags;
+ look_flags = look->flags;
if (look->bfd_section != NULL)
{
- flags = look->bfd_section->flags;
+ look_flags = look->bfd_section->flags;
if (match_type && !match_type (link_info.output_bfd,
look->bfd_section,
sec->owner, sec))
continue;
}
- flags ^= sec->flags;
- if (!(flags & SEC_ALLOC))
+ differ = look_flags ^ sec_flags;
+ if (!(differ & SEC_ALLOC))
found = look;
}
}
@@ -1636,11 +1691,11 @@ lang_output_section_find_by_flags (const asection *sec,
/* non-alloc go last. */
for (look = first; look; look = look->next)
{
- flags = look->flags;
+ look_flags = look->flags;
if (look->bfd_section != NULL)
- flags = look->bfd_section->flags;
- flags ^= sec->flags;
- if (!(flags & SEC_DEBUGGING))
+ look_flags = look->bfd_section->flags;
+ differ = look_flags ^ sec_flags;
+ if (!(differ & SEC_DEBUGGING))
found = look;
}
return found;
@@ -1951,6 +2006,43 @@ lang_insert_orphan (asection *s,
}
static void
+lang_print_asneeded (void)
+{
+ struct asneeded_minfo *m;
+ char buf[100];
+
+ if (asneeded_list_head == NULL)
+ return;
+
+ sprintf (buf, _("\nAs-needed library included "
+ "to satisfy reference by file (symbol)\n\n"));
+ minfo ("%s", buf);
+
+ for (m = asneeded_list_head; m != NULL; m = m->next)
+ {
+ size_t len;
+
+ minfo ("%s", m->soname);
+ len = strlen (m->soname);
+
+ if (len >= 29)
+ {
+ print_nl ();
+ len = 0;
+ }
+ while (len < 30)
+ {
+ print_space ();
+ ++len;
+ }
+
+ if (m->ref != NULL)
+ minfo ("%B ", m->ref);
+ minfo ("(%T)\n", m->name);
+ }
+}
+
+static void
lang_map_flags (flagword flag)
{
if (flag & SEC_ALLOC)
@@ -1974,7 +2066,6 @@ lang_map (void)
{
lang_memory_region_type *m;
bfd_boolean dis_header_printed = FALSE;
- bfd *p;
LANG_FOR_EACH_INPUT_STATEMENT (file)
{
@@ -2046,50 +2137,36 @@ lang_map (void)
if (! link_info.reduce_memory_overheads)
{
obstack_begin (&map_obstack, 1000);
- for (p = link_info.input_bfds; p != (bfd *) NULL; p = p->link_next)
- bfd_map_over_sections (p, init_map_userdata, 0);
bfd_link_hash_traverse (link_info.hash, sort_def_symbol, 0);
}
- lang_statement_iteration ++;
+ lang_statement_iteration++;
print_statements ();
-}
-static void
-init_map_userdata (bfd *abfd ATTRIBUTE_UNUSED,
- asection *sec,
- void *data ATTRIBUTE_UNUSED)
-{
- fat_section_userdata_type *new_data
- = ((fat_section_userdata_type *) (stat_alloc
- (sizeof (fat_section_userdata_type))));
-
- ASSERT (get_userdata (sec) == NULL);
- get_userdata (sec) = new_data;
- new_data->map_symbol_def_tail = &new_data->map_symbol_def_head;
- new_data->map_symbol_def_count = 0;
+ ldemul_extra_map_file_text (link_info.output_bfd, &link_info, config.map_file);
}
static bfd_boolean
sort_def_symbol (struct bfd_link_hash_entry *hash_entry,
void *info ATTRIBUTE_UNUSED)
{
- if (hash_entry->type == bfd_link_hash_defined
- || hash_entry->type == bfd_link_hash_defweak)
+ if ((hash_entry->type == bfd_link_hash_defined
+ || hash_entry->type == bfd_link_hash_defweak)
+ && hash_entry->u.def.section->owner != link_info.output_bfd
+ && hash_entry->u.def.section->owner != NULL)
{
- struct fat_user_section_struct *ud;
+ input_section_userdata_type *ud;
struct map_symbol_def *def;
- ud = (struct fat_user_section_struct *)
- get_userdata (hash_entry->u.def.section);
- if (! ud)
+ ud = ((input_section_userdata_type *)
+ get_userdata (hash_entry->u.def.section));
+ if (!ud)
{
- /* ??? What do we have to do to initialize this beforehand? */
- /* The first time we get here is bfd_abs_section... */
- init_map_userdata (0, hash_entry->u.def.section, 0);
- ud = (struct fat_user_section_struct *)
- get_userdata (hash_entry->u.def.section);
+ ud = (input_section_userdata_type *) stat_alloc (sizeof (*ud));
+ get_userdata (hash_entry->u.def.section) = ud;
+ ud->map_symbol_def_tail = &ud->map_symbol_def_head;
+ ud->map_symbol_def_count = 0;
}
- else if (!ud->map_symbol_def_tail)
+ else if (!ud->map_symbol_def_tail)
ud->map_symbol_def_tail = &ud->map_symbol_def_head;
def = (struct map_symbol_def *) obstack_alloc (&map_obstack, sizeof *def);
@@ -2122,13 +2199,9 @@ init_os (lang_output_section_statement_type *s, flagword flags)
s->bfd_section->output_section = s->bfd_section;
s->bfd_section->output_offset = 0;
- if (!link_info.reduce_memory_overheads)
- {
- fat_section_userdata_type *new_userdata = (fat_section_userdata_type *)
- stat_alloc (sizeof (fat_section_userdata_type));
- memset (new_userdata, 0, sizeof (fat_section_userdata_type));
- get_userdata (s->bfd_section) = new_userdata;
- }
+ /* Set the userdata of the output section to the output section
+ statement to avoid lookup. */
+ get_userdata (s->bfd_section) = s;
/* If there is a base address, make sure that any sections it might
mention are initialized. */
@@ -2358,8 +2431,7 @@ lang_add_section (lang_statement_list_type *ptr,
section->output_section = output->bfd_section;
- if (!link_info.relocatable
- && !stripped_excluded_sections)
+ if (!map_head_is_link_order)
{
asection *s = output->bfd_section->map_tail.s;
output->bfd_section->map_tail.s = section;
@@ -2738,9 +2810,7 @@ load_symbols (lang_input_statement_type *entry,
break;
case bfd_object:
-#ifdef ENABLE_PLUGINS
if (!entry->flags.reload)
-#endif
ldlang_add_file (entry);
if (trace_files || verbose)
info_msg ("%I\n", entry);
@@ -3216,38 +3286,33 @@ open_input_bfds (lang_statement_union_type *s, enum open_bfd_mode mode)
{
lang_statement_union_type **os_tail;
lang_statement_list_type add;
+ bfd *abfd;
s->input_statement.target = current_target;
/* If we are being called from within a group, and this
is an archive which has already been searched, then
force it to be researched unless the whole archive
- has been loaded already. Do the same for a rescan. */
+ has been loaded already. Do the same for a rescan.
+ Likewise reload --as-needed shared libs. */
if (mode != OPEN_BFD_NORMAL
#ifdef ENABLE_PLUGINS
&& ((mode & OPEN_BFD_RESCAN) == 0
|| plugin_insert == NULL)
#endif
- && !s->input_statement.flags.whole_archive
&& s->input_statement.flags.loaded
- && s->input_statement.the_bfd != NULL
- && bfd_check_format (s->input_statement.the_bfd,
- bfd_archive))
- s->input_statement.flags.loaded = FALSE;
-#ifdef ENABLE_PLUGINS
- /* When rescanning, reload --as-needed shared libs. */
- else if ((mode & OPEN_BFD_RESCAN) != 0
- && plugin_insert == NULL
- && s->input_statement.flags.loaded
- && s->input_statement.flags.add_DT_NEEDED_for_regular
- && s->input_statement.the_bfd != NULL
- && ((s->input_statement.the_bfd->flags) & DYNAMIC) != 0
- && plugin_should_reload (s->input_statement.the_bfd))
+ && (abfd = s->input_statement.the_bfd) != NULL
+ && ((bfd_get_format (abfd) == bfd_archive
+ && !s->input_statement.flags.whole_archive)
+ || (bfd_get_format (abfd) == bfd_object
+ && ((abfd->flags) & DYNAMIC) != 0
+ && s->input_statement.flags.add_DT_NEEDED_for_regular
+ && bfd_get_flavour (abfd) == bfd_target_elf_flavour
+ && (elf_dyn_lib_class (abfd) & DYN_AS_NEEDED) != 0)))
{
s->input_statement.flags.loaded = FALSE;
s->input_statement.flags.reload = TRUE;
}
-#endif
os_tail = lang_output_section_statement.tail;
lang_list_init (&add);
@@ -3300,15 +3365,6 @@ open_input_bfds (lang_statement_union_type *s, enum open_bfd_mode mode)
einfo ("%F");
}
-/* Add a symbol to a hash of symbols used in DEFINED (NAME) expressions. */
-
-void
-lang_track_definedness (const char *name)
-{
- if (bfd_hash_lookup (&lang_definedness_table, name, TRUE, FALSE) == NULL)
- einfo (_("%P%F: bfd_hash_lookup failed creating symbol %s\n"), name);
-}
-
/* New-function for the definedness hash table. */
static struct bfd_hash_entry *
@@ -3326,28 +3382,22 @@ lang_definedness_newfunc (struct bfd_hash_entry *entry,
if (ret == NULL)
einfo (_("%P%F: bfd_hash_allocate failed creating symbol %s\n"), name);
- ret->iteration = -1;
+ ret->by_object = 0;
+ ret->by_script = 0;
+ ret->iteration = 0;
return &ret->root;
}
-/* Return the iteration when the definition of NAME was last updated. A
- value of -1 means that the symbol is not defined in the linker script
- or the command line, but may be defined in the linker symbol table. */
+/* Called during processing of linker script script expressions.
+ For symbols assigned in a linker script, return a struct describing
+ where the symbol is defined relative to the current expression,
+ otherwise return NULL. */
-int
-lang_symbol_definition_iteration (const char *name)
+struct lang_definedness_hash_entry *
+lang_symbol_defined (const char *name)
{
- struct lang_definedness_hash_entry *defentry
- = (struct lang_definedness_hash_entry *)
- bfd_hash_lookup (&lang_definedness_table, name, FALSE, FALSE);
-
- /* We've already created this one on the presence of DEFINED in the
- script, so it can't be NULL unless something is borked elsewhere in
- the code. */
- if (defentry == NULL)
- FAIL ();
-
- return defentry->iteration;
+ return ((struct lang_definedness_hash_entry *)
+ bfd_hash_lookup (&lang_definedness_table, name, FALSE, FALSE));
}
/* Update the definedness state of NAME. */
@@ -3357,25 +3407,20 @@ lang_update_definedness (const char *name, struct bfd_link_hash_entry *h)
{
struct lang_definedness_hash_entry *defentry
= (struct lang_definedness_hash_entry *)
- bfd_hash_lookup (&lang_definedness_table, name, FALSE, FALSE);
+ bfd_hash_lookup (&lang_definedness_table, name, TRUE, FALSE);
- /* We don't keep track of symbols not tested with DEFINED. */
if (defentry == NULL)
- return;
+ einfo (_("%P%F: bfd_hash_lookup failed creating symbol %s\n"), name);
- /* If the symbol was already defined, and not from an earlier statement
- iteration, don't update the definedness iteration, because that'd
- make the symbol seem defined in the linker script at this point, and
- it wasn't; it was defined in some object. If we do anyway, DEFINED
- would start to yield false before this point and the construct "sym =
- DEFINED (sym) ? sym : X;" would change sym to X despite being defined
- in an object. */
- if (h->type != bfd_link_hash_undefined
+ /* If the symbol was already defined, and not by a script, then it
+ must be defined by an object file. */
+ if (!defentry->by_script
+ && h->type != bfd_link_hash_undefined
&& h->type != bfd_link_hash_common
- && h->type != bfd_link_hash_new
- && defentry->iteration == -1)
- return;
+ && h->type != bfd_link_hash_new)
+ defentry->by_object = 1;
+ defentry->by_script = 1;
defentry->iteration = lang_statement_iteration;
}
@@ -3886,10 +3931,6 @@ strip_excluded_output_sections (void)
}
}
- /* TODO: Don't just junk map_head.s, turn them into link_orders. */
- output_section->map_head.link_order = NULL;
- output_section->map_tail.link_order = NULL;
-
if (exclude)
{
/* We don't set bfd_section to NULL since bfd_section of the
@@ -3901,10 +3942,42 @@ strip_excluded_output_sections (void)
link_info.output_bfd->section_count--;
}
}
+}
+
+/* Called from ldwrite to clear out asection.map_head and
+ asection.map_tail for use as link_orders in ldwrite.
+ FIXME: Except for sh64elf.em which starts creating link_orders in
+ its after_allocation routine so needs to call it early. */
+
+void
+lang_clear_os_map (void)
+{
+ lang_output_section_statement_type *os;
+
+ if (map_head_is_link_order)
+ return;
+
+ for (os = &lang_output_section_statement.head->output_section_statement;
+ os != NULL;
+ os = os->next)
+ {
+ asection *output_section;
+
+ if (os->constraint < 0)
+ continue;
+
+ output_section = os->bfd_section;
+ if (output_section == NULL)
+ continue;
+
+ /* TODO: Don't just junk map_head.s, turn them into link_orders. */
+ output_section->map_head.link_order = NULL;
+ output_section->map_tail.link_order = NULL;
+ }
/* Stop future calls to lang_add_section from messing with map_head
and map_tail link_order fields. */
- stripped_excluded_sections = TRUE;
+ map_head_is_link_order = TRUE;
}
static void
@@ -3973,7 +4046,8 @@ print_assignment (lang_assignment_statement_type *assignment,
const char *dst = assignment->exp->assign.dst;
is_dot = (dst[0] == '.' && dst[1] == 0);
- expld.assign_name = dst;
+ if (!is_dot)
+ expld.assign_name = dst;
tree = assignment->exp->assign.src;
}
@@ -4083,8 +4157,8 @@ hash_entry_addr_cmp (const void *a, const void *b)
static void
print_all_symbols (asection *sec)
{
- struct fat_user_section_struct *ud =
- (struct fat_user_section_struct *) get_userdata (sec);
+ input_section_userdata_type *ud
+ = (input_section_userdata_type *) get_userdata (sec);
struct map_symbol_def *def;
struct bfd_link_hash_entry **entries;
unsigned int i;
@@ -4560,12 +4634,15 @@ size_input_section
{
lang_input_section_type *is = &((*this_ptr)->input_section);
asection *i = is->section;
+ asection *o = output_section_statement->bfd_section;
- if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS
- && (i->flags & SEC_EXCLUDE) == 0)
+ if (i->sec_info_type == SEC_INFO_TYPE_JUST_SYMS)
+ i->output_offset = i->vma - o->vma;
+ else if ((i->flags & SEC_EXCLUDE) != 0)
+ i->output_offset = dot - o->vma;
+ else
{
bfd_size_type alignment_needed;
- asection *o;
/* Align this section first to the input sections requirement,
then to the output section's requirement. If this alignment
@@ -4575,7 +4652,6 @@ size_input_section
if (output_section_statement->subsection_alignment != -1)
i->alignment_power = output_section_statement->subsection_alignment;
- o = output_section_statement->bfd_section;
if (o->alignment_power < i->alignment_power)
o->alignment_power = i->alignment_power;
@@ -4588,17 +4664,12 @@ size_input_section
}
/* Remember where in the output section this input section goes. */
-
i->output_offset = dot - o->vma;
/* Mark how big the output section must be to contain this now. */
dot += TO_ADDR (i->size);
o->size = TO_SIZE (dot - o->vma);
}
- else
- {
- i->output_offset = i->vma - output_section_statement->bfd_section->vma;
- }
return dot;
}
@@ -4773,7 +4844,7 @@ lang_size_sections_1
{
case lang_output_section_statement_enum:
{
- bfd_vma newdot, after;
+ bfd_vma newdot, after, dotdelta;
lang_output_section_statement_type *os;
lang_memory_region_type *r;
int section_alignment = 0;
@@ -4839,6 +4910,7 @@ lang_size_sections_1
}
newdot = dot;
+ dotdelta = 0;
if (bfd_is_abs_section (os->bfd_section))
{
/* No matter what happens, an abs section starts at zero. */
@@ -4907,13 +4979,14 @@ lang_size_sections_1
bfd_vma savedot = newdot;
newdot = align_power (newdot, section_alignment);
- if (newdot != savedot
+ dotdelta = newdot - savedot;
+ if (dotdelta != 0
&& (config.warn_section_align
|| os->addr_tree != NULL)
&& expld.phase != lang_mark_phase_enum)
einfo (_("%P: warning: changing start of section"
" %s by %lu bytes\n"),
- os->name, (unsigned long) (newdot - savedot));
+ os->name, (unsigned long) dotdelta);
}
bfd_set_section_vma (0, os->bfd_section, newdot);
@@ -4961,15 +5034,20 @@ lang_size_sections_1
{
bfd_vma lma = os->lma_region->current;
- /* When LMA_REGION is the same as REGION, align the LMA
- as we did for the VMA, possibly including alignment
- from the bfd section. If a different region, then
- only align according to the value in the output
- statement unless specified otherwise. */
- if (os->lma_region != os->region && !os->align_lma_with_input)
- section_alignment = os->section_alignment;
- if (section_alignment > 0)
- lma = align_power (lma, section_alignment);
+ if (os->align_lma_with_input)
+ lma += dotdelta;
+ else
+ {
+ /* When LMA_REGION is the same as REGION, align the LMA
+ as we did for the VMA, possibly including alignment
+ from the bfd section. If a different region, then
+ only align according to the value in the output
+ statement. */
+ if (os->lma_region != os->region)
+ section_alignment = os->section_alignment;
+ if (section_alignment > 0)
+ lma = align_power (lma, section_alignment);
+ }
os->bfd_section->lma = lma;
}
else if (r->last_os != NULL
@@ -5045,7 +5123,10 @@ lang_size_sections_1
if ((os->bfd_section->flags & SEC_HAS_CONTENTS) != 0
|| (os->bfd_section->flags & SEC_THREAD_LOCAL) == 0
|| link_info.relocatable)
- dot += TO_ADDR (os->bfd_section->size);
+ dotdelta = TO_ADDR (os->bfd_section->size);
+ else
+ dotdelta = 0;
+ dot += dotdelta;
if (os->update_dot_tree != 0)
exp_fold_tree (os->update_dot_tree, bfd_abs_section_ptr, &dot);
@@ -5065,10 +5146,10 @@ lang_size_sections_1
os->bfd_section->vma);
if (os->lma_region != NULL && os->lma_region != os->region
- && (os->bfd_section->flags & SEC_LOAD))
+ && ((os->bfd_section->flags & SEC_LOAD)
+ || os->align_lma_with_input))
{
- os->lma_region->current
- = os->bfd_section->lma + TO_ADDR (os->bfd_section->size);
+ os->lma_region->current = os->bfd_section->lma + dotdelta;
if (check_regions)
os_region_check (os, os->lma_region, NULL,
@@ -5169,7 +5250,7 @@ lang_size_sections_1
*relax = TRUE;
}
dot = size_input_section (prev, output_section_statement,
- output_section_statement->fill, dot);
+ fill, dot);
}
break;
@@ -5362,18 +5443,14 @@ lang_size_sections (bfd_boolean *relax, bfd_boolean check_regions)
&& link_info.relro && expld.dataseg.relro_end)
{
/* If DATA_SEGMENT_ALIGN DATA_SEGMENT_RELRO_END pair was seen, try
- to put expld.dataseg.relro on a (common) page boundary. */
- bfd_vma min_base, old_base, relro_end, maxpage;
+ to put expld.dataseg.relro_end on a (common) page boundary. */
+ bfd_vma min_base, relro_end, maxpage;
expld.dataseg.phase = exp_dataseg_relro_adjust;
maxpage = expld.dataseg.maxpagesize;
/* MIN_BASE is the absolute minimum address we are allowed to start the
read-write segment (byte before will be mapped read-only). */
min_base = (expld.dataseg.min_base + maxpage - 1) & ~(maxpage - 1);
- /* OLD_BASE is the address for a feasible minimum address which will
- still not cause a data overlap inside MAXPAGE causing file offset skip
- by MAXPAGE. */
- old_base = expld.dataseg.base;
expld.dataseg.base += (-expld.dataseg.relro_end
& (expld.dataseg.pagesize - 1));
/* Compute the expected PT_GNU_RELRO segment end. */
@@ -5389,9 +5466,9 @@ lang_size_sections (bfd_boolean *relax, bfd_boolean check_regions)
if (expld.dataseg.relro_end > relro_end)
{
/* The alignment of sections between DATA_SEGMENT_ALIGN
- and DATA_SEGMENT_RELRO_END caused huge padding to be
- inserted at DATA_SEGMENT_RELRO_END. Try to start a bit lower so
- that the section alignments will fit in. */
+ and DATA_SEGMENT_RELRO_END can cause excessive padding to
+ be inserted at DATA_SEGMENT_RELRO_END. Try to start a
+ bit lower so that the section alignments will fit in. */
asection *sec;
unsigned int max_alignment_power = 0;
@@ -5405,9 +5482,11 @@ lang_size_sections (bfd_boolean *relax, bfd_boolean check_regions)
if (((bfd_vma) 1 << max_alignment_power) < expld.dataseg.pagesize)
{
- if (expld.dataseg.base - (1 << max_alignment_power) < old_base)
- expld.dataseg.base += expld.dataseg.pagesize;
- expld.dataseg.base -= (1 << max_alignment_power);
+ /* Aligning the adjusted base guarantees the padding
+ between sections won't change. This is better than
+ simply subtracting 1 << max_alignment_power which is
+ what we used to do here. */
+ expld.dataseg.base &= ~((1 << max_alignment_power) - 1);
lang_reset_memory_regions ();
one_lang_size_sections_pass (relax, check_regions);
}
@@ -5943,7 +6022,7 @@ lang_common (void)
for (power = 0; power <= 4; power++)
bfd_link_hash_traverse (link_info.hash, lang_one_common, &power);
- power = UINT_MAX;
+ power = (unsigned int) -1;
bfd_link_hash_traverse (link_info.hash, lang_one_common, &power);
}
}
@@ -6175,11 +6254,11 @@ ldlang_add_file (lang_input_statement_type *entry)
/* The BFD linker needs to have a list of all input BFDs involved in
a link. */
- ASSERT (entry->the_bfd->link_next == NULL);
+ ASSERT (entry->the_bfd->link.next == NULL);
ASSERT (entry->the_bfd != link_info.output_bfd);
*link_info.input_bfds_tail = entry->the_bfd;
- link_info.input_bfds_tail = &entry->the_bfd->link_next;
+ link_info.input_bfds_tail = &entry->the_bfd->link.next;
entry->the_bfd->usrdata = entry;
bfd_set_gp_size (entry->the_bfd, g_switch_value);
@@ -6668,6 +6747,8 @@ lang_process (void)
link_info.gc_sym_list = ldlang_undef_chain_list_head;
ldemul_after_open ();
+ if (config.map_file != NULL)
+ lang_print_asneeded ();
bfd_section_already_linked_table_free ();
diff --git a/binutils-2.25/ld/ldlang.h b/binutils-2.25/ld/ldlang.h
index 2dbec5a4..5f6faae5 100644
--- a/binutils-2.25/ld/ldlang.h
+++ b/binutils-2.25/ld/ldlang.h
@@ -1,5 +1,5 @@
/* ldlang.h - linker command language support
- Copyright 1991-2013 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -235,6 +235,9 @@ struct lang_input_statement_flags
/* 1 means this file was specified in a -l option. */
unsigned int maybe_archive : 1;
+ /* 1 means this file was specified in a -l:namespec option. */
+ unsigned int full_name_provided : 1;
+
/* 1 means search a set of directories for this file. */
unsigned int search_dirs : 1;
@@ -269,16 +272,19 @@ struct lang_input_statement_flags
/* Set if the file does not exist. */
unsigned int missing_file : 1;
+ /* Set if reloading an archive or --as-needed lib. */
+ unsigned int reload : 1;
+
#ifdef ENABLE_PLUGINS
/* Set if the file was claimed by a plugin. */
unsigned int claimed : 1;
/* Set if the file was claimed from an archive. */
unsigned int claim_archive : 1;
-
- /* Set if reloading an --as-needed lib. */
- unsigned int reload : 1;
#endif /* ENABLE_PLUGINS */
+
+ /* Head of list of pushed flags. */
+ struct lang_input_statement_flags *pushed;
};
typedef struct lang_input_statement_struct
@@ -313,6 +319,23 @@ typedef struct
asection *section;
} lang_input_section_type;
+struct map_symbol_def {
+ struct bfd_link_hash_entry *entry;
+ struct map_symbol_def *next;
+};
+
+/* For input sections, when writing a map file: head / tail of a linked
+ list of hash table entries for symbols defined in this section. */
+typedef struct input_section_userdata_struct
+{
+ struct map_symbol_def *map_symbol_def_head;
+ struct map_symbol_def **map_symbol_def_tail;
+ unsigned long map_symbol_def_count;
+} input_section_userdata_type;
+
+#define get_userdata(x) ((x)->userdata)
+
+
typedef struct lang_wild_statement_struct lang_wild_statement_type;
typedef void (*callback_t) (lang_wild_statement_type *, struct wildcard_list *,
@@ -453,7 +476,9 @@ struct unique_sections
struct lang_definedness_hash_entry
{
struct bfd_hash_entry root;
- int iteration;
+ unsigned int by_object : 1;
+ unsigned int by_script : 1;
+ unsigned int iteration : 1;
};
/* Used by place_orphan to keep track of orphan sections and statements. */
@@ -468,6 +493,14 @@ struct orphan_save
lang_output_section_statement_type **os_tail;
};
+struct asneeded_minfo
+{
+ struct asneeded_minfo *next;
+ const char *soname;
+ bfd *ref;
+ const char *name;
+};
+
extern struct lang_phdr *lang_phdr_list;
extern struct lang_nocrossrefs *nocrossref_list;
extern const char *output_target;
@@ -475,7 +508,6 @@ extern lang_output_section_statement_type *abs_output_section;
extern lang_statement_list_type lang_output_section_statement;
extern struct lang_input_statement_flags input_flags;
extern bfd_boolean lang_has_input_file;
-extern etree_type *base;
extern lang_statement_list_type *stat_ptr;
extern bfd_boolean delete_output_file_on_failure;
@@ -486,6 +518,9 @@ extern lang_statement_list_type file_chain;
extern lang_statement_list_type input_file_chain;
extern int lang_statement_iteration;
+extern struct asneeded_minfo **asneeded_list_tail;
+
+extern void (*output_bfd_hash_table_free_fn) (struct bfd_link_hash_table *);
extern void lang_init
(void);
@@ -572,6 +607,8 @@ extern lang_input_statement_type *lang_add_input_file
(const char *, lang_input_file_enum_type, const char *);
extern void lang_add_keepsyms_file
(const char *);
+extern lang_output_section_statement_type *lang_output_section_get
+ (const asection *);
extern lang_output_section_statement_type *lang_output_section_statement_lookup
(const char *, int, bfd_boolean);
extern lang_output_section_statement_type *next_matching_output_section_statement
@@ -599,6 +636,8 @@ extern void *stat_alloc
(size_t);
extern void strip_excluded_output_sections
(void);
+extern void lang_clear_os_map
+ (void);
extern void dprint_statement
(lang_statement_union_type *, int);
extern void lang_size_sections
@@ -644,8 +683,7 @@ extern void lang_add_unique
(const char *);
extern const char *lang_get_output_target
(void);
-extern void lang_track_definedness (const char *);
-extern int lang_symbol_definition_iteration (const char *);
+extern struct lang_definedness_hash_entry *lang_symbol_defined (const char *);
extern void lang_update_definedness
(const char *, struct bfd_link_hash_entry *);
diff --git a/binutils-2.25/ld/ldlex-wrapper.c b/binutils-2.25/ld/ldlex-wrapper.c
index 0e5eba8b..52705b70 100644
--- a/binutils-2.25/ld/ldlex-wrapper.c
+++ b/binutils-2.25/ld/ldlex-wrapper.c
@@ -1,4 +1,4 @@
-/* Copyright 2012 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/ldlex.h b/binutils-2.25/ld/ldlex.h
index 99f4282a..e3e9b247 100644
--- a/binutils-2.25/ld/ldlex.h
+++ b/binutils-2.25/ld/ldlex.h
@@ -1,6 +1,5 @@
/* ldlex.h -
- Copyright 1991, 1992, 1993, 1994, 1995, 1997, 2000, 2003, 2005, 2006,
- 2007, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -137,7 +136,10 @@ enum option_values
#endif /* ENABLE_PLUGINS */
OPTION_DEFAULT_SCRIPT,
OPTION_PRINT_OUTPUT_FORMAT,
+ OPTION_PRINT_SYSROOT,
OPTION_IGNORE_UNRESOLVED_SYMBOL,
+ OPTION_PUSH_STATE,
+ OPTION_POP_STATE,
};
/* The initial parser states. */
@@ -160,6 +162,7 @@ extern int yylex (void);
extern void lex_push_file (FILE *, const char *, unsigned int);
extern void lex_redirect (const char *, const char *, unsigned int);
extern void ldlex_script (void);
+extern void ldlex_inputlist (void);
extern void ldlex_mri_script (void);
extern void ldlex_version_script (void);
extern void ldlex_version_file (void);
diff --git a/binutils-2.25/ld/ldlex.l b/binutils-2.25/ld/ldlex.l
index 1695c278..d1621289 100644
--- a/binutils-2.25/ld/ldlex.l
+++ b/binutils-2.25/ld/ldlex.l
@@ -2,7 +2,7 @@
%{
-/* Copyright 1991-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support.
This file is part of the GNU Binutils.
@@ -77,6 +77,7 @@ static void lex_warn_invalid (char *where, char *what);
/* STATES
EXPRESSION definitely in an expression
SCRIPT definitely in a script
+ INPUTLIST definitely in a script, a filename-list
BOTH either EXPRESSION or SCRIPT
DEFSYMEXP in an argument to -defsym
MRI in an MRI script
@@ -109,6 +110,7 @@ V_TAG [.$_a-zA-Z][._a-zA-Z0-9]*
V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
%s SCRIPT
+%s INPUTLIST
%s EXPRESSION
%s BOTH
%s DEFSYMEXP
@@ -134,7 +136,7 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
}
}
-<BOTH,SCRIPT,EXPRESSION,VERS_START,VERS_NODE,VERS_SCRIPT>"/*" { comment (); }
+<BOTH,SCRIPT,EXPRESSION,VERS_START,VERS_NODE,VERS_SCRIPT,INPUTLIST>"/*" { comment (); }
<DEFSYMEXP>"-" { RTOKEN('-');}
@@ -221,7 +223,7 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
<BOTH,SCRIPT,EXPRESSION,MRI>"|=" { RTOKEN(OREQ);}
<BOTH,SCRIPT,EXPRESSION,MRI>"&&" { RTOKEN(ANDAND);}
<BOTH,SCRIPT,EXPRESSION,MRI>">" { RTOKEN('>');}
-<BOTH,SCRIPT,EXPRESSION,MRI>"," { RTOKEN(',');}
+<BOTH,SCRIPT,EXPRESSION,MRI,INPUTLIST>"," { RTOKEN(',');}
<BOTH,SCRIPT,EXPRESSION,MRI>"&" { RTOKEN('&');}
<BOTH,SCRIPT,EXPRESSION,MRI>"|" { RTOKEN('|');}
<BOTH,SCRIPT,EXPRESSION,MRI>"~" { RTOKEN('~');}
@@ -236,8 +238,8 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
<BOTH,SCRIPT,EXPRESSION,MRI>"=" { RTOKEN('=');}
<BOTH,SCRIPT,EXPRESSION,MRI>"}" { RTOKEN('}') ; }
<BOTH,SCRIPT,EXPRESSION,MRI>"{" { RTOKEN('{'); }
-<BOTH,SCRIPT,EXPRESSION,MRI>")" { RTOKEN(')');}
-<BOTH,SCRIPT,EXPRESSION,MRI>"(" { RTOKEN('(');}
+<BOTH,SCRIPT,EXPRESSION,MRI,INPUTLIST>")" { RTOKEN(')');}
+<BOTH,SCRIPT,EXPRESSION,MRI,INPUTLIST>"(" { RTOKEN('(');}
<BOTH,SCRIPT,EXPRESSION,MRI>":" { RTOKEN(':'); }
<BOTH,SCRIPT,EXPRESSION,MRI>";" { RTOKEN(';');}
<BOTH,SCRIPT>"MEMORY" { RTOKEN(MEMORY);}
@@ -272,7 +274,7 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
<BOTH,SCRIPT>"OUTPUT" { RTOKEN(OUTPUT);}
<BOTH,SCRIPT>"INPUT" { RTOKEN(INPUT);}
<EXPRESSION,BOTH,SCRIPT>"GROUP" { RTOKEN(GROUP);}
-<EXPRESSION,BOTH,SCRIPT>"AS_NEEDED" { RTOKEN(AS_NEEDED);}
+<EXPRESSION,BOTH,SCRIPT,INPUTLIST>"AS_NEEDED" { RTOKEN(AS_NEEDED);}
<EXPRESSION,BOTH,SCRIPT>"DEFINED" { RTOKEN(DEFINED);}
<BOTH,SCRIPT>"CREATE_OBJECT_SYMBOLS" { RTOKEN(CREATE_OBJECT_SYMBOLS);}
<BOTH,SCRIPT>"CONSTRUCTORS" { RTOKEN( CONSTRUCTORS);}
@@ -373,11 +375,16 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
}
-<BOTH>{FILENAMECHAR1}{FILENAMECHAR}* {
+<BOTH,INPUTLIST>{FILENAMECHAR1}{FILENAMECHAR}* {
yylval.name = xstrdup (yytext);
return NAME;
}
-<BOTH>"-l"{FILENAMECHAR}+ {
+<INPUTLIST>"="{FILENAMECHAR1}{FILENAMECHAR}* {
+/* Filename to be prefixed by --sysroot or when non-sysrooted, nothing. */
+ yylval.name = xstrdup (yytext);
+ return NAME;
+ }
+<BOTH,INPUTLIST>"-l"{FILENAMECHAR}+ {
yylval.name = xstrdup (yytext + 2);
return LNAME;
}
@@ -406,7 +413,7 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
}
}
-<EXPRESSION,BOTH,SCRIPT,VERS_NODE>"\""[^\"]*"\"" {
+<EXPRESSION,BOTH,SCRIPT,VERS_NODE,INPUTLIST>"\""[^\"]*"\"" {
/* No matter the state, quotes
give what's inside */
yylval.name = xstrdup (yytext + 1);
@@ -447,7 +454,7 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
<VERS_START,VERS_NODE,VERS_SCRIPT>#.* { /* Eat up comments */ }
-<VERS_START,VERS_NODE,VERS_SCRIPT>[ \t\r]+ { /* Eat up whitespace */ }
+<VERS_START,VERS_NODE,VERS_SCRIPT,INPUTLIST>[ \t\r]+ { /* Eat up whitespace */ }
<<EOF>> {
include_stack_ptr--;
@@ -566,6 +573,13 @@ ldlex_script (void)
}
void
+ldlex_inputlist (void)
+{
+ *(state_stack_p)++ = yy_start;
+ BEGIN (INPUTLIST);
+}
+
+void
ldlex_mri_script (void)
{
*(state_stack_p)++ = yy_start;
diff --git a/binutils-2.25/ld/ldmain.c b/binutils-2.25/ld/ldmain.c
index 019df71a..bc24957b 100644
--- a/binutils-2.25/ld/ldmain.c
+++ b/binutils-2.25/ld/ldmain.c
@@ -1,5 +1,5 @@
/* Main program of GNU linker.
- Copyright 1991-2013 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain steve@cygnus.com
This file is part of the GNU Binutils.
@@ -137,7 +137,7 @@ static bfd_boolean unattached_reloc
(struct bfd_link_info *, const char *, bfd *, asection *, bfd_vma);
static bfd_boolean notice
(struct bfd_link_info *, struct bfd_link_hash_entry *,
- bfd *, asection *, bfd_vma, flagword, const char *);
+ struct bfd_link_hash_entry *, bfd *, asection *, bfd_vma, flagword);
static struct bfd_link_callbacks link_callbacks =
{
@@ -378,6 +378,13 @@ main (int argc, char **argv)
lang_final ();
+ /* If the only command line argument has been -v or --version or --verbose
+ then ignore any input files provided by linker scripts and exit now.
+ We do not want to create an output file when the linker is just invoked
+ to provide version information. */
+ if (argc == 2 && version_printed)
+ xexit (0);
+
if (!lang_has_input_file)
{
if (version_printed || command_line.print_output_format)
@@ -425,7 +432,14 @@ main (int argc, char **argv)
output_cref (config.map_file != NULL ? config.map_file : stdout);
if (nocrossref_list != NULL)
check_nocrossrefs ();
+#if 0
+ {
+ struct bfd_link_hash_entry * h;
+ h = bfd_link_hash_lookup (link_info.hash, "__image_base__", 0,0,1);
+ fprintf (stderr, "lookup = %p val %lx\n", h, h ? h->u.def.value : 1);
+ }
+#endif
lang_finish ();
/* Even if we're producing relocatable output, some non-fatal errors should
@@ -597,8 +611,10 @@ get_emulation (int argc, char **argv)
|| strcmp (argv[i], "-mips5") == 0
|| strcmp (argv[i], "-mips32") == 0
|| strcmp (argv[i], "-mips32r2") == 0
+ || strcmp (argv[i], "-mips32r6") == 0
|| strcmp (argv[i], "-mips64") == 0
- || strcmp (argv[i], "-mips64r2") == 0)
+ || strcmp (argv[i], "-mips64r2") == 0
+ || strcmp (argv[i], "-mips64r6") == 0)
{
/* FIXME: The arguments -mips1, -mips2, -mips3, etc. are
passed to the linker by some MIPS compilers. They
@@ -841,7 +857,8 @@ add_archive_element (struct bfd_link_info *info,
{
char buf[100];
- sprintf (buf, _("Archive member included because of file (symbol)\n\n"));
+ sprintf (buf, _("Archive member included "
+ "to satisfy reference by file (symbol)\n\n"));
minfo ("%s", buf);
header_printed = TRUE;
}
@@ -1149,6 +1166,25 @@ struct warning_callback_info
asymbol **asymbols;
};
+/* Look through the relocs to see if we can find a plausible address
+ for SYMBOL in ABFD. Return TRUE if found. Otherwise return FALSE. */
+
+static bfd_boolean
+symbol_warning (const char *warning, const char *symbol, bfd *abfd)
+{
+ struct warning_callback_info cinfo;
+
+ if (!bfd_generic_link_read_symbols (abfd))
+ einfo (_("%B%F: could not read symbols: %E\n"), abfd);
+
+ cinfo.found = FALSE;
+ cinfo.warning = warning;
+ cinfo.symbol = symbol;
+ cinfo.asymbols = bfd_get_outsymbols (abfd);
+ bfd_map_over_sections (abfd, warning_find_reloc, &cinfo);
+ return cinfo.found;
+}
+
/* This is called when there is a reference to a warning symbol. */
static bfd_boolean
@@ -1171,24 +1207,14 @@ warning_callback (struct bfd_link_info *info ATTRIBUTE_UNUSED,
einfo ("%P: %s%s\n", _("warning: "), warning);
else if (symbol == NULL)
einfo ("%B: %s%s\n", abfd, _("warning: "), warning);
- else
+ else if (! symbol_warning (warning, symbol, abfd))
{
- struct warning_callback_info cinfo;
-
- /* Look through the relocs to see if we can find a plausible
- address. */
-
- if (!bfd_generic_link_read_symbols (abfd))
- einfo (_("%B%F: could not read symbols: %E\n"), abfd);
-
- cinfo.found = FALSE;
- cinfo.warning = warning;
- cinfo.symbol = symbol;
- cinfo.asymbols = bfd_get_outsymbols (abfd);
- bfd_map_over_sections (abfd, warning_find_reloc, &cinfo);
-
- if (! cinfo.found)
- einfo ("%B: %s%s\n", abfd, _("warning: "), warning);
+ bfd *b;
+ /* Search all input files for a reference to SYMBOL. */
+ for (b = info->input_bfds; b; b = b->link.next)
+ if (b != abfd && symbol_warning (warning, symbol, b))
+ return TRUE;
+ einfo ("%B: %s%s\n", abfd, _("warning: "), warning);
}
return TRUE;
@@ -1437,11 +1463,11 @@ unattached_reloc (struct bfd_link_info *info ATTRIBUTE_UNUSED,
static bfd_boolean
notice (struct bfd_link_info *info,
struct bfd_link_hash_entry *h,
+ struct bfd_link_hash_entry *inh ATTRIBUTE_UNUSED,
bfd *abfd,
asection *section,
bfd_vma value,
- flagword flags ATTRIBUTE_UNUSED,
- const char *string ATTRIBUTE_UNUSED)
+ flagword flags ATTRIBUTE_UNUSED)
{
const char *name;
diff --git a/binutils-2.25/ld/ldmain.h b/binutils-2.25/ld/ldmain.h
index 90558a1f..dce96505 100644
--- a/binutils-2.25/ld/ldmain.h
+++ b/binutils-2.25/ld/ldmain.h
@@ -1,5 +1,5 @@
/* ldmain.h -
- Copyright 1991-2013 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/ldmisc.c b/binutils-2.25/ld/ldmisc.c
index 1b69ab1d..5e180132 100644
--- a/binutils-2.25/ld/ldmisc.c
+++ b/binutils-2.25/ld/ldmisc.c
@@ -1,7 +1,5 @@
/* ldmisc.c
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012, 2013
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support.
This file is part of the GNU Binutils.
@@ -484,7 +482,22 @@ minfo (const char *fmt, ...)
va_list arg;
va_start (arg, fmt);
- vfinfo (config.map_file, fmt, arg, FALSE);
+ if (fmt[0] == '%' && fmt[1] == '!' && fmt[2] == 0)
+ {
+ /* Stash info about --as-needed shared libraries. Print
+ later so they don't appear intermingled with archive
+ library info. */
+ struct asneeded_minfo *m = xmalloc (sizeof *m);
+
+ m->next = NULL;
+ m->soname = va_arg (arg, const char *);
+ m->ref = va_arg (arg, bfd *);
+ m->name = va_arg (arg, const char *);
+ *asneeded_list_tail = m;
+ asneeded_list_tail = &m->next;
+ }
+ else
+ vfinfo (config.map_file, fmt, arg, FALSE);
va_end (arg);
}
}
diff --git a/binutils-2.25/ld/ldmisc.h b/binutils-2.25/ld/ldmisc.h
index 82a498d7..51032113 100644
--- a/binutils-2.25/ld/ldmisc.h
+++ b/binutils-2.25/ld/ldmisc.h
@@ -1,6 +1,5 @@
/* ldmisc.h -
- Copyright 1991, 1992, 1993, 1994, 1996, 1997, 2001, 2003, 2004, 2005, 2007
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/ldver.c b/binutils-2.25/ld/ldver.c
index d083b710..5760cf09 100644
--- a/binutils-2.25/ld/ldver.c
+++ b/binutils-2.25/ld/ldver.c
@@ -1,7 +1,5 @@
/* ldver.c -- Print linker version.
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2002,
- 2003, 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -40,7 +38,7 @@ ldversion (int noisy)
if (noisy & 2)
{
- printf (_("Copyright 2013 Free Software Foundation, Inc.\n"));
+ printf (_("Copyright (C) 2014 Free Software Foundation, Inc.\n"));
printf (_("\
This program is free software; you may redistribute it under the terms of\n\
the GNU General Public License version 3 or (at your option) a later version.\n\
diff --git a/binutils-2.25/ld/ldver.h b/binutils-2.25/ld/ldver.h
index 0779ce81..a2e9adb3 100644
--- a/binutils-2.25/ld/ldver.h
+++ b/binutils-2.25/ld/ldver.h
@@ -1,6 +1,5 @@
/* ldver.h -- Header file for ldver.c.
- Copyright 1991, 1992, 1993, 1996, 2001, 2003, 2005, 2007
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/ldwrite.c b/binutils-2.25/ld/ldwrite.c
index aad08509..43bc40b7 100644
--- a/binutils-2.25/ld/ldwrite.c
+++ b/binutils-2.25/ld/ldwrite.c
@@ -1,7 +1,5 @@
/* ldwrite.c -- write out the linked file
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Written by Steve Chamberlain sac@cygnus.com
This file is part of the GNU Binutils.
@@ -574,6 +572,7 @@ ldwrite (void)
/* Reset error indicator, which can typically something like invalid
format from opening up the .o files. */
bfd_set_error (bfd_error_no_error);
+ lang_clear_os_map ();
lang_for_each_statement (build_link_order);
if (config.split_by_reloc != (unsigned) -1
diff --git a/binutils-2.25/ld/ldwrite.h b/binutils-2.25/ld/ldwrite.h
index 521f467b..1402a7f6 100644
--- a/binutils-2.25/ld/ldwrite.h
+++ b/binutils-2.25/ld/ldwrite.h
@@ -1,5 +1,5 @@
/* ldwrite.h -
- Copyright 1991, 1992, 1993, 2003, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/lexsup.c b/binutils-2.25/ld/lexsup.c
index 2f717502..4812c97b 100644
--- a/binutils-2.25/ld/lexsup.c
+++ b/binutils-2.25/ld/lexsup.c
@@ -1,7 +1,5 @@
/* Parse options for the GNU linker.
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -381,6 +379,8 @@ static const struct ld_option ld_options[] =
EXACTLY_TWO_DASHES },
{ {"print-output-format", no_argument, NULL, OPTION_PRINT_OUTPUT_FORMAT},
'\0', NULL, N_("Print default output format"), TWO_DASHES },
+ { {"print-sysroot", no_argument, NULL, OPTION_PRINT_SYSROOT},
+ '\0', NULL, N_("Print current sysroot"), TWO_DASHES },
{ {"qmagic", no_argument, NULL, OPTION_IGNORE},
'\0', NULL, N_("Ignored for Linux compatibility"), ONE_DASH },
{ {"reduce-memory-overheads", no_argument, NULL,
@@ -507,6 +507,12 @@ static const struct ld_option ld_options[] =
OPTION_IGNORE_UNRESOLVED_SYMBOL},
'\0', N_("SYMBOL"),
N_("Unresolved SYMBOL will not cause an error or warning"), TWO_DASHES },
+ { {"push-state", no_argument, NULL, OPTION_PUSH_STATE},
+ '\0', NULL, N_("Push state of flags governing input file handling"),
+ TWO_DASHES },
+ { {"pop-state", no_argument, NULL, OPTION_POP_STATE},
+ '\0', NULL, N_("Pop state of flags governing input file handling"),
+ TWO_DASHES },
};
#define OPTION_COUNT ARRAY_SIZE (ld_options)
@@ -956,6 +962,11 @@ parse_args (unsigned argc, char **argv)
case OPTION_OFORMAT:
lang_add_output_format (optarg, NULL, NULL, 0);
break;
+ case OPTION_PRINT_SYSROOT:
+ if (*ld_sysroot)
+ puts (ld_sysroot);
+ xexit (0);
+ break;
case OPTION_PRINT_OUTPUT_FORMAT:
command_line.print_output_format = TRUE;
break;
@@ -1109,7 +1120,11 @@ parse_args (unsigned argc, char **argv)
break;
case 'h': /* Used on Solaris. */
case OPTION_SONAME:
- command_line.soname = optarg;
+ if (optarg[0] == '\0' && command_line.soname
+ && command_line.soname[0])
+ einfo (_("%P: SONAME must not be empty string; keeping previous one\n"));
+ else
+ command_line.soname = optarg;
break;
case OPTION_SORT_COMMON:
if (optarg == NULL
@@ -1442,9 +1457,32 @@ parse_args (unsigned argc, char **argv)
einfo (_("%P%X: --hash-size needs a numeric argument\n"));
}
break;
+
+ case OPTION_PUSH_STATE:
+ input_flags.pushed = xmemdup (&input_flags,
+ sizeof (input_flags),
+ sizeof (input_flags));
+ break;
+
+ case OPTION_POP_STATE:
+ if (input_flags.pushed == NULL)
+ einfo (_("%P%F: no state pushed before popping\n"));
+ else
+ {
+ struct lang_input_statement_flags *oldp = input_flags.pushed;
+ memcpy (&input_flags, oldp, sizeof (input_flags));
+ free (oldp);
+ }
+ break;
}
}
+ if (command_line.soname && command_line.soname[0] == '\0')
+ {
+ einfo (_("%P: SONAME must not be empty string; ignored\n"));
+ command_line.soname = NULL;
+ }
+
while (ingroup)
{
lang_leave_group ();
diff --git a/binutils-2.25/ld/mri.c b/binutils-2.25/ld/mri.c
index 450cdf73..70d4e028 100644
--- a/binutils-2.25/ld/mri.c
+++ b/binutils-2.25/ld/mri.c
@@ -1,6 +1,5 @@
/* mri.c -- handle MRI style linker scripts
- Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2007, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
Contributed by Steve Chamberlain <sac@cygnus.com>.
This file is part of the GNU Binutils.
@@ -45,6 +44,8 @@ struct section_name_struct {
};
static unsigned int symbol_truncate = 10000;
+static etree_type *base; /* Relocation base - or null */
+
static struct section_name_struct *order;
static struct section_name_struct *only_load;
static struct section_name_struct *address;
diff --git a/binutils-2.25/ld/mri.h b/binutils-2.25/ld/mri.h
index 24dd322b..5fe565a6 100644
--- a/binutils-2.25/ld/mri.h
+++ b/binutils-2.25/ld/mri.h
@@ -1,5 +1,5 @@
/* mri.h -- header file for MRI scripting functions
- Copyright 1993, 1995, 1996, 2003, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1993-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/pe-dll.c b/binutils-2.25/ld/pe-dll.c
index bd3195f4..61d8fa5c 100644
--- a/binutils-2.25/ld/pe-dll.c
+++ b/binutils-2.25/ld/pe-dll.c
@@ -1,6 +1,5 @@
/* Routines to help build PEI-format DLLs (Win32 etc)
- Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1998-2014 Free Software Foundation, Inc.
Written by DJ Delorie <dj@cygnus.com>
This file is part of the GNU Binutils.
@@ -236,6 +235,7 @@ static const autofilter_entry_type autofilter_symbollist_i386[] =
{ STRING_COMMA_LEN ("_impure_ptr") },
{ STRING_COMMA_LEN ("_fmode") },
{ STRING_COMMA_LEN ("environ") },
+ { STRING_COMMA_LEN ("__dso_handle") },
{ NULL, 0 }
};
@@ -655,7 +655,7 @@ process_def_file_and_drectve (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *
/* First, run around to all the objects looking for the .drectve
sections, and push those into the def file too. */
- for (b = info->input_bfds; b; b = b->link_next)
+ for (b = info->input_bfds; b; b = b->link.next)
{
s = bfd_get_section_by_name (b, ".drectve");
if (s)
@@ -701,7 +701,7 @@ process_def_file_and_drectve (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *
if ((pe_dll_export_everything || pe_def_file->num_exports == 0)
&& !pe_dll_exclude_all_symbols)
{
- for (b = info->input_bfds; b; b = b->link_next)
+ for (b = info->input_bfds; b; b = b->link.next)
{
asymbol **symbols;
int nsyms;
@@ -1170,9 +1170,6 @@ fill_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
unsigned char *enameptrs;
unsigned char *eordinals;
char *enamestr;
- time_t now;
-
- time (&now);
edata_d = xmalloc (edata_sz);
@@ -1187,7 +1184,10 @@ fill_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
+ edata_s->output_section->vma - image_base)
memset (edata_d, 0, edata_sz);
- bfd_put_32 (abfd, now, edata_d + 4);
+
+ if (pe_data (abfd)->insert_timestamp)
+ H_PUT_32 (abfd, time (0), edata_d + 4);
+
if (pe_def_file->version_major != -1)
{
bfd_put_16 (abfd, pe_def_file->version_major, edata_d + 8);
@@ -1268,7 +1268,7 @@ pe_walk_relocs_of_symbol (struct bfd_link_info *info,
bfd *b;
asection *s;
- for (b = info->input_bfds; b; b = b->link_next)
+ for (b = info->input_bfds; b; b = b->link.next)
{
asymbol **symbols;
@@ -1331,7 +1331,7 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
struct bfd_section *s;
total_relocs = 0;
- for (b = info->input_bfds; b; b = b->link_next)
+ for (b = info->input_bfds; b; b = b->link.next)
for (s = b->sections; s; s = s->next)
total_relocs += s->reloc_count;
@@ -1339,7 +1339,7 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
total_relocs = 0;
bi = 0;
- for (bi = 0, b = info->input_bfds; b; bi++, b = b->link_next)
+ for (bi = 0, b = info->input_bfds; b; bi++, b = b->link.next)
{
arelent **relocs;
int relsize, nrelocs;
@@ -2591,7 +2591,7 @@ pe_create_runtime_relocator_reference (bfd *parent)
BSF_NO_FLAGS, 0);
bfd_set_section_size (abfd, extern_rt_rel, PE_IDATA5_SIZE);
- extern_rt_rel_d = xmalloc (PE_IDATA5_SIZE);
+ extern_rt_rel_d = xcalloc (1, PE_IDATA5_SIZE);
extern_rt_rel->contents = extern_rt_rel_d;
quick_reloc (abfd, 0, BFD_RELOC_RVA, 1);
@@ -2727,7 +2727,7 @@ pe_dll_generate_implib (def_file *def, const char *impfilename, struct bfd_link_
ar_head = make_head (outarch);
/* Iterate the input BFDs, looking for exclude-modules-for-implib. */
- for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link_next)
+ for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link.next)
{
/* Iterate the exclude list. */
struct exclude_list_struct *ex;
diff --git a/binutils-2.25/ld/pe-dll.h b/binutils-2.25/ld/pe-dll.h
index 46973908..24ea3023 100644
--- a/binutils-2.25/ld/pe-dll.h
+++ b/binutils-2.25/ld/pe-dll.h
@@ -1,6 +1,5 @@
/* pe-dll.h: Header file for routines used to build Windows DLLs.
- Copyright 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
+ Copyright (C) 1999-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/pep-dll.c b/binutils-2.25/ld/pep-dll.c
index 0e5e8b15..8ccd52f1 100644
--- a/binutils-2.25/ld/pep-dll.c
+++ b/binutils-2.25/ld/pep-dll.c
@@ -1,5 +1,5 @@
/* Routines to help build PEPI-format DLLs (Win64 etc)
- Copyright 2006, 2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2006-2014 Free Software Foundation, Inc.
Written by Kai Tietz, OneVision Software GmbH&CoKg.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/pep-dll.h b/binutils-2.25/ld/pep-dll.h
index 1e7e3d65..52127ffa 100644
--- a/binutils-2.25/ld/pep-dll.h
+++ b/binutils-2.25/ld/pep-dll.h
@@ -1,5 +1,5 @@
/* pep-dll.h: Header file for routines used to build Windows DLLs.
- Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2006-2014 Free Software Foundation, Inc.
Written by Kai Tietz, OneVision Software GmbH&CoKg.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/plugin.c b/binutils-2.25/ld/plugin.c
index 0d5339fd..f02a97f0 100644
--- a/binutils-2.25/ld/plugin.c
+++ b/binutils-2.25/ld/plugin.c
@@ -1,5 +1,5 @@
/* Plugin control for the GNU linker.
- Copyright 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+ Copyright (C) 2010-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -127,8 +127,9 @@ static const size_t tv_header_size = ARRAY_SIZE (tv_header_tags);
/* Forward references. */
static bfd_boolean plugin_notice (struct bfd_link_info *,
- struct bfd_link_hash_entry *, bfd *,
- asection *, bfd_vma, flagword, const char *);
+ struct bfd_link_hash_entry *,
+ struct bfd_link_hash_entry *,
+ bfd *, asection *, bfd_vma, flagword);
#if !defined (HAVE_DLFCN_H) && defined (HAVE_WINDOWS_H)
@@ -217,6 +218,17 @@ plugin_opt_plugin_arg (const char *arg)
if (!last_plugin)
return set_plugin_error (_("<no plugin>"));
+ /* Ignore -pass-through= from GCC driver. */
+ if (*arg == '-')
+ {
+ const char *p = arg + 1;
+
+ if (*p == '-')
+ ++p;
+ if (strncmp (p, "pass-through=", 13) == 0)
+ return 0;
+ }
+
newarg = xmalloc (sizeof *newarg);
newarg->arg = arg;
newarg->next = NULL;
@@ -259,17 +271,12 @@ plugin_get_ir_dummy_bfd (const char *name, bfd *srctemplate)
}
/* Check if the BFD passed in is an IR dummy object file. */
-static bfd_boolean
+static inline bfd_boolean
is_ir_dummy_bfd (const bfd *abfd)
{
/* ABFD can sometimes legitimately be NULL, e.g. when called from one
- of the linker callbacks for a symbol in the *ABS* or *UND* sections.
- Likewise, the usrdata field may be NULL if ABFD was added by the
- backend without a corresponding input statement, as happens e.g.
- when processing DT_NEEDED dependencies. */
- return (abfd
- && abfd->usrdata
- && ((lang_input_statement_type *)(abfd->usrdata))->flags.claimed);
+ of the linker callbacks for a symbol in the *ABS* or *UND* sections. */
+ return abfd != NULL && (abfd->flags & BFD_PLUGIN) != 0;
}
/* Helpers to convert between BFD and GOLD symbol formats. */
@@ -830,6 +837,7 @@ plugin_load_plugins (void)
plugin_callbacks = *orig_callbacks;
plugin_callbacks.notice = &plugin_notice;
link_info.notice_all = TRUE;
+ link_info.lto_plugin_active = TRUE;
link_info.callbacks = &plugin_callbacks;
}
@@ -950,16 +958,21 @@ plugin_call_cleanup (void)
static bfd_boolean
plugin_notice (struct bfd_link_info *info,
struct bfd_link_hash_entry *h,
+ struct bfd_link_hash_entry *inh,
bfd *abfd,
asection *section,
bfd_vma value,
- flagword flags,
- const char *string)
+ flagword flags)
{
+ struct bfd_link_hash_entry *orig_h = h;
+
if (h != NULL)
{
bfd *sym_bfd;
+ if (h->type == bfd_link_hash_warning)
+ h = h->u.i.link;
+
/* Nothing to do here if this def/ref is from an IR dummy BFD. */
if (is_ir_dummy_bfd (abfd))
;
@@ -969,16 +982,15 @@ plugin_notice (struct bfd_link_info *info,
else if (bfd_is_ind_section (section)
|| (flags & BSF_INDIRECT) != 0)
{
+ /* ??? Some of this is questionable. See comments in
+ _bfd_generic_link_add_one_symbol for case IND. */
if (h->type != bfd_link_hash_new)
{
- struct bfd_link_hash_entry *inh;
-
h->non_ir_ref = TRUE;
- inh = bfd_wrapped_link_hash_lookup (abfd, info, string, FALSE,
- FALSE, FALSE);
- if (inh != NULL)
- inh->non_ir_ref = TRUE;
+ inh->non_ir_ref = TRUE;
}
+ else if (inh->type == bfd_link_hash_new)
+ inh->non_ir_ref = TRUE;
}
/* Nothing to do here for warning symbols. */
@@ -1019,23 +1031,12 @@ plugin_notice (struct bfd_link_info *info,
}
/* Continue with cref/nocrossref/trace-sym processing. */
- if (h == NULL
+ if (orig_h == NULL
|| orig_notice_all
|| (info->notice_hash != NULL
- && bfd_hash_lookup (info->notice_hash, h->root.string,
+ && bfd_hash_lookup (info->notice_hash, orig_h->root.string,
FALSE, FALSE) != NULL))
- return (*orig_callbacks->notice) (info, h,
- abfd, section, value, flags, string);
+ return (*orig_callbacks->notice) (info, orig_h, inh,
+ abfd, section, value, flags);
return TRUE;
}
-
-/* Return true if bfd is a dynamic library that should be reloaded. */
-
-bfd_boolean
-plugin_should_reload (bfd *abfd)
-{
- return ((abfd->flags & DYNAMIC) != 0
- && bfd_get_flavour (abfd) == bfd_target_elf_flavour
- && bfd_get_format (abfd) == bfd_object
- && (elf_dyn_lib_class (abfd) & DYN_AS_NEEDED) != 0);
-}
diff --git a/binutils-2.25/ld/plugin.h b/binutils-2.25/ld/plugin.h
index a227575f..bccbee3b 100644
--- a/binutils-2.25/ld/plugin.h
+++ b/binutils-2.25/ld/plugin.h
@@ -1,5 +1,5 @@
/* Plugin control for the GNU linker.
- Copyright 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -66,7 +66,4 @@ extern void plugin_call_cleanup (void);
add_symbols hook has been called so that it can be read when linking. */
extern bfd *plugin_get_ir_dummy_bfd (const char *name, bfd *template);
-/* Return true if bfd is a dynamic library that should be reloaded. */
-extern bfd_boolean plugin_should_reload (bfd *);
-
#endif /* !def GLD_PLUGIN_H */
diff --git a/binutils-2.25/ld/po/Make-in b/binutils-2.25/ld/po/Make-in
index 5e0798bf..fb8bbedf 100644
--- a/binutils-2.25/ld/po/Make-in
+++ b/binutils-2.25/ld/po/Make-in
@@ -1,6 +1,6 @@
# Makefile for program source directory in GNU NLS utilities package.
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
-# Copyright 2003, 2006, 2007, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file may be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
diff --git a/binutils-2.25/ld/po/POTFILES.in b/binutils-2.25/ld/po/POTFILES.in
index 55cbd13c..fcc28944 100644
--- a/binutils-2.25/ld/po/POTFILES.in
+++ b/binutils-2.25/ld/po/POTFILES.in
@@ -3,6 +3,8 @@ elf-hints-local.h
emultempl/armcoff.em
emultempl/pe.em
ld.h
+ldbuildid.c
+ldbuildid.h
ldcref.c
ldctor.c
ldctor.h
diff --git a/binutils-2.25/ld/po/bg.po b/binutils-2.25/ld/po/bg.po
index cff70a44..30bba278 100644
--- a/binutils-2.25/ld/po/bg.po
+++ b/binutils-2.25/ld/po/bg.po
@@ -1,19 +1,19 @@
# Translation of binutils ld to Bulgarian
-# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2010, 2011, 2012, 2014 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
-# Roumen Petrov <transl@roumenpetrov.info>, 2010, 2011, 2012.
+# Roumen Petrov <transl@roumenpetrov.info>, 2010,2011,2012,2014.
#
# Abbreviations:
# BFD - Binary Format Description
# IR - Intermediate Representation
msgid ""
msgstr ""
-"Project-Id-Version: ld 2.22.90\n"
+"Project-Id-Version: ld 2.24.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2011-10-25 11:20+0100\n"
-"PO-Revision-Date: 2012-07-28 01:09+0300\n"
-"Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
-"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
+"POT-Creation-Date: 2014-02-10 09:42+1030\n"
+"PO-Revision-Date: 2014-10-19 18:11+0300\n"
+"Last-Translator: Румен Петров <transl@roumenpetrov.info>\n"
+"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,177 +28,187 @@ msgstr " --support-old-code Поддръжка на работоÑпо
#: emultempl/armcoff.em:74
#, c-format
msgid " --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"
-msgstr " --thumb-entry=<знак> УÑтановÑване на входÑща точка да е отбелÑÐ·Ð°Ð½Ð¸Ñ <знак>\n"
+msgstr " --thumb-entry=<знак> УÑтановÑва входÑща точка да е отбелÑÐ·Ð°Ð½Ð¸Ñ <знак>\n"
#: emultempl/armcoff.em:122
#, c-format
msgid "Errors encountered processing file %s"
-msgstr "СблъÑкване Ñ Ð³Ñ€ÐµÑˆÐºÐ¸ при обработване на файл %s"
+msgstr "Открити Ñа грешки при обработване на файл %s"
-#: emultempl/armcoff.em:192 emultempl/pe.em:1812
+#: emultempl/armcoff.em:192 emultempl/pe.em:1827
msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n"
msgstr "%P: предупреждение: '--thumb-entry %s' прегазва '-e %s'\n"
-#: emultempl/armcoff.em:197 emultempl/pe.em:1817
+#: emultempl/armcoff.em:197 emultempl/pe.em:1832
msgid "%P: warning: cannot find thumb start symbol %s\n"
msgstr "%P: предупреждение: не е намерен, като начален, отбелÑÐ·Ð°Ð½Ð¸Ñ Ð·Ð½Ð°Ðº %s\n"
-#: emultempl/pe.em:419
+#: emultempl/pe.em:425
#, c-format
msgid " --base_file <basefile> Generate a base file for relocatable DLLs\n"
msgstr " --base_file <базов_файл> Създаване на базов файл за премеÑтваеми DLLs\n"
-#: emultempl/pe.em:420
+#: emultempl/pe.em:426
#, c-format
msgid " --dll Set image base to the default for DLLs\n"
msgstr " --dll УÑтановÑва Ð±Ð°Ð·Ð¾Ð²Ð¸Ñ Ð°Ð´Ñ€ÐµÑ Ð½Ð° Ð¿Ð¾Ð´Ñ€Ð°Ð·Ð±Ð¸Ñ€Ð°Ñ‰Ð¸Ñ Ñе за DLLs\n"
-#: emultempl/pe.em:421
+#: emultempl/pe.em:427
#, c-format
msgid " --file-alignment <size> Set file alignment\n"
-msgstr " --file-alignment <размер> УÑтановÑва подравнÑване за файла\n"
+msgstr " --file-alignment <размер> УÑтановÑва подравнÑване за файла\n"
-#: emultempl/pe.em:422
+#: emultempl/pe.em:428
#, c-format
msgid " --heap <size> Set initial size of the heap\n"
msgstr " --heap <размер> УÑтановÑва Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ на динамичната памет\n"
-#: emultempl/pe.em:423
+#: emultempl/pe.em:429
#, c-format
msgid " --image-base <address> Set start address of the executable\n"
msgstr " --image-base <адреÑ> УÑтановÑва начален Ð°Ð´Ñ€ÐµÑ Ð½Ð° Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸Ð¼Ð¸Ñ Ñ„Ð°Ð¹Ð»\n"
-#: emultempl/pe.em:424
+#: emultempl/pe.em:430
#, c-format
msgid " --major-image-version <number> Set version number of the executable\n"
msgstr " --major-image-version <чиÑло> УÑтановÑва номер на верÑÐ¸Ñ Ð½Ð° Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸Ð¼Ð¸Ñ Ñ„Ð°Ð¹Ð»\n"
-#: emultempl/pe.em:425
+#: emultempl/pe.em:431
#, c-format
msgid " --major-os-version <number> Set minimum required OS version\n"
msgstr " --major-os-version <чиÑло> УÑтановÑва необходима минимална верÑÐ¸Ñ Ð½Ð° ОС\n"
-#: emultempl/pe.em:426
+#: emultempl/pe.em:432
#, c-format
msgid " --major-subsystem-version <number> Set minimum required OS subsystem version\n"
msgstr " --major-subsystem-version <чиÑло> УÑтановÑва необходима минимална подверÑÐ¸Ñ Ð½Ð° ОС\n"
-#: emultempl/pe.em:427
+#: emultempl/pe.em:433
#, c-format
msgid " --minor-image-version <number> Set revision number of the executable\n"
msgstr " --minor-image-version <чиÑло> УÑтановÑва номер на изданието на Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸Ð¼Ð¸Ñ Ñ„Ð°Ð¹Ð»\n"
-#: emultempl/pe.em:428
+#: emultempl/pe.em:434
#, c-format
msgid " --minor-os-version <number> Set minimum required OS revision\n"
msgstr " --minor-os-version <чиÑло> УÑтановÑва необходимо минимално издание на ОС\n"
-#: emultempl/pe.em:429
+#: emultempl/pe.em:435
#, c-format
msgid " --minor-subsystem-version <number> Set minimum required OS subsystem revision\n"
msgstr " --minor-subsystem-version <чиÑло> УÑтановÑва необходимо минимално подиздание на ОС\n"
-#: emultempl/pe.em:430
+#: emultempl/pe.em:436
#, c-format
msgid " --section-alignment <size> Set section alignment\n"
msgstr " --section-alignment <размер> УÑтановÑва подравнÑване на раздел\n"
-#: emultempl/pe.em:431
+#: emultempl/pe.em:437
#, c-format
msgid " --stack <size> Set size of the initial stack\n"
msgstr " --stack <размер> УÑтановÑва размера на Ð¿ÑŠÑ€Ð²Ð¾Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ Ñтек\n"
-#: emultempl/pe.em:432
+#: emultempl/pe.em:438
#, c-format
msgid " --subsystem <name>[:<version>] Set required OS subsystem [& version]\n"
msgstr " --subsystem <име>[:<верÑиÑ>] УÑтановÑва необходима подÑиÑтема [и верÑиÑ] на ОС\n"
-#: emultempl/pe.em:433
+#: emultempl/pe.em:439
#, c-format
msgid " --support-old-code Support interworking with old code\n"
msgstr " --support-old-code Поддръжка на работоÑпоÑобноÑÑ‚ Ñ Ð¿Ñ€ÐµÐ´Ð¸ÑˆÐµÐ½ код\n"
-#: emultempl/pe.em:434
+#: emultempl/pe.em:440
#, c-format
msgid " --[no-]leading-underscore Set explicit symbol underscore prefix mode\n"
msgstr " --[no-]leading-underscore Изрично уÑтановÑва режим Ñ Ð¿Ð¾Ð´Ñ‡ÐµÑ€Ñ‚Ð°Ð²ÐºÐ° като предÑтавка за име\n"
-#: emultempl/pe.em:435
+#: emultempl/pe.em:441
#, c-format
msgid " --thumb-entry=<symbol> Set the entry point to be Thumb <symbol>\n"
-msgstr " --thumb-entry=<знак> УÑтановÑване на входÑща точка да е отбелÑÐ·Ð°Ð½Ð¸Ñ <знак>\n"
+msgstr " --thumb-entry=<знак> УÑтановÑване на входÑща точка да е отбелÑÐ·Ð°Ð½Ð¸Ñ <знак>\n"
-#: emultempl/pe.em:437
+#: emultempl/pe.em:442
+#, c-format
+msgid " --insert-timestamp Use a real timestamp rather than zero.\n"
+msgstr " --insert-timestamp Използва иÑтинÑка времева отметка вмеÑто нула.\n"
+
+#: emultempl/pe.em:443
+#, c-format
+msgid " This makes binaries non-deterministic\n"
+msgstr " Това прави двоичните файлове неопределÑеми\n"
+
+#: emultempl/pe.em:445
#, c-format
msgid " --add-stdcall-alias Export symbols with and without @nn\n"
msgstr " --add-stdcall-alias ИзнаÑÑне на имена Ñ Ð¸ без @nn\n"
-#: emultempl/pe.em:438
+#: emultempl/pe.em:446
#, c-format
msgid " --disable-stdcall-fixup Don't link _sym to _sym@nn\n"
msgstr " --disable-stdcall-fixup Без Ñвързване на _име към _име@nn\n"
-#: emultempl/pe.em:439
+#: emultempl/pe.em:447
#, c-format
msgid " --enable-stdcall-fixup Link _sym to _sym@nn without warnings\n"
msgstr " --enable-stdcall-fixup Свързва _име ÑÑŠÑ _име@nn без предупреждениÑ\n"
-#: emultempl/pe.em:440
+#: emultempl/pe.em:448
#, c-format
msgid " --exclude-symbols sym,sym,... Exclude symbols from automatic export\n"
-msgstr " --exclude-symbols име,име,... Изключва имена от автоматичното изнаÑÑне\n"
+msgstr " --exclude-symbols име,име,... Изключва имена от автоматичното изнаÑÑне\n"
-#: emultempl/pe.em:441
+#: emultempl/pe.em:449
#, c-format
msgid " --exclude-all-symbols Exclude all symbols from automatic export\n"
msgstr " --exclude-all-symbols Изключва вÑички имена от автоматичното изнаÑÑне\n"
-#: emultempl/pe.em:442
+#: emultempl/pe.em:450
#, c-format
msgid " --exclude-libs lib,lib,... Exclude libraries from automatic export\n"
msgstr " --exclude-libs библ.,библ.,... Изключва библиотеки от автоматичното изнаÑÑне\n"
-#: emultempl/pe.em:443
+#: emultempl/pe.em:451
#, c-format
msgid " --exclude-modules-for-implib mod,mod,...\n"
msgstr " --exclude-modules-for-implib модул,модул,...\n"
-#: emultempl/pe.em:444
+#: emultempl/pe.em:452
#, c-format
msgid " Exclude objects, archive members from auto\n"
msgstr " Изключва обекти, библиотечни обекти от автоматично\n"
-#: emultempl/pe.em:445
+#: emultempl/pe.em:453
#, c-format
msgid " export, place into import library instead.\n"
msgstr " изнаÑÑне, в замÑна поÑтавÑне в библиотека за внаÑÑне.\n"
-#: emultempl/pe.em:446
+#: emultempl/pe.em:454
#, c-format
msgid " --export-all-symbols Automatically export all globals to DLL\n"
msgstr " --export-all-symbols Ðвтоматично изнаÑÑне на вÑички общи в DLL\n"
-#: emultempl/pe.em:447
+#: emultempl/pe.em:455
#, c-format
msgid " --kill-at Remove @nn from exported symbols\n"
msgstr " --kill-at Премахва @nn от изнеÑените имена\n"
-#: emultempl/pe.em:448
+#: emultempl/pe.em:456
#, c-format
msgid " --out-implib <file> Generate import library\n"
msgstr " --out-implib <файл> Създава библиотека за внаÑÑне\n"
-#: emultempl/pe.em:449
+#: emultempl/pe.em:457
#, c-format
msgid " --output-def <file> Generate a .DEF file for the built DLL\n"
msgstr " --output-def <файл> Генерира DEF-файл за Ñъздадената DLL\n"
-#: emultempl/pe.em:450
+#: emultempl/pe.em:458
#, c-format
msgid " --warn-duplicate-exports Warn about duplicate exports.\n"
msgstr " --warn-duplicate-exports ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð·Ð° повторени екÑпорти.\n"
-#: emultempl/pe.em:451
+#: emultempl/pe.em:459
#, c-format
msgid ""
" --compat-implib Create backward compatible import libs;\n"
@@ -207,7 +217,7 @@ msgstr ""
" --compat-implib Създава ÑъвмеÑтими Ñ Ð¿Ñ€ÐµÐ´Ð¸ библиотеки за внÑÑÑне;\n"
" Ñъщо така Ñъздава __imp_<ИМЕ>.\n"
-#: emultempl/pe.em:453
+#: emultempl/pe.em:461
#, c-format
msgid ""
" --enable-auto-image-base Automatically choose image base for DLLs\n"
@@ -216,12 +226,12 @@ msgstr ""
" --enable-auto-image-base Ðвтоматично избира база на образа за DLLs,\n"
" оÑвен ако Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ñ Ð½Ðµ Ñ Ð·Ð°Ð´Ð°Ð´Ðµ\n"
-#: emultempl/pe.em:455
+#: emultempl/pe.em:463
#, c-format
msgid " --disable-auto-image-base Do not auto-choose image base. (default)\n"
msgstr " --disable-auto-image-base Да не Ñе избира автоматично база на образа. (по подразбиране)\n"
-#: emultempl/pe.em:456
+#: emultempl/pe.em:464
#, c-format
msgid ""
" --dll-search-prefix=<string> When linking dynamically to a dll without\n"
@@ -233,7 +243,7 @@ msgstr ""
" предпочете <низ><базовоиме>.dll пред\n"
" lib<базовоиме>.dll \n"
-#: emultempl/pe.em:459
+#: emultempl/pe.em:467
#, c-format
msgid ""
" --enable-auto-import Do sophisticated linking of _sym to\n"
@@ -242,12 +252,12 @@ msgstr ""
" --enable-auto-import \"Изтънчено\" Ñвързване на _sym ÑÑŠÑ\n"
" __imp_sym при отпратки за данни\n"
-#: emultempl/pe.em:461
+#: emultempl/pe.em:469
#, c-format
msgid " --disable-auto-import Do not auto-import DATA items from DLLs\n"
msgstr " --disable-auto-import Да не Ñе внаÑÑÑ‚ автоматично данни от DLL-ли\n"
-#: emultempl/pe.em:462
+#: emultempl/pe.em:470
#, c-format
msgid ""
" --enable-runtime-pseudo-reloc Work around auto-import limitations by\n"
@@ -258,7 +268,7 @@ msgstr ""
" внаÑÑÐ½Ð¸Ñ Ñ Ð´Ð¾Ð±Ð°Ð²Ñне на лъже-премеÑтваниÑ,\n"
" определÑни по време на работа.\n"
-#: emultempl/pe.em:465
+#: emultempl/pe.em:473
#, c-format
msgid ""
" --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for\n"
@@ -267,7 +277,7 @@ msgstr ""
" --disable-runtime-pseudo-reloc Без лъже-премеÑтваниÑ, по време на работа,\n"
" за автоматично внеÑени данни.\n"
-#: emultempl/pe.em:467
+#: emultempl/pe.em:475
#, c-format
msgid ""
" --enable-extra-pe-debug Enable verbose debug output when building\n"
@@ -276,7 +286,7 @@ msgstr ""
" --enable-extra-pe-debug Разрешава извеждане на подробна Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸ Ñъздаване\n"
" или Ñвързване на DLL-ли (Ñъотв. ÑамовнаÑÑне)\n"
-#: emultempl/pe.em:470
+#: emultempl/pe.em:478
#, c-format
msgid ""
" --large-address-aware Executable supports virtual addresses\n"
@@ -285,7 +295,16 @@ msgstr ""
" --large-address-aware Програмата поддържа виртуални адреÑи\n"
" по-голÑми от 2 гигабайта\n"
-#: emultempl/pe.em:472
+#: emultempl/pe.em:480
+#, c-format
+msgid ""
+" --disable-large-address-aware Executable does not support virtual\n"
+" addresses greater than 2 gigabytes\n"
+msgstr ""
+" --disable-large-address-aware Програмата не поддържа виртуални\n"
+" адреÑи по-голÑми от 2 гигабайта\n"
+
+#: emultempl/pe.em:482
#, c-format
msgid ""
" --enable-long-section-names Use long COFF section names even in\n"
@@ -294,7 +313,7 @@ msgstr ""
" --enable-long-section-names Използване на дълги имена за COFF\n"
" раздели, дори в изпълними файлове\n"
-#: emultempl/pe.em:474
+#: emultempl/pe.em:484
#, c-format
msgid ""
" --disable-long-section-names Never use long COFF section names, even\n"
@@ -303,7 +322,7 @@ msgstr ""
" --disable-long-section-names Да не Ñе използват дълги имена на COFF\n"
" раздели, дори в обектни файлове\n"
-#: emultempl/pe.em:476
+#: emultempl/pe.em:486
#, c-format
msgid ""
" --dynamicbase\t\t\t Image base address may be relocated using\n"
@@ -312,22 +331,22 @@ msgstr ""
" --dynamicbase\t\t\t БазовиÑÑ‚ Ð°Ð´Ñ€ÐµÑ Ð½Ð° образа може да бъде премеÑтен\n"
"\t\t\t\t като Ñе използва Ñлучаен адреÑ\n"
-#: emultempl/pe.em:478
+#: emultempl/pe.em:488
#, c-format
msgid " --forceinteg\t\t Code integrity checks are enforced\n"
msgstr " --forceinteg\t\t Ðалагане на проверка за цÑлоÑтноÑÑ‚ на кода\n"
-#: emultempl/pe.em:479
+#: emultempl/pe.em:489
#, c-format
msgid " --nxcompat\t\t Image is compatible with data execution prevention\n"
msgstr " --nxcompat\t\t Образа е ÑъвмеÑтим Ñ Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‚Ñване на изпълнение на данни\n"
-#: emultempl/pe.em:480
+#: emultempl/pe.em:490
#, c-format
msgid " --no-isolation\t\t Image understands isolation but do not isolate the image\n"
msgstr " --no-isolation\t\t Образа поддържа изолиране, но да не Ñе изолира\n"
-#: emultempl/pe.em:481
+#: emultempl/pe.em:491
#, c-format
msgid ""
" --no-seh\t\t\t Image does not use SEH. No SE handler may\n"
@@ -336,73 +355,73 @@ msgstr ""
" --no-seh\t\t\t Образа не използва SEH. Ðе може да Ñе извиква\n"
"\t\t\t\t SE подръжка в този образ\n"
-#: emultempl/pe.em:483
+#: emultempl/pe.em:493
#, c-format
msgid " --no-bind\t\t\t Do not bind this image\n"
msgstr " --no-bind\t\t\t Образ без таблица за Ñвързване\n"
-#: emultempl/pe.em:484
+#: emultempl/pe.em:494
#, c-format
msgid " --wdmdriver\t\t Driver uses the WDM model\n"
msgstr " --wdmdriver\t\t Използване на WDM модел за driver\n"
-#: emultempl/pe.em:485
+#: emultempl/pe.em:495
#, c-format
msgid " --tsaware Image is Terminal Server aware\n"
msgstr " --tsaware Образа поддържа \"Terminal Server\"\n"
-#: emultempl/pe.em:614
+#: emultempl/pe.em:624
msgid "%P: warning: bad version number in -subsystem option\n"
-msgstr "%P: предупреждение: непревилен номер на верÑÐ¸Ñ Ð·Ð° командата -subsystem\n"
+msgstr "%P: предупреждение: неправилен номер на верÑÐ¸Ñ Ð·Ð° командата -subsystem\n"
-#: emultempl/pe.em:639
+#: emultempl/pe.em:649
msgid "%P%F: invalid subsystem type %s\n"
msgstr "%P%F: неправилен тип на подÑиÑтема %s\n"
-#: emultempl/pe.em:660
+#: emultempl/pe.em:670
msgid "%P%F: invalid hex number for PE parameter '%s'\n"
-msgstr "%P%F: непревилен шеÑнайÑетично чиÑло за \"PE\" параметър '%s'\n"
+msgstr "%P%F: неправилно шеÑнайÑетично чиÑло за \"PE\" параметър '%s'\n"
-#: emultempl/pe.em:677
+#: emultempl/pe.em:687
msgid "%P%F: strange hex info for PE parameter '%s'\n"
-msgstr "%P%F: неизвеÑтни шеÑÑ‚. данни за PE параметър '%s'\n"
+msgstr "%P%F: неизвеÑтни шеÑтнайÑетични данни за PE параметър '%s'\n"
-#: emultempl/pe.em:692
+#: emultempl/pe.em:702
msgid "%F%P: cannot open base file %s\n"
-msgstr "%F%P: Ðе може да Ñе отвори оÑновен файл %s\n"
+msgstr "%F%P: не може да Ñе отвори оÑновен файл %s\n"
-#: emultempl/pe.em:965
+#: emultempl/pe.em:981
msgid "%P: warning, file alignment > section alignment.\n"
msgstr "%P: предупреждение, подравнÑване за файл > подравнÑване за раздел.\n"
-#: emultempl/pe.em:978
+#: emultempl/pe.em:994
msgid "%P: warning: --export-dynamic is not supported for PE targets, did you mean --export-all-symbols?\n"
msgstr "%P: предупреждение: --export-dynamic не Ñе поддържа при PE резултат, може би --export-all-symbols?\n"
-#: emultempl/pe.em:1054 emultempl/pe.em:1081
+#: emultempl/pe.em:1070 emultempl/pe.em:1097
#, c-format
msgid "Warning: resolving %s by linking to %s\n"
msgstr "Предупрежение: разрешаване на %s ÑÑŠÑ Ñвързване към %s\n"
-#: emultempl/pe.em:1059 emultempl/pe.em:1086
+#: emultempl/pe.em:1075 emultempl/pe.em:1102
msgid "Use --enable-stdcall-fixup to disable these warnings\n"
msgstr "Да Ñе използва --enable-stdcall-fixup, за да Ñе забранÑÑ‚ тези предупреждениÑ\n"
-#: emultempl/pe.em:1060 emultempl/pe.em:1087
+#: emultempl/pe.em:1076 emultempl/pe.em:1103
msgid "Use --disable-stdcall-fixup to disable these fixups\n"
msgstr "Да Ñе използва --disable-stdcall-fixup, за да Ñе забранÑÑ‚ тези предупреждениÑ\n"
-#: emultempl/pe.em:1106
+#: emultempl/pe.em:1122
#, c-format
msgid "%C: Cannot get section contents - auto-import exception\n"
msgstr "%C: Ðе можа да Ñе вземе Ñъдържанието на раздел - изключение при автоматично внаÑÑне\n"
-#: emultempl/pe.em:1146
+#: emultempl/pe.em:1162
#, c-format
msgid "Info: resolving %s by linking to %s (auto-import)\n"
msgstr "ИнформациÑ: разрешаване на %s ÑÑŠÑ Ñвързване към %s (Ñамо-внаÑÑне)\n"
-#: emultempl/pe.em:1153
+#: emultempl/pe.em:1169
msgid ""
"%P: warning: auto-importing has been activated without --enable-auto-import specified on the command line.\n"
"This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.\n"
@@ -410,44 +429,43 @@ msgstr ""
"%P: предупр.: Ñамо-внаÑÑне е активирано без да Ñе зададе --enable-auto-import на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´.\n"
"Това работи, оÑвен ако не е Ñвързано Ñ ÐºÐ¾Ð½Ñтантни Ñтруктури за данни, които указват към имена от Ñамо-внаÑÑни DLL-ли.\n"
-#: emultempl/pe.em:1160 emultempl/pe.em:1366 emultempl/pe.em:1573 ldcref.c:490
-#: ldcref.c:588 ldmain.c:1158 ldmisc.c:290 pe-dll.c:706 pe-dll.c:1254
-#: pe-dll.c:1349
+#: emultempl/pe.em:1176 emultempl/pe.em:1383 emultempl/pe.em:1590 ldcref.c:503
+#: ldcref.c:601 ldmain.c:1183 ldmisc.c:300 pe-dll.c:710 pe-dll.c:1276
+#: pe-dll.c:1371
msgid "%B%F: could not read symbols: %E\n"
msgstr "%B%F: не могат да Ñе прочетат имената: %E\n"
-#: emultempl/pe.em:1242
+#: emultempl/pe.em:1258
msgid "%F%P: cannot perform PE operations on non PE output file '%B'.\n"
msgstr "%F%P: не може да Ñе извърши \"PE\"-операции на изходен файл '%B', който не е \"PE\".\n"
-#: emultempl/pe.em:1616
+#: emultempl/pe.em:1633
#, c-format
msgid "Errors encountered processing file %s\n"
msgstr "Открити Ñа грешки при обработката на файл %s\n"
-#: emultempl/pe.em:1639
+#: emultempl/pe.em:1656
#, c-format
msgid "Errors encountered processing file %s for interworking\n"
msgstr "Открити Ñа грешки при обработката на файл %s за ÑъвмеÑтна работа\n"
-#: emultempl/pe.em:1701 ldexp.c:581 ldlang.c:3458 ldlang.c:6992 ldlang.c:7023
-#: ldmain.c:1103
+#: emultempl/pe.em:1718 ldexp.c:631 ldlang.c:3451 ldmain.c:1128
msgid "%P%F: bfd_link_hash_lookup failed: %E\n"
msgstr "%P%F: bfd_link_hash_lookup не уÑпÑ: %E\n"
-#: ldcref.c:168
+#: ldcref.c:167
msgid "%X%P: bfd_hash_table_init of cref table failed: %E\n"
msgstr "%X%P: bfd_hash_table_init, за cref таблица, не уÑпÑ: %E\n"
-#: ldcref.c:174
+#: ldcref.c:173
msgid "%X%P: cref_hash_lookup failed: %E\n"
msgstr "%X%P: cref_hash_lookup не уÑпÑ: %E\n"
-#: ldcref.c:184
+#: ldcref.c:183
msgid "%X%P: cref alloc failed: %E\n"
msgstr "%X%P: пропадна заделÑне(на памет) за cref: %E\n"
-#: ldcref.c:366
+#: ldcref.c:365
#, c-format
msgid ""
"\n"
@@ -458,25 +476,25 @@ msgstr ""
"Таблица на кръÑтоÑани връзки\n"
"\n"
-#: ldcref.c:367
+#: ldcref.c:366
msgid "Symbol"
-msgstr "Символ"
+msgstr "Име"
-#: ldcref.c:375
+#: ldcref.c:374
#, c-format
msgid "File\n"
msgstr "Файл\n"
-#: ldcref.c:379
+#: ldcref.c:378
#, c-format
msgid "No symbols\n"
msgstr "Без имена\n"
-#: ldcref.c:532
+#: ldcref.c:545
msgid "%P: symbol `%T' missing from main hash table\n"
msgstr "%P: име '%T' липÑва в главната хеш-таблица\n"
-#: ldcref.c:650 ldcref.c:657 ldmain.c:1192 ldmain.c:1199
+#: ldcref.c:663 ldcref.c:670 ldmain.c:1217 ldmain.c:1224
msgid "%B%F: could not read relocs: %E\n"
msgstr "%B%F: не могат да Ñе прочетат \"премеÑтваниÑта\": %E\n"
@@ -484,9 +502,9 @@ msgstr "%B%F: не могат да Ñе прочетат \"премеÑтванÐ
#. in OUTSECNAME. This reloc is from a section which is
#. mapped into a section from which references to OUTSECNAME
#. are prohibited. We must report an error.
-#: ldcref.c:684
+#: ldcref.c:697
msgid "%X%C: prohibited cross reference from %s to `%T' in %s\n"
-msgstr "%X%C: забранено е кръÑтоÑана отпратка от %s към `%T' в %s\n"
+msgstr "%X%C: забранено е кръÑтоÑана отпратка от %s към '%T' в %s\n"
#: ldctor.c:85
msgid "%P%X: Different relocs used in set %s\n"
@@ -504,14 +522,14 @@ msgstr "%P%X: %s не Ñе поддържа премеÑтване %s за наÐ
msgid "%P%X: Unsupported size %d for set %s\n"
msgstr "%P%X: Ðеподдържан размер %d за множеÑтвото %s\n"
-#: ldctor.c:337
+#: ldctor.c:339
msgid ""
"\n"
"Set Symbol\n"
"\n"
msgstr ""
"\n"
-"МножеÑтво Символ\n"
+"МножеÑтво Име\n"
"\n"
#: ldemul.c:265
@@ -537,158 +555,169 @@ msgstr "Поддържани подражаваниÑ: "
msgid " no emulation specific options.\n"
msgstr " без оÑобени възможноÑти за подражаване.\n"
-#: ldexp.c:314
+#: ldexp.c:346
msgid "%P: warning: address of `%s' isn't multiple of maximum page size\n"
msgstr "%P: предупреждение: адреÑа на '%s' не е кратен на макÑÐ¸Ð¼Ð°Ð»Ð½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ на Ñтраница\n"
-#: ldexp.c:407
+#: ldexp.c:439
#, c-format
msgid "%F%S %% by zero\n"
msgstr "%F%S %% на нула\n"
-#: ldexp.c:417
+#: ldexp.c:449
#, c-format
msgid "%F%S / by zero\n"
msgstr "%F%S / на нула\n"
-#: ldexp.c:591
+#: ldexp.c:643
#, c-format
msgid "%X%S: unresolvable symbol `%s' referenced in expression\n"
msgstr "%X%S: неразгадано име '%s' е указано в израза\n"
-#: ldexp.c:605
+#: ldexp.c:658
#, c-format
msgid "%F%S: undefined symbol `%s' referenced in expression\n"
msgstr "%F%S: неопределено име '%s' е указано в израза\n"
-#: ldexp.c:626 ldexp.c:643 ldexp.c:670
+#: ldexp.c:680 ldexp.c:698 ldexp.c:726
#, c-format
msgid "%F%S: undefined section `%s' referenced in expression\n"
msgstr "%F%S: в израза е указан неопределен раздел '%s'\n"
-#: ldexp.c:697 ldexp.c:711
+#: ldexp.c:756 ldexp.c:771
#, c-format
msgid "%F%S: undefined MEMORY region `%s' referenced in expression\n"
msgstr "%F%S: неопределен MEMORY регион '%s' е указан в израза\n"
-#: ldexp.c:722
+#: ldexp.c:783
#, c-format
msgid "%F%S: unknown constant `%s' referenced in expression\n"
msgstr "%F%S: непозната конÑтанта '%s' е указана в израза\n"
-#: ldexp.c:787
+#: ldexp.c:931
#, c-format
msgid "%F%S can not PROVIDE assignment to location counter\n"
msgstr "%F%S не може да Ñе приÑвои на броÑч за меÑтоположение\n"
-#: ldexp.c:805
+#: ldexp.c:957
#, c-format
msgid "%F%S invalid assignment to location counter\n"
msgstr "%F%S неправилно приÑвоÑване на броÑч за меÑтоположение\n"
-#: ldexp.c:808
+#: ldexp.c:961
#, c-format
-msgid "%F%S assignment to location counter invalid outside of SECTION\n"
-msgstr "%F%S неправилно приÑвоÑване на броÑч за меÑтоположение извън РÐЗДЕЛ\n"
+msgid "%F%S assignment to location counter invalid outside of SECTIONS\n"
+msgstr "%F%S неправилно приÑвоÑване на броÑч за меÑтоположение извън РÐЗДЕЛИ\n"
-#: ldexp.c:821
+#: ldexp.c:980
msgid "%F%S cannot move location counter backwards (from %V to %V)\n"
msgstr "%F%S не може да Ñе върне обратно броÑч на меÑтоположение (от %V към %V)\n"
-#: ldexp.c:882
+#: ldexp.c:1035
msgid "%P%F:%s: hash creation failed\n"
msgstr "%P%F:%s: пропадна Ñъздаването на хеш\n"
-#: ldexp.c:1191 ldexp.c:1216 ldexp.c:1276
+#: ldexp.c:1368 ldexp.c:1394 ldexp.c:1454
#, c-format
msgid "%F%S: nonconstant expression for %s\n"
msgstr "%F%S: не е конÑтантен изразът за %s\n"
-#: ldfile.c:142
+#: ldfile.c:132
#, c-format
msgid "attempt to open %s failed\n"
msgstr "опита да Ñе отвори %s не уÑпÑ\n"
-#: ldfile.c:144
+#: ldfile.c:134
#, c-format
msgid "attempt to open %s succeeded\n"
msgstr "опита да Ñе отвори %s уÑпÑ\n"
-#: ldfile.c:150
+#: ldfile.c:140
msgid "%F%P: invalid BFD target `%s'\n"
msgstr "%F%P: неправилна BFD цел '%s'\n"
-#: ldfile.c:267 ldfile.c:296
+#: ldfile.c:257 ldfile.c:286
msgid "%P: skipping incompatible %s when searching for %s\n"
msgstr "%P: пропуÑкане на неÑъвмеÑтим %s при Ñ‚ÑŠÑ€Ñене на %s\n"
-#: ldfile.c:280
+#: ldfile.c:270
msgid "%F%P: attempted static link of dynamic object `%s'\n"
msgstr "%F%P: опитано Ñтатично Ñвързване на динамичен обект '%s'\n"
-#: ldfile.c:426
+#: ldfile.c:408
msgid "%P: cannot find %s (%s): %E\n"
msgstr "%P: не Ñе намира %s в %s: %E\n"
-#: ldfile.c:429
+#: ldfile.c:411
msgid "%P: cannot find %s: %E\n"
msgstr "%P: не Ñе намира %s: %E\n"
-#: ldfile.c:464
+#: ldfile.c:446
msgid "%P: cannot find %s inside %s\n"
msgstr "%P: не Ñе намера %s в %s\n"
-#: ldfile.c:467
+#: ldfile.c:449
msgid "%P: cannot find %s\n"
msgstr "%P: не Ñе намира %s\n"
-#: ldfile.c:486 ldfile.c:504
+#: ldfile.c:471
#, c-format
msgid "cannot find script file %s\n"
msgstr "не Ñе намира \"Ñкрипт\"-файл %s\n"
-#: ldfile.c:488 ldfile.c:506
+#: ldfile.c:473
#, c-format
msgid "opened script file %s\n"
msgstr "отворен \"Ñкрипт\"-файл %s\n"
-#: ldfile.c:636
+#: ldfile.c:604
msgid "%P%F: cannot open linker script file %s: %E\n"
msgstr "%P%F: не може да Ñе отвори \"Ñкрипт\"-файл при Ñвързване %s: %E\n"
-#: ldfile.c:701
+#: ldfile.c:669
msgid "%P%F: cannot represent machine `%s'\n"
msgstr "%P%F: не може да Ñе предÑтави машина '%s'\n"
-#: ldlang.c:1221 ldlang.c:1263 ldlang.c:3143
+#: ldlang.c:1194 ldlang.c:1232 ldlang.c:3154
msgid "%P%F: can not create hash table: %E\n"
msgstr "%P%F: н може да Ñе Ñъздаде хеш-таблицата: %E\n"
-#: ldlang.c:1314
+#: ldlang.c:1288
msgid "%P:%S: warning: redeclaration of memory region `%s'\n"
msgstr "%P:%S: предупреждение: повторно определение за регион памет '%s'\n"
-#: ldlang.c:1320
+#: ldlang.c:1294
msgid "%P:%S: warning: memory region `%s' not declared\n"
msgstr "%P: %S: предупр.: региона за памет '%s' не е обÑвен\n"
-#: ldlang.c:1354
+#: ldlang.c:1329
msgid "%F%P:%S: error: alias for default memory region\n"
msgstr "%F%P:%S: грешка: Ñиноним за регион памет по подразбиране\n"
-#: ldlang.c:1365
+#: ldlang.c:1340
msgid "%F%P:%S: error: redefinition of memory region alias `%s'\n"
msgstr "%F%P:%S: грешка: повторен определение на Ñиноним за регион памет '%s'\n"
-#: ldlang.c:1372
+#: ldlang.c:1347
msgid "%F%P:%S: error: memory region `%s' for alias `%s' does not exist\n"
msgstr "%F%P:%S: грешка: региона памет '%s' за Ñинонима '%s' не ÑъщеÑтвува\n"
-#: ldlang.c:1424 ldlang.c:1463
+#: ldlang.c:1406 ldlang.c:1445
msgid "%P%F: failed creating section `%s': %E\n"
msgstr "%P%F: пропадна Ñъздаването на раздел '%s': %E\n"
-#: ldlang.c:2025
+#: ldlang.c:2000
+#, c-format
+msgid ""
+"\n"
+"As-needed library included to satisfy reference by file (symbol)\n"
+"\n"
+msgstr ""
+"\n"
+"Библиотека \"при нужда\" е включена, за да удовлетвори отпратка от файл (име)\n"
+"\n"
+
+#: ldlang.c:2068
#, c-format
msgid ""
"\n"
@@ -699,7 +728,7 @@ msgstr ""
"Отхвърлени входни раздели\n"
"\n"
-#: ldlang.c:2033
+#: ldlang.c:2076
msgid ""
"\n"
"Memory Configuration\n"
@@ -709,23 +738,23 @@ msgstr ""
"ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð½Ð° паметта\n"
"\n"
-#: ldlang.c:2035
+#: ldlang.c:2078
msgid "Name"
msgstr "Име"
-#: ldlang.c:2035
+#: ldlang.c:2078
msgid "Origin"
msgstr "Произход"
-#: ldlang.c:2035
+#: ldlang.c:2078
msgid "Length"
msgstr "Дължина"
-#: ldlang.c:2035
+#: ldlang.c:2078
msgid "Attributes"
msgstr "Ðтрибути"
-#: ldlang.c:2075
+#: ldlang.c:2118
#, c-format
msgid ""
"\n"
@@ -736,178 +765,178 @@ msgstr ""
"ТекÑÑ‚ при Ñвързване и Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° паметта\n"
"\n"
-#: ldlang.c:2141
+#: ldlang.c:2168
msgid "%P%F: Illegal use of `%s' section\n"
msgstr "%P%F: Ðеправилно използване на раздел '%s'\n"
-#: ldlang.c:2150
+#: ldlang.c:2177
msgid "%P%F: output format %s cannot represent section called %s\n"
msgstr "%P%F: в Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ %s, не може да Ñе предÑтави раздел именуван %s\n"
-#: ldlang.c:2728
+#: ldlang.c:2739
msgid "%B: file not recognized: %E\n"
msgstr "%B: файлът не е разпознат: %E\n"
-#: ldlang.c:2729
+#: ldlang.c:2740
msgid "%B: matching formats:"
msgstr "%B: Ñъвпадащи формати:"
-#: ldlang.c:2736
+#: ldlang.c:2747
msgid "%F%B: file not recognized: %E\n"
msgstr "%F%B: файлът не е разпознат: %E\n"
-#: ldlang.c:2810
+#: ldlang.c:2821
msgid "%F%B: member %B in archive is not an object\n"
msgstr "%F%B: членът, на архива %B, не е обект\n"
-#: ldlang.c:2825 ldlang.c:2839
-msgid "%F%B: could not read symbols: %E\n"
-msgstr "%F%B: не може да Ñе прочетат имената: %E\n"
+#: ldlang.c:2836 ldlang.c:2850
+msgid "%F%B: error adding symbols: %E\n"
+msgstr "%F%B: грешка при добавÑне на имената: %E\n"
-#: ldlang.c:3113
+#: ldlang.c:3124
msgid "%P: warning: could not find any targets that match endianness requirement\n"
msgstr "%P: предупреждение: не може да Ñе открие резултат, който да Ð¾Ñ‚Ð³Ð¾Ð²Ð°Ñ€Ñ Ð½Ð° изиÑкваниÑта за подредба(на байтовете)\n"
-#: ldlang.c:3127
+#: ldlang.c:3138
msgid "%P%F: target %s not found\n"
msgstr "%P%F: целта %s не е намерена\n"
-#: ldlang.c:3129
+#: ldlang.c:3140
msgid "%P%F: cannot open output file %s: %E\n"
msgstr "%P%F: не може да Ñе отвори входÑщ файл %s: %E\n"
-#: ldlang.c:3135
+#: ldlang.c:3146
msgid "%P%F:%s: can not make object file: %E\n"
msgstr "%P%F:%s: не може да Ñе Ñъздаде обектен файл: %E\n"
-#: ldlang.c:3139
+#: ldlang.c:3150
msgid "%P%F:%s: can not set architecture: %E\n"
msgstr "%P%F:%s: не може да Ñе зададе архитектура: %E\n"
-#: ldlang.c:3309
+#: ldlang.c:3322
msgid "%P: warning: %s contains output sections; did you forget -T?\n"
msgstr "%P: предупр.: %s Ñъдържа изходÑщ раздел; забравен -T?\n"
-#: ldlang.c:3350
-msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n"
-msgstr "%P%F: bfd_hash_lookup не уÑÐ¿Ñ Ð´Ð° Ñъздаде име %s\n"
-
-#: ldlang.c:3368
+#: ldlang.c:3372
msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n"
msgstr "%P%F: bfd_hash_allocate не уÑÐ¿Ñ Ð´Ð° Ñъздаде име %s\n"
-#: ldlang.c:3764
+#: ldlang.c:3402
+msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n"
+msgstr "%P%F: bfd_hash_lookup не уÑÐ¿Ñ Ð´Ð° Ñъздаде име %s\n"
+
+#: ldlang.c:3759
msgid "%F%P: %s not found for insert\n"
msgstr "%F%P: %s не е намерен(за добавÑне)\n"
-#: ldlang.c:3979
+#: ldlang.c:3974
msgid " load address 0x%V"
msgstr " Ð°Ð´Ñ€ÐµÑ Ð½Ð° зареждане 0x%V"
-#: ldlang.c:4254
+#: ldlang.c:4201
msgid "%W (size before relaxing)\n"
msgstr "%W (размер преди намалÑване)\n"
-#: ldlang.c:4345
+#: ldlang.c:4292
#, c-format
msgid "Address of section %s set to "
msgstr "ÐдреÑÑŠÑ‚ на раздел %s е уÑтановен на "
-#: ldlang.c:4498
+#: ldlang.c:4445
#, c-format
msgid "Fail with %d\n"
msgstr "Ðе уÑÐ¿Ñ Ð¿Ñ€Ð¸ %d\n"
-#: ldlang.c:4785
+#: ldlang.c:4733
msgid "%X%P: section %s loaded at [%V,%V] overlaps section %s loaded at [%V,%V]\n"
msgstr "%X%P: раздел %s зареден в [%V,%V] припокрива раздел %s зареден в [%V,%V]\n"
-#: ldlang.c:4801
+#: ldlang.c:4749
msgid "%X%P: region `%s' overflowed by %ld bytes\n"
msgstr "%X%P: регионът '%s' е препълнен Ñ %ld байта\n"
-#: ldlang.c:4824
+#: ldlang.c:4772
msgid "%X%P: address 0x%v of %B section `%s' is not within region `%s'\n"
msgstr "%X%P: адреÑÑŠÑ‚ 0x%v от %B, раздел '%s', не е в регион '%s'\n"
-#: ldlang.c:4835
+#: ldlang.c:4783
msgid "%X%P: %B section `%s' will not fit in region `%s'\n"
msgstr "%X%P: %B раздел '%s' не Ñе побира в регион '%s'\n"
-#: ldlang.c:4892
+#: ldlang.c:4840
#, c-format
msgid "%F%S: non constant or forward reference address expression for section %s\n"
msgstr "%F%S: адреÑÐ½Ð¸Ñ Ð¸Ð·Ñ€Ð°Ð· не е конÑтантен или отпратка за по нататък при раздел %s\n"
-#: ldlang.c:4917
+#: ldlang.c:4865
msgid "%P%X: Internal error on COFF shared library section %s\n"
msgstr "%P%X: Вътрешна грешка при раздел от COFF Ñподелена библиотека %s\n"
-#: ldlang.c:4974
+#: ldlang.c:4923
msgid "%P%F: error: no memory region specified for loadable section `%s'\n"
msgstr "%P%F: грешка: без зададени региони памет за заредим раздел '%s'\n"
-#: ldlang.c:4979
+#: ldlang.c:4928
msgid "%P: warning: no memory region specified for loadable section `%s'\n"
msgstr "%P: предупреждение: без зададени региони памет за заредим раздел '%s'\n"
-#: ldlang.c:5001
+#: ldlang.c:4951
msgid "%P: warning: changing start of section %s by %lu bytes\n"
msgstr "%P: предупреждение: промÑна на началото на раздел %s Ñ %lu байта\n"
-#: ldlang.c:5078
+#: ldlang.c:5040
msgid "%P: warning: dot moved backwards before `%s'\n"
msgstr "%P: предупреждение: точката е премеÑтена назад преди '%s'\n"
-#: ldlang.c:5244
+#: ldlang.c:5212
msgid "%P%F: can't relax section: %E\n"
msgstr "%P%F: не може да Ñе намали раздел: %E\n"
-#: ldlang.c:5573
+#: ldlang.c:5557
msgid "%F%P: invalid data statement\n"
msgstr "%F%P: неправилен Ñегмент за данни\n"
-#: ldlang.c:5606
+#: ldlang.c:5590
msgid "%F%P: invalid reloc statement\n"
msgstr "%F%P: неправилен Ñегмент за премеÑтване\n"
-#: ldlang.c:5725
+#: ldlang.c:5802
msgid "%P%F: gc-sections requires either an entry or an undefined symbol\n"
msgstr "%P%F: gc-раздели изиÑкват или вход или неопределено име\n"
-#: ldlang.c:5750
+#: ldlang.c:5827
msgid "%P%F:%s: can't set start address\n"
msgstr "%P%F:%s: не може да Ñе уÑтанови начален адреÑ\n"
-#: ldlang.c:5763 ldlang.c:5782
+#: ldlang.c:5840 ldlang.c:5859
msgid "%P%F: can't set start address\n"
msgstr "%P%F: не може да Ñе уÑтанови начален адреÑ\n"
-#: ldlang.c:5775
+#: ldlang.c:5852
msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n"
msgstr "%P: предупреждение: не е намерено входно име %s; по подразбиране - %V\n"
-#: ldlang.c:5787
+#: ldlang.c:5864
msgid "%P: warning: cannot find entry symbol %s; not setting start address\n"
msgstr "%P: предупреждение: не е намерен входно име %s; без начален адреÑ\n"
-#: ldlang.c:5842
+#: ldlang.c:5916
msgid "%P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported\n"
msgstr "%P%F: Свързване Ñ Ð¿Ñ€ÐµÐ¼ÐµÑÑ‚Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚ формат %s (%B) към формат %s (%B) не Ñе поддържа\n"
-#: ldlang.c:5852
+#: ldlang.c:5926
msgid "%P%X: %s architecture of input file `%B' is incompatible with %s output\n"
msgstr "%P%X: %s архитектурата на входен файл '%B' е неÑъвмеÑтима Ñ %s изход\n"
-#: ldlang.c:5874
+#: ldlang.c:5948
msgid "%P%X: failed to merge target specific data of file %B\n"
msgstr "%P%X: пропадна Ñливането, на Ñпецифични за резултата данни, от файл %B\n"
-#: ldlang.c:5945
+#: ldlang.c:6019
msgid "%P%F: Could not define common symbol `%T': %E\n"
msgstr "%P%F: Ðе може да Ñе определÑÑ‚ общите имена '%T': %E\n"
-#: ldlang.c:5957
+#: ldlang.c:6031
msgid ""
"\n"
"Allocating common symbols\n"
@@ -915,7 +944,7 @@ msgstr ""
"\n"
"ЗаделÑне на общи имена\n"
-#: ldlang.c:5958
+#: ldlang.c:6032
msgid ""
"Common symbol size file\n"
"\n"
@@ -923,322 +952,313 @@ msgstr ""
"Общо име размер файл\n"
"\n"
-#: ldlang.c:6104
+#: ldlang.c:6178
msgid "%P%F: invalid syntax in flags\n"
msgstr "%P%F: неправилен ÑинтакÑÐ¸Ñ Ð¿Ñ€Ð¸ флаговете\n"
-#: ldlang.c:6566
+#: ldlang.c:6304
+msgid "%F%P:%S: error: align with input and explicit align specified\n"
+msgstr "%F%P:%S: грешка: зададено е подравнÑване Ñ Ð²Ñ…Ð¾Ð´Ð° и изрично подравнÑване\n"
+
+#: ldlang.c:6645
msgid "%P%F: Failed to create hash table\n"
msgstr "%P%F: Ðе уÑÐ¿Ñ Ñъздаването на хеш-таблица\n"
-#: ldlang.c:6589
+#: ldlang.c:6668
msgid "%P%F: %s: plugin reported error after all symbols read\n"
msgstr "%P%F: %s: приÑтавката рапортува грешка, Ñлед прочитане на вÑички имена\n"
-#: ldlang.c:6905
+#: ldlang.c:6991
msgid "%P%F: multiple STARTUP files\n"
msgstr "%P%F: многократни STARTUP файлове\n"
-#: ldlang.c:6951
+#: ldlang.c:7037
msgid "%X%P:%S: section has both a load address and a load region\n"
msgstr "%X%P:%S: раздел едновременно Ñ Ð°Ð´Ñ€ÐµÑ Ð¸ регион за зареждане\n"
-#: ldlang.c:7138
+#: ldlang.c:7162
msgid "%X%P:%S: PHDRS and FILEHDR are not supported when prior PT_LOAD headers lack them\n"
msgstr "%X%P:%S: не Ñе поддържат PHDRS и FILEHDR, ако липÑват в предишни PT_LOAD заглавиÑ\n"
-#: ldlang.c:7210
+#: ldlang.c:7235
msgid "%F%P: no sections assigned to phdrs\n"
msgstr "%F%P: към phdrs не Ñа приÑвоени раздели\n"
-#: ldlang.c:7248
+#: ldlang.c:7273
msgid "%F%P: bfd_record_phdr failed: %E\n"
msgstr "%F%P: bfd_record_phdr не уÑпÑ: %E\n"
-#: ldlang.c:7268
+#: ldlang.c:7293
msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n"
msgstr "%X%P: раздел '%s' е приÑвоен към неÑъщеÑтвуващ phdr `%s'\n"
-#: ldlang.c:7677
+#: ldlang.c:7705
msgid "%X%P: unknown language `%s' in version information\n"
msgstr "%X%P: непознат език '%s' при Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° верÑиÑ\n"
-#: ldlang.c:7822
+#: ldlang.c:7850
msgid "%X%P: anonymous version tag cannot be combined with other version tags\n"
msgstr "%X%P: безименна отметка за верÑÐ¸Ñ Ð½Ðµ може да Ñе ÑмеÑва Ñ Ð´Ñ€ÑƒÐ³Ð¸ отметки за верÑии\n"
-#: ldlang.c:7831
+#: ldlang.c:7859
msgid "%X%P: duplicate version tag `%s'\n"
msgstr "%X%P: повторена отметка за верÑÐ¸Ñ '%s'\n"
-#: ldlang.c:7852 ldlang.c:7861 ldlang.c:7879 ldlang.c:7889
+#: ldlang.c:7880 ldlang.c:7889 ldlang.c:7907 ldlang.c:7917
msgid "%X%P: duplicate expression `%s' in version information\n"
msgstr "%X%P: повторен израз '%s'при Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° верÑиÑ\n"
-#: ldlang.c:7929
+#: ldlang.c:7957
msgid "%X%P: unable to find version dependency `%s'\n"
msgstr "%X%P: не може да Ñе намери завиÑимоÑÑ‚ за верÑÐ¸Ñ '%s'\n"
-#: ldlang.c:7952
+#: ldlang.c:7980
msgid "%X%P: unable to read .exports section contents\n"
msgstr "%X%P: не може да Ñе прочете Ñъдържанието на раздел .exports\n"
-#: ldlang.c:8076
+#: ldlang.c:8104
msgid "%X%P: unknown feature `%s'\n"
msgstr "%X%P: непозната възможноÑÑ‚ '%s'\n"
-#: ldmain.c:239
+#: ldmain.c:246
msgid "%X%P: can't set BFD default target to `%s': %E\n"
msgstr "%X%P: цел по подразбиране на BFD, не можа да Ñе уÑтанови на '%s': %E\n"
-#: ldmain.c:303 lexsup.c:1071
-msgid "%P%F: %s: error loading plugin\n"
-msgstr "%P%F: %s: грешка при зареждане на приÑтавка\n"
+#: ldmain.c:336
+msgid "built in linker script"
+msgstr "вграден Ñкрипт за Ñвързване"
-#: ldmain.c:340
+#: ldmain.c:346
msgid "using external linker script:"
msgstr "използване на външен Ñкрипт за Ñвързване:"
-#: ldmain.c:342
+#: ldmain.c:348
msgid "using internal linker script:"
msgstr "използване на вътрешен Ñкрипт за Ñвързване:"
-#: ldmain.c:379
+#: ldmain.c:385
msgid "%P%F: no input files\n"
msgstr "%P%F: без входни файлове\n"
-#: ldmain.c:383
+#: ldmain.c:389
msgid "%P: mode %s\n"
msgstr "%P: режим %s\n"
-#: ldmain.c:399
+#: ldmain.c:405
msgid "%P%F: cannot open map file %s: %E\n"
msgstr "%P%F: не можа да Ñе отвори файл Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð·ÑÐ²Ð°Ð½Ð¸Ñ %s: %E\n"
-#: ldmain.c:431
+#: ldmain.c:437
msgid "%P: link errors found, deleting executable `%s'\n"
msgstr "%P: грешка при Ñвързване, изтриване на Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸Ð¼Ð¸Ñ Ñ„Ð°Ð¹Ð» '%s'\n"
-#: ldmain.c:440
+#: ldmain.c:446
msgid "%F%B: final close failed: %E\n"
msgstr "%F%B: пропадна заключителното затварÑне: %E\n"
-#: ldmain.c:466
+#: ldmain.c:472
msgid "%X%P: unable to open for source of copy `%s'\n"
msgstr "%X%P: не можа да Ñе отвори източника на копието '%s'\n"
-#: ldmain.c:469
+#: ldmain.c:475
msgid "%X%P: unable to open for destination of copy `%s'\n"
msgstr "%X%P: не можа да Ñе отвори целта на копието '%s'\n"
-#: ldmain.c:476
+#: ldmain.c:482
msgid "%P: Error writing file `%s'\n"
msgstr "%P: Грешка при Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° файла '%s'\n"
-#: ldmain.c:481 pe-dll.c:1739
+#: ldmain.c:487 pe-dll.c:1761
#, c-format
msgid "%P: Error closing file `%s'\n"
msgstr "%P: Грешка при затварÑне на файла '%s'\n"
-#: ldmain.c:498
+#: ldmain.c:504
#, c-format
msgid "%s: total time in link: %ld.%06ld\n"
msgstr "%s: общо време за Ñвързване: %ld.%06ld\n"
-#: ldmain.c:501
+#: ldmain.c:507
#, c-format
msgid "%s: data size %ld\n"
msgstr "%s: размер на данни %ld\n"
-#: ldmain.c:585
+#: ldmain.c:591
msgid "%P%F: missing argument to -m\n"
msgstr "%P%F: липÑва аргумент за -m\n"
-#: ldmain.c:633 ldmain.c:653 ldmain.c:685
+#: ldmain.c:639 ldmain.c:656 ldmain.c:676 ldmain.c:708
msgid "%P%F: bfd_hash_table_init failed: %E\n"
msgstr "%P%F: bfd_hash_table_init не уÑпÑ: %E\n"
-#: ldmain.c:637 ldmain.c:657
+#: ldmain.c:643 ldmain.c:660 ldmain.c:680
msgid "%P%F: bfd_hash_lookup failed: %E\n"
msgstr "%P%F: bfd_hash_lookup не уÑпÑ: %E\n"
-#: ldmain.c:671
+#: ldmain.c:694
msgid "%X%P: error: duplicate retain-symbols-file\n"
msgstr "%X%P: грешка: повторен retain-symbols-file\n"
-#: ldmain.c:715
+#: ldmain.c:738
msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n"
msgstr "%P%F: bfd_hash_lookup не уÑÐ¿Ñ Ð¿Ñ€Ð¸ вмъкване: %E\n"
-#: ldmain.c:720
+#: ldmain.c:743
msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n"
msgstr "%P: '-retain-symbols-file' Ð¾Ñ‚Ð¼ÐµÐ½Ñ '-s' и '-S'\n"
-#: ldmain.c:820
+#: ldmain.c:844
#, c-format
msgid ""
-"Archive member included because of file (symbol)\n"
+"Archive member included to satisfy reference by file (symbol)\n"
"\n"
msgstr ""
-"Членове на архива включени заради файл(име)\n"
+"Включен е член на архива, за да удовлетвори отпратка от файл(име)\n"
"\n"
-#: ldmain.c:926
+#: ldmain.c:951
msgid "%X%C: multiple definition of `%T'\n"
msgstr "%X%C: многократни Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð° '%T'\n"
-#: ldmain.c:929
+#: ldmain.c:954
msgid "%D: first defined here\n"
msgstr "%D: първото определение тук\n"
-#: ldmain.c:933
+#: ldmain.c:958
msgid "%P: Disabling relaxation: it will not work with multiple definitions\n"
msgstr "%P: ЗабранÑва намалÑването: не работи Ñ Ð¼Ð½Ð¾Ð³Ð¾ÐºÑ€Ð°Ñ‚Ð½Ð¸ определениÑ\n"
-#: ldmain.c:987
+#: ldmain.c:1012
msgid "%B: warning: definition of `%T' overriding common\n"
msgstr "%B: предупр.: определението за '%T' припокрива общ\n"
-#: ldmain.c:990
+#: ldmain.c:1015
msgid "%B: warning: common is here\n"
msgstr "%B: предупр.: Ð¾Ð±Ñ‰Ð¸Ñ Ðµ тук\n"
-#: ldmain.c:997
+#: ldmain.c:1022
msgid "%B: warning: common of `%T' overridden by definition\n"
msgstr "%B: предупр.: Ð¾Ð±Ñ‰Ð¸Ñ Ð½Ð° '%T' е припокрит от определение\n"
-#: ldmain.c:1000
+#: ldmain.c:1025
msgid "%B: warning: defined here\n"
msgstr "%B: предупр.: определено тук\n"
-#: ldmain.c:1007
+#: ldmain.c:1032
msgid "%B: warning: common of `%T' overridden by larger common\n"
msgstr "B: предупр.: Ð¾Ð±Ñ‰Ð¸Ñ Ð½Ð° '%T' е припокрит от по-голÑм общ\n"
-#: ldmain.c:1010
+#: ldmain.c:1035
msgid "%B: warning: larger common is here\n"
msgstr "%B: предупр.: по-големиÑÑ‚ общ е тук\n"
-#: ldmain.c:1014
+#: ldmain.c:1039
msgid "%B: warning: common of `%T' overriding smaller common\n"
msgstr "%B: предупр.: Ð¾Ð±Ñ‰Ð¸Ñ Ð½Ð° '%T' припокрива по-малък общ\n"
-#: ldmain.c:1017
+#: ldmain.c:1042
msgid "%B: warning: smaller common is here\n"
msgstr "%B: предупр.: тук е по-малкиÑÑ‚ общ\n"
-#: ldmain.c:1021
+#: ldmain.c:1046
msgid "%B: warning: multiple common of `%T'\n"
msgstr "%B: предупр.: многократeн общ за '%T'\n"
-#: ldmain.c:1023
+#: ldmain.c:1048
msgid "%B: warning: previous common is here\n"
msgstr "%B: предупр.: тук е предишниÑÑ‚ общ\n"
-#: ldmain.c:1043 ldmain.c:1081
+#: ldmain.c:1068 ldmain.c:1106
msgid "%P: warning: global constructor %s used\n"
msgstr "%P: предупр.: използван общ конÑтруктор %s\n"
-#: ldmain.c:1091
+#: ldmain.c:1116
msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n"
msgstr "%P%F: BFD грешка: BFD_RELOC_CTOR неподдържан\n"
#. We found a reloc for the symbol we are looking for.
-#: ldmain.c:1145 ldmain.c:1147 ldmain.c:1149 ldmain.c:1167 ldmain.c:1212
+#: ldmain.c:1170 ldmain.c:1172 ldmain.c:1174 ldmain.c:1192 ldmain.c:1237
msgid "warning: "
msgstr "предупр.: "
-#: ldmain.c:1248
-msgid "%F%P: bfd_hash_table_init failed: %E\n"
-msgstr "%F%P: bfd_hash_table_init не уÑпÑ: %E\n"
-
-#: ldmain.c:1255
-msgid "%F%P: bfd_hash_lookup failed: %E\n"
-msgstr "%F%P: bfd_hash_lookup не уÑпÑ: %E\n"
-
-#: ldmain.c:1276
+#: ldmain.c:1290
msgid "%X%C: undefined reference to `%T'\n"
msgstr "%X%C: неопределена отпратка към '%T'\n"
-#: ldmain.c:1279
+#: ldmain.c:1293
msgid "%C: warning: undefined reference to `%T'\n"
msgstr "%C: предупр.: неопределена отпратка към '%T'\n"
-#: ldmain.c:1285
+#: ldmain.c:1299
msgid "%X%D: more undefined references to `%T' follow\n"
msgstr "%X%D: Ñледват още неопределени отпратки към '%T'\n"
-#: ldmain.c:1288
+#: ldmain.c:1302
msgid "%D: warning: more undefined references to `%T' follow\n"
msgstr "%D: предупр.: Ñледват още неопределени отпратки към '%T'\n"
-#: ldmain.c:1299
+#: ldmain.c:1313
msgid "%X%B: undefined reference to `%T'\n"
msgstr "%X%B: неопределена отпратка към '%T'\n"
-#: ldmain.c:1302
+#: ldmain.c:1316
msgid "%B: warning: undefined reference to `%T'\n"
msgstr "%B: предупр.: неопределена отпратка към '%T'\n"
-#: ldmain.c:1308
+#: ldmain.c:1322
msgid "%X%B: more undefined references to `%T' follow\n"
msgstr "%X%B: още неопределени отпратки към '%T' Ñледват\n"
-#: ldmain.c:1311
+#: ldmain.c:1325
msgid "%B: warning: more undefined references to `%T' follow\n"
msgstr "%B: предупр.: още неопределени отпратки към '%T' Ñледват\n"
-#: ldmain.c:1350
+#: ldmain.c:1364
msgid " additional relocation overflows omitted from the output\n"
msgstr " допълнителен излишък за премеÑÑ‚Ð²Ð°Ð½Ð¸Ñ Ð¸Ð·Ð¿ÑƒÑнат в резултата\n"
-#: ldmain.c:1363
+#: ldmain.c:1377
msgid " relocation truncated to fit: %s against undefined symbol `%T'"
msgstr " премеÑтването отрÑзано, за да Ñъвпадне: %s Ñрещу неопределеното име '%T'"
-#: ldmain.c:1368
+#: ldmain.c:1382
msgid " relocation truncated to fit: %s against symbol `%T' defined in %A section in %B"
msgstr " премеÑтването отрÑзано, за да Ñъвпадне: %s Ñрещу име '%T' определено в раздел %A от %B"
-#: ldmain.c:1380
+#: ldmain.c:1394
msgid " relocation truncated to fit: %s against `%T'"
msgstr " премеÑтването отрÑзано, за да Ñъвпадне: %s Ñрещу '%T'"
-#: ldmain.c:1397
+#: ldmain.c:1411
msgid "%X%H: dangerous relocation: %s\n"
msgstr "%X%H: опаÑно премеÑтване: %s\n"
-#: ldmain.c:1412
+#: ldmain.c:1426
msgid "%X%H: reloc refers to symbol `%T' which is not being output\n"
msgstr "%X%H: премеÑтването указва към име '%T', което не е изходÑщо\n"
-#: ldmisc.c:151
+#: ldmisc.c:154
#, c-format
msgid "no symbol"
msgstr "без имена"
-#: ldmisc.c:248
-#, c-format
-msgid "built in linker script:%u"
-msgstr "вграден Ñкрипт за Ñвързване:%u"
-
-#: ldmisc.c:329
+#: ldmisc.c:339
msgid "%B: In function `%T':\n"
msgstr "%B: Във Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ '%T':\n"
-#: ldmisc.c:464
+#: ldmisc.c:474
msgid "%F%P: internal error %s %d\n"
msgstr "%F%P: вътрешна грешка %s %d\n"
-#: ldmisc.c:513
+#: ldmisc.c:538
msgid "%P: internal error: aborting at %s line %d in %s\n"
msgstr "%P: вътрешна грешка: прекратÑване в %s ред %d от %s\n"
-#: ldmisc.c:516
+#: ldmisc.c:541
msgid "%P: internal error: aborting at %s line %d\n"
msgstr "%P: вътрешна грешка: прекратÑване в %s ред %d\n"
-#: ldmisc.c:518
+#: ldmisc.c:543
msgid "%P%F: please report this bug\n"
msgstr "%P%F: молÑ, рапортувайте този проблем\n"
@@ -1250,8 +1270,8 @@ msgstr "ГÐУ ld %s\n"
#: ldver.c:43
#, c-format
-msgid "Copyright 2011 Free Software Foundation, Inc.\n"
-msgstr "ÐвторÑко право: 2011 Free Software Foundation, Inc.\n"
+msgid "Copyright 2014 Free Software Foundation, Inc.\n"
+msgstr "ÐвторÑко право: 2014 Free Software Foundation, Inc.\n"
#: ldver.c:44
#, c-format
@@ -1269,314 +1289,319 @@ msgstr ""
msgid " Supported emulations:\n"
msgstr " Поддържани подражаваниÑ:\n"
-#: ldwrite.c:62 ldwrite.c:207
+#: ldwrite.c:62 ldwrite.c:208
msgid "%P%F: bfd_new_link_order failed\n"
msgstr "%P%F: пропадна bfd_new_link_order\n"
-#: ldwrite.c:365
+#: ldwrite.c:366
msgid "%F%P: cannot create split section name for %s\n"
msgstr "%F%P: при разцепване на раздел, не можа да Ñе Ñъздаде име за %s\n"
-#: ldwrite.c:377
+#: ldwrite.c:378
msgid "%F%P: clone section failed: %E\n"
msgstr "%F%P: пропадна копирането на раздел: %E\n"
-#: ldwrite.c:418
+#: ldwrite.c:419
#, c-format
msgid "%8x something else\n"
msgstr "%8x други\n"
-#: ldwrite.c:588
+#: ldwrite.c:589
msgid "%F%P: final link failed: %E\n"
msgstr "%F%P: пропадна заключителното Ñвързване: %E\n"
-#: lexsup.c:220 lexsup.c:374
+#: lexsup.c:104 lexsup.c:261
msgid "KEYWORD"
msgstr "КЛЮЧ"
-#: lexsup.c:220
+#: lexsup.c:104
msgid "Shared library control for HP/UX compatibility"
msgstr "Управление на Ñподелени библиотеки за ÑъвмеÑтимоÑÑ‚ Ñ HP/UX"
-#: lexsup.c:223
+#: lexsup.c:107
msgid "ARCH"
msgstr "ÐРХИТЕКТУРÐ"
-#: lexsup.c:223
+#: lexsup.c:107
msgid "Set architecture"
msgstr "Задава архитектура"
-#: lexsup.c:225 lexsup.c:493
+#: lexsup.c:109 lexsup.c:380
msgid "TARGET"
msgstr "РЕЗУЛТÐТ"
-#: lexsup.c:225
+#: lexsup.c:109
msgid "Specify target for following input files"
msgstr "Задава вида на резултата за Ñледващите входни файлове"
-#: lexsup.c:228 lexsup.c:279 lexsup.c:303 lexsup.c:316 lexsup.c:318
-#: lexsup.c:447 lexsup.c:509 lexsup.c:572 lexsup.c:585
+#: lexsup.c:112 lexsup.c:163 lexsup.c:190 lexsup.c:203 lexsup.c:205
+#: lexsup.c:334 lexsup.c:396 lexsup.c:463 lexsup.c:476
msgid "FILE"
msgstr "ФÐЙЛ"
-#: lexsup.c:228
+#: lexsup.c:112
msgid "Read MRI format linker script"
msgstr "Използва Ñкрипт за Ñвързване в MRI формат"
-#: lexsup.c:230
+#: lexsup.c:114
msgid "Force common symbols to be defined"
msgstr "Принудително определÑне на общи имена"
-#: lexsup.c:234 lexsup.c:553 lexsup.c:555 lexsup.c:557 lexsup.c:559
+#: lexsup.c:118 lexsup.c:440 lexsup.c:442 lexsup.c:444 lexsup.c:446
+#: lexsup.c:448 lexsup.c:450
msgid "ADDRESS"
msgstr "ÐДРЕС"
-#: lexsup.c:234
+#: lexsup.c:118
msgid "Set start address"
msgstr "Задава начален адреÑ"
-#: lexsup.c:236
+#: lexsup.c:120
msgid "Export all dynamic symbols"
msgstr "ИзнаÑÑне на вÑички динамични имена"
-#: lexsup.c:238
+#: lexsup.c:122
msgid "Undo the effect of --export-dynamic"
msgstr "ÐžÑ‚Ð¼ÐµÐ½Ñ Ð´ÐµÐ¹Ñтвието на --export-dynamic"
-#: lexsup.c:240
+#: lexsup.c:124
msgid "Link big-endian objects"
msgstr "Свързване на обекти ÑÑŠÑ Ñтарши байт първи"
-#: lexsup.c:242
+#: lexsup.c:126
msgid "Link little-endian objects"
msgstr "Свързване на обекти ÑÑŠÑ Ð¼Ð»Ð°Ð´ÑˆÐ¸ байт първи"
-#: lexsup.c:244 lexsup.c:247
+#: lexsup.c:128 lexsup.c:131
msgid "SHLIB"
msgstr "СПОД_БИБЛ"
-#: lexsup.c:244
+#: lexsup.c:128
msgid "Auxiliary filter for shared object symbol table"
msgstr "Допълнителен филтър за таблицата Ñ Ð¸Ð¼ÐµÐ½Ð° на Ñподелени обекти"
-#: lexsup.c:247
+#: lexsup.c:131
msgid "Filter for shared object symbol table"
msgstr "Филтър за таблицата Ñ Ð¸Ð¼ÐµÐ½Ð° на Ñподелени обекти"
-#: lexsup.c:250
+#: lexsup.c:134
msgid "Ignored"
msgstr "Пренебрегнат"
-#: lexsup.c:252
+#: lexsup.c:136
msgid "SIZE"
msgstr "РÐЗМЕР"
-#: lexsup.c:252
+#: lexsup.c:136
msgid "Small data size (if no size, same as --shared)"
msgstr "Данни Ñ Ð¿Ð¾-малък размер (без размер е като --shared)"
-#: lexsup.c:255
+#: lexsup.c:139
msgid "FILENAME"
msgstr "ИМЕ_ФÐЙЛ"
-#: lexsup.c:255
+#: lexsup.c:139
msgid "Set internal name of shared library"
msgstr "Ð—Ð°Ð´Ð°Ð²Ñ Ð²ÑŠÑ‚Ñ€ÐµÑˆÐ½Ð¾ име на Ñподелена библиотека"
-#: lexsup.c:257
+#: lexsup.c:141
msgid "PROGRAM"
msgstr "ПРОГРÐÐœÐ"
-#: lexsup.c:257
+#: lexsup.c:141
msgid "Set PROGRAM as the dynamic linker to use"
msgstr "Задава ПРОГРÐМРза използване при динамично Ñвързване"
-#: lexsup.c:260
+#: lexsup.c:144
msgid "LIBNAME"
msgstr "БИБЛ_ИМЕ"
-#: lexsup.c:260
+#: lexsup.c:144
msgid "Search for library LIBNAME"
msgstr "ТърÑене на библиотека БИБЛ_ИМЕ"
-#: lexsup.c:262
+#: lexsup.c:146
msgid "DIRECTORY"
msgstr "ДИРЕКТОРИЯ"
-#: lexsup.c:262
+#: lexsup.c:146
msgid "Add DIRECTORY to library search path"
msgstr "Ð”Ð¾Ð±Ð°Ð²Ñ Ð”Ð˜Ð Ð•ÐšÐ¢ÐžÐ Ð˜Ð¯ към Ð¿ÑŠÑ‚Ñ Ð·Ð° Ñ‚ÑŠÑ€Ñене на библиотеки"
-#: lexsup.c:265
+#: lexsup.c:149
msgid "Override the default sysroot location"
msgstr "Припокрива Ð¿Ð¾Ð´Ñ€Ð°Ð·Ð±Ð¸Ñ€Ð°Ñ‰Ð¸Ñ Ñе systoot"
-#: lexsup.c:267
+#: lexsup.c:151
msgid "EMULATION"
msgstr "ПОДРÐЖÐÐ’ÐÐЕ"
-#: lexsup.c:267
+#: lexsup.c:151
msgid "Set emulation"
msgstr "Задава подражаване"
-#: lexsup.c:269
+#: lexsup.c:153
msgid "Print map file on standard output"
msgstr "Извежда на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ файл Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð·ÑваниÑта"
-#: lexsup.c:271
+#: lexsup.c:155
msgid "Do not page align data"
msgstr "Да не Ñе подравнÑват данните на Ñтраници"
-#: lexsup.c:273
+#: lexsup.c:157
msgid "Do not page align data, do not make text readonly"
msgstr "Да не Ñе подравнÑват данните на Ñтраници, кода да не е Ñамо за четене"
-#: lexsup.c:276
+#: lexsup.c:160
msgid "Page align data, make text readonly"
msgstr "ПодравнÑват данните на Ñтраници, кода да е Ñамо за четене"
-#: lexsup.c:279
+#: lexsup.c:163
msgid "Set output file name"
msgstr "Задава име на файл за извеждане"
-#: lexsup.c:281
+#: lexsup.c:165
msgid "Optimize output file"
msgstr "Оптимизиране на Ð¸Ð·Ð²ÐµÐ¶Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»"
-#: lexsup.c:284
+#: lexsup.c:168
msgid "PLUGIN"
msgstr "ПРИСТÐВКÐ"
-#: lexsup.c:284
+#: lexsup.c:168
msgid "Load named plugin"
msgstr "Зарежда именувана приÑтавка"
-#: lexsup.c:286
+#: lexsup.c:170
msgid "ARG"
msgstr "ÐРГ"
-#: lexsup.c:286
+#: lexsup.c:170
msgid "Send arg to last-loaded plugin"
msgstr "Изпраща арг. към поÑледно заредената приÑтавка"
-#: lexsup.c:288 lexsup.c:291
+#: lexsup.c:172 lexsup.c:175
msgid "Ignored for GCC LTO option compatibility"
msgstr "Пренебрегнато за ÑъвмеÑтимоÑÑ‚ Ñ GCC LTO възможноÑÑ‚"
-#: lexsup.c:295
+#: lexsup.c:179
+msgid "Ignored for GCC linker option compatibility"
+msgstr "Пренебрегнато за ÑъвмеÑтимоÑÑ‚ Ñ Ð“ÐУ програмата за Ñвързване"
+
+#: lexsup.c:182
msgid "Ignored for SVR4 compatibility"
-msgstr "Пренебрегнат(ÑъвмеÑтимоÑÑ‚ ÑÑŠÑ SVR4)"
+msgstr "Пренебрегнат за ÑъвмеÑтимоÑÑ‚ ÑÑŠÑ SVR4"
-#: lexsup.c:299
+#: lexsup.c:186
msgid "Generate relocatable output"
msgstr "Създаване на премеÑтваем резултат"
-#: lexsup.c:303
+#: lexsup.c:190
msgid "Just link symbols (if directory, same as --rpath)"
-msgstr "Само Ñвързване на имената (ако е директориÑ, като --rpath)"
+msgstr "Само Ñвързване на имената (ако е директориÑ, Ñъщо като --rpath)"
-#: lexsup.c:306
+#: lexsup.c:193
msgid "Strip all symbols"
msgstr "Премахване на вÑички имена"
-#: lexsup.c:308
+#: lexsup.c:195
msgid "Strip debugging symbols"
msgstr "Премахване на имена за траÑиране"
-#: lexsup.c:310
+#: lexsup.c:197
msgid "Strip symbols in discarded sections"
msgstr "Премахване на имена в отхвърлени раздели"
-#: lexsup.c:312
+#: lexsup.c:199
msgid "Do not strip symbols in discarded sections"
msgstr "Без премахване на имена в отхвърлени раздели"
-#: lexsup.c:314
+#: lexsup.c:201
msgid "Trace file opens"
msgstr "ПроÑледÑване на отварÑните файлове"
-#: lexsup.c:316
+#: lexsup.c:203
msgid "Read linker script"
msgstr "Използва Ñкрипт за Ñвързване"
-#: lexsup.c:318
+#: lexsup.c:205
msgid "Read default linker script"
msgstr "Използва Ñкрипт за Ñвързване по подразбиране"
-#: lexsup.c:322 lexsup.c:340 lexsup.c:424 lexsup.c:445 lexsup.c:546
-#: lexsup.c:575 lexsup.c:614
+#: lexsup.c:209 lexsup.c:227 lexsup.c:311 lexsup.c:332 lexsup.c:433
+#: lexsup.c:466 lexsup.c:505 lexsup.c:508
msgid "SYMBOL"
msgstr "ИМЕ"
-#: lexsup.c:322
+#: lexsup.c:209
msgid "Start with undefined reference to SYMBOL"
msgstr "Ðачало Ñ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° отпратка към ИМЕ"
-#: lexsup.c:325
+#: lexsup.c:212
msgid "[=SECTION]"
-msgstr "=РÐЗДЕЛ"
+msgstr "[=РÐЗДЕЛ]"
-#: lexsup.c:326
+#: lexsup.c:213
msgid "Don't merge input [SECTION | orphan] sections"
msgstr "Без Ñливане на входÑщи [РÐЗДЕЛ | оÑиротÑл] раздели"
-#: lexsup.c:328
+#: lexsup.c:215
msgid "Build global constructor/destructor tables"
msgstr "Изграждане на общи конÑтрутор/деÑтруктор таблици"
-#: lexsup.c:330
+#: lexsup.c:217
msgid "Print version information"
msgstr "Извеждане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° верÑиÑ"
-#: lexsup.c:332
+#: lexsup.c:219
msgid "Print version and emulation information"
msgstr "Извеждане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° верÑÐ¸Ñ Ð¸ подражаване"
-#: lexsup.c:334
+#: lexsup.c:221
msgid "Discard all local symbols"
msgstr "ОтхвърлÑне на вÑички меÑтни имена"
-#: lexsup.c:336
+#: lexsup.c:223
msgid "Discard temporary local symbols (default)"
msgstr "ОтхвърлÑне на временни меÑтни имена (по подразбиране)"
-#: lexsup.c:338
+#: lexsup.c:225
msgid "Don't discard any local symbols"
msgstr "Без отхвърлÑне на меÑтни имена"
-#: lexsup.c:340
+#: lexsup.c:227
msgid "Trace mentions of SYMBOL"
msgstr "ПроÑледÑване на поÑочваниÑта на ИМЕ"
-#: lexsup.c:342 lexsup.c:511 lexsup.c:513
+#: lexsup.c:229 lexsup.c:398 lexsup.c:400
msgid "PATH"
msgstr "ПЪТ"
-#: lexsup.c:342
+#: lexsup.c:229
msgid "Default search path for Solaris compatibility"
msgstr "Път за Ñ‚ÑŠÑ€Ñене по подразбиране за ÑъвмеÑтимоÑÑ‚ ÑÑŠÑ Ð¡Ð¾Ð»Ð°Ñ€Ð¸Ñ"
-#: lexsup.c:345
+#: lexsup.c:232
msgid "Start a group"
msgstr "Ðачало на група"
-#: lexsup.c:347
+#: lexsup.c:234
msgid "End a group"
msgstr "Край на група"
-#: lexsup.c:351
+#: lexsup.c:238
msgid "Accept input files whose architecture cannot be determined"
msgstr "Приемане на входÑщи файлове, чиÑто архитектура не може да Ñе определи"
-#: lexsup.c:355
+#: lexsup.c:242
msgid "Reject input files whose architecture is unknown"
msgstr "Игнориране на входни файлове Ñ Ð½ÐµÐ¿Ð¾Ð·Ð½Ð°Ñ‚Ð° архитектура"
-#: lexsup.c:367
+#: lexsup.c:254
msgid "Only set DT_NEEDED for following dynamic libs if used"
msgstr "УÑтановÑва Ñе DT_NEEDED за Ñледните динамични библ., Ñамо ако Ñе използва"
-#: lexsup.c:370
+#: lexsup.c:257
msgid ""
"Always set DT_NEEDED for dynamic libraries mentioned on\n"
" the command line"
@@ -1584,303 +1609,311 @@ msgstr ""
"Винаги Ñе уÑтановÑва DT_NEEDED за динамичните библиотеки\n"
" поÑочени на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´"
-#: lexsup.c:374
+#: lexsup.c:261
msgid "Ignored for SunOS compatibility"
msgstr "Пренебрегнат(ÑъвмеÑтимоÑÑ‚ ÑÑŠÑ SunOS)"
-#: lexsup.c:376
+#: lexsup.c:263
msgid "Link against shared libraries"
msgstr "Свързване ÑÑŠÑ Ñподелени библиотеки"
-#: lexsup.c:382
+#: lexsup.c:269
msgid "Do not link against shared libraries"
msgstr "Без Ñвързване ÑÑŠÑ Ñподелени библиотеки"
-#: lexsup.c:390
+#: lexsup.c:277
msgid "Bind global references locally"
msgstr "Привързване на общи препратки като меÑтни"
-#: lexsup.c:392
+#: lexsup.c:279
msgid "Bind global function references locally"
msgstr "Привързване на общи препратки за функции като меÑтни"
-#: lexsup.c:394
+#: lexsup.c:281
msgid "Check section addresses for overlaps (default)"
msgstr "Проверка за припокриване на адреÑите на раздели (по подразбиране)"
-#: lexsup.c:397
+#: lexsup.c:284
msgid "Do not check section addresses for overlaps"
msgstr "Без проверка за припокриване за адреÑите на раздели"
-#: lexsup.c:401
+#: lexsup.c:288
msgid "Copy DT_NEEDED links mentioned inside DSOs that follow"
msgstr "Копиране на DT_NEEDED връзки Ñпоменати в DSO-то, което Ñледва"
-#: lexsup.c:405
+#: lexsup.c:292
msgid "Do not copy DT_NEEDED links mentioned inside DSOs that follow"
msgstr "Да не Ñе копират DT_NEEDED връзки Ñпоменати в DSO-то, което Ñледва"
-#: lexsup.c:409
+#: lexsup.c:296
msgid "Output cross reference table"
msgstr "Извежда таблица Ñ ÐºÑ€ÑŠÑтоÑани отпратки"
-#: lexsup.c:411
+#: lexsup.c:298
msgid "SYMBOL=EXPRESSION"
msgstr "ИМЕ=ИЗРÐЗ"
-#: lexsup.c:411
+#: lexsup.c:298
msgid "Define a symbol"
msgstr "Задаване на име"
-#: lexsup.c:413
+#: lexsup.c:300
msgid "[=STYLE]"
msgstr "[=ÐÐЧИÐ]"
-#: lexsup.c:413
+#: lexsup.c:300
msgid "Demangle symbol names [using STYLE]"
msgstr "Декориране на имена [използвайки ÐÐЧИÐ]"
-#: lexsup.c:416
+#: lexsup.c:303
msgid "Generate embedded relocs"
msgstr "Създаване на вградени премеÑтваниÑ"
-#: lexsup.c:418
+#: lexsup.c:305
msgid "Treat warnings as errors"
msgstr "Третиране на Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð¾ грешки"
-#: lexsup.c:421
+#: lexsup.c:308
msgid "Do not treat warnings as errors (default)"
msgstr "Да не Ñе третиране Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð¾ грешки (по подразбиране)"
-#: lexsup.c:424
+#: lexsup.c:311
msgid "Call SYMBOL at unload-time"
msgstr "Извикване на ИМЕ по време разтоварване"
-#: lexsup.c:426
+#: lexsup.c:313
msgid "Force generation of file with .exe suffix"
msgstr "Принудително Ñъздаване на файл Ñ Ð½Ð°Ñтавка .exe "
-#: lexsup.c:428
+#: lexsup.c:315
msgid "Remove unused sections (on some targets)"
msgstr "Изтриване на неизползвани раздели (за нÑкои резултати)"
-#: lexsup.c:431
+#: lexsup.c:318
msgid "Don't remove unused sections (default)"
msgstr "Без изтриване на неизползвани раздели (по подразбиране)"
-#: lexsup.c:434
+#: lexsup.c:321
msgid "List removed unused sections on stderr"
msgstr "Извеждане, на изхода за грешки, на изтритите неизползвани раздели"
-#: lexsup.c:437
+#: lexsup.c:324
msgid "Do not list removed unused sections"
msgstr "Без извеждане на изтритите неизползвани раздели"
-#: lexsup.c:440
+#: lexsup.c:327
msgid "Set default hash table size close to <NUMBER>"
msgstr "УÑтановÑва размер по подразбиране на таблицат за хеш близък до <ЧИСЛО>"
-#: lexsup.c:443
+#: lexsup.c:330
msgid "Print option help"
msgstr "Извеждане на помощ за опците"
-#: lexsup.c:445
+#: lexsup.c:332
msgid "Call SYMBOL at load-time"
msgstr "Извикване на ИМЕ по време на зареждане"
-#: lexsup.c:447
+#: lexsup.c:334
msgid "Write a map file"
msgstr "ЗапиÑване на файл Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð·ÑваниÑ"
-#: lexsup.c:449
+#: lexsup.c:336
msgid "Do not define Common storage"
msgstr "Без определÑне на Ð°Ð´Ñ€ÐµÑ Ð·Ð° общи имена"
-#: lexsup.c:451
+#: lexsup.c:338
msgid "Do not demangle symbol names"
msgstr "Без Ð´ÐµÐºÐ¾Ñ€Ð°Ñ†Ð¸Ñ Ð·Ð° имената"
-#: lexsup.c:453
+#: lexsup.c:340
msgid "Use less memory and more disk I/O"
msgstr "Използване на по-малко памет и повече диÑкови операции"
-#: lexsup.c:455
+#: lexsup.c:342
msgid "Do not allow unresolved references in object files"
msgstr "ÐепозволÑва неÑвързани отпратки при обектни файлове"
-#: lexsup.c:458
+#: lexsup.c:345
msgid "Allow unresolved references in shared libraries"
msgstr "ПозволÑва неÑвързани отпратки при Ñподелени библиотеки"
-#: lexsup.c:462
+#: lexsup.c:349
msgid "Do not allow unresolved references in shared libs"
msgstr "ÐепозволÑва неÑвързани отпратки при Ñподелени библиотеки"
-#: lexsup.c:466
+#: lexsup.c:353
msgid "Allow multiple definitions"
msgstr "ПозволÑва повтарÑне на определениÑ"
-#: lexsup.c:468
+#: lexsup.c:355
msgid "Disallow undefined version"
msgstr "ÐепозволÑва неопределена верÑиÑ"
-#: lexsup.c:470
+#: lexsup.c:357
msgid "Create default symbol version"
msgstr "Създаване на подразбираща Ñе верÑÐ¸Ñ Ð·Ð° име"
-#: lexsup.c:473
+#: lexsup.c:360
msgid "Create default symbol version for imported symbols"
msgstr "Създаване на подразбираща Ñе верÑÐ¸Ñ Ð·Ð° име при внеÑените имена"
-#: lexsup.c:476
+#: lexsup.c:363
msgid "Don't warn about mismatched input files"
msgstr "Без предупреждениe за неÑъответÑтващи входÑщи файлове"
-#: lexsup.c:479
+#: lexsup.c:366
msgid "Don't warn on finding an incompatible library"
msgstr "Без Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ откриване на неÑъвмеÑтими библиотеки"
-#: lexsup.c:482
+#: lexsup.c:369
msgid "Turn off --whole-archive"
msgstr "Изключване на --whole-archive"
-#: lexsup.c:484
+#: lexsup.c:371
msgid "Create an output file even if errors occur"
msgstr "Създаване на изходен файл, дори при грешки"
-#: lexsup.c:489
+#: lexsup.c:376
msgid ""
"Only use library directories specified on\n"
" the command line"
msgstr ""
"Използване Ñамо на директорите за библиотеки\n"
-" зададени на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´"
+" зададени на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´"
-#: lexsup.c:493
+#: lexsup.c:380
msgid "Specify target of output file"
msgstr "Задаване на целта за резултата"
-#: lexsup.c:496
+#: lexsup.c:383
msgid "Print default output format"
msgstr "Извежда Ð¿Ð¾Ð´Ñ€Ð°Ð·Ð±Ð¸Ñ€Ð°Ñ‰Ð¸Ñ Ñе изходÑщ формат"
-#: lexsup.c:498
+#: lexsup.c:385
msgid "Ignored for Linux compatibility"
msgstr "Пренебрегнат(ÑъвмеÑтимоÑÑ‚ Ñ Ð»Ð¸Ð½ÑƒÐºÑ)"
-#: lexsup.c:501
+#: lexsup.c:388
msgid "Reduce memory overheads, possibly taking much longer"
msgstr "ÐамалÑване на използваната памет, възможно е Ñвързването да протече по-дълго"
-#: lexsup.c:504
+#: lexsup.c:391
msgid "Reduce code size by using target specific optimizations"
msgstr "ÐамалÑване на размера на кода Ñ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ð½Ðµ на Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð½Ð° за целта"
-#: lexsup.c:506
+#: lexsup.c:393
msgid "Do not use relaxation techniques to reduce code size"
msgstr "Да не Ñе използват намалÑващи похвати, за да Ñе ограничи размера на кода"
-#: lexsup.c:509
+#: lexsup.c:396
msgid "Keep only symbols listed in FILE"
msgstr "Запазване Ñамо на имената изброени във ФÐЙЛ"
-#: lexsup.c:511
+#: lexsup.c:398
msgid "Set runtime shared library search path"
msgstr "Задава път за Ñ‚ÑŠÑ€Ñене на Ñподелена библиотека по време на изпълнение"
-#: lexsup.c:513
+#: lexsup.c:400
msgid "Set link time shared library search path"
msgstr "Задава път за Ñ‚ÑŠÑ€Ñене на Ñподелена библиотека по време на Ñвързване"
-#: lexsup.c:516
+#: lexsup.c:403
msgid "Create a shared library"
msgstr "Създаване на Ñподелена библиотека"
-#: lexsup.c:520
+#: lexsup.c:407
msgid "Create a position independent executable"
msgstr "Създаване на позиционно незавиÑим изпълним файл"
-#: lexsup.c:524
+#: lexsup.c:411
msgid "[=ascending|descending]"
msgstr "[=възходÑщ|низходÑщ]"
-#: lexsup.c:525
+#: lexsup.c:412
msgid "Sort common symbols by alignment [in specified order]"
msgstr "Подреждане на общите имена по подравнÑване [в Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð¸Ñ Ñ€ÐµÐ´]"
-#: lexsup.c:530
+#: lexsup.c:417
msgid "name|alignment"
msgstr "име|подравнÑване"
-#: lexsup.c:531
+#: lexsup.c:418
msgid "Sort sections by name or maximum alignment"
msgstr "Подреждане на раздели по име или макÑимално подравнÑваме"
-#: lexsup.c:533
+#: lexsup.c:420
msgid "COUNT"
msgstr "БРОЙ"
-#: lexsup.c:533
+#: lexsup.c:420
msgid "How many tags to reserve in .dynamic section"
msgstr "Колко отметки да Ñе заделÑÑ‚ за раздел .dynamic"
-#: lexsup.c:536
+#: lexsup.c:423
msgid "[=SIZE]"
msgstr "[=РÐЗМЕР]"
-#: lexsup.c:536
+#: lexsup.c:423
msgid "Split output sections every SIZE octets"
msgstr "РазделÑне на резултатните раздели на вÑеки РÐЗМЕР оÑморки"
-#: lexsup.c:539
+#: lexsup.c:426
msgid "[=COUNT]"
msgstr "[=БРОЙ]"
-#: lexsup.c:539
+#: lexsup.c:426
msgid "Split output sections every COUNT relocs"
msgstr "РазделÑне на резултатните раздели на вÑеки БРОЙ премеÑтваниÑ"
-#: lexsup.c:542
+#: lexsup.c:429
msgid "Print memory usage statistics"
msgstr "Извеждане на ÑтатиÑтика за изполване на паметта"
-#: lexsup.c:544
+#: lexsup.c:431
msgid "Display target specific options"
msgstr "Извеждане на опции, Ñпецифични за целта"
-#: lexsup.c:546
+#: lexsup.c:433
msgid "Do task level linking"
msgstr "Свързване на ниво задача"
-#: lexsup.c:548
+#: lexsup.c:435
msgid "Use same format as native linker"
msgstr "Използване на ÑÑŠÑ‰Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ като Ñтандартната програма за Ñвързване"
-#: lexsup.c:550
+#: lexsup.c:437
msgid "SECTION=ADDRESS"
msgstr "РÐЗДЕЛ=ÐДРЕС"
-#: lexsup.c:550
+#: lexsup.c:437
msgid "Set address of named section"
msgstr "Задаване на Ð°Ð´Ñ€ÐµÑ Ð½Ð° именуван раздел"
-#: lexsup.c:553
+#: lexsup.c:440
msgid "Set address of .bss section"
msgstr "Задаване на Ð°Ð´Ñ€ÐµÑ Ð½Ð° раздел .bss"
-#: lexsup.c:555
+#: lexsup.c:442
msgid "Set address of .data section"
msgstr "Задаване на Ð°Ð´Ñ€ÐµÑ Ð½Ð° раздел .data"
-#: lexsup.c:557
+#: lexsup.c:444
msgid "Set address of .text section"
msgstr "Задаване на Ð°Ð´Ñ€ÐµÑ Ð½Ð° раздел .text"
-#: lexsup.c:559
+#: lexsup.c:446
msgid "Set address of text segment"
msgstr "Задаване Ð°Ð´Ñ€ÐµÑ Ð½Ð° раздел .text"
-#: lexsup.c:562
+#: lexsup.c:448
+msgid "Set address of rodata segment"
+msgstr "Задаване Ð°Ð´Ñ€ÐµÑ Ð½Ð° раздел .rodata"
+
+#: lexsup.c:450
+msgid "Set address of ldata segment"
+msgstr "Задаване Ð°Ð´Ñ€ÐµÑ Ð½Ð° раздел .ldata"
+
+#: lexsup.c:453
msgid ""
"How to handle unresolved symbols. <method> is:\n"
" ignore-all, report-all, ignore-in-object-files,\n"
@@ -1890,19 +1923,19 @@ msgstr ""
" ignore-all, report-all, ignore-in-object-files,\n"
" ignore-in-shared-libs"
-#: lexsup.c:567
+#: lexsup.c:458
msgid "[=NUMBER]"
msgstr "[=ЧИСЛО]"
-#: lexsup.c:568
+#: lexsup.c:459
msgid "Output lots of information during link"
msgstr "Извеждане, при Ñвързване, на допълнителна информациÑ"
-#: lexsup.c:572
+#: lexsup.c:463
msgid "Read version information script"
msgstr "Използва Ñкрипт Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° верÑии"
-#: lexsup.c:575
+#: lexsup.c:466
msgid ""
"Take export symbols list from .exports, using\n"
" SYMBOL as the version."
@@ -1910,95 +1943,99 @@ msgstr ""
"Използване на ÑпиÑък Ñ Ð¸Ð¼ÐµÐ½Ð° за екÑпорт от .exports, използвайки\n"
" ИМЕ като верÑиÑ."
-#: lexsup.c:579
+#: lexsup.c:470
msgid "Add data symbols to dynamic list"
msgstr "ДобавÑне на имената на данните към динамичен ÑпиÑък"
-#: lexsup.c:581
+#: lexsup.c:472
msgid "Use C++ operator new/delete dynamic list"
msgstr "Използване на динамичен ÑпиÑък за C++ оператори new/delete"
-#: lexsup.c:583
+#: lexsup.c:474
msgid "Use C++ typeinfo dynamic list"
msgstr "Използване на динамичен ÑпиÑък за \"C++ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° тип\""
-#: lexsup.c:585
+#: lexsup.c:476
msgid "Read dynamic list"
msgstr "Използва динамичен ÑпиÑък"
-#: lexsup.c:587
+#: lexsup.c:478
msgid "Warn about duplicate common symbols"
msgstr "Предупреждение при повторени общи имена"
-#: lexsup.c:589
+#: lexsup.c:480
msgid "Warn if global constructors/destructors are seen"
msgstr "Предупреждение, ако Ñе Ñрещнат общи конÑтрутори/деÑтруктори"
-#: lexsup.c:592
+#: lexsup.c:483
msgid "Warn if the multiple GP values are used"
msgstr "Предупреждение за използване на нÑколко GP ÑтойноÑти"
-#: lexsup.c:594
+#: lexsup.c:485
msgid "Warn only once per undefined symbol"
msgstr "Еднократно предупреждение за неопределено име"
-#: lexsup.c:596
+#: lexsup.c:487
msgid "Warn if start of section changes due to alignment"
msgstr "Предупреждение, ако началото на раздел Ñе Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð·Ð°Ñ€Ð°Ð´Ð¸ подравнÑване"
-#: lexsup.c:599
+#: lexsup.c:490
msgid "Warn if shared object has DT_TEXTREL"
msgstr "Предупреждение, ако Ñподелен обект Ñъдържа DT_TEXTREL"
-#: lexsup.c:602
+#: lexsup.c:493
msgid "Warn if an object has alternate ELF machine code"
msgstr "Предупреждение ако обекта е Ñ Ð´Ñ€ÑƒÐ³ ELF ELF код за машина"
-#: lexsup.c:606
+#: lexsup.c:497
msgid "Report unresolved symbols as warnings"
msgstr "Рапортуване като предупреждениÑ, на неÑвързани имена"
-#: lexsup.c:609
+#: lexsup.c:500
msgid "Report unresolved symbols as errors"
msgstr "Рапортуване, като грешки, на неÑвързани имена"
-#: lexsup.c:611
+#: lexsup.c:502
msgid "Include all objects from following archives"
msgstr "Включване на вÑички обекти от Ñледните архиви"
-#: lexsup.c:614
+#: lexsup.c:505
msgid "Use wrapper functions for SYMBOL"
msgstr "Използване на 'обвиващи' функции за ИМЕ"
-#: lexsup.c:763
+#: lexsup.c:509
+msgid "Unresolved SYMBOL will not cause an error or warning"
+msgstr "Ðеизползвано ИМЕ нÑма да причини грешка или предупреждение"
+
+#: lexsup.c:659
msgid "%P: unrecognized option '%s'\n"
msgstr "%P: неразпозната Ð¾Ð¿Ñ†Ð¸Ñ '%s'\n"
-#: lexsup.c:767
+#: lexsup.c:663
msgid "%P%F: use the --help option for usage information\n"
msgstr "%P%F: за Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° употреба Ñе използва Ð¾Ð¿Ñ†Ð¸Ñ --help \n"
-#: lexsup.c:785
+#: lexsup.c:681
msgid "%P%F: unrecognized -a option `%s'\n"
msgstr "%P%F: неразпозната Ð¾Ð¿Ñ†Ð¸Ñ -a '%s'\n"
-#: lexsup.c:798
+#: lexsup.c:694
msgid "%P%F: unrecognized -assert option `%s'\n"
msgstr "%P%F: неразпозната Ð¾Ð¿Ñ†Ð¸Ñ -assert '%s'\n"
-#: lexsup.c:841
-msgid "%F%P: unknown demangling style `%s'"
-msgstr "%F%P: непознат начин за декориране на имена '%s'"
+#: lexsup.c:735
+msgid "%F%P: unknown demangling style `%s'\n"
+msgstr "%F%P: непознат начин за декориране на имена '%s'\n"
-#: lexsup.c:907 lexsup.c:1341
+#: lexsup.c:801 lexsup.c:1239
msgid "%P%F: invalid number `%s'\n"
msgstr "%P%F: неправилно чиÑло '%s'\n"
-#: lexsup.c:1005
+#: lexsup.c:899
msgid "%P%F: bad --unresolved-symbols option: %s\n"
msgstr "%P%F: грешна Ð¾Ð¿Ñ†Ð¸Ñ --unresolved-symbols: %s\n"
-#: lexsup.c:1076
+#: lexsup.c:968
msgid "%P%F: bad -plugin-opt option\n"
msgstr "%P%F: грешна Ð¾Ð¿Ñ†Ð¸Ñ -plugin-opt\n"
@@ -2010,112 +2047,112 @@ msgstr "%P%F: грешна Ð¾Ð¿Ñ†Ð¸Ñ -plugin-opt\n"
#. an error message here. We cannot just make this a warning,
#. increment optind, and continue because getopt is too confused
#. and will seg-fault the next time around.
-#: lexsup.c:1093
+#: lexsup.c:985
msgid "%P%F: bad -rpath option\n"
msgstr "%P%F: грешна Ð¾Ð¿Ñ†Ð¸Ñ -rpath\n"
-#: lexsup.c:1207
+#: lexsup.c:1099
msgid "%P%F: -shared not supported\n"
msgstr "%P%F: -shared не Ñе поддържа\n"
-#: lexsup.c:1216
+#: lexsup.c:1108
msgid "%P%F: -pie not supported\n"
msgstr "%P%F: -pie не Ñе поддържа\n"
-#: lexsup.c:1224
+#: lexsup.c:1116
msgid "descending"
msgstr "низходÑщ"
-#: lexsup.c:1226
+#: lexsup.c:1118
msgid "ascending"
msgstr "възходÑщ"
-#: lexsup.c:1229
+#: lexsup.c:1121
msgid "%P%F: invalid common section sorting option: %s\n"
msgstr "%P%F: неправилна обща Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° подреждане на : %s\n"
-#: lexsup.c:1233
+#: lexsup.c:1125
msgid "name"
msgstr "име"
-#: lexsup.c:1235
+#: lexsup.c:1127
msgid "alignment"
msgstr "подравнÑване"
-#: lexsup.c:1238
+#: lexsup.c:1130
msgid "%P%F: invalid section sorting option: %s\n"
msgstr "%P%F: неправилна Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° подреждане на раздел: %s\n"
-#: lexsup.c:1272
+#: lexsup.c:1164
msgid "%P%F: invalid argument to option \"--section-start\"\n"
msgstr "%P%F: неправилен аргумент за опциÑта \"--section-start\"\n"
-#: lexsup.c:1279
+#: lexsup.c:1171
msgid "%P%F: missing argument(s) to option \"--section-start\"\n"
msgstr "%P%F: липÑват аргументи за опциÑта \"--section-start\"\n"
-#: lexsup.c:1513
+#: lexsup.c:1414
msgid "%P%F: group ended before it began (--help for usage)\n"
msgstr "%P%F: групата завърши преди да е започната (--help за употреба)\n"
-#: lexsup.c:1541
+#: lexsup.c:1442
msgid "%P%X: --hash-size needs a numeric argument\n"
msgstr "%P%X: --hash-size изиÑква чиÑло за аргумент\n"
-#: lexsup.c:1572
+#: lexsup.c:1473
msgid "%P%F: -r and -shared may not be used together\n"
msgstr "%P%F: -r и -shared не може да Ñе използват заедно\n"
-#: lexsup.c:1615
+#: lexsup.c:1516
msgid "%P%F: -F may not be used without -shared\n"
msgstr "%P%F: -F не може да Ñе използва без -shared\n"
-#: lexsup.c:1617
+#: lexsup.c:1518
msgid "%P%F: -f may not be used without -shared\n"
msgstr "%P%F: -f не може да Ñе използва без -shared\n"
-#: lexsup.c:1661 lexsup.c:1674
+#: lexsup.c:1562 lexsup.c:1575
msgid "%P%F: invalid hex number `%s'\n"
msgstr "%P%F: неправилно шеÑÑ‚. чиÑло '%s'\n"
-#: lexsup.c:1710
+#: lexsup.c:1611
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr "Употреба: %s [опции] файл...\n"
-#: lexsup.c:1712
+#: lexsup.c:1613
#, c-format
msgid "Options:\n"
msgstr "Команди:\n"
-#: lexsup.c:1790
+#: lexsup.c:1691
#, c-format
msgid " @FILE"
msgstr " @ФÐЙЛ"
-#: lexsup.c:1793
+#: lexsup.c:1694
#, c-format
msgid "Read options from FILE\n"
msgstr "Използва опции от ФÐЙЛ\n"
#. Note: Various tools (such as libtool) depend upon the
#. format of the listings below - do not change them.
-#: lexsup.c:1798
+#: lexsup.c:1699
#, c-format
msgid "%s: supported targets:"
msgstr "%s: поддържани цели:"
-#: lexsup.c:1806
+#: lexsup.c:1707
#, c-format
msgid "%s: supported emulations: "
msgstr "%s: поддържани емулации: "
-#: lexsup.c:1811
+#: lexsup.c:1712
#, c-format
msgid "%s: emulation specific options:\n"
msgstr "%s: Ñпецифични опции при емулациÑ:\n"
-#: lexsup.c:1816
+#: lexsup.c:1717
#, c-format
msgid "Report bugs to %s\n"
msgstr "Подавайте доклади за грешки на %s\n"
@@ -2124,120 +2161,128 @@ msgstr "Подавайте доклади за грешки на %s\n"
msgid "%P%F: unknown format type %s\n"
msgstr "%P%F: непознат формат %s\n"
-#: pe-dll.c:431
+#: pe-dll.c:430
#, c-format
msgid "%XUnsupported PEI architecture: %s\n"
msgstr "%XÐеподдържна PEI архитектура: %s\n"
-#: pe-dll.c:788
+#: pe-dll.c:799
#, c-format
msgid "%XCannot export %s: invalid export name\n"
msgstr "%XÐе може да Ñе изнеÑе %s: неправилно име за екÑпорт\n"
-#: pe-dll.c:845
+#: pe-dll.c:851
#, c-format
msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n"
msgstr "%XГрешка, повторен EXPORT Ñ Ð½Ð¾Ð¼ÐµÑ€Ð°: %s (%d Ñ/у %d)\n"
-#: pe-dll.c:852
+#: pe-dll.c:858
#, c-format
msgid "Warning, duplicate EXPORT: %s\n"
msgstr "Предупреждение, повторен EXPORT: %s\n"
-#: pe-dll.c:939
+#: pe-dll.c:961
#, c-format
msgid "%XCannot export %s: symbol not defined\n"
msgstr "%XÐе може да Ñе изнеÑе %s: името не е определено\n"
-#: pe-dll.c:945
+#: pe-dll.c:967
#, c-format
msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n"
msgstr "%XÐе може да Ñе изнеÑе %s: име ÑÑŠÑ Ñгрешен тип (%d Ñ/у %d)\n"
-#: pe-dll.c:952
+#: pe-dll.c:974
#, c-format
msgid "%XCannot export %s: symbol not found\n"
msgstr "%XÐе може да Ñе изнеÑе %s: името липÑва\n"
-#: pe-dll.c:1066
+#: pe-dll.c:1088
#, c-format
msgid "%XError, ordinal used twice: %d (%s vs %s)\n"
msgstr "%XГрешка, номера е използван два пъти: %d (%s Ñ/у %s)\n"
-#: pe-dll.c:1456
+#: pe-dll.c:1478
#, c-format
msgid "%XError: %d-bit reloc in dll\n"
msgstr "%XГрешка: %d-битово премеÑтване в dll\n"
-#: pe-dll.c:1584
+#: pe-dll.c:1606
#, c-format
msgid "%s: Can't open output def file %s\n"
msgstr "%s: Ðе може да Ñе отвори за извеждане def-файл %s\n"
-#: pe-dll.c:1735
+#: pe-dll.c:1757
#, c-format
msgid "; no contents available\n"
msgstr "; липÑва Ñъдържание\n"
-#: pe-dll.c:2662
+#: pe-dll.c:2684
msgid "%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n"
msgstr "%C: променливата '%T' не може да Ñе внеÑе автоматично. Да Ñе прочете документациÑта на ld --enable-auto-import за повече информациÑ.\n"
-#: pe-dll.c:2692
+#: pe-dll.c:2714
#, c-format
msgid "%XCan't open .lib file: %s\n"
msgstr "%XÐе може да Ñе отвори lib-файл: %s\n"
-#: pe-dll.c:2697
+#: pe-dll.c:2720
#, c-format
msgid "Creating library file: %s\n"
msgstr "Създаване на библиотека: %s\n"
-#: pe-dll.c:2726
+#: pe-dll.c:2749
#, c-format
msgid "%Xbfd_openr %s: %E\n"
msgstr "%Xbfd_openr %s: %E\n"
-#: pe-dll.c:2738
+#: pe-dll.c:2761
#, c-format
msgid "%X%s(%s): can't find member in non-archive file"
msgstr "%X%s(%s): не е намерена член в файл, който не е архив"
-#: pe-dll.c:2750
+#: pe-dll.c:2773
#, c-format
msgid "%X%s(%s): can't find member in archive"
msgstr "%X%s(%s): не е намерен член в архива"
-#: pe-dll.c:3189
+#: pe-dll.c:3356
#, c-format
msgid "%XError: can't use long section names on this arch\n"
msgstr "%XError: на тази архитектура не може да Ñе използват дълги имена за раздели\n"
-#: plugin.c:177 plugin.c:211
+#: plugin.c:185 plugin.c:218
msgid "<no plugin>"
msgstr "<без приÑтавка>"
-#: plugin.c:250
+#: plugin.c:199 plugin.c:814
+msgid "%P%F: %s: error loading plugin: %s\n"
+msgstr "%P%F: %s: грешка при зареждане на приÑтавка: %s\n"
+
+#: plugin.c:257
#, c-format
msgid "could not create dummy IR bfd: %F%E\n"
msgstr "не може да Ñе Ñъздаде измиÑлен IR bfd: %F%E\n"
-#: plugin.c:343
+#: plugin.c:350
msgid "%P%F: %s: non-ELF symbol in ELF BFD!\n"
msgstr "%P%F: %s: не е ELF име при ELF BFD!\n"
-#: plugin.c:347
+#: plugin.c:354
msgid "%P%F: unknown ELF symbol visibility: %d!\n"
msgstr "%P%F: непозната видимоÑÑ‚ на ELF име: %d!\n"
-#: plugin.c:586
+#: plugin.c:591
msgid "%P: %B: symbol `%s' definition: %d, visibility: %d, resolution: %d\n"
msgstr "%P: %B: име '%s' определение: %d, видимоÑÑ‚: %d, решение: %d\n"
-#: plugin.c:863
+#: plugin.c:821
+msgid "%P%F: %s: plugin error: %d\n"
+msgstr "%P%F: %s: грешка в приÑтавка: %d\n"
+
+#: plugin.c:871
msgid "%P%F: %s: plugin reported error claiming file\n"
msgstr "%P%F: %s: приÑтавката рапортува грешка, при твърдениÑта за файла\n"
-#: plugin.c:934
-msgid "%P: %s: error in plugin cleanup (ignored)\n"
-msgstr "%P: %s: грешка при почиÑтване на приÑтавка, пренебрегната\n"
+#: plugin.c:936
+msgid "%P: %s: error in plugin cleanup: %d (ignored)\n"
+msgstr "%P: %s: грешка при почиÑтване на приÑтавка: %d (пренебрегната)\n"
diff --git a/binutils-2.25/ld/po/ld.pot b/binutils-2.25/ld/po/ld.pot
index 790cfdd8..fb321638 100644
--- a/binutils-2.25/ld/po/ld.pot
+++ b/binutils-2.25/ld/po/ld.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2011-10-25 11:20+0100\n"
+"POT-Creation-Date: 2014-02-10 09:42+1030\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -33,200 +33,212 @@ msgstr ""
msgid "Errors encountered processing file %s"
msgstr ""
-#: emultempl/armcoff.em:192 emultempl/pe.em:1812
+#: emultempl/armcoff.em:192 emultempl/pe.em:1827
msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n"
msgstr ""
-#: emultempl/armcoff.em:197 emultempl/pe.em:1817
+#: emultempl/armcoff.em:197 emultempl/pe.em:1832
msgid "%P: warning: cannot find thumb start symbol %s\n"
msgstr ""
-#: emultempl/pe.em:419
+#: emultempl/pe.em:425
#, c-format
msgid ""
" --base_file <basefile> Generate a base file for relocatable "
"DLLs\n"
msgstr ""
-#: emultempl/pe.em:420
+#: emultempl/pe.em:426
#, c-format
msgid ""
" --dll Set image base to the default for DLLs\n"
msgstr ""
-#: emultempl/pe.em:421
+#: emultempl/pe.em:427
#, c-format
msgid " --file-alignment <size> Set file alignment\n"
msgstr ""
-#: emultempl/pe.em:422
+#: emultempl/pe.em:428
#, c-format
msgid " --heap <size> Set initial size of the heap\n"
msgstr ""
-#: emultempl/pe.em:423
+#: emultempl/pe.em:429
#, c-format
msgid ""
" --image-base <address> Set start address of the executable\n"
msgstr ""
-#: emultempl/pe.em:424
+#: emultempl/pe.em:430
#, c-format
msgid ""
" --major-image-version <number> Set version number of the executable\n"
msgstr ""
-#: emultempl/pe.em:425
+#: emultempl/pe.em:431
#, c-format
msgid " --major-os-version <number> Set minimum required OS version\n"
msgstr ""
-#: emultempl/pe.em:426
+#: emultempl/pe.em:432
#, c-format
msgid ""
" --major-subsystem-version <number> Set minimum required OS subsystem "
"version\n"
msgstr ""
-#: emultempl/pe.em:427
+#: emultempl/pe.em:433
#, c-format
msgid ""
" --minor-image-version <number> Set revision number of the executable\n"
msgstr ""
-#: emultempl/pe.em:428
+#: emultempl/pe.em:434
#, c-format
msgid " --minor-os-version <number> Set minimum required OS revision\n"
msgstr ""
-#: emultempl/pe.em:429
+#: emultempl/pe.em:435
#, c-format
msgid ""
" --minor-subsystem-version <number> Set minimum required OS subsystem "
"revision\n"
msgstr ""
-#: emultempl/pe.em:430
+#: emultempl/pe.em:436
#, c-format
msgid " --section-alignment <size> Set section alignment\n"
msgstr ""
-#: emultempl/pe.em:431
+#: emultempl/pe.em:437
#, c-format
msgid " --stack <size> Set size of the initial stack\n"
msgstr ""
-#: emultempl/pe.em:432
+#: emultempl/pe.em:438
#, c-format
msgid ""
" --subsystem <name>[:<version>] Set required OS subsystem [& version]\n"
msgstr ""
-#: emultempl/pe.em:433
+#: emultempl/pe.em:439
#, c-format
msgid ""
" --support-old-code Support interworking with old code\n"
msgstr ""
-#: emultempl/pe.em:434
+#: emultempl/pe.em:440
#, c-format
msgid ""
" --[no-]leading-underscore Set explicit symbol underscore prefix "
"mode\n"
msgstr ""
-#: emultempl/pe.em:435
+#: emultempl/pe.em:441
#, c-format
msgid ""
" --thumb-entry=<symbol> Set the entry point to be Thumb "
"<symbol>\n"
msgstr ""
-#: emultempl/pe.em:437
+#: emultempl/pe.em:442
+#, c-format
+msgid ""
+" --insert-timestamp Use a real timestamp rather than zero.\n"
+msgstr ""
+
+#: emultempl/pe.em:443
+#, c-format
+msgid ""
+" This makes binaries non-deterministic\n"
+msgstr ""
+
+#: emultempl/pe.em:445
#, c-format
msgid ""
" --add-stdcall-alias Export symbols with and without @nn\n"
msgstr ""
-#: emultempl/pe.em:438
+#: emultempl/pe.em:446
#, c-format
msgid " --disable-stdcall-fixup Don't link _sym to _sym@nn\n"
msgstr ""
-#: emultempl/pe.em:439
+#: emultempl/pe.em:447
#, c-format
msgid ""
" --enable-stdcall-fixup Link _sym to _sym@nn without warnings\n"
msgstr ""
-#: emultempl/pe.em:440
+#: emultempl/pe.em:448
#, c-format
msgid ""
" --exclude-symbols sym,sym,... Exclude symbols from automatic export\n"
msgstr ""
-#: emultempl/pe.em:441
+#: emultempl/pe.em:449
#, c-format
msgid ""
" --exclude-all-symbols Exclude all symbols from automatic "
"export\n"
msgstr ""
-#: emultempl/pe.em:442
+#: emultempl/pe.em:450
#, c-format
msgid ""
" --exclude-libs lib,lib,... Exclude libraries from automatic "
"export\n"
msgstr ""
-#: emultempl/pe.em:443
+#: emultempl/pe.em:451
#, c-format
msgid " --exclude-modules-for-implib mod,mod,...\n"
msgstr ""
-#: emultempl/pe.em:444
+#: emultempl/pe.em:452
#, c-format
msgid ""
" Exclude objects, archive members from "
"auto\n"
msgstr ""
-#: emultempl/pe.em:445
+#: emultempl/pe.em:453
#, c-format
msgid ""
" export, place into import library "
"instead.\n"
msgstr ""
-#: emultempl/pe.em:446
+#: emultempl/pe.em:454
#, c-format
msgid ""
" --export-all-symbols Automatically export all globals to "
"DLL\n"
msgstr ""
-#: emultempl/pe.em:447
+#: emultempl/pe.em:455
#, c-format
msgid " --kill-at Remove @nn from exported symbols\n"
msgstr ""
-#: emultempl/pe.em:448
+#: emultempl/pe.em:456
#, c-format
msgid " --out-implib <file> Generate import library\n"
msgstr ""
-#: emultempl/pe.em:449
+#: emultempl/pe.em:457
#, c-format
msgid ""
" --output-def <file> Generate a .DEF file for the built DLL\n"
msgstr ""
-#: emultempl/pe.em:450
+#: emultempl/pe.em:458
#, c-format
msgid " --warn-duplicate-exports Warn about duplicate exports.\n"
msgstr ""
-#: emultempl/pe.em:451
+#: emultempl/pe.em:459
#, c-format
msgid ""
" --compat-implib Create backward compatible import "
@@ -234,7 +246,7 @@ msgid ""
" create __imp_<SYMBOL> as well.\n"
msgstr ""
-#: emultempl/pe.em:453
+#: emultempl/pe.em:461
#, c-format
msgid ""
" --enable-auto-image-base Automatically choose image base for "
@@ -242,14 +254,14 @@ msgid ""
" unless user specifies one\n"
msgstr ""
-#: emultempl/pe.em:455
+#: emultempl/pe.em:463
#, c-format
msgid ""
" --disable-auto-image-base Do not auto-choose image base. "
"(default)\n"
msgstr ""
-#: emultempl/pe.em:456
+#: emultempl/pe.em:464
#, c-format
msgid ""
" --dll-search-prefix=<string> When linking dynamically to a dll "
@@ -259,21 +271,21 @@ msgid ""
" in preference to lib<basename>.dll \n"
msgstr ""
-#: emultempl/pe.em:459
+#: emultempl/pe.em:467
#, c-format
msgid ""
" --enable-auto-import Do sophisticated linking of _sym to\n"
" __imp_sym for DATA references\n"
msgstr ""
-#: emultempl/pe.em:461
+#: emultempl/pe.em:469
#, c-format
msgid ""
" --disable-auto-import Do not auto-import DATA items from "
"DLLs\n"
msgstr ""
-#: emultempl/pe.em:462
+#: emultempl/pe.em:470
#, c-format
msgid ""
" --enable-runtime-pseudo-reloc Work around auto-import limitations by\n"
@@ -282,7 +294,7 @@ msgid ""
" runtime.\n"
msgstr ""
-#: emultempl/pe.em:465
+#: emultempl/pe.em:473
#, c-format
msgid ""
" --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations "
@@ -290,7 +302,7 @@ msgid ""
" auto-imported DATA.\n"
msgstr ""
-#: emultempl/pe.em:467
+#: emultempl/pe.em:475
#, c-format
msgid ""
" --enable-extra-pe-debug Enable verbose debug output when "
@@ -299,21 +311,28 @@ msgid ""
"import)\n"
msgstr ""
-#: emultempl/pe.em:470
+#: emultempl/pe.em:478
#, c-format
msgid ""
" --large-address-aware Executable supports virtual addresses\n"
" greater than 2 gigabytes\n"
msgstr ""
-#: emultempl/pe.em:472
+#: emultempl/pe.em:480
+#, c-format
+msgid ""
+" --disable-large-address-aware Executable does not support virtual\n"
+" addresses greater than 2 gigabytes\n"
+msgstr ""
+
+#: emultempl/pe.em:482
#, c-format
msgid ""
" --enable-long-section-names Use long COFF section names even in\n"
" executable image files\n"
msgstr ""
-#: emultempl/pe.em:474
+#: emultempl/pe.em:484
#, c-format
msgid ""
" --disable-long-section-names Never use long COFF section names, "
@@ -321,106 +340,106 @@ msgid ""
" in object files\n"
msgstr ""
-#: emultempl/pe.em:476
+#: emultempl/pe.em:486
#, c-format
msgid ""
" --dynamicbase\t\t\t Image base address may be relocated using\n"
"\t\t\t\t address space layout randomization (ASLR)\n"
msgstr ""
-#: emultempl/pe.em:478
+#: emultempl/pe.em:488
#, c-format
msgid " --forceinteg\t\t Code integrity checks are enforced\n"
msgstr ""
-#: emultempl/pe.em:479
+#: emultempl/pe.em:489
#, c-format
msgid " --nxcompat\t\t Image is compatible with data execution prevention\n"
msgstr ""
-#: emultempl/pe.em:480
+#: emultempl/pe.em:490
#, c-format
msgid ""
" --no-isolation\t\t Image understands isolation but do not isolate the "
"image\n"
msgstr ""
-#: emultempl/pe.em:481
+#: emultempl/pe.em:491
#, c-format
msgid ""
" --no-seh\t\t\t Image does not use SEH. No SE handler may\n"
"\t\t\t\t be called in this image\n"
msgstr ""
-#: emultempl/pe.em:483
+#: emultempl/pe.em:493
#, c-format
msgid " --no-bind\t\t\t Do not bind this image\n"
msgstr ""
-#: emultempl/pe.em:484
+#: emultempl/pe.em:494
#, c-format
msgid " --wdmdriver\t\t Driver uses the WDM model\n"
msgstr ""
-#: emultempl/pe.em:485
+#: emultempl/pe.em:495
#, c-format
msgid " --tsaware Image is Terminal Server aware\n"
msgstr ""
-#: emultempl/pe.em:614
+#: emultempl/pe.em:624
msgid "%P: warning: bad version number in -subsystem option\n"
msgstr ""
-#: emultempl/pe.em:639
+#: emultempl/pe.em:649
msgid "%P%F: invalid subsystem type %s\n"
msgstr ""
-#: emultempl/pe.em:660
+#: emultempl/pe.em:670
msgid "%P%F: invalid hex number for PE parameter '%s'\n"
msgstr ""
-#: emultempl/pe.em:677
+#: emultempl/pe.em:687
msgid "%P%F: strange hex info for PE parameter '%s'\n"
msgstr ""
-#: emultempl/pe.em:692
+#: emultempl/pe.em:702
msgid "%F%P: cannot open base file %s\n"
msgstr ""
-#: emultempl/pe.em:965
+#: emultempl/pe.em:981
msgid "%P: warning, file alignment > section alignment.\n"
msgstr ""
-#: emultempl/pe.em:978
+#: emultempl/pe.em:994
msgid ""
"%P: warning: --export-dynamic is not supported for PE targets, did you mean "
"--export-all-symbols?\n"
msgstr ""
-#: emultempl/pe.em:1054 emultempl/pe.em:1081
+#: emultempl/pe.em:1070 emultempl/pe.em:1097
#, c-format
msgid "Warning: resolving %s by linking to %s\n"
msgstr ""
-#: emultempl/pe.em:1059 emultempl/pe.em:1086
+#: emultempl/pe.em:1075 emultempl/pe.em:1102
msgid "Use --enable-stdcall-fixup to disable these warnings\n"
msgstr ""
-#: emultempl/pe.em:1060 emultempl/pe.em:1087
+#: emultempl/pe.em:1076 emultempl/pe.em:1103
msgid "Use --disable-stdcall-fixup to disable these fixups\n"
msgstr ""
-#: emultempl/pe.em:1106
+#: emultempl/pe.em:1122
#, c-format
msgid "%C: Cannot get section contents - auto-import exception\n"
msgstr ""
-#: emultempl/pe.em:1146
+#: emultempl/pe.em:1162
#, c-format
msgid "Info: resolving %s by linking to %s (auto-import)\n"
msgstr ""
-#: emultempl/pe.em:1153
+#: emultempl/pe.em:1169
msgid ""
"%P: warning: auto-importing has been activated without --enable-auto-import "
"specified on the command line.\n"
@@ -428,44 +447,43 @@ msgid ""
"symbols from auto-imported DLLs.\n"
msgstr ""
-#: emultempl/pe.em:1160 emultempl/pe.em:1366 emultempl/pe.em:1573 ldcref.c:490
-#: ldcref.c:588 ldmain.c:1158 ldmisc.c:290 pe-dll.c:706 pe-dll.c:1254
-#: pe-dll.c:1349
+#: emultempl/pe.em:1176 emultempl/pe.em:1383 emultempl/pe.em:1590 ldcref.c:503
+#: ldcref.c:601 ldmain.c:1183 ldmisc.c:300 pe-dll.c:710 pe-dll.c:1276
+#: pe-dll.c:1371
msgid "%B%F: could not read symbols: %E\n"
msgstr ""
-#: emultempl/pe.em:1242
+#: emultempl/pe.em:1258
msgid "%F%P: cannot perform PE operations on non PE output file '%B'.\n"
msgstr ""
-#: emultempl/pe.em:1616
+#: emultempl/pe.em:1633
#, c-format
msgid "Errors encountered processing file %s\n"
msgstr ""
-#: emultempl/pe.em:1639
+#: emultempl/pe.em:1656
#, c-format
msgid "Errors encountered processing file %s for interworking\n"
msgstr ""
-#: emultempl/pe.em:1701 ldexp.c:581 ldlang.c:3458 ldlang.c:6992 ldlang.c:7023
-#: ldmain.c:1103
+#: emultempl/pe.em:1718 ldexp.c:631 ldlang.c:3451 ldmain.c:1128
msgid "%P%F: bfd_link_hash_lookup failed: %E\n"
msgstr ""
-#: ldcref.c:168
+#: ldcref.c:167
msgid "%X%P: bfd_hash_table_init of cref table failed: %E\n"
msgstr ""
-#: ldcref.c:174
+#: ldcref.c:173
msgid "%X%P: cref_hash_lookup failed: %E\n"
msgstr ""
-#: ldcref.c:184
+#: ldcref.c:183
msgid "%X%P: cref alloc failed: %E\n"
msgstr ""
-#: ldcref.c:366
+#: ldcref.c:365
#, c-format
msgid ""
"\n"
@@ -473,25 +491,25 @@ msgid ""
"\n"
msgstr ""
-#: ldcref.c:367
+#: ldcref.c:366
msgid "Symbol"
msgstr ""
-#: ldcref.c:375
+#: ldcref.c:374
#, c-format
msgid "File\n"
msgstr ""
-#: ldcref.c:379
+#: ldcref.c:378
#, c-format
msgid "No symbols\n"
msgstr ""
-#: ldcref.c:532
+#: ldcref.c:545
msgid "%P: symbol `%T' missing from main hash table\n"
msgstr ""
-#: ldcref.c:650 ldcref.c:657 ldmain.c:1192 ldmain.c:1199
+#: ldcref.c:663 ldcref.c:670 ldmain.c:1217 ldmain.c:1224
msgid "%B%F: could not read relocs: %E\n"
msgstr ""
@@ -499,7 +517,7 @@ msgstr ""
#. in OUTSECNAME. This reloc is from a section which is
#. mapped into a section from which references to OUTSECNAME
#. are prohibited. We must report an error.
-#: ldcref.c:684
+#: ldcref.c:697
msgid "%X%C: prohibited cross reference from %s to `%T' in %s\n"
msgstr ""
@@ -519,7 +537,7 @@ msgstr ""
msgid "%P%X: Unsupported size %d for set %s\n"
msgstr ""
-#: ldctor.c:337
+#: ldctor.c:339
msgid ""
"\n"
"Set Symbol\n"
@@ -549,158 +567,166 @@ msgstr ""
msgid " no emulation specific options.\n"
msgstr ""
-#: ldexp.c:314
+#: ldexp.c:346
msgid "%P: warning: address of `%s' isn't multiple of maximum page size\n"
msgstr ""
-#: ldexp.c:407
+#: ldexp.c:439
#, c-format
msgid "%F%S %% by zero\n"
msgstr ""
-#: ldexp.c:417
+#: ldexp.c:449
#, c-format
msgid "%F%S / by zero\n"
msgstr ""
-#: ldexp.c:591
+#: ldexp.c:643
#, c-format
msgid "%X%S: unresolvable symbol `%s' referenced in expression\n"
msgstr ""
-#: ldexp.c:605
+#: ldexp.c:658
#, c-format
msgid "%F%S: undefined symbol `%s' referenced in expression\n"
msgstr ""
-#: ldexp.c:626 ldexp.c:643 ldexp.c:670
+#: ldexp.c:680 ldexp.c:698 ldexp.c:726
#, c-format
msgid "%F%S: undefined section `%s' referenced in expression\n"
msgstr ""
-#: ldexp.c:697 ldexp.c:711
+#: ldexp.c:756 ldexp.c:771
#, c-format
msgid "%F%S: undefined MEMORY region `%s' referenced in expression\n"
msgstr ""
-#: ldexp.c:722
+#: ldexp.c:783
#, c-format
msgid "%F%S: unknown constant `%s' referenced in expression\n"
msgstr ""
-#: ldexp.c:787
+#: ldexp.c:931
#, c-format
msgid "%F%S can not PROVIDE assignment to location counter\n"
msgstr ""
-#: ldexp.c:805
+#: ldexp.c:957
#, c-format
msgid "%F%S invalid assignment to location counter\n"
msgstr ""
-#: ldexp.c:808
+#: ldexp.c:961
#, c-format
-msgid "%F%S assignment to location counter invalid outside of SECTION\n"
+msgid "%F%S assignment to location counter invalid outside of SECTIONS\n"
msgstr ""
-#: ldexp.c:821
+#: ldexp.c:980
msgid "%F%S cannot move location counter backwards (from %V to %V)\n"
msgstr ""
-#: ldexp.c:882
+#: ldexp.c:1035
msgid "%P%F:%s: hash creation failed\n"
msgstr ""
-#: ldexp.c:1191 ldexp.c:1216 ldexp.c:1276
+#: ldexp.c:1368 ldexp.c:1394 ldexp.c:1454
#, c-format
msgid "%F%S: nonconstant expression for %s\n"
msgstr ""
-#: ldfile.c:142
+#: ldfile.c:132
#, c-format
msgid "attempt to open %s failed\n"
msgstr ""
-#: ldfile.c:144
+#: ldfile.c:134
#, c-format
msgid "attempt to open %s succeeded\n"
msgstr ""
-#: ldfile.c:150
+#: ldfile.c:140
msgid "%F%P: invalid BFD target `%s'\n"
msgstr ""
-#: ldfile.c:267 ldfile.c:296
+#: ldfile.c:257 ldfile.c:286
msgid "%P: skipping incompatible %s when searching for %s\n"
msgstr ""
-#: ldfile.c:280
+#: ldfile.c:270
msgid "%F%P: attempted static link of dynamic object `%s'\n"
msgstr ""
-#: ldfile.c:426
+#: ldfile.c:408
msgid "%P: cannot find %s (%s): %E\n"
msgstr ""
-#: ldfile.c:429
+#: ldfile.c:411
msgid "%P: cannot find %s: %E\n"
msgstr ""
-#: ldfile.c:464
+#: ldfile.c:446
msgid "%P: cannot find %s inside %s\n"
msgstr ""
-#: ldfile.c:467
+#: ldfile.c:449
msgid "%P: cannot find %s\n"
msgstr ""
-#: ldfile.c:486 ldfile.c:504
+#: ldfile.c:471
#, c-format
msgid "cannot find script file %s\n"
msgstr ""
-#: ldfile.c:488 ldfile.c:506
+#: ldfile.c:473
#, c-format
msgid "opened script file %s\n"
msgstr ""
-#: ldfile.c:636
+#: ldfile.c:604
msgid "%P%F: cannot open linker script file %s: %E\n"
msgstr ""
-#: ldfile.c:701
+#: ldfile.c:669
msgid "%P%F: cannot represent machine `%s'\n"
msgstr ""
-#: ldlang.c:1221 ldlang.c:1263 ldlang.c:3143
+#: ldlang.c:1194 ldlang.c:1232 ldlang.c:3154
msgid "%P%F: can not create hash table: %E\n"
msgstr ""
-#: ldlang.c:1314
+#: ldlang.c:1288
msgid "%P:%S: warning: redeclaration of memory region `%s'\n"
msgstr ""
-#: ldlang.c:1320
+#: ldlang.c:1294
msgid "%P:%S: warning: memory region `%s' not declared\n"
msgstr ""
-#: ldlang.c:1354
+#: ldlang.c:1329
msgid "%F%P:%S: error: alias for default memory region\n"
msgstr ""
-#: ldlang.c:1365
+#: ldlang.c:1340
msgid "%F%P:%S: error: redefinition of memory region alias `%s'\n"
msgstr ""
-#: ldlang.c:1372
+#: ldlang.c:1347
msgid "%F%P:%S: error: memory region `%s' for alias `%s' does not exist\n"
msgstr ""
-#: ldlang.c:1424 ldlang.c:1463
+#: ldlang.c:1406 ldlang.c:1445
msgid "%P%F: failed creating section `%s': %E\n"
msgstr ""
-#: ldlang.c:2025
+#: ldlang.c:2000
+#, c-format
+msgid ""
+"\n"
+"As-needed library included to satisfy reference by file (symbol)\n"
+"\n"
+msgstr ""
+
+#: ldlang.c:2068
#, c-format
msgid ""
"\n"
@@ -708,30 +734,30 @@ msgid ""
"\n"
msgstr ""
-#: ldlang.c:2033
+#: ldlang.c:2076
msgid ""
"\n"
"Memory Configuration\n"
"\n"
msgstr ""
-#: ldlang.c:2035
+#: ldlang.c:2078
msgid "Name"
msgstr ""
-#: ldlang.c:2035
+#: ldlang.c:2078
msgid "Origin"
msgstr ""
-#: ldlang.c:2035
+#: ldlang.c:2078
msgid "Length"
msgstr ""
-#: ldlang.c:2035
+#: ldlang.c:2078
msgid "Attributes"
msgstr ""
-#: ldlang.c:2075
+#: ldlang.c:2118
#, c-format
msgid ""
"\n"
@@ -739,514 +765,505 @@ msgid ""
"\n"
msgstr ""
-#: ldlang.c:2141
+#: ldlang.c:2168
msgid "%P%F: Illegal use of `%s' section\n"
msgstr ""
-#: ldlang.c:2150
+#: ldlang.c:2177
msgid "%P%F: output format %s cannot represent section called %s\n"
msgstr ""
-#: ldlang.c:2728
+#: ldlang.c:2739
msgid "%B: file not recognized: %E\n"
msgstr ""
-#: ldlang.c:2729
+#: ldlang.c:2740
msgid "%B: matching formats:"
msgstr ""
-#: ldlang.c:2736
+#: ldlang.c:2747
msgid "%F%B: file not recognized: %E\n"
msgstr ""
-#: ldlang.c:2810
+#: ldlang.c:2821
msgid "%F%B: member %B in archive is not an object\n"
msgstr ""
-#: ldlang.c:2825 ldlang.c:2839
-msgid "%F%B: could not read symbols: %E\n"
+#: ldlang.c:2836 ldlang.c:2850
+msgid "%F%B: error adding symbols: %E\n"
msgstr ""
-#: ldlang.c:3113
+#: ldlang.c:3124
msgid ""
"%P: warning: could not find any targets that match endianness requirement\n"
msgstr ""
-#: ldlang.c:3127
+#: ldlang.c:3138
msgid "%P%F: target %s not found\n"
msgstr ""
-#: ldlang.c:3129
+#: ldlang.c:3140
msgid "%P%F: cannot open output file %s: %E\n"
msgstr ""
-#: ldlang.c:3135
+#: ldlang.c:3146
msgid "%P%F:%s: can not make object file: %E\n"
msgstr ""
-#: ldlang.c:3139
+#: ldlang.c:3150
msgid "%P%F:%s: can not set architecture: %E\n"
msgstr ""
-#: ldlang.c:3309
+#: ldlang.c:3322
msgid "%P: warning: %s contains output sections; did you forget -T?\n"
msgstr ""
-#: ldlang.c:3350
-msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n"
+#: ldlang.c:3372
+msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n"
msgstr ""
-#: ldlang.c:3368
-msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n"
+#: ldlang.c:3402
+msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n"
msgstr ""
-#: ldlang.c:3764
+#: ldlang.c:3759
msgid "%F%P: %s not found for insert\n"
msgstr ""
-#: ldlang.c:3979
+#: ldlang.c:3974
msgid " load address 0x%V"
msgstr ""
-#: ldlang.c:4254
+#: ldlang.c:4201
msgid "%W (size before relaxing)\n"
msgstr ""
-#: ldlang.c:4345
+#: ldlang.c:4292
#, c-format
msgid "Address of section %s set to "
msgstr ""
-#: ldlang.c:4498
+#: ldlang.c:4445
#, c-format
msgid "Fail with %d\n"
msgstr ""
-#: ldlang.c:4785
+#: ldlang.c:4733
msgid ""
"%X%P: section %s loaded at [%V,%V] overlaps section %s loaded at [%V,%V]\n"
msgstr ""
-#: ldlang.c:4801
+#: ldlang.c:4749
msgid "%X%P: region `%s' overflowed by %ld bytes\n"
msgstr ""
-#: ldlang.c:4824
+#: ldlang.c:4772
msgid "%X%P: address 0x%v of %B section `%s' is not within region `%s'\n"
msgstr ""
-#: ldlang.c:4835
+#: ldlang.c:4783
msgid "%X%P: %B section `%s' will not fit in region `%s'\n"
msgstr ""
-#: ldlang.c:4892
+#: ldlang.c:4840
#, c-format
msgid ""
"%F%S: non constant or forward reference address expression for section %s\n"
msgstr ""
-#: ldlang.c:4917
+#: ldlang.c:4865
msgid "%P%X: Internal error on COFF shared library section %s\n"
msgstr ""
-#: ldlang.c:4974
+#: ldlang.c:4923
msgid "%P%F: error: no memory region specified for loadable section `%s'\n"
msgstr ""
-#: ldlang.c:4979
+#: ldlang.c:4928
msgid "%P: warning: no memory region specified for loadable section `%s'\n"
msgstr ""
-#: ldlang.c:5001
+#: ldlang.c:4951
msgid "%P: warning: changing start of section %s by %lu bytes\n"
msgstr ""
-#: ldlang.c:5078
+#: ldlang.c:5040
msgid "%P: warning: dot moved backwards before `%s'\n"
msgstr ""
-#: ldlang.c:5244
+#: ldlang.c:5212
msgid "%P%F: can't relax section: %E\n"
msgstr ""
-#: ldlang.c:5573
+#: ldlang.c:5557
msgid "%F%P: invalid data statement\n"
msgstr ""
-#: ldlang.c:5606
+#: ldlang.c:5590
msgid "%F%P: invalid reloc statement\n"
msgstr ""
-#: ldlang.c:5725
+#: ldlang.c:5802
msgid "%P%F: gc-sections requires either an entry or an undefined symbol\n"
msgstr ""
-#: ldlang.c:5750
+#: ldlang.c:5827
msgid "%P%F:%s: can't set start address\n"
msgstr ""
-#: ldlang.c:5763 ldlang.c:5782
+#: ldlang.c:5840 ldlang.c:5859
msgid "%P%F: can't set start address\n"
msgstr ""
-#: ldlang.c:5775
+#: ldlang.c:5852
msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n"
msgstr ""
-#: ldlang.c:5787
+#: ldlang.c:5864
msgid "%P: warning: cannot find entry symbol %s; not setting start address\n"
msgstr ""
-#: ldlang.c:5842
+#: ldlang.c:5916
msgid ""
"%P%F: Relocatable linking with relocations from format %s (%B) to format %s "
"(%B) is not supported\n"
msgstr ""
-#: ldlang.c:5852
+#: ldlang.c:5926
msgid ""
"%P%X: %s architecture of input file `%B' is incompatible with %s output\n"
msgstr ""
-#: ldlang.c:5874
+#: ldlang.c:5948
msgid "%P%X: failed to merge target specific data of file %B\n"
msgstr ""
-#: ldlang.c:5945
+#: ldlang.c:6019
msgid "%P%F: Could not define common symbol `%T': %E\n"
msgstr ""
-#: ldlang.c:5957
+#: ldlang.c:6031
msgid ""
"\n"
"Allocating common symbols\n"
msgstr ""
-#: ldlang.c:5958
+#: ldlang.c:6032
msgid ""
"Common symbol size file\n"
"\n"
msgstr ""
-#: ldlang.c:6104
+#: ldlang.c:6178
msgid "%P%F: invalid syntax in flags\n"
msgstr ""
-#: ldlang.c:6566
+#: ldlang.c:6304
+msgid "%F%P:%S: error: align with input and explicit align specified\n"
+msgstr ""
+
+#: ldlang.c:6645
msgid "%P%F: Failed to create hash table\n"
msgstr ""
-#: ldlang.c:6589
+#: ldlang.c:6668
msgid "%P%F: %s: plugin reported error after all symbols read\n"
msgstr ""
-#: ldlang.c:6905
+#: ldlang.c:6991
msgid "%P%F: multiple STARTUP files\n"
msgstr ""
-#: ldlang.c:6951
+#: ldlang.c:7037
msgid "%X%P:%S: section has both a load address and a load region\n"
msgstr ""
-#: ldlang.c:7138
+#: ldlang.c:7162
msgid ""
"%X%P:%S: PHDRS and FILEHDR are not supported when prior PT_LOAD headers lack "
"them\n"
msgstr ""
-#: ldlang.c:7210
+#: ldlang.c:7235
msgid "%F%P: no sections assigned to phdrs\n"
msgstr ""
-#: ldlang.c:7248
+#: ldlang.c:7273
msgid "%F%P: bfd_record_phdr failed: %E\n"
msgstr ""
-#: ldlang.c:7268
+#: ldlang.c:7293
msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n"
msgstr ""
-#: ldlang.c:7677
+#: ldlang.c:7705
msgid "%X%P: unknown language `%s' in version information\n"
msgstr ""
-#: ldlang.c:7822
+#: ldlang.c:7850
msgid ""
"%X%P: anonymous version tag cannot be combined with other version tags\n"
msgstr ""
-#: ldlang.c:7831
+#: ldlang.c:7859
msgid "%X%P: duplicate version tag `%s'\n"
msgstr ""
-#: ldlang.c:7852 ldlang.c:7861 ldlang.c:7879 ldlang.c:7889
+#: ldlang.c:7880 ldlang.c:7889 ldlang.c:7907 ldlang.c:7917
msgid "%X%P: duplicate expression `%s' in version information\n"
msgstr ""
-#: ldlang.c:7929
+#: ldlang.c:7957
msgid "%X%P: unable to find version dependency `%s'\n"
msgstr ""
-#: ldlang.c:7952
+#: ldlang.c:7980
msgid "%X%P: unable to read .exports section contents\n"
msgstr ""
-#: ldlang.c:8076
+#: ldlang.c:8104
msgid "%X%P: unknown feature `%s'\n"
msgstr ""
-#: ldmain.c:239
+#: ldmain.c:246
msgid "%X%P: can't set BFD default target to `%s': %E\n"
msgstr ""
-#: ldmain.c:303 lexsup.c:1071
-msgid "%P%F: %s: error loading plugin\n"
+#: ldmain.c:336
+msgid "built in linker script"
msgstr ""
-#: ldmain.c:340
+#: ldmain.c:346
msgid "using external linker script:"
msgstr ""
-#: ldmain.c:342
+#: ldmain.c:348
msgid "using internal linker script:"
msgstr ""
-#: ldmain.c:379
+#: ldmain.c:385
msgid "%P%F: no input files\n"
msgstr ""
-#: ldmain.c:383
+#: ldmain.c:389
msgid "%P: mode %s\n"
msgstr ""
-#: ldmain.c:399
+#: ldmain.c:405
msgid "%P%F: cannot open map file %s: %E\n"
msgstr ""
-#: ldmain.c:431
+#: ldmain.c:437
msgid "%P: link errors found, deleting executable `%s'\n"
msgstr ""
-#: ldmain.c:440
+#: ldmain.c:446
msgid "%F%B: final close failed: %E\n"
msgstr ""
-#: ldmain.c:466
+#: ldmain.c:472
msgid "%X%P: unable to open for source of copy `%s'\n"
msgstr ""
-#: ldmain.c:469
+#: ldmain.c:475
msgid "%X%P: unable to open for destination of copy `%s'\n"
msgstr ""
-#: ldmain.c:476
+#: ldmain.c:482
msgid "%P: Error writing file `%s'\n"
msgstr ""
-#: ldmain.c:481 pe-dll.c:1739
+#: ldmain.c:487 pe-dll.c:1761
#, c-format
msgid "%P: Error closing file `%s'\n"
msgstr ""
-#: ldmain.c:498
+#: ldmain.c:504
#, c-format
msgid "%s: total time in link: %ld.%06ld\n"
msgstr ""
-#: ldmain.c:501
+#: ldmain.c:507
#, c-format
msgid "%s: data size %ld\n"
msgstr ""
-#: ldmain.c:585
+#: ldmain.c:591
msgid "%P%F: missing argument to -m\n"
msgstr ""
-#: ldmain.c:633 ldmain.c:653 ldmain.c:685
+#: ldmain.c:639 ldmain.c:656 ldmain.c:676 ldmain.c:708
msgid "%P%F: bfd_hash_table_init failed: %E\n"
msgstr ""
-#: ldmain.c:637 ldmain.c:657
+#: ldmain.c:643 ldmain.c:660 ldmain.c:680
msgid "%P%F: bfd_hash_lookup failed: %E\n"
msgstr ""
-#: ldmain.c:671
+#: ldmain.c:694
msgid "%X%P: error: duplicate retain-symbols-file\n"
msgstr ""
-#: ldmain.c:715
+#: ldmain.c:738
msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n"
msgstr ""
-#: ldmain.c:720
+#: ldmain.c:743
msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n"
msgstr ""
-#: ldmain.c:820
+#: ldmain.c:844
#, c-format
msgid ""
-"Archive member included because of file (symbol)\n"
+"Archive member included to satisfy reference by file (symbol)\n"
"\n"
msgstr ""
-#: ldmain.c:926
+#: ldmain.c:951
msgid "%X%C: multiple definition of `%T'\n"
msgstr ""
-#: ldmain.c:929
+#: ldmain.c:954
msgid "%D: first defined here\n"
msgstr ""
-#: ldmain.c:933
+#: ldmain.c:958
msgid "%P: Disabling relaxation: it will not work with multiple definitions\n"
msgstr ""
-#: ldmain.c:987
+#: ldmain.c:1012
msgid "%B: warning: definition of `%T' overriding common\n"
msgstr ""
-#: ldmain.c:990
+#: ldmain.c:1015
msgid "%B: warning: common is here\n"
msgstr ""
-#: ldmain.c:997
+#: ldmain.c:1022
msgid "%B: warning: common of `%T' overridden by definition\n"
msgstr ""
-#: ldmain.c:1000
+#: ldmain.c:1025
msgid "%B: warning: defined here\n"
msgstr ""
-#: ldmain.c:1007
+#: ldmain.c:1032
msgid "%B: warning: common of `%T' overridden by larger common\n"
msgstr ""
-#: ldmain.c:1010
+#: ldmain.c:1035
msgid "%B: warning: larger common is here\n"
msgstr ""
-#: ldmain.c:1014
+#: ldmain.c:1039
msgid "%B: warning: common of `%T' overriding smaller common\n"
msgstr ""
-#: ldmain.c:1017
+#: ldmain.c:1042
msgid "%B: warning: smaller common is here\n"
msgstr ""
-#: ldmain.c:1021
+#: ldmain.c:1046
msgid "%B: warning: multiple common of `%T'\n"
msgstr ""
-#: ldmain.c:1023
+#: ldmain.c:1048
msgid "%B: warning: previous common is here\n"
msgstr ""
-#: ldmain.c:1043 ldmain.c:1081
+#: ldmain.c:1068 ldmain.c:1106
msgid "%P: warning: global constructor %s used\n"
msgstr ""
-#: ldmain.c:1091
+#: ldmain.c:1116
msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n"
msgstr ""
#. We found a reloc for the symbol we are looking for.
-#: ldmain.c:1145 ldmain.c:1147 ldmain.c:1149 ldmain.c:1167 ldmain.c:1212
+#: ldmain.c:1170 ldmain.c:1172 ldmain.c:1174 ldmain.c:1192 ldmain.c:1237
msgid "warning: "
msgstr ""
-#: ldmain.c:1248
-msgid "%F%P: bfd_hash_table_init failed: %E\n"
-msgstr ""
-
-#: ldmain.c:1255
-msgid "%F%P: bfd_hash_lookup failed: %E\n"
-msgstr ""
-
-#: ldmain.c:1276
+#: ldmain.c:1290
msgid "%X%C: undefined reference to `%T'\n"
msgstr ""
-#: ldmain.c:1279
+#: ldmain.c:1293
msgid "%C: warning: undefined reference to `%T'\n"
msgstr ""
-#: ldmain.c:1285
+#: ldmain.c:1299
msgid "%X%D: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1288
+#: ldmain.c:1302
msgid "%D: warning: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1299
+#: ldmain.c:1313
msgid "%X%B: undefined reference to `%T'\n"
msgstr ""
-#: ldmain.c:1302
+#: ldmain.c:1316
msgid "%B: warning: undefined reference to `%T'\n"
msgstr ""
-#: ldmain.c:1308
+#: ldmain.c:1322
msgid "%X%B: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1311
+#: ldmain.c:1325
msgid "%B: warning: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1350
+#: ldmain.c:1364
msgid " additional relocation overflows omitted from the output\n"
msgstr ""
-#: ldmain.c:1363
+#: ldmain.c:1377
msgid " relocation truncated to fit: %s against undefined symbol `%T'"
msgstr ""
-#: ldmain.c:1368
+#: ldmain.c:1382
msgid ""
" relocation truncated to fit: %s against symbol `%T' defined in %A section "
"in %B"
msgstr ""
-#: ldmain.c:1380
+#: ldmain.c:1394
msgid " relocation truncated to fit: %s against `%T'"
msgstr ""
-#: ldmain.c:1397
+#: ldmain.c:1411
msgid "%X%H: dangerous relocation: %s\n"
msgstr ""
-#: ldmain.c:1412
+#: ldmain.c:1426
msgid "%X%H: reloc refers to symbol `%T' which is not being output\n"
msgstr ""
-#: ldmisc.c:151
+#: ldmisc.c:154
#, c-format
msgid "no symbol"
msgstr ""
-#: ldmisc.c:248
-#, c-format
-msgid "built in linker script:%u"
-msgstr ""
-
-#: ldmisc.c:329
+#: ldmisc.c:339
msgid "%B: In function `%T':\n"
msgstr ""
-#: ldmisc.c:464
+#: ldmisc.c:474
msgid "%F%P: internal error %s %d\n"
msgstr ""
-#: ldmisc.c:513
+#: ldmisc.c:538
msgid "%P: internal error: aborting at %s line %d in %s\n"
msgstr ""
-#: ldmisc.c:516
+#: ldmisc.c:541
msgid "%P: internal error: aborting at %s line %d\n"
msgstr ""
-#: ldmisc.c:518
+#: ldmisc.c:543
msgid "%P%F: please report this bug\n"
msgstr ""
@@ -1258,7 +1275,7 @@ msgstr ""
#: ldver.c:43
#, c-format
-msgid "Copyright 2011 Free Software Foundation, Inc.\n"
+msgid "Copyright 2014 Free Software Foundation, Inc.\n"
msgstr ""
#: ldver.c:44
@@ -1275,614 +1292,627 @@ msgstr ""
msgid " Supported emulations:\n"
msgstr ""
-#: ldwrite.c:62 ldwrite.c:207
+#: ldwrite.c:62 ldwrite.c:208
msgid "%P%F: bfd_new_link_order failed\n"
msgstr ""
-#: ldwrite.c:365
+#: ldwrite.c:366
msgid "%F%P: cannot create split section name for %s\n"
msgstr ""
-#: ldwrite.c:377
+#: ldwrite.c:378
msgid "%F%P: clone section failed: %E\n"
msgstr ""
-#: ldwrite.c:418
+#: ldwrite.c:419
#, c-format
msgid "%8x something else\n"
msgstr ""
-#: ldwrite.c:588
+#: ldwrite.c:589
msgid "%F%P: final link failed: %E\n"
msgstr ""
-#: lexsup.c:220 lexsup.c:374
+#: lexsup.c:104 lexsup.c:261
msgid "KEYWORD"
msgstr ""
-#: lexsup.c:220
+#: lexsup.c:104
msgid "Shared library control for HP/UX compatibility"
msgstr ""
-#: lexsup.c:223
+#: lexsup.c:107
msgid "ARCH"
msgstr ""
-#: lexsup.c:223
+#: lexsup.c:107
msgid "Set architecture"
msgstr ""
-#: lexsup.c:225 lexsup.c:493
+#: lexsup.c:109 lexsup.c:380
msgid "TARGET"
msgstr ""
-#: lexsup.c:225
+#: lexsup.c:109
msgid "Specify target for following input files"
msgstr ""
-#: lexsup.c:228 lexsup.c:279 lexsup.c:303 lexsup.c:316 lexsup.c:318
-#: lexsup.c:447 lexsup.c:509 lexsup.c:572 lexsup.c:585
+#: lexsup.c:112 lexsup.c:163 lexsup.c:190 lexsup.c:203 lexsup.c:205
+#: lexsup.c:334 lexsup.c:396 lexsup.c:463 lexsup.c:476
msgid "FILE"
msgstr ""
-#: lexsup.c:228
+#: lexsup.c:112
msgid "Read MRI format linker script"
msgstr ""
-#: lexsup.c:230
+#: lexsup.c:114
msgid "Force common symbols to be defined"
msgstr ""
-#: lexsup.c:234 lexsup.c:553 lexsup.c:555 lexsup.c:557 lexsup.c:559
+#: lexsup.c:118 lexsup.c:440 lexsup.c:442 lexsup.c:444 lexsup.c:446
+#: lexsup.c:448 lexsup.c:450
msgid "ADDRESS"
msgstr ""
-#: lexsup.c:234
+#: lexsup.c:118
msgid "Set start address"
msgstr ""
-#: lexsup.c:236
+#: lexsup.c:120
msgid "Export all dynamic symbols"
msgstr ""
-#: lexsup.c:238
+#: lexsup.c:122
msgid "Undo the effect of --export-dynamic"
msgstr ""
-#: lexsup.c:240
+#: lexsup.c:124
msgid "Link big-endian objects"
msgstr ""
-#: lexsup.c:242
+#: lexsup.c:126
msgid "Link little-endian objects"
msgstr ""
-#: lexsup.c:244 lexsup.c:247
+#: lexsup.c:128 lexsup.c:131
msgid "SHLIB"
msgstr ""
-#: lexsup.c:244
+#: lexsup.c:128
msgid "Auxiliary filter for shared object symbol table"
msgstr ""
-#: lexsup.c:247
+#: lexsup.c:131
msgid "Filter for shared object symbol table"
msgstr ""
-#: lexsup.c:250
+#: lexsup.c:134
msgid "Ignored"
msgstr ""
-#: lexsup.c:252
+#: lexsup.c:136
msgid "SIZE"
msgstr ""
-#: lexsup.c:252
+#: lexsup.c:136
msgid "Small data size (if no size, same as --shared)"
msgstr ""
-#: lexsup.c:255
+#: lexsup.c:139
msgid "FILENAME"
msgstr ""
-#: lexsup.c:255
+#: lexsup.c:139
msgid "Set internal name of shared library"
msgstr ""
-#: lexsup.c:257
+#: lexsup.c:141
msgid "PROGRAM"
msgstr ""
-#: lexsup.c:257
+#: lexsup.c:141
msgid "Set PROGRAM as the dynamic linker to use"
msgstr ""
-#: lexsup.c:260
+#: lexsup.c:144
msgid "LIBNAME"
msgstr ""
-#: lexsup.c:260
+#: lexsup.c:144
msgid "Search for library LIBNAME"
msgstr ""
-#: lexsup.c:262
+#: lexsup.c:146
msgid "DIRECTORY"
msgstr ""
-#: lexsup.c:262
+#: lexsup.c:146
msgid "Add DIRECTORY to library search path"
msgstr ""
-#: lexsup.c:265
+#: lexsup.c:149
msgid "Override the default sysroot location"
msgstr ""
-#: lexsup.c:267
+#: lexsup.c:151
msgid "EMULATION"
msgstr ""
-#: lexsup.c:267
+#: lexsup.c:151
msgid "Set emulation"
msgstr ""
-#: lexsup.c:269
+#: lexsup.c:153
msgid "Print map file on standard output"
msgstr ""
-#: lexsup.c:271
+#: lexsup.c:155
msgid "Do not page align data"
msgstr ""
-#: lexsup.c:273
+#: lexsup.c:157
msgid "Do not page align data, do not make text readonly"
msgstr ""
-#: lexsup.c:276
+#: lexsup.c:160
msgid "Page align data, make text readonly"
msgstr ""
-#: lexsup.c:279
+#: lexsup.c:163
msgid "Set output file name"
msgstr ""
-#: lexsup.c:281
+#: lexsup.c:165
msgid "Optimize output file"
msgstr ""
-#: lexsup.c:284
+#: lexsup.c:168
msgid "PLUGIN"
msgstr ""
-#: lexsup.c:284
+#: lexsup.c:168
msgid "Load named plugin"
msgstr ""
-#: lexsup.c:286
+#: lexsup.c:170
msgid "ARG"
msgstr ""
-#: lexsup.c:286
+#: lexsup.c:170
msgid "Send arg to last-loaded plugin"
msgstr ""
-#: lexsup.c:288 lexsup.c:291
+#: lexsup.c:172 lexsup.c:175
msgid "Ignored for GCC LTO option compatibility"
msgstr ""
-#: lexsup.c:295
+#: lexsup.c:179
+msgid "Ignored for GCC linker option compatibility"
+msgstr ""
+
+#: lexsup.c:182
msgid "Ignored for SVR4 compatibility"
msgstr ""
-#: lexsup.c:299
+#: lexsup.c:186
msgid "Generate relocatable output"
msgstr ""
-#: lexsup.c:303
+#: lexsup.c:190
msgid "Just link symbols (if directory, same as --rpath)"
msgstr ""
-#: lexsup.c:306
+#: lexsup.c:193
msgid "Strip all symbols"
msgstr ""
-#: lexsup.c:308
+#: lexsup.c:195
msgid "Strip debugging symbols"
msgstr ""
-#: lexsup.c:310
+#: lexsup.c:197
msgid "Strip symbols in discarded sections"
msgstr ""
-#: lexsup.c:312
+#: lexsup.c:199
msgid "Do not strip symbols in discarded sections"
msgstr ""
-#: lexsup.c:314
+#: lexsup.c:201
msgid "Trace file opens"
msgstr ""
-#: lexsup.c:316
+#: lexsup.c:203
msgid "Read linker script"
msgstr ""
-#: lexsup.c:318
+#: lexsup.c:205
msgid "Read default linker script"
msgstr ""
-#: lexsup.c:322 lexsup.c:340 lexsup.c:424 lexsup.c:445 lexsup.c:546
-#: lexsup.c:575 lexsup.c:614
+#: lexsup.c:209 lexsup.c:227 lexsup.c:311 lexsup.c:332 lexsup.c:433
+#: lexsup.c:466 lexsup.c:505 lexsup.c:508
msgid "SYMBOL"
msgstr ""
-#: lexsup.c:322
+#: lexsup.c:209
msgid "Start with undefined reference to SYMBOL"
msgstr ""
-#: lexsup.c:325
+#: lexsup.c:212
msgid "[=SECTION]"
msgstr ""
-#: lexsup.c:326
+#: lexsup.c:213
msgid "Don't merge input [SECTION | orphan] sections"
msgstr ""
-#: lexsup.c:328
+#: lexsup.c:215
msgid "Build global constructor/destructor tables"
msgstr ""
-#: lexsup.c:330
+#: lexsup.c:217
msgid "Print version information"
msgstr ""
-#: lexsup.c:332
+#: lexsup.c:219
msgid "Print version and emulation information"
msgstr ""
-#: lexsup.c:334
+#: lexsup.c:221
msgid "Discard all local symbols"
msgstr ""
-#: lexsup.c:336
+#: lexsup.c:223
msgid "Discard temporary local symbols (default)"
msgstr ""
-#: lexsup.c:338
+#: lexsup.c:225
msgid "Don't discard any local symbols"
msgstr ""
-#: lexsup.c:340
+#: lexsup.c:227
msgid "Trace mentions of SYMBOL"
msgstr ""
-#: lexsup.c:342 lexsup.c:511 lexsup.c:513
+#: lexsup.c:229 lexsup.c:398 lexsup.c:400
msgid "PATH"
msgstr ""
-#: lexsup.c:342
+#: lexsup.c:229
msgid "Default search path for Solaris compatibility"
msgstr ""
-#: lexsup.c:345
+#: lexsup.c:232
msgid "Start a group"
msgstr ""
-#: lexsup.c:347
+#: lexsup.c:234
msgid "End a group"
msgstr ""
-#: lexsup.c:351
+#: lexsup.c:238
msgid "Accept input files whose architecture cannot be determined"
msgstr ""
-#: lexsup.c:355
+#: lexsup.c:242
msgid "Reject input files whose architecture is unknown"
msgstr ""
-#: lexsup.c:367
+#: lexsup.c:254
msgid "Only set DT_NEEDED for following dynamic libs if used"
msgstr ""
-#: lexsup.c:370
+#: lexsup.c:257
msgid ""
"Always set DT_NEEDED for dynamic libraries mentioned on\n"
" the command line"
msgstr ""
-#: lexsup.c:374
+#: lexsup.c:261
msgid "Ignored for SunOS compatibility"
msgstr ""
-#: lexsup.c:376
+#: lexsup.c:263
msgid "Link against shared libraries"
msgstr ""
-#: lexsup.c:382
+#: lexsup.c:269
msgid "Do not link against shared libraries"
msgstr ""
-#: lexsup.c:390
+#: lexsup.c:277
msgid "Bind global references locally"
msgstr ""
-#: lexsup.c:392
+#: lexsup.c:279
msgid "Bind global function references locally"
msgstr ""
-#: lexsup.c:394
+#: lexsup.c:281
msgid "Check section addresses for overlaps (default)"
msgstr ""
-#: lexsup.c:397
+#: lexsup.c:284
msgid "Do not check section addresses for overlaps"
msgstr ""
-#: lexsup.c:401
+#: lexsup.c:288
msgid "Copy DT_NEEDED links mentioned inside DSOs that follow"
msgstr ""
-#: lexsup.c:405
+#: lexsup.c:292
msgid "Do not copy DT_NEEDED links mentioned inside DSOs that follow"
msgstr ""
-#: lexsup.c:409
+#: lexsup.c:296
msgid "Output cross reference table"
msgstr ""
-#: lexsup.c:411
+#: lexsup.c:298
msgid "SYMBOL=EXPRESSION"
msgstr ""
-#: lexsup.c:411
+#: lexsup.c:298
msgid "Define a symbol"
msgstr ""
-#: lexsup.c:413
+#: lexsup.c:300
msgid "[=STYLE]"
msgstr ""
-#: lexsup.c:413
+#: lexsup.c:300
msgid "Demangle symbol names [using STYLE]"
msgstr ""
-#: lexsup.c:416
+#: lexsup.c:303
msgid "Generate embedded relocs"
msgstr ""
-#: lexsup.c:418
+#: lexsup.c:305
msgid "Treat warnings as errors"
msgstr ""
-#: lexsup.c:421
+#: lexsup.c:308
msgid "Do not treat warnings as errors (default)"
msgstr ""
-#: lexsup.c:424
+#: lexsup.c:311
msgid "Call SYMBOL at unload-time"
msgstr ""
-#: lexsup.c:426
+#: lexsup.c:313
msgid "Force generation of file with .exe suffix"
msgstr ""
-#: lexsup.c:428
+#: lexsup.c:315
msgid "Remove unused sections (on some targets)"
msgstr ""
-#: lexsup.c:431
+#: lexsup.c:318
msgid "Don't remove unused sections (default)"
msgstr ""
-#: lexsup.c:434
+#: lexsup.c:321
msgid "List removed unused sections on stderr"
msgstr ""
-#: lexsup.c:437
+#: lexsup.c:324
msgid "Do not list removed unused sections"
msgstr ""
-#: lexsup.c:440
+#: lexsup.c:327
msgid "Set default hash table size close to <NUMBER>"
msgstr ""
-#: lexsup.c:443
+#: lexsup.c:330
msgid "Print option help"
msgstr ""
-#: lexsup.c:445
+#: lexsup.c:332
msgid "Call SYMBOL at load-time"
msgstr ""
-#: lexsup.c:447
+#: lexsup.c:334
msgid "Write a map file"
msgstr ""
-#: lexsup.c:449
+#: lexsup.c:336
msgid "Do not define Common storage"
msgstr ""
-#: lexsup.c:451
+#: lexsup.c:338
msgid "Do not demangle symbol names"
msgstr ""
-#: lexsup.c:453
+#: lexsup.c:340
msgid "Use less memory and more disk I/O"
msgstr ""
-#: lexsup.c:455
+#: lexsup.c:342
msgid "Do not allow unresolved references in object files"
msgstr ""
-#: lexsup.c:458
+#: lexsup.c:345
msgid "Allow unresolved references in shared libraries"
msgstr ""
-#: lexsup.c:462
+#: lexsup.c:349
msgid "Do not allow unresolved references in shared libs"
msgstr ""
-#: lexsup.c:466
+#: lexsup.c:353
msgid "Allow multiple definitions"
msgstr ""
-#: lexsup.c:468
+#: lexsup.c:355
msgid "Disallow undefined version"
msgstr ""
-#: lexsup.c:470
+#: lexsup.c:357
msgid "Create default symbol version"
msgstr ""
-#: lexsup.c:473
+#: lexsup.c:360
msgid "Create default symbol version for imported symbols"
msgstr ""
-#: lexsup.c:476
+#: lexsup.c:363
msgid "Don't warn about mismatched input files"
msgstr ""
-#: lexsup.c:479
+#: lexsup.c:366
msgid "Don't warn on finding an incompatible library"
msgstr ""
-#: lexsup.c:482
+#: lexsup.c:369
msgid "Turn off --whole-archive"
msgstr ""
-#: lexsup.c:484
+#: lexsup.c:371
msgid "Create an output file even if errors occur"
msgstr ""
-#: lexsup.c:489
+#: lexsup.c:376
msgid ""
"Only use library directories specified on\n"
" the command line"
msgstr ""
-#: lexsup.c:493
+#: lexsup.c:380
msgid "Specify target of output file"
msgstr ""
-#: lexsup.c:496
+#: lexsup.c:383
msgid "Print default output format"
msgstr ""
-#: lexsup.c:498
+#: lexsup.c:385
msgid "Ignored for Linux compatibility"
msgstr ""
-#: lexsup.c:501
+#: lexsup.c:388
msgid "Reduce memory overheads, possibly taking much longer"
msgstr ""
-#: lexsup.c:504
+#: lexsup.c:391
msgid "Reduce code size by using target specific optimizations"
msgstr ""
-#: lexsup.c:506
+#: lexsup.c:393
msgid "Do not use relaxation techniques to reduce code size"
msgstr ""
-#: lexsup.c:509
+#: lexsup.c:396
msgid "Keep only symbols listed in FILE"
msgstr ""
-#: lexsup.c:511
+#: lexsup.c:398
msgid "Set runtime shared library search path"
msgstr ""
-#: lexsup.c:513
+#: lexsup.c:400
msgid "Set link time shared library search path"
msgstr ""
-#: lexsup.c:516
+#: lexsup.c:403
msgid "Create a shared library"
msgstr ""
-#: lexsup.c:520
+#: lexsup.c:407
msgid "Create a position independent executable"
msgstr ""
-#: lexsup.c:524
+#: lexsup.c:411
msgid "[=ascending|descending]"
msgstr ""
-#: lexsup.c:525
+#: lexsup.c:412
msgid "Sort common symbols by alignment [in specified order]"
msgstr ""
-#: lexsup.c:530
+#: lexsup.c:417
msgid "name|alignment"
msgstr ""
-#: lexsup.c:531
+#: lexsup.c:418
msgid "Sort sections by name or maximum alignment"
msgstr ""
-#: lexsup.c:533
+#: lexsup.c:420
msgid "COUNT"
msgstr ""
-#: lexsup.c:533
+#: lexsup.c:420
msgid "How many tags to reserve in .dynamic section"
msgstr ""
-#: lexsup.c:536
+#: lexsup.c:423
msgid "[=SIZE]"
msgstr ""
-#: lexsup.c:536
+#: lexsup.c:423
msgid "Split output sections every SIZE octets"
msgstr ""
-#: lexsup.c:539
+#: lexsup.c:426
msgid "[=COUNT]"
msgstr ""
-#: lexsup.c:539
+#: lexsup.c:426
msgid "Split output sections every COUNT relocs"
msgstr ""
-#: lexsup.c:542
+#: lexsup.c:429
msgid "Print memory usage statistics"
msgstr ""
-#: lexsup.c:544
+#: lexsup.c:431
msgid "Display target specific options"
msgstr ""
-#: lexsup.c:546
+#: lexsup.c:433
msgid "Do task level linking"
msgstr ""
-#: lexsup.c:548
+#: lexsup.c:435
msgid "Use same format as native linker"
msgstr ""
-#: lexsup.c:550
+#: lexsup.c:437
msgid "SECTION=ADDRESS"
msgstr ""
-#: lexsup.c:550
+#: lexsup.c:437
msgid "Set address of named section"
msgstr ""
-#: lexsup.c:553
+#: lexsup.c:440
msgid "Set address of .bss section"
msgstr ""
-#: lexsup.c:555
+#: lexsup.c:442
msgid "Set address of .data section"
msgstr ""
-#: lexsup.c:557
+#: lexsup.c:444
msgid "Set address of .text section"
msgstr ""
-#: lexsup.c:559
+#: lexsup.c:446
msgid "Set address of text segment"
msgstr ""
-#: lexsup.c:562
+#: lexsup.c:448
+msgid "Set address of rodata segment"
+msgstr ""
+
+#: lexsup.c:450
+msgid "Set address of ldata segment"
+msgstr ""
+
+#: lexsup.c:453
msgid ""
"How to handle unresolved symbols. <method> is:\n"
" ignore-all, report-all, ignore-in-object-"
@@ -1890,113 +1920,117 @@ msgid ""
" ignore-in-shared-libs"
msgstr ""
-#: lexsup.c:567
+#: lexsup.c:458
msgid "[=NUMBER]"
msgstr ""
-#: lexsup.c:568
+#: lexsup.c:459
msgid "Output lots of information during link"
msgstr ""
-#: lexsup.c:572
+#: lexsup.c:463
msgid "Read version information script"
msgstr ""
-#: lexsup.c:575
+#: lexsup.c:466
msgid ""
"Take export symbols list from .exports, using\n"
" SYMBOL as the version."
msgstr ""
-#: lexsup.c:579
+#: lexsup.c:470
msgid "Add data symbols to dynamic list"
msgstr ""
-#: lexsup.c:581
+#: lexsup.c:472
msgid "Use C++ operator new/delete dynamic list"
msgstr ""
-#: lexsup.c:583
+#: lexsup.c:474
msgid "Use C++ typeinfo dynamic list"
msgstr ""
-#: lexsup.c:585
+#: lexsup.c:476
msgid "Read dynamic list"
msgstr ""
-#: lexsup.c:587
+#: lexsup.c:478
msgid "Warn about duplicate common symbols"
msgstr ""
-#: lexsup.c:589
+#: lexsup.c:480
msgid "Warn if global constructors/destructors are seen"
msgstr ""
-#: lexsup.c:592
+#: lexsup.c:483
msgid "Warn if the multiple GP values are used"
msgstr ""
-#: lexsup.c:594
+#: lexsup.c:485
msgid "Warn only once per undefined symbol"
msgstr ""
-#: lexsup.c:596
+#: lexsup.c:487
msgid "Warn if start of section changes due to alignment"
msgstr ""
-#: lexsup.c:599
+#: lexsup.c:490
msgid "Warn if shared object has DT_TEXTREL"
msgstr ""
-#: lexsup.c:602
+#: lexsup.c:493
msgid "Warn if an object has alternate ELF machine code"
msgstr ""
-#: lexsup.c:606
+#: lexsup.c:497
msgid "Report unresolved symbols as warnings"
msgstr ""
-#: lexsup.c:609
+#: lexsup.c:500
msgid "Report unresolved symbols as errors"
msgstr ""
-#: lexsup.c:611
+#: lexsup.c:502
msgid "Include all objects from following archives"
msgstr ""
-#: lexsup.c:614
+#: lexsup.c:505
msgid "Use wrapper functions for SYMBOL"
msgstr ""
-#: lexsup.c:763
+#: lexsup.c:509
+msgid "Unresolved SYMBOL will not cause an error or warning"
+msgstr ""
+
+#: lexsup.c:659
msgid "%P: unrecognized option '%s'\n"
msgstr ""
-#: lexsup.c:767
+#: lexsup.c:663
msgid "%P%F: use the --help option for usage information\n"
msgstr ""
-#: lexsup.c:785
+#: lexsup.c:681
msgid "%P%F: unrecognized -a option `%s'\n"
msgstr ""
-#: lexsup.c:798
+#: lexsup.c:694
msgid "%P%F: unrecognized -assert option `%s'\n"
msgstr ""
-#: lexsup.c:841
-msgid "%F%P: unknown demangling style `%s'"
+#: lexsup.c:735
+msgid "%F%P: unknown demangling style `%s'\n"
msgstr ""
-#: lexsup.c:907 lexsup.c:1341
+#: lexsup.c:801 lexsup.c:1239
msgid "%P%F: invalid number `%s'\n"
msgstr ""
-#: lexsup.c:1005
+#: lexsup.c:899
msgid "%P%F: bad --unresolved-symbols option: %s\n"
msgstr ""
-#: lexsup.c:1076
+#: lexsup.c:968
msgid "%P%F: bad -plugin-opt option\n"
msgstr ""
@@ -2008,112 +2042,112 @@ msgstr ""
#. an error message here. We cannot just make this a warning,
#. increment optind, and continue because getopt is too confused
#. and will seg-fault the next time around.
-#: lexsup.c:1093
+#: lexsup.c:985
msgid "%P%F: bad -rpath option\n"
msgstr ""
-#: lexsup.c:1207
+#: lexsup.c:1099
msgid "%P%F: -shared not supported\n"
msgstr ""
-#: lexsup.c:1216
+#: lexsup.c:1108
msgid "%P%F: -pie not supported\n"
msgstr ""
-#: lexsup.c:1224
+#: lexsup.c:1116
msgid "descending"
msgstr ""
-#: lexsup.c:1226
+#: lexsup.c:1118
msgid "ascending"
msgstr ""
-#: lexsup.c:1229
+#: lexsup.c:1121
msgid "%P%F: invalid common section sorting option: %s\n"
msgstr ""
-#: lexsup.c:1233
+#: lexsup.c:1125
msgid "name"
msgstr ""
-#: lexsup.c:1235
+#: lexsup.c:1127
msgid "alignment"
msgstr ""
-#: lexsup.c:1238
+#: lexsup.c:1130
msgid "%P%F: invalid section sorting option: %s\n"
msgstr ""
-#: lexsup.c:1272
+#: lexsup.c:1164
msgid "%P%F: invalid argument to option \"--section-start\"\n"
msgstr ""
-#: lexsup.c:1279
+#: lexsup.c:1171
msgid "%P%F: missing argument(s) to option \"--section-start\"\n"
msgstr ""
-#: lexsup.c:1513
+#: lexsup.c:1414
msgid "%P%F: group ended before it began (--help for usage)\n"
msgstr ""
-#: lexsup.c:1541
+#: lexsup.c:1442
msgid "%P%X: --hash-size needs a numeric argument\n"
msgstr ""
-#: lexsup.c:1572
+#: lexsup.c:1473
msgid "%P%F: -r and -shared may not be used together\n"
msgstr ""
-#: lexsup.c:1615
+#: lexsup.c:1516
msgid "%P%F: -F may not be used without -shared\n"
msgstr ""
-#: lexsup.c:1617
+#: lexsup.c:1518
msgid "%P%F: -f may not be used without -shared\n"
msgstr ""
-#: lexsup.c:1661 lexsup.c:1674
+#: lexsup.c:1562 lexsup.c:1575
msgid "%P%F: invalid hex number `%s'\n"
msgstr ""
-#: lexsup.c:1710
+#: lexsup.c:1611
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr ""
-#: lexsup.c:1712
+#: lexsup.c:1613
#, c-format
msgid "Options:\n"
msgstr ""
-#: lexsup.c:1790
+#: lexsup.c:1691
#, c-format
msgid " @FILE"
msgstr ""
-#: lexsup.c:1793
+#: lexsup.c:1694
#, c-format
msgid "Read options from FILE\n"
msgstr ""
#. Note: Various tools (such as libtool) depend upon the
#. format of the listings below - do not change them.
-#: lexsup.c:1798
+#: lexsup.c:1699
#, c-format
msgid "%s: supported targets:"
msgstr ""
-#: lexsup.c:1806
+#: lexsup.c:1707
#, c-format
msgid "%s: supported emulations: "
msgstr ""
-#: lexsup.c:1811
+#: lexsup.c:1712
#, c-format
msgid "%s: emulation specific options:\n"
msgstr ""
-#: lexsup.c:1816
+#: lexsup.c:1717
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
@@ -2122,122 +2156,130 @@ msgstr ""
msgid "%P%F: unknown format type %s\n"
msgstr ""
-#: pe-dll.c:431
+#: pe-dll.c:430
#, c-format
msgid "%XUnsupported PEI architecture: %s\n"
msgstr ""
-#: pe-dll.c:788
+#: pe-dll.c:799
#, c-format
msgid "%XCannot export %s: invalid export name\n"
msgstr ""
-#: pe-dll.c:845
+#: pe-dll.c:851
#, c-format
msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n"
msgstr ""
-#: pe-dll.c:852
+#: pe-dll.c:858
#, c-format
msgid "Warning, duplicate EXPORT: %s\n"
msgstr ""
-#: pe-dll.c:939
+#: pe-dll.c:961
#, c-format
msgid "%XCannot export %s: symbol not defined\n"
msgstr ""
-#: pe-dll.c:945
+#: pe-dll.c:967
#, c-format
msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n"
msgstr ""
-#: pe-dll.c:952
+#: pe-dll.c:974
#, c-format
msgid "%XCannot export %s: symbol not found\n"
msgstr ""
-#: pe-dll.c:1066
+#: pe-dll.c:1088
#, c-format
msgid "%XError, ordinal used twice: %d (%s vs %s)\n"
msgstr ""
-#: pe-dll.c:1456
+#: pe-dll.c:1478
#, c-format
msgid "%XError: %d-bit reloc in dll\n"
msgstr ""
-#: pe-dll.c:1584
+#: pe-dll.c:1606
#, c-format
msgid "%s: Can't open output def file %s\n"
msgstr ""
-#: pe-dll.c:1735
+#: pe-dll.c:1757
#, c-format
msgid "; no contents available\n"
msgstr ""
-#: pe-dll.c:2662
+#: pe-dll.c:2684
msgid ""
"%C: variable '%T' can't be auto-imported. Please read the documentation for "
"ld's --enable-auto-import for details.\n"
msgstr ""
-#: pe-dll.c:2692
+#: pe-dll.c:2714
#, c-format
msgid "%XCan't open .lib file: %s\n"
msgstr ""
-#: pe-dll.c:2697
+#: pe-dll.c:2720
#, c-format
msgid "Creating library file: %s\n"
msgstr ""
-#: pe-dll.c:2726
+#: pe-dll.c:2749
#, c-format
msgid "%Xbfd_openr %s: %E\n"
msgstr ""
-#: pe-dll.c:2738
+#: pe-dll.c:2761
#, c-format
msgid "%X%s(%s): can't find member in non-archive file"
msgstr ""
-#: pe-dll.c:2750
+#: pe-dll.c:2773
#, c-format
msgid "%X%s(%s): can't find member in archive"
msgstr ""
-#: pe-dll.c:3189
+#: pe-dll.c:3356
#, c-format
msgid "%XError: can't use long section names on this arch\n"
msgstr ""
-#: plugin.c:177 plugin.c:211
+#: plugin.c:185 plugin.c:218
msgid "<no plugin>"
msgstr ""
-#: plugin.c:250
+#: plugin.c:199 plugin.c:814
+msgid "%P%F: %s: error loading plugin: %s\n"
+msgstr ""
+
+#: plugin.c:257
#, c-format
msgid "could not create dummy IR bfd: %F%E\n"
msgstr ""
-#: plugin.c:343
+#: plugin.c:350
msgid "%P%F: %s: non-ELF symbol in ELF BFD!\n"
msgstr ""
-#: plugin.c:347
+#: plugin.c:354
msgid "%P%F: unknown ELF symbol visibility: %d!\n"
msgstr ""
-#: plugin.c:586
+#: plugin.c:591
msgid "%P: %B: symbol `%s' definition: %d, visibility: %d, resolution: %d\n"
msgstr ""
-#: plugin.c:863
+#: plugin.c:821
+msgid "%P%F: %s: plugin error: %d\n"
+msgstr ""
+
+#: plugin.c:871
msgid "%P%F: %s: plugin reported error claiming file\n"
msgstr ""
-#: plugin.c:934
-msgid "%P: %s: error in plugin cleanup (ignored)\n"
+#: plugin.c:936
+msgid "%P: %s: error in plugin cleanup: %d (ignored)\n"
msgstr ""
diff --git a/binutils-2.25/ld/scripttempl/DWARF.sc b/binutils-2.25/ld/scripttempl/DWARF.sc
index 89ff9192..75120a40 100644
--- a/binutils-2.25/ld/scripttempl/DWARF.sc
+++ b/binutils-2.25/ld/scripttempl/DWARF.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+#
cat <<EOF
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
diff --git a/binutils-2.25/ld/scripttempl/README b/binutils-2.25/ld/scripttempl/README
index e20f9314..3b5df9a7 100644
--- a/binutils-2.25/ld/scripttempl/README
+++ b/binutils-2.25/ld/scripttempl/README
@@ -3,7 +3,7 @@ genscripts.sh sets some shell variables, then sources
EMULATION.sc, to generate EMULATION.{x,xr,xu,xn,xbn} -- the script
files for default, -r, -Ur, -n, -N.
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2012-2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/binutils-2.25/ld/scripttempl/aix.sc b/binutils-2.25/ld/scripttempl/aix.sc
index adc5de6b..96518b69 100644
--- a/binutils-2.25/ld/scripttempl/aix.sc
+++ b/binutils-2.25/ld/scripttempl/aix.sc
@@ -2,8 +2,20 @@
# AIX always uses shared libraries. The section VMA appears to be
# unimportant. The native linker aligns the sections on boundaries
# specified by the -H option.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_ARCH(${ARCH})
${RELOCATING+${LIB_SEARCH_DIRS}}
${RELOCATING+ENTRY (__start)}
diff --git a/binutils-2.25/ld/scripttempl/alpha.sc b/binutils-2.25/ld/scripttempl/alpha.sc
index 99565b41..fee43d6c 100644
--- a/binutils-2.25/ld/scripttempl/alpha.sc
+++ b/binutils-2.25/ld/scripttempl/alpha.sc
@@ -2,6 +2,13 @@
# Ian Lance Taylor <ian@cygnus.com>.
# These variables may be overridden by the emulation file. The
# defaults are appropriate for an Alpha running OSF/1.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
test -z "$ENTRY" && ENTRY=__start
test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x120000000 + SIZEOF_HEADERS"
if test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then
@@ -10,6 +17,12 @@ else
test -z "$DATA_ADDR" && DATA_ADDR=0x140000000
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
diff --git a/binutils-2.25/ld/scripttempl/alphavms.sc b/binutils-2.25/ld/scripttempl/alphavms.sc
index 0a177117..56b76037 100644
--- a/binutils-2.25/ld/scripttempl/alphavms.sc
+++ b/binutils-2.25/ld/scripttempl/alphavms.sc
@@ -1,9 +1,21 @@
# Linker script for Alpha VMS systems.
# Tristan Gingold <gingold@adacore.com>.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
PAGESIZE=0x10000
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
diff --git a/binutils-2.25/ld/scripttempl/aout.sc b/binutils-2.25/ld/scripttempl/aout.sc
index 80dbb379..d30b71b3 100644
--- a/binutils-2.25/ld/scripttempl/aout.sc
+++ b/binutils-2.25/ld/scripttempl/aout.sc
@@ -1,8 +1,20 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+#
test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
test -z "${ALIGNMENT}" && ALIGNMENT="4"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/armaout.sc b/binutils-2.25/ld/scripttempl/armaout.sc
index 9bae887d..13a00226 100644
--- a/binutils-2.25/ld/scripttempl/armaout.sc
+++ b/binutils-2.25/ld/scripttempl/armaout.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+#
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/armbpabi.sc b/binutils-2.25/ld/scripttempl/armbpabi.sc
index a1bbc2b0..b910847c 100644
--- a/binutils-2.25/ld/scripttempl/armbpabi.sc
+++ b/binutils-2.25/ld/scripttempl/armbpabi.sc
@@ -2,6 +2,12 @@
# OS, where a separate postlinker will operated on the generated
# executable or shared object. See elf.sc for configuration variables
# that apply; only BPABI-specific variables will be noted here.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
test -z "$ENTRY" && ENTRY=_start
test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
@@ -129,7 +135,7 @@ SHLIB_TEXT_START_ADDR="SEGMENT_START(\"text\", ${SHLIB_TEXT_START_ADDR:-0})"
DATA_ADDR="SEGMENT_START(\"data\", ${DATA_ADDR-${DATA_SEGMENT_ALIGN}})"
SHLIB_DATA_ADDR="SEGMENT_START(\"data\", ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}})"
-# if this is for an embedded system, don't add SIZEOF_HEADERS.
+# If this is for an embedded system, don't add SIZEOF_HEADERS.
if [ -z "$EMBEDDED" ]; then
test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR} + SIZEOF_HEADERS"
SHLIB_BASE_ADDRESS="${SHLIB_TEXT_START_ADDR} + SIZEOF_HEADERS"
@@ -139,6 +145,12 @@ else
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${OUTPUT_ARCH})
diff --git a/binutils-2.25/ld/scripttempl/armcoff.sc b/binutils-2.25/ld/scripttempl/armcoff.sc
index ebc019a8..310a968c 100644
--- a/binutils-2.25/ld/scripttempl/armcoff.sc
+++ b/binutils-2.25/ld/scripttempl/armcoff.sc
@@ -1,5 +1,12 @@
# Linker script for ARM COFF.
# Based on i386coff.sc by Ian Taylor <ian@cygnus.com>.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
test -z "$ENTRY" && ENTRY=_start
if test -z "${DATA_ADDR}"; then
if test "$LD_FLAG" = "N" || test "$LD_FLAG" = "n"; then
@@ -19,6 +26,12 @@ DTOR='.dtor : {
}'
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}", "${LITTLE_OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
diff --git a/binutils-2.25/ld/scripttempl/avr.sc b/binutils-2.25/ld/scripttempl/avr.sc
index bfce5fe0..225eda54 100644
--- a/binutils-2.25/ld/scripttempl/avr.sc
+++ b/binutils-2.25/ld/scripttempl/avr.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}","${OUTPUT_FORMAT}","${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
@@ -163,13 +175,10 @@ SECTIONS
${RELOCATING+ _etext = . ; }
} ${RELOCATING+ > text}
- .data ${RELOCATING-0} : ${RELOCATING+AT (ADDR (.text) + SIZEOF (.text))}
+ .data ${RELOCATING-0} :
{
${RELOCATING+ PROVIDE (__data_start = .) ; }
- /* --gc-sections will delete empty .data. This leads to wrong start
- addresses for subsequent sections because -Tdata= from the command
- line will have no effect, see PR13697. Thus, keep .data */
- KEEP (*(.data))
+ *(.data)
${RELOCATING+ *(.data*)}
*(.rodata) /* We need to include .rodata here if gcc is used */
${RELOCATING+ *(.rodata*)} /* with -fdata-sections. */
@@ -177,9 +186,9 @@ SECTIONS
${RELOCATING+. = ALIGN(2);}
${RELOCATING+ _edata = . ; }
${RELOCATING+ PROVIDE (__data_end = .) ; }
- } ${RELOCATING+ > data}
+ } ${RELOCATING+ > data ${RELOCATING+AT> text}}
- .bss ${RELOCATING-0} :${RELOCATING+ AT (ADDR (.bss))}
+ .bss ${RELOCATING+ ADDR(.data) + SIZEOF (.data)} ${RELOCATING-0} :${RELOCATING+ AT (ADDR (.bss))}
{
${RELOCATING+ PROVIDE (__bss_start = .) ; }
*(.bss)
diff --git a/binutils-2.25/ld/scripttempl/avrtiny.sc b/binutils-2.25/ld/scripttempl/avrtiny.sc
new file mode 100644
index 00000000..ab7294b1
--- /dev/null
+++ b/binutils-2.25/ld/scripttempl/avrtiny.sc
@@ -0,0 +1,262 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
+cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
+OUTPUT_FORMAT("${OUTPUT_FORMAT}","${OUTPUT_FORMAT}","${OUTPUT_FORMAT}")
+OUTPUT_ARCH(${ARCH})
+
+MEMORY
+{
+ text (rx) : ORIGIN = $TEXT_ORIGIN, LENGTH = $TEXT_LENGTH
+ data (rw!x) : ORIGIN = $DATA_ORIGIN, LENGTH = $DATA_LENGTH
+
+ /* Provide offsets for config, lock and signature to match
+ production file format. Ignore offsets in datasheet. */
+
+ config (rw!x) : ORIGIN = 0x820000, LENGTH = 2
+ lock (rw!x) : ORIGIN = 0x830000, LENGTH = 2
+ signature (rw!x) : ORIGIN = 0x840000, LENGTH = 4
+}
+
+SECTIONS
+{
+ /* Read-only sections, merged into text segment: */
+ ${TEXT_DYNAMIC+${DYNAMIC}}
+ .hash ${RELOCATING-0} : { *(.hash) }
+ .dynsym ${RELOCATING-0} : { *(.dynsym) }
+ .dynstr ${RELOCATING-0} : { *(.dynstr) }
+ .gnu.version ${RELOCATING-0} : { *(.gnu.version) }
+ .gnu.version_d ${RELOCATING-0} : { *(.gnu.version_d) }
+ .gnu.version_r ${RELOCATING-0} : { *(.gnu.version_r) }
+
+ .rel.init ${RELOCATING-0} : { *(.rel.init) }
+ .rela.init ${RELOCATING-0} : { *(.rela.init) }
+ .rel.text ${RELOCATING-0} :
+ {
+ *(.rel.text)
+ ${RELOCATING+*(.rel.text.*)}
+ ${RELOCATING+*(.rel.gnu.linkonce.t*)}
+ }
+ .rela.text ${RELOCATING-0} :
+ {
+ *(.rela.text)
+ ${RELOCATING+*(.rela.text.*)}
+ ${RELOCATING+*(.rela.gnu.linkonce.t*)}
+ }
+ .rel.fini ${RELOCATING-0} : { *(.rel.fini) }
+ .rela.fini ${RELOCATING-0} : { *(.rela.fini) }
+ .rel.rodata ${RELOCATING-0} :
+ {
+ *(.rel.rodata)
+ ${RELOCATING+*(.rel.rodata.*)}
+ ${RELOCATING+*(.rel.gnu.linkonce.r*)}
+ }
+ .rela.rodata ${RELOCATING-0} :
+ {
+ *(.rela.rodata)
+ ${RELOCATING+*(.rela.rodata.*)}
+ ${RELOCATING+*(.rela.gnu.linkonce.r*)}
+ }
+ .rel.data ${RELOCATING-0} :
+ {
+ *(.rel.data)
+ ${RELOCATING+*(.rel.data.*)}
+ ${RELOCATING+*(.rel.gnu.linkonce.d*)}
+ }
+ .rela.data ${RELOCATING-0} :
+ {
+ *(.rela.data)
+ ${RELOCATING+*(.rela.data.*)}
+ ${RELOCATING+*(.rela.gnu.linkonce.d*)}
+ }
+ .rel.ctors ${RELOCATING-0} : { *(.rel.ctors) }
+ .rela.ctors ${RELOCATING-0} : { *(.rela.ctors) }
+ .rel.dtors ${RELOCATING-0} : { *(.rel.dtors) }
+ .rela.dtors ${RELOCATING-0} : { *(.rela.dtors) }
+ .rel.got ${RELOCATING-0} : { *(.rel.got) }
+ .rela.got ${RELOCATING-0} : { *(.rela.got) }
+ .rel.bss ${RELOCATING-0} : { *(.rel.bss) }
+ .rela.bss ${RELOCATING-0} : { *(.rela.bss) }
+ .rel.plt ${RELOCATING-0} : { *(.rel.plt) }
+ .rela.plt ${RELOCATING-0} : { *(.rela.plt) }
+
+ /* Internal text space or external memory. */
+ .text ${RELOCATING-0} : ${RELOCATING+ AT (0x0)}
+ {
+ *(.vectors)
+ KEEP(*(.vectors))
+
+ /* For data that needs to reside in the lower 64k of progmem. */
+ *(.progmem.gcc*)
+ *(.progmem*)
+ ${RELOCATING+. = ALIGN(2);}
+
+ ${CONSTRUCTING+ __trampolines_start = . ; }
+ /* The jump trampolines for the 16-bit limited relocs will reside here. */
+ *(.trampolines)
+ *(.trampolines*)
+ ${CONSTRUCTING+ __trampolines_end = . ; }
+
+ /* For future tablejump instruction arrays for 3 byte pc devices.
+ We don't relax jump/call instructions within these sections. */
+ *(.jumptables)
+ *(.jumptables*)
+
+ /* For code that needs to reside in the lower 128k progmem. */
+ *(.lowtext)
+ *(.lowtext*)
+
+ ${CONSTRUCTING+ __ctors_start = . ; }
+ ${CONSTRUCTING+ *(.ctors) }
+ ${CONSTRUCTING+ __ctors_end = . ; }
+ ${CONSTRUCTING+ __dtors_start = . ; }
+ ${CONSTRUCTING+ *(.dtors) }
+ ${CONSTRUCTING+ __dtors_end = . ; }
+ KEEP(SORT(*)(.ctors))
+ KEEP(SORT(*)(.dtors))
+
+ /* From this point on, we don't bother about wether the insns are
+ below or above the 16 bits boundary. */
+ *(.init0) /* Start here after reset. */
+ KEEP (*(.init0))
+ *(.init1)
+ KEEP (*(.init1))
+ *(.init2) /* Clear __zero_reg__, set up stack pointer. */
+ KEEP (*(.init2))
+ *(.init3)
+ KEEP (*(.init3))
+ *(.init4) /* Initialize data and BSS. */
+ KEEP (*(.init4))
+ *(.init5)
+ KEEP (*(.init5))
+ *(.init6) /* C++ constructors. */
+ KEEP (*(.init6))
+ *(.init7)
+ KEEP (*(.init7))
+ *(.init8)
+ KEEP (*(.init8))
+ *(.init9) /* Call main(). */
+ KEEP (*(.init9))
+ *(.text)
+ ${RELOCATING+. = ALIGN(2);}
+ *(.text.*)
+ ${RELOCATING+. = ALIGN(2);}
+ *(.fini9) /* _exit() starts here. */
+ KEEP (*(.fini9))
+ *(.fini8)
+ KEEP (*(.fini8))
+ *(.fini7)
+ KEEP (*(.fini7))
+ *(.fini6) /* C++ destructors. */
+ KEEP (*(.fini6))
+ *(.fini5)
+ KEEP (*(.fini5))
+ *(.fini4)
+ KEEP (*(.fini4))
+ *(.fini3)
+ KEEP (*(.fini3))
+ *(.fini2)
+ KEEP (*(.fini2))
+ *(.fini1)
+ KEEP (*(.fini1))
+ *(.fini0) /* Infinite loop after program termination. */
+ KEEP (*(.fini0))
+ ${RELOCATING+ _etext = . ; }
+ } ${RELOCATING+ > text}
+
+ .data ${RELOCATING-0} : ${RELOCATING+AT (ADDR (.text) + SIZEOF (.text))}
+ {
+ ${RELOCATING+ PROVIDE (__data_start = .) ; }
+ *(.data)
+ KEEP (*(.data))
+ *(.data*)
+ *(.rodata) /* We need to include .rodata here if gcc is used */
+ *(.rodata*) /* with -fdata-sections. */
+ *(.gnu.linkonce.d*)
+ ${RELOCATING+. = ALIGN(2);}
+ ${RELOCATING+ _edata = . ; }
+ ${RELOCATING+ PROVIDE (__data_end = .) ; }
+ } ${RELOCATING+ > data}
+
+ .bss ${RELOCATING-0} :${RELOCATING+ AT (ADDR (.bss))}
+ {
+ ${RELOCATING+ PROVIDE (__bss_start = .) ; }
+ *(.bss)
+ *(.bss*)
+ *(COMMON)
+ ${RELOCATING+ PROVIDE (__bss_end = .) ; }
+ } ${RELOCATING+ > data}
+
+ ${RELOCATING+ __data_load_start = LOADADDR(.data); }
+ ${RELOCATING+ __data_load_end = __data_load_start + SIZEOF(.data); }
+
+ /* Global data not cleared after reset. */
+ .noinit ${RELOCATING-0}:
+ {
+ ${RELOCATING+ PROVIDE (__noinit_start = .) ; }
+ *(.noinit*)
+ ${RELOCATING+ PROVIDE (__noinit_end = .) ; }
+ ${RELOCATING+ _end = . ; }
+ ${RELOCATING+ PROVIDE (__heap_start = .) ; }
+ } ${RELOCATING+ > data}
+
+ .lock ${RELOCATING-0}:
+ {
+ KEEP(*(.lock*))
+ } ${RELOCATING+ > lock}
+
+ .signature ${RELOCATING-0}:
+ {
+ KEEP(*(.signature*))
+ } ${RELOCATING+ > signature}
+
+ .config ${RELOCATING-0}:
+ {
+ KEEP(*(.config*))
+ } ${RELOCATING+ > config}
+
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+
+ /* DWARF debug sections.
+ Symbols in the DWARF debugging sections are relative to the beginning
+ of the section so we begin them at 0. */
+
+ /* DWARF 1 */
+ .debug 0 : { *(.debug) }
+ .line 0 : { *(.line) }
+
+ /* GNU DWARF 1 extensions */
+ .debug_srcinfo 0 : { *(.debug_srcinfo) }
+ .debug_sfnames 0 : { *(.debug_sfnames) }
+
+ /* DWARF 1.1 and DWARF 2 */
+ .debug_aranges 0 : { *(.debug_aranges) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+
+ /* DWARF 2 */
+ .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
+ .debug_abbrev 0 : { *(.debug_abbrev) }
+ .debug_line 0 : { *(.debug_line) }
+ .debug_frame 0 : { *(.debug_frame) }
+ .debug_str 0 : { *(.debug_str) }
+ .debug_loc 0 : { *(.debug_loc) }
+ .debug_macinfo 0 : { *(.debug_macinfo) }
+}
+EOF
+
diff --git a/binutils-2.25/ld/scripttempl/crisaout.sc b/binutils-2.25/ld/scripttempl/crisaout.sc
index c58f56d8..e9a95155 100644
--- a/binutils-2.25/ld/scripttempl/crisaout.sc
+++ b/binutils-2.25/ld/scripttempl/crisaout.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("a.out-cris")
OUTPUT_ARCH(cris)
${RELOCATING+ENTRY (__start)}
diff --git a/binutils-2.25/ld/scripttempl/delta68.sc b/binutils-2.25/ld/scripttempl/delta68.sc
index fb196f3b..ea56e0fc 100644
--- a/binutils-2.25/ld/scripttempl/delta68.sc
+++ b/binutils-2.25/ld/scripttempl/delta68.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
${RELOCATING+ENTRY (_start)}
diff --git a/binutils-2.25/ld/scripttempl/dlx.sc b/binutils-2.25/ld/scripttempl/dlx.sc
index b222b335..71d6d5ac 100644
--- a/binutils-2.25/ld/scripttempl/dlx.sc
+++ b/binutils-2.25/ld/scripttempl/dlx.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/elf.sc b/binutils-2.25/ld/scripttempl/elf.sc
index 9a296224..4368fd95 100644
--- a/binutils-2.25/ld/scripttempl/elf.sc
+++ b/binutils-2.25/ld/scripttempl/elf.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - four byte opcode for no-op (defaults to none)
@@ -122,12 +127,7 @@ DATA_SEGMENT_ALIGN="ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))"
DATA_SEGMENT_RELRO_END=""
DATA_SEGMENT_END=""
if test -n "${COMMONPAGESIZE}"; then
- if [ "$ELFSIZE" = "64" ]; then
- DATA_SEGMENT_ALIGN="ALIGN (${SEGMENT_SIZE}) - ((${MAXPAGESIZE} - .) & (${MAXPAGESIZE} - 1)); . = DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE})"
- else
- # For 32, we align at exactly a page boundary.
- DATA_SEGMENT_ALIGN="ALIGN (${SEGMENT_SIZE}); . = DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE})"
- fi
+ DATA_SEGMENT_ALIGN="ALIGN (${SEGMENT_SIZE}) - ((${MAXPAGESIZE} - .) & (${MAXPAGESIZE} - 1)); . = DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE})"
DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);"
DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);"
fi
@@ -165,7 +165,7 @@ RELA_IPLT=".rela.iplt ${RELOCATING-0} :
DYNAMIC=".dynamic ${RELOCATING-0} : { *(.dynamic) }"
RODATA=".${RODATA_NAME} ${RELOCATING-0} : { *(.${RODATA_NAME}${RELOCATING+ .${RODATA_NAME}.* .gnu.linkonce.r.*}) }"
DATARELRO=".data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }"
-DISCARDED="/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) *(.mdebug.*) }"
+DISCARDED="/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }"
if test -z "${NO_SMALL_DATA}"; then
SBSS=".${SBSS_NAME} ${RELOCATING-0} :
{
@@ -240,8 +240,8 @@ test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
if test "${ENABLE_INITFINI_ARRAY}" = "yes"; then
SORT_INIT_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))"
- CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin*.o *crtend.o *crtend*.o $OTHER_EXCLUDE_FILES) .ctors"
- DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin*.o *crtend.o *crtend*.o $OTHER_EXCLUDE_FILES) .dtors"
+ CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors"
+ DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors"
else
SORT_INIT_ARRAY="KEEP (*(SORT(.init_array.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT(.fini_array.*)))"
@@ -250,15 +250,17 @@ else
fi
INIT_ARRAY=".init_array ${RELOCATING-0} :
{
- KEEP (*crtbegin*.o(.init_array))
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_start = .);}}
${SORT_INIT_ARRAY}
KEEP (*(.init_array ${CTORS_IN_INIT_ARRAY}))
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_end = .);}}
}"
FINI_ARRAY=".fini_array ${RELOCATING-0} :
{
- KEEP (*crtbegin*.o(.fini_array))
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
${SORT_FINI_ARRAY}
KEEP (*(.fini_array ${DTORS_IN_FINI_ARRAY}))
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
}"
CTOR=".ctors ${CONSTRUCTING-0} :
{
@@ -274,14 +276,14 @@ CTOR=".ctors ${CONSTRUCTING-0} :
is in. */
KEEP (*crtbegin.o(.ctors))
- KEEP (*crtbegin*.o(.ctors))
+ KEEP (*crtbegin?.o(.ctors))
/* We don't want to include the .ctor section from
the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
+ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
${CONSTRUCTING+${CTOR_END}}
@@ -290,8 +292,8 @@ DTOR=".dtors ${CONSTRUCTING-0} :
{
${CONSTRUCTING+${DTOR_START}}
KEEP (*crtbegin.o(.dtors))
- KEEP (*crtbegin*.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
+ KEEP (*crtbegin?.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
${CONSTRUCTING+${DTOR_END}}
@@ -302,11 +304,8 @@ STACK=" .stack ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} :
*(.stack)
}"
-# For Android, remove SEGMENT_START.
-#TEXT_START_ADDR="SEGMENT_START(\"text-segment\", ${TEXT_START_ADDR})"
-#SHLIB_TEXT_START_ADDR="SEGMENT_START(\"text-segment\", ${SHLIB_TEXT_START_ADDR:-0})"
-TEXT_START_ADDR="${TEXT_START_ADDR}"
-SHLIB_TEXT_START_ADDR="0"
+TEXT_START_ADDR="SEGMENT_START(\"text-segment\", ${TEXT_START_ADDR})"
+SHLIB_TEXT_START_ADDR="SEGMENT_START(\"text-segment\", ${SHLIB_TEXT_START_ADDR:-0})"
if [ -z "$SEPARATE_CODE" ]; then
SIZEOF_HEADERS_CODE=" + SIZEOF_HEADERS"
@@ -314,7 +313,7 @@ else
SIZEOF_HEADERS_CODE=
fi
-# if this is for an embedded system, don't add SIZEOF_HEADERS.
+# If this is for an embedded system, don't add SIZEOF_HEADERS.
if [ -z "$EMBEDDED" ]; then
test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR}${SIZEOF_HEADERS_CODE}"
else
@@ -322,6 +321,12 @@ else
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${OUTPUT_ARCH})
@@ -416,13 +421,13 @@ cat >> ldscripts/dyntmp.$$ <<EOF
.rel.dyn ${RELOCATING-0} :
{
EOF
-sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rela\./d;s/^.*: { *\(.*\)}$/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$
+sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rela\./d;/__rela_iplt_/d;s/^.*: { *\(.*\)}$/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$
cat >> ldscripts/dyntmp.$$ <<EOF
}
.rela.dyn ${RELOCATING-0} :
{
EOF
-sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rel\./d;s/^.*: { *\(.*\)}/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$
+sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rel\./d;/__rel_iplt_/d;s/^.*: { *\(.*\)}/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$
cat >> ldscripts/dyntmp.$$ <<EOF
}
EOF
@@ -452,10 +457,10 @@ emit_dyn()
cat ldscripts/dyntmp.$$
else
if test -z "${NO_REL_RELOCS}"; then
- sed -e '/^[ ]*\.rela\.[^}]*$/,/}/d' -e '/^[ ]*\.rela\./d' ldscripts/dyntmp.$$
+ sed -e '/^[ ]*\.rela\.[^}]*$/,/}/d;/^[ ]*\.rela\./d;/__rela_iplt_/d' ldscripts/dyntmp.$$
fi
if test -z "${NO_RELA_RELOCS}"; then
- sed -e '/^[ ]*\.rel\.[^}]*$/,/}/d' -e '/^[ ]*\.rel\./d' ldscripts/dyntmp.$$
+ sed -e '/^[ ]*\.rel\.[^}]*$/,/}/d;/^[ ]*\.rel\./d;/__rel_iplt_/d' ldscripts/dyntmp.$$
fi
fi
rm -f ldscripts/dyntmp.$$
@@ -537,8 +542,8 @@ cat <<EOF
.exception_ranges*) }
${TEXT_PLT+${PLT_NEXT_DATA+${PLT}}}
- /* Adjust the address for the data segment. For 32 bits we want to align
- at exactly a page boundary to make life easier for apriori. */
+ /* Adjust the address for the data segment. We want to adjust up to
+ the same address within the page on the next page up. */
${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+. = ${DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}}
${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
${CREATE_PIE+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
@@ -552,23 +557,14 @@ cat <<EOF
.tdata ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
.tbss ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
- /* Ensure the __preinit_array_start label is properly aligned. We
- could instead move the label definition inside the section, but
- the linker would then create the section even if it turns out to
- be empty, which isn't pretty. */
- ${RELOCATING+. = ALIGN(${ALIGNMENT});}
- ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_start = .);}}
.preinit_array ${RELOCATING-0} :
{
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_start = .);}}
KEEP (*(.preinit_array))
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_end = .);}}
}
- ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_end = .);}}
- ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_start = .);}}
${RELOCATING+${INIT_ARRAY}}
- ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_end = .);}}
- ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
${RELOCATING+${FINI_ARRAY}}
- ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}}
${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}}
.jcr ${RELOCATING-0} : { KEEP (*(.jcr)) }
@@ -616,8 +612,10 @@ cat <<EOF
*(COMMON)
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
- .bss section disappears because there are no input sections. */
- ${RELOCATING+. = ALIGN(${ALIGNMENT});}
+ .bss section disappears because there are no input sections.
+ FIXME: Why do we need it? When there is no .bss section, we don't
+ pad the .data section. */
+ ${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
}
${OTHER_BSS_SECTIONS}
${LARGE_BSS_AFTER_BSS+${LARGE_BSS}}
@@ -636,9 +634,7 @@ SHLIB_LARGE_DATA_ADDR=". = SEGMENT_START(\"ldata-segment\", ${SHLIB_LARGE_DATA_A
${LARGE_BSS_AFTER_BSS-${LARGE_BSS}}
${RELOCATING+. = ALIGN(${ALIGNMENT});}
${RELOCATING+${OTHER_END_SYMBOLS}}
- ${RELOCATING+${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .;
- _bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
- PROVIDE (${USER_LABEL_PREFIX}end = .);}}
+ ${RELOCATING+${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .; PROVIDE (${USER_LABEL_PREFIX}end = .);}}
${RELOCATING+${DATA_SEGMENT_END}}
EOF
diff --git a/binutils-2.25/ld/scripttempl/elf32cr16.sc b/binutils-2.25/ld/scripttempl/elf32cr16.sc
index 0b0bb9c1..90423276 100644
--- a/binutils-2.25/ld/scripttempl/elf32cr16.sc
+++ b/binutils-2.25/ld/scripttempl/elf32cr16.sc
@@ -1,4 +1,10 @@
# Linker Script for National Semiconductor's CR16-ELF32.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
# The next line should be uncommented if it is desired to link
# without libstart.o and directly enter main.
@@ -8,7 +14,12 @@
test -z "$ENTRY" && ENTRY=_start
cat <<EOF
-/* Example Linker Script for linking NS CR16 elf32 files. */
+/* Example Linker Script for linking NS CR16 elf32 files.
+ Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/elf32cr16c.sc b/binutils-2.25/ld/scripttempl/elf32cr16c.sc
index 84fc61c6..de98287e 100644
--- a/binutils-2.25/ld/scripttempl/elf32cr16c.sc
+++ b/binutils-2.25/ld/scripttempl/elf32cr16c.sc
@@ -1,11 +1,24 @@
# Linker Script for National Semiconductor's CR16C-ELF32.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
test -z "$ENTRY" && ENTRY=_start
cat <<EOF
/* Example Linker Script for linking NS CR16C or CR16CPlus
elf32 files, which were compiled with either the near data
- model or the default data model. */
+ model or the default data model.
+
+ Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
${RELOCATING+ENTRY(${ENTRY})}
diff --git a/binutils-2.25/ld/scripttempl/elf32crx.sc b/binutils-2.25/ld/scripttempl/elf32crx.sc
index 02c6fb43..93facc20 100644
--- a/binutils-2.25/ld/scripttempl/elf32crx.sc
+++ b/binutils-2.25/ld/scripttempl/elf32crx.sc
@@ -1,4 +1,10 @@
# Linker Script for National Semiconductor's CRX-ELF32.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
# The next line should be uncommented if it is desired to link
# without libstart.o and directly enter main.
@@ -8,7 +14,14 @@
test -z "$ENTRY" && ENTRY=_start
cat <<EOF
-/* Example Linker Script for linking NS CRX elf32 files. */
+/* Example Linker Script for linking NS CRX elf32 files.
+
+ Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/elf32msp430.sc b/binutils-2.25/ld/scripttempl/elf32msp430.sc
index c699a916..1a3923f8 100644
--- a/binutils-2.25/ld/scripttempl/elf32msp430.sc
+++ b/binutils-2.25/ld/scripttempl/elf32msp430.sc
@@ -1,4 +1,8 @@
-#!/bin/sh
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
HEAP_SECTION_MSP430=" "
HEAP_MEMORY_MSP430=" "
@@ -19,6 +23,12 @@ fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}","${OUTPUT_FORMAT}","${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
@@ -222,8 +232,8 @@ SECTIONS
${RELOCATING+ _vectors_end = . ; }
} ${RELOCATING+ > vectors}
- .data ${RELOCATING-0} : ${RELOCATING+AT (ADDR (.text) + SIZEOF (.text) + SIZEOF (.rodata))}
- {
+ .data ${RELOCATING-0} :
+ {
${RELOCATING+ PROVIDE (__data_start = .) ; }
${RELOCATING+ PROVIDE (__datastart = .) ; }
${RELOCATING+. = ALIGN(2);}
@@ -242,7 +252,7 @@ SECTIONS
*(.sdata .sdata.* .gnu.linkonce.s.*)
${RELOCATING+. = ALIGN(2);}
${RELOCATING+ _edata = . ; }
- } ${RELOCATING+ > data}
+ } ${RELOCATING+ > data ${RELOCATING+AT> text}}
.bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
{
diff --git a/binutils-2.25/ld/scripttempl/elf32msp430_3.sc b/binutils-2.25/ld/scripttempl/elf32msp430_3.sc
index ade5fcb0..ec259c90 100644
--- a/binutils-2.25/ld/scripttempl/elf32msp430_3.sc
+++ b/binutils-2.25/ld/scripttempl/elf32msp430_3.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}","${OUTPUT_FORMAT}","${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
@@ -124,7 +136,7 @@ SECTIONS
*(.const:*)
} ${RELOCATING+ > text}
- .data ${RELOCATING-0} : ${RELOCATING+AT (ADDR (.text) + SIZEOF (.text))}
+ .data ${RELOCATING-0} :
{
${RELOCATING+ PROVIDE (__data_start = .) ; }
${RELOCATING+. = ALIGN(2);}
@@ -133,7 +145,7 @@ SECTIONS
*(.gnu.linkonce.d*)
${RELOCATING+. = ALIGN(2);}
${RELOCATING+ _edata = . ; }
- } ${RELOCATING+ > data}
+ } ${RELOCATING+ > data ${RELOCATING+AT> text}}
.bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
{
diff --git a/binutils-2.25/ld/scripttempl/elf32sh-symbian.sc b/binutils-2.25/ld/scripttempl/elf32sh-symbian.sc
index 680028f6..8e66e699 100644
--- a/binutils-2.25/ld/scripttempl/elf32sh-symbian.sc
+++ b/binutils-2.25/ld/scripttempl/elf32sh-symbian.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - four byte opcode for no-op (defaults to 0)
@@ -141,7 +146,7 @@ STACK=" .stack ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} :
*(.stack)
} :data"
-# if this is for an embedded system, don't add SIZEOF_HEADERS.
+# If this is for an embedded system, don't add SIZEOF_HEADERS.
if [ -z "$EMBEDDED" ]; then
test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR} + SIZEOF_HEADERS"
else
@@ -149,6 +154,12 @@ else
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${OUTPUT_ARCH})
diff --git a/binutils-2.25/ld/scripttempl/elf32xc16x.sc b/binutils-2.25/ld/scripttempl/elf32xc16x.sc
index cb72508c..ba45d494 100644
--- a/binutils-2.25/ld/scripttempl/elf32xc16x.sc
+++ b/binutils-2.25/ld/scripttempl/elf32xc16x.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
${RELOCATING+ENTRY ("_start")}
diff --git a/binutils-2.25/ld/scripttempl/elf32xc16xl.sc b/binutils-2.25/ld/scripttempl/elf32xc16xl.sc
index 3565ecec..ec66ba59 100644
--- a/binutils-2.25/ld/scripttempl/elf32xc16xl.sc
+++ b/binutils-2.25/ld/scripttempl/elf32xc16xl.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
${RELOCATING+ENTRY ("_start")}
diff --git a/binutils-2.25/ld/scripttempl/elf32xc16xs.sc b/binutils-2.25/ld/scripttempl/elf32xc16xs.sc
index 3565ecec..9265364c 100644
--- a/binutils-2.25/ld/scripttempl/elf32xc16xs.sc
+++ b/binutils-2.25/ld/scripttempl/elf32xc16xs.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
${RELOCATING+ENTRY ("_start")}
@@ -53,12 +65,9 @@ SECTIONS
*(.ldata)
} ${RELOCATING+ > ldata}
-
.vects :
{
*(.vects)
} ${RELOCATING+ > vectarea}
-
-
}
EOF
diff --git a/binutils-2.25/ld/scripttempl/elf64hppa.sc b/binutils-2.25/ld/scripttempl/elf64hppa.sc
index d529f8d3..59bcb057 100644
--- a/binutils-2.25/ld/scripttempl/elf64hppa.sc
+++ b/binutils-2.25/ld/scripttempl/elf64hppa.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - four byte opcode for no-op (defaults to 0)
@@ -259,7 +264,7 @@ STACK=" .stack ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} :
TEXT_START_ADDR="SEGMENT_START(\"text-segment\", ${TEXT_START_ADDR})"
SHLIB_TEXT_START_ADDR="SEGMENT_START(\"text-segment\", ${SHLIB_TEXT_START_ADDR:-0})"
-# if this is for an embedded system, don't add SIZEOF_HEADERS.
+# If this is for an embedded system, don't add SIZEOF_HEADERS.
if [ -z "$EMBEDDED" ]; then
test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR} + SIZEOF_HEADERS"
else
@@ -267,6 +272,12 @@ else
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${OUTPUT_ARCH})
diff --git a/binutils-2.25/ld/scripttempl/elf_chaos.sc b/binutils-2.25/ld/scripttempl/elf_chaos.sc
index 621352f8..2f005a99 100644
--- a/binutils-2.25/ld/scripttempl/elf_chaos.sc
+++ b/binutils-2.25/ld/scripttempl/elf_chaos.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - four byte opcode for no-op (defaults to 0)
@@ -148,6 +153,12 @@ STACK=" .stack ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} :
test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR}"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${OUTPUT_ARCH})
diff --git a/binutils-2.25/ld/scripttempl/elfd10v.sc b/binutils-2.25/ld/scripttempl/elfd10v.sc
index 81143b55..f5b3c510 100644
--- a/binutils-2.25/ld/scripttempl/elfd10v.sc
+++ b/binutils-2.25/ld/scripttempl/elfd10v.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
test -z "$ENTRY" && ENTRY=_start
test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
@@ -55,6 +61,12 @@ else
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${OUTPUT_ARCH})
diff --git a/binutils-2.25/ld/scripttempl/elfd30v.sc b/binutils-2.25/ld/scripttempl/elfd30v.sc
index 1038290c..93ad3a42 100644
--- a/binutils-2.25/ld/scripttempl/elfd30v.sc
+++ b/binutils-2.25/ld/scripttempl/elfd30v.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
CTOR=".ctors ${CONSTRUCTING-0} :
{
@@ -38,6 +43,12 @@ DTOR=" .dtors ${CONSTRUCTING-0} :
} ${RELOCATING+ > ${DATA_MEMORY}}"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/elfi370.sc b/binutils-2.25/ld/scripttempl/elfi370.sc
index 900ee09d..b59a8816 100644
--- a/binutils-2.25/ld/scripttempl/elfi370.sc
+++ b/binutils-2.25/ld/scripttempl/elfi370.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# This is just a raw copy of elfppc.sc and has not been otherwise modified
#
@@ -21,7 +26,7 @@
#
# When adding sections, do note that the names of some sections are used
# when specifying the start address of the next.
-#
+
test -z "$ENTRY" && ENTRY=_start
test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
@@ -31,7 +36,14 @@ SBSS2=".sbss2 ${RELOCATING-0} : { *(.sbss2) }"
SDATA2=".sdata2 ${RELOCATING-0} : { *(.sdata2) }"
INTERP=".interp ${RELOCATING-0} : { *(.interp) }"
PLT=".plt ${RELOCATING-0} : { *(.plt) }"
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/elfm68hc11.sc b/binutils-2.25/ld/scripttempl/elfm68hc11.sc
index e839227d..49d77994 100644
--- a/binutils-2.25/ld/scripttempl/elfm68hc11.sc
+++ b/binutils-2.25/ld/scripttempl/elfm68hc11.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - four byte opcode for no-op (defaults to 0)
@@ -17,7 +22,7 @@
#
# When adding sections, do note that the names of some sections are used
# when specifying the start address of the next.
-#
+
test -z "$ENTRY" && ENTRY=_start
test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
@@ -158,6 +163,12 @@ SOFT_REGS_RELOC="
"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
${RELOCATING+/* Linker script for 68HC11 executable (PROM). */}
${RELOCATING-/* Linker script for 68HC11 object file (ld -r). */}
diff --git a/binutils-2.25/ld/scripttempl/elfm68hc12.sc b/binutils-2.25/ld/scripttempl/elfm68hc12.sc
index a7374813..ae6e6803 100644
--- a/binutils-2.25/ld/scripttempl/elfm68hc12.sc
+++ b/binutils-2.25/ld/scripttempl/elfm68hc12.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - four byte opcode for no-op (defaults to 0)
@@ -158,6 +163,12 @@ SOFT_REGS_RELOC="
"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
${RELOCATING+/* Linker script for 68HC12 executable (PROM). */}
${RELOCATING-/* Linker script for 68HC12 object file (ld -r). */}
diff --git a/binutils-2.25/ld/scripttempl/elfmicroblaze.sc b/binutils-2.25/ld/scripttempl/elfmicroblaze.sc
index a54b8919..f8fcc61e 100644
--- a/binutils-2.25/ld/scripttempl/elfmicroblaze.sc
+++ b/binutils-2.25/ld/scripttempl/elfmicroblaze.sc
@@ -1,6 +1,14 @@
# Adapted from mips.sc
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+#
# These variables may be overridden by the emulation file. The
# defaults are appropriate for a DECstation running Ultrix.
+
test -z "$ENTRY" && ENTRY=_start
#test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x0"
@@ -42,6 +50,12 @@ DTOR=" .dtors ${CONSTRUCTING-0} :
}"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
/*${LIB_SEARCH_DIRS}*/
@@ -183,7 +197,7 @@ SECTIONS
${RELOCATING+*(.bss.*)}
${RELOCATING+*(.gnu.linkonce.b.*)}
${RELOCATING+*(COMMON)}
- ${RELOCATING+. = ALIGN(4);}
+ ${RELOCATING+. = ALIGN(. != 0 ? 4 : 1);}
${RELOCATING+PROVIDE (__bss_end = .);}
@@ -203,7 +217,7 @@ SECTIONS
.stack : {
${RELOCATING+ _stack_end = .;}
${RELOCATING+ . += _STACK_SIZE;}
- ${RELOCATING+ . = ALIGN(8);}
+ ${RELOCATING+ . = ALIGN(. != 0 ? 8 : 1);}
${RELOCATING+ _stack = .;}
${RELOCATING+ _end = .;}
}
diff --git a/binutils-2.25/ld/scripttempl/elfxgate.sc b/binutils-2.25/ld/scripttempl/elfxgate.sc
index d61b9dda..78df7335 100644
--- a/binutils-2.25/ld/scripttempl/elfxgate.sc
+++ b/binutils-2.25/ld/scripttempl/elfxgate.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - four byte opcode for no-op (defaults to 0)
@@ -161,6 +166,12 @@ cat <<EOF
${RELOCATING+/* Linker script for 68HC12 executable (PROM). */}
${RELOCATING-/* Linker script for 68HC12 object file (ld -r). */}
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${OUTPUT_ARCH})
diff --git a/binutils-2.25/ld/scripttempl/elfxtensa.sc b/binutils-2.25/ld/scripttempl/elfxtensa.sc
index b51fe6ad..5c577ce2 100644
--- a/binutils-2.25/ld/scripttempl/elfxtensa.sc
+++ b/binutils-2.25/ld/scripttempl/elfxtensa.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - four byte opcode for no-op (defaults to 0)
@@ -273,7 +278,7 @@ STACK=" .stack ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} :
*(.stack)
}"
-# if this is for an embedded system, don't add SIZEOF_HEADERS.
+# If this is for an embedded system, don't add SIZEOF_HEADERS.
if [ -z "$EMBEDDED" ]; then
test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR} + SIZEOF_HEADERS"
else
@@ -281,6 +286,12 @@ else
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
${RELOCATING+ENTRY(${ENTRY})}
${RELOCATING+${LIB_SEARCH_DIRS}}
diff --git a/binutils-2.25/ld/scripttempl/epiphany_4x4.sc b/binutils-2.25/ld/scripttempl/epiphany_4x4.sc
index b577ef8a..fcfa9938 100644
--- a/binutils-2.25/ld/scripttempl/epiphany_4x4.sc
+++ b/binutils-2.25/ld/scripttempl/epiphany_4x4.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - four byte opcode for no-op (defaults to 0)
@@ -243,7 +248,7 @@ STACK=" .stack ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} :
*(.stack)
}"
-# if this is for an embedded system, don't add SIZEOF_HEADERS.
+# If this is for an embedded system, don't add SIZEOF_HEADERS.
if [ -z "$EMBEDDED" ]; then
test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR} + SIZEOF_HEADERS"
else
@@ -251,6 +256,11 @@ else
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
diff --git a/binutils-2.25/ld/scripttempl/epocpe.sc b/binutils-2.25/ld/scripttempl/epocpe.sc
index 441d31ed..6bf83818 100644
--- a/binutils-2.25/ld/scripttempl/epocpe.sc
+++ b/binutils-2.25/ld/scripttempl/epocpe.sc
@@ -1,4 +1,10 @@
# Linker script for PE.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
if test -z "${RELOCATEABLE_OUTPUT_FORMAT}"; then
RELOCATEABLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
@@ -36,6 +42,12 @@ else
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
${RELOCATING+OUTPUT_FORMAT(${OUTPUT_FORMAT})}
${RELOCATING-OUTPUT_FORMAT(${RELOCATEABLE_OUTPUT_FORMAT})}
diff --git a/binutils-2.25/ld/scripttempl/h8300.sc b/binutils-2.25/ld/scripttempl/h8300.sc
index f142f4bc..93de9d74 100644
--- a/binutils-2.25/ld/scripttempl/h8300.sc
+++ b/binutils-2.25/ld/scripttempl/h8300.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS=".tors :
{
___ctors = . ;
@@ -9,6 +15,12 @@ TORS=".tors :
} > ram"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
${RELOCATING+ENTRY ("_start")}
diff --git a/binutils-2.25/ld/scripttempl/h8300h.sc b/binutils-2.25/ld/scripttempl/h8300h.sc
index 9a415373..054e5674 100644
--- a/binutils-2.25/ld/scripttempl/h8300h.sc
+++ b/binutils-2.25/ld/scripttempl/h8300h.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS=".tors :
{
___ctors = . ;
@@ -9,6 +15,12 @@ TORS=".tors :
} > ram"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(h8300h)
${RELOCATING+ENTRY ("_start")}
diff --git a/binutils-2.25/ld/scripttempl/h8300hn.sc b/binutils-2.25/ld/scripttempl/h8300hn.sc
index 5cdfc5a6..aa84ccf4 100644
--- a/binutils-2.25/ld/scripttempl/h8300hn.sc
+++ b/binutils-2.25/ld/scripttempl/h8300hn.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS=".tors :
{
___ctors = . ;
@@ -9,6 +15,12 @@ TORS=".tors :
} > ram"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(h8300hn)
${RELOCATING+ENTRY ("_start")}
diff --git a/binutils-2.25/ld/scripttempl/h8300s.sc b/binutils-2.25/ld/scripttempl/h8300s.sc
index e07253d9..72e26e0b 100644
--- a/binutils-2.25/ld/scripttempl/h8300s.sc
+++ b/binutils-2.25/ld/scripttempl/h8300s.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS=".tors :
{
___ctors = . ;
@@ -9,6 +15,12 @@ TORS=".tors :
} > ram"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(h8300s)
${RELOCATING+ENTRY ("_start")}
diff --git a/binutils-2.25/ld/scripttempl/h8300sn.sc b/binutils-2.25/ld/scripttempl/h8300sn.sc
index 27ba4a13..63fe2828 100644
--- a/binutils-2.25/ld/scripttempl/h8300sn.sc
+++ b/binutils-2.25/ld/scripttempl/h8300sn.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS=".tors :
{
___ctors = . ;
@@ -9,6 +15,12 @@ TORS=".tors :
} > ram"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(h8300sn)
${RELOCATING+ENTRY ("_start")}
diff --git a/binutils-2.25/ld/scripttempl/h8300sx.sc b/binutils-2.25/ld/scripttempl/h8300sx.sc
index 247e9777..a69e392a 100644
--- a/binutils-2.25/ld/scripttempl/h8300sx.sc
+++ b/binutils-2.25/ld/scripttempl/h8300sx.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS=".tors :
{
___ctors = . ;
@@ -9,6 +15,12 @@ TORS=".tors :
} > ram"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(h8300sx)
${RELOCATING+ENTRY ("_start")}
diff --git a/binutils-2.25/ld/scripttempl/h8300sxn.sc b/binutils-2.25/ld/scripttempl/h8300sxn.sc
index 90bd7891..c4d5edb1 100644
--- a/binutils-2.25/ld/scripttempl/h8300sxn.sc
+++ b/binutils-2.25/ld/scripttempl/h8300sxn.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS=".tors :
{
___ctors = . ;
@@ -9,6 +15,12 @@ TORS=".tors :
} > ram"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(h8300sxn)
${RELOCATING+ENTRY ("_start")}
diff --git a/binutils-2.25/ld/scripttempl/h8500.sc b/binutils-2.25/ld/scripttempl/h8500.sc
index 6b889ddc..47ae411d 100644
--- a/binutils-2.25/ld/scripttempl/h8500.sc
+++ b/binutils-2.25/ld/scripttempl/h8500.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS="
___ctors = . ;
*(.ctors)
@@ -7,6 +13,12 @@ TORS="
___dtors_end = . ;"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/h8500b.sc b/binutils-2.25/ld/scripttempl/h8500b.sc
index fb6c0e86..b9032f06 100644
--- a/binutils-2.25/ld/scripttempl/h8500b.sc
+++ b/binutils-2.25/ld/scripttempl/h8500b.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS="
___ctors = . ;
*(.ctors)
@@ -7,6 +13,12 @@ TORS="
___dtors_end = . ;"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/h8500c.sc b/binutils-2.25/ld/scripttempl/h8500c.sc
index 145ffc5c..962c89ee 100644
--- a/binutils-2.25/ld/scripttempl/h8500c.sc
+++ b/binutils-2.25/ld/scripttempl/h8500c.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS="
___ctors = . ;
*(.ctors)
@@ -7,6 +13,12 @@ TORS="
___dtors_end = . ;"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/h8500m.sc b/binutils-2.25/ld/scripttempl/h8500m.sc
index 3314066e..031ab88d 100644
--- a/binutils-2.25/ld/scripttempl/h8500m.sc
+++ b/binutils-2.25/ld/scripttempl/h8500m.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS="
___ctors = . ;
*(.ctors)
@@ -7,6 +13,12 @@ TORS="
___dtors_end = . ;"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/h8500s.sc b/binutils-2.25/ld/scripttempl/h8500s.sc
index da4d2101..e571726f 100644
--- a/binutils-2.25/ld/scripttempl/h8500s.sc
+++ b/binutils-2.25/ld/scripttempl/h8500s.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS="
___ctors = . ;
*(.ctors)
@@ -7,6 +13,12 @@ TORS="
___dtors_end = . ;"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/hppaelf.sc b/binutils-2.25/ld/scripttempl/hppaelf.sc
index a96ad54a..39d9b585 100644
--- a/binutils-2.25/ld/scripttempl/hppaelf.sc
+++ b/binutils-2.25/ld/scripttempl/hppaelf.sc
@@ -1,6 +1,19 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
DATA_ADDR=0x40000000
test "$LD_FLAG" = "N" && DATA_ADDR=.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
${RELOCATING+ENTRY("\$START\$")}
diff --git a/binutils-2.25/ld/scripttempl/i386beos.sc b/binutils-2.25/ld/scripttempl/i386beos.sc
index a8bbd37d..3d607246 100644
--- a/binutils-2.25/ld/scripttempl/i386beos.sc
+++ b/binutils-2.25/ld/scripttempl/i386beos.sc
@@ -1,4 +1,10 @@
# Linker script for PE.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
if test -z "${RELOCATEABLE_OUTPUT_FORMAT}"; then
RELOCATEABLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
@@ -33,6 +39,12 @@ else
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
${RELOCATING+OUTPUT_FORMAT(${OUTPUT_FORMAT})}
${RELOCATING-OUTPUT_FORMAT(${RELOCATEABLE_OUTPUT_FORMAT})}
diff --git a/binutils-2.25/ld/scripttempl/i386coff.sc b/binutils-2.25/ld/scripttempl/i386coff.sc
index da146320..6ce48545 100644
--- a/binutils-2.25/ld/scripttempl/i386coff.sc
+++ b/binutils-2.25/ld/scripttempl/i386coff.sc
@@ -1,11 +1,25 @@
# Linker script for 386 COFF. This works on SVR3.2 and SCO Unix 3.2.2.
# Ian Taylor <ian@cygnus.com>.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
test -z "$ENTRY" && ENTRY=_start
# These are substituted in as variables in order to get '}' in a shell
# conditional expansion.
INIT='.init : { *(.init) }'
FINI='.fini : { *(.fini) }'
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
diff --git a/binutils-2.25/ld/scripttempl/i386go32.sc b/binutils-2.25/ld/scripttempl/i386go32.sc
index fce4ceca..9259daf1 100644
--- a/binutils-2.25/ld/scripttempl/i386go32.sc
+++ b/binutils-2.25/ld/scripttempl/i386go32.sc
@@ -1,4 +1,10 @@
# Linker script for i386 go32 (DJGPP)
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
test -z "$ENTRY" && ENTRY=start
EXE=${CONSTRUCTING+${RELOCATING+-exe}}
@@ -15,6 +21,12 @@ DTOR='.dtor : {
}'
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}${EXE}")
${RELOCATING+ENTRY (${ENTRY})}
diff --git a/binutils-2.25/ld/scripttempl/i386msdos.sc b/binutils-2.25/ld/scripttempl/i386msdos.sc
index 4d312e7f..ca9772d5 100644
--- a/binutils-2.25/ld/scripttempl/i386msdos.sc
+++ b/binutils-2.25/ld/scripttempl/i386msdos.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/i860coff.sc b/binutils-2.25/ld/scripttempl/i860coff.sc
index f268c6f9..645ef3de 100644
--- a/binutils-2.25/ld/scripttempl/i860coff.sc
+++ b/binutils-2.25/ld/scripttempl/i860coff.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
PROVIDE (__stack = 0);
diff --git a/binutils-2.25/ld/scripttempl/i960.sc b/binutils-2.25/ld/scripttempl/i960.sc
index dc335555..b86b0730 100644
--- a/binutils-2.25/ld/scripttempl/i960.sc
+++ b/binutils-2.25/ld/scripttempl/i960.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
SECTIONS
{
.text :
diff --git a/binutils-2.25/ld/scripttempl/ia64vms.sc b/binutils-2.25/ld/scripttempl/ia64vms.sc
index ba50f66f..3c985460 100644
--- a/binutils-2.25/ld/scripttempl/ia64vms.sc
+++ b/binutils-2.25/ld/scripttempl/ia64vms.sc
@@ -1,10 +1,22 @@
# Linker script for Itanium VMS systems.
# Tristan Gingold <gingold@adacore.com>.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
PAGESIZE=0x10000
BLOCKSIZE=0x200
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
ENTRY(__entry)
diff --git a/binutils-2.25/ld/scripttempl/ip2k.sc b/binutils-2.25/ld/scripttempl/ip2k.sc
index 1b7f77b6..6f20d40c 100644
--- a/binutils-2.25/ld/scripttempl/ip2k.sc
+++ b/binutils-2.25/ld/scripttempl/ip2k.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat << EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("elf32-ip2k", "elf32-ip2k", "elf32-ip2k")
OUTPUT_ARCH(ip2k)
${RELOCATING+ENTRY(_start)}
diff --git a/binutils-2.25/ld/scripttempl/iq2000.sc b/binutils-2.25/ld/scripttempl/iq2000.sc
index fe1f21d2..de288b20 100644
--- a/binutils-2.25/ld/scripttempl/iq2000.sc
+++ b/binutils-2.25/ld/scripttempl/iq2000.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - four byte opcode for no-op (defaults to 0)
@@ -108,7 +113,7 @@ DTOR=" .dtors ${CONSTRUCTING-0} :
${CONSTRUCTING+${DTOR_END}}
}"
-# if this is for an embedded system, don't add SIZEOF_HEADERS.
+# If this is for an embedded system, don't add SIZEOF_HEADERS.
if [ -z "$EMBEDDED" ]; then
test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR} + SIZEOF_HEADERS"
else
@@ -116,6 +121,12 @@ else
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${OUTPUT_ARCH})
diff --git a/binutils-2.25/ld/scripttempl/m68kaux.sc b/binutils-2.25/ld/scripttempl/m68kaux.sc
index 09032be8..6486e28e 100644
--- a/binutils-2.25/ld/scripttempl/m68kaux.sc
+++ b/binutils-2.25/ld/scripttempl/m68kaux.sc
@@ -1,4 +1,11 @@
# Linker script for A/UX.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
test -z "$ENTRY" && ENTRY=_start
INIT='.init : { *(.init) }'
FINI='.fini : { *(.fini) }'
@@ -6,6 +13,12 @@ CTORS='.ctors : { *(.ctors) }'
DTORS='.dtors : { *(.dtors) }'
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
diff --git a/binutils-2.25/ld/scripttempl/m68kcoff.sc b/binutils-2.25/ld/scripttempl/m68kcoff.sc
index f268c6f9..645ef3de 100644
--- a/binutils-2.25/ld/scripttempl/m68kcoff.sc
+++ b/binutils-2.25/ld/scripttempl/m68kcoff.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
PROVIDE (__stack = 0);
diff --git a/binutils-2.25/ld/scripttempl/m88kbcs.sc b/binutils-2.25/ld/scripttempl/m88kbcs.sc
index 0cd6ab92..1340fa27 100644
--- a/binutils-2.25/ld/scripttempl/m88kbcs.sc
+++ b/binutils-2.25/ld/scripttempl/m88kbcs.sc
@@ -1,8 +1,21 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
# These are substituted in as variables in order to get '}' in a shell
# conditional expansion.
INIT='.init : { *(.init) }'
FINI='.fini : { *(.fini) }'
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
${RELOCATING+ENTRY (__start)}
diff --git a/binutils-2.25/ld/scripttempl/mcorepe.sc b/binutils-2.25/ld/scripttempl/mcorepe.sc
index 0817fe81..3d239730 100644
--- a/binutils-2.25/ld/scripttempl/mcorepe.sc
+++ b/binutils-2.25/ld/scripttempl/mcorepe.sc
@@ -1,4 +1,10 @@
# Linker script for MCore PE.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
if test -z "${RELOCATEABLE_OUTPUT_FORMAT}"; then
RELOCATEABLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
@@ -45,6 +51,12 @@ EOF
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
${LIB_SEARCH_DIRS}
${RELOCATING+ENTRY (_mainCRTStartup)}
diff --git a/binutils-2.25/ld/scripttempl/mep.sc b/binutils-2.25/ld/scripttempl/mep.sc
index cf85f760..ac4d88d4 100644
--- a/binutils-2.25/ld/scripttempl/mep.sc
+++ b/binutils-2.25/ld/scripttempl/mep.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - four byte opcode for no-op (defaults to 0)
@@ -190,7 +195,7 @@ STACK=" .stack ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} :
*(.stack)
}"
-# if this is for an embedded system, don't add SIZEOF_HEADERS.
+# If this is for an embedded system, don't add SIZEOF_HEADERS.
if [ -z "$EMBEDDED" ]; then
test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR} + SIZEOF_HEADERS"
else
@@ -198,6 +203,12 @@ else
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${OUTPUT_ARCH})
diff --git a/binutils-2.25/ld/scripttempl/mips.sc b/binutils-2.25/ld/scripttempl/mips.sc
index 1be01f9a..0517f3e2 100644
--- a/binutils-2.25/ld/scripttempl/mips.sc
+++ b/binutils-2.25/ld/scripttempl/mips.sc
@@ -1,7 +1,15 @@
# Linker script for MIPS systems.
# Ian Lance Taylor <ian@cygnus.com>.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+#
# These variables may be overridden by the emulation file. The
# defaults are appropriate for a DECstation running Ultrix.
+
test -z "$ENTRY" && ENTRY=__start
if [ -z "$EMBEDDED" ]; then
@@ -14,7 +22,14 @@ if test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then
else
test -z "$DATA_ADDR" && DATA_ADDR=0x10000000
fi
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
diff --git a/binutils-2.25/ld/scripttempl/mipsbsd.sc b/binutils-2.25/ld/scripttempl/mipsbsd.sc
index b222b335..71d6d5ac 100644
--- a/binutils-2.25/ld/scripttempl/mipsbsd.sc
+++ b/binutils-2.25/ld/scripttempl/mipsbsd.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/mmo.sc b/binutils-2.25/ld/scripttempl/mmo.sc
index 6671ccee..8c6e3185 100644
--- a/binutils-2.25/ld/scripttempl/mmo.sc
+++ b/binutils-2.25/ld/scripttempl/mmo.sc
@@ -1,8 +1,22 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
# MMO is not a relocateable format, and we don't want to require an
# explicit (e.g.) "-m elf64mmix" when -r is used.
+
test -z $RELOCATEABLE_OUTPUT_FORMAT && RELOCATEABLE_OUTPUT_FORMAT=$OUTPUT_FORMAT
test -z ${RELOCATING+0} && OUTPUT_FORMAT=$RELOCATEABLE_OUTPUT_FORMAT
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("$OUTPUT_FORMAT")
OUTPUT_ARCH(mmix)
${RELOCATING+ENTRY(Main)}
diff --git a/binutils-2.25/ld/scripttempl/moxie.sc b/binutils-2.25/ld/scripttempl/moxie.sc
index f7d788ff..c761bb2e 100644
--- a/binutils-2.25/ld/scripttempl/moxie.sc
+++ b/binutils-2.25/ld/scripttempl/moxie.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS=".tors :
{
___ctors = . ;
@@ -9,6 +15,12 @@ TORS=".tors :
} > ram"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/nds32elf.sc b/binutils-2.25/ld/scripttempl/nds32elf.sc
new file mode 100644
index 00000000..fe7f5dda
--- /dev/null
+++ b/binutils-2.25/ld/scripttempl/nds32elf.sc
@@ -0,0 +1,627 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
+# This file is variant of elf.sc. For nds32, because the data will be
+# classified into different sections according to their size, this script
+# describe these sections map. The order is ".sdata_d, .sdata_w, .sdata_h,
+# .sdata_b, , sdata_f, .sbss_f, .sbss_b, .sbss_h, .sbss_w, .sbss_d". In
+# this order we do not have to consider the alignment issue between these
+# sections.
+
+if test -n "$NOP"; then
+ FILL="=$NOP"
+else
+ FILL=
+fi
+
+test -z "$RODATA_NAME" && RODATA_NAME=rodata
+test -z "$SDATA_NAME" && SDATA_NAME=sdata
+test -z "$SBSS_NAME" && SBSS_NAME=sbss
+test -z "$BSS_NAME" && BSS_NAME=bss
+test -z "$ENTRY" && ENTRY=${USER_LABEL_PREFIX}_start
+test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
+test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
+if [ -z "$MACHINE" ]; then OUTPUT_ARCH=${ARCH}; else OUTPUT_ARCH=${ARCH}:${MACHINE}; fi
+test -z "${ELFSIZE}" && ELFSIZE=32
+test -z "${ALIGNMENT}" && ALIGNMENT="${ELFSIZE} / 8"
+test "$LD_FLAG" = "N" && DATA_ADDR=.
+test -z "${ETEXT_NAME}" && ETEXT_NAME=${USER_LABEL_PREFIX}etext
+test -n "$CREATE_SHLIB$CREATE_PIE" && test -n "$SHLIB_DATA_ADDR" && COMMONPAGESIZE=""
+test -z "$CREATE_SHLIB$CREATE_PIE" && test -n "$DATA_ADDR" && COMMONPAGESIZE=""
+test -n "$RELRO_NOW" && unset SEPARATE_GOTPLT
+test -z "$ATTRS_SECTIONS" && ATTRS_SECTIONS=".gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }"
+DATA_SEGMENT_ALIGN="ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))"
+DATA_SEGMENT_RELRO_END=""
+DATA_SEGMENT_END=""
+if test -n "${COMMONPAGESIZE}"; then
+ DATA_SEGMENT_ALIGN="ALIGN (${SEGMENT_SIZE}) - ((${MAXPAGESIZE} - .) & (${MAXPAGESIZE} - 1)); . = DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE})"
+ DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);"
+ DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);"
+fi
+if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}"; then
+ INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }"
+fi
+if test -z "$PLT"; then
+ IPLT=".iplt ${RELOCATING-0} : { *(.iplt) }"
+ PLT=".plt ${RELOCATING-0} : { *(.plt)${IREL_IN_PLT+ *(.iplt)} }
+ ${IREL_IN_PLT-$IPLT}"
+fi
+test -n "${DATA_PLT-${BSS_PLT-text}}" && TEXT_PLT=
+if test -z "$GOT"; then
+ if test -z "$SEPARATE_GOTPLT"; then
+ GOT=".got ${RELOCATING-0} : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }"
+ else
+ GOT=".got ${RELOCATING-0} : { *(.got) *(.igot) }"
+ GOTPLT=".got.plt ${RELOCATING-0} : { *(.got.plt) *(.igot.plt) }"
+ fi
+fi
+REL_IFUNC=".rel.ifunc ${RELOCATING-0} : { *(.rel.ifunc) }"
+RELA_IFUNC=".rela.ifunc ${RELOCATING-0} : { *(.rela.ifunc) }"
+REL_IPLT=".rel.iplt ${RELOCATING-0} :
+ {
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rel_iplt_start = .);}}
+ *(.rel.iplt)
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rel_iplt_end = .);}}
+ }"
+RELA_IPLT=".rela.iplt ${RELOCATING-0} :
+ {
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rela_iplt_start = .);}}
+ *(.rela.iplt)
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rela_iplt_end = .);}}
+ }"
+DYNAMIC=".dynamic ${RELOCATING-0} : { *(.dynamic) }"
+RODATA=".${RODATA_NAME} ${RELOCATING-0} : { *(.${RODATA_NAME}${RELOCATING+ .${RODATA_NAME}.* .gnu.linkonce.r.*}) }"
+DATARELRO=".data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }"
+DISCARDED="/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }"
+if test -z "${NO_SMALL_DATA}"; then
+ SBSS=".sbss_b ${RELOCATING-0} :
+ {
+ *(.sbss_b${RELOCATING+ .sbss_b.*})
+ *(.scommon_b${RELOCATING+ .scommon_b.*})
+ ${RELOCATING+. = ALIGN(2);}
+ }
+ .sbss_h ${RELOCATING-0} :
+ {
+ *(.sbss_h${RELOCATING+ .sbss_h.*})
+ *(.scommon_h${RELOCATING+ .scommon_h.*})
+ ${RELOCATING+. = ALIGN(4);}
+ }
+ .sbss_w ${RELOCATING-0} :
+ {
+ *(.sbss_w${RELOCATING+ .sbss_w.*})
+ *(.scommon_w${RELOCATING+ .scommon_w.*})
+ *(.dynsbss)
+ *(.scommon)
+ ${RELOCATING+. = ALIGN(8);}
+ }
+ .sbss_d ${RELOCATING-0} :
+ {
+ *(.sbss_d${RELOCATING+ .sbss_d.*})
+ *(.scommon_d${RELOCATING+ .scommon_d.*})
+ ${RELOCATING+PROVIDE (__sbss_end = .);}
+ ${RELOCATING+PROVIDE (___sbss_end = .);}
+ }"
+ SBSS2=".${SBSS_NAME}2 ${RELOCATING-0} : { *(.${SBSS_NAME}2${RELOCATING+ .${SBSS_NAME}2.* .gnu.linkonce.sb2.*}) }"
+ SDATA="/* We want the small data sections together, so single-instruction offsets
+ can access them all, and initialized data all before uninitialized, so
+ we can shorten the on-disk segment size. */
+ .${SDATA_NAME} ${RELOCATING-0} :
+ {
+ ${RELOCATING+${SDATA_START_SYMBOLS}}
+ ${CREATE_SHLIB+*(.${SDATA_NAME}2 .${SDATA_NAME}2.* .gnu.linkonce.s2.*)}
+ *(.${SDATA_NAME}${RELOCATING+ .${SDATA_NAME}.* .gnu.linkonce.s.*})
+ }
+ .sdata_d ${RELOCATING-0} :
+ {
+ *(.sdata_d${RELOCATING+ .sdata_d.*})
+ }
+ .sdata_w ${RELOCATING-0} :
+ {
+ *(.sdata_w${RELOCATING+ .sdata_w.*})
+ }
+ .sdata_h ${RELOCATING-0} :
+ {
+ *(.sdata_h${RELOCATING+ .sdata_h.*})
+ }
+ .sdata_b ${RELOCATING-0} :
+ {
+ *(.sdata_b${RELOCATING+ .sdata_b.*})
+ }
+ .sdata_f ${RELOCATING-0} :
+ {
+ *(.sdata_f${RELOCATING+ .sdata_f.*})
+ }"
+ SDATA2=".${SDATA_NAME}2 ${RELOCATING-0} :
+ {
+ ${RELOCATING+${SDATA2_START_SYMBOLS}}
+ *(.${SDATA_NAME}2${RELOCATING+ .${SDATA_NAME}2.* .gnu.linkonce.s2.*})
+ }"
+ REL_SDATA=".rel.${SDATA_NAME} ${RELOCATING-0} : { *(.rel.${SDATA_NAME}${RELOCATING+ .rel.${SDATA_NAME}.* .rel.gnu.linkonce.s.*}) }
+ .rela.${SDATA_NAME} ${RELOCATING-0} : { *(.rela.${SDATA_NAME}${RELOCATING+ .rela.${SDATA_NAME}.* .rela.gnu.linkonce.s.*}) }"
+ REL_SBSS=".rel.${SBSS_NAME} ${RELOCATING-0} : { *(.rel.${SBSS_NAME}${RELOCATING+ .rel.${SBSS_NAME}.* .rel.gnu.linkonce.sb.*}) }
+ .rela.${SBSS_NAME} ${RELOCATING-0} : { *(.rela.${SBSS_NAME}${RELOCATING+ .rela.${SBSS_NAME}.* .rela.gnu.linkonce.sb.*}) }"
+ REL_SDATA2=".rel.${SDATA_NAME}2 ${RELOCATING-0} : { *(.rel.${SDATA_NAME}2${RELOCATING+ .rel.${SDATA_NAME}2.* .rel.gnu.linkonce.s2.*}) }
+ .rela.${SDATA_NAME}2 ${RELOCATING-0} : { *(.rela.${SDATA_NAME}2${RELOCATING+ .rela.${SDATA_NAME}2.* .rela.gnu.linkonce.s2.*}) }"
+ REL_SBSS2=".rel.${SBSS_NAME}2 ${RELOCATING-0} : { *(.rel.${SBSS_NAME}2${RELOCATING+ .rel.${SBSS_NAME}2.* .rel.gnu.linkonce.sb2.*}) }
+ .rela.${SBSS_NAME}2 ${RELOCATING-0} : { *(.rela.${SBSS_NAME}2${RELOCATING+ .rela.${SBSS_NAME}2.* .rela.gnu.linkonce.sb2.*}) }"
+else
+ NO_SMALL_DATA=" "
+fi
+if test -z "${DATA_GOT}"; then
+ if test -n "${NO_SMALL_DATA}"; then
+ DATA_GOT=" "
+ fi
+fi
+if test -z "${SDATA_GOT}"; then
+ if test -z "${NO_SMALL_DATA}"; then
+ SDATA_GOT=" "
+ fi
+fi
+test -n "$SEPARATE_GOTPLT" && SEPARATE_GOTPLT=" "
+test "${LARGE_SECTIONS}" = "yes" && REL_LARGE="
+ .rel.ldata ${RELOCATING-0} : { *(.rel.ldata${RELOCATING+ .rel.ldata.* .rel.gnu.linkonce.l.*}) }
+ .rela.ldata ${RELOCATING-0} : { *(.rela.ldata${RELOCATING+ .rela.ldata.* .rela.gnu.linkonce.l.*}) }
+ .rel.lbss ${RELOCATING-0} : { *(.rel.lbss${RELOCATING+ .rel.lbss.* .rel.gnu.linkonce.lb.*}) }
+ .rela.lbss ${RELOCATING-0} : { *(.rela.lbss${RELOCATING+ .rela.lbss.* .rela.gnu.linkonce.lb.*}) }
+ .rel.lrodata ${RELOCATING-0} : { *(.rel.lrodata${RELOCATING+ .rel.lrodata.* .rel.gnu.linkonce.lr.*}) }
+ .rela.lrodata ${RELOCATING-0} : { *(.rela.lrodata${RELOCATING+ .rela.lrodata.* .rela.gnu.linkonce.lr.*}) }"
+test "${LARGE_SECTIONS}" = "yes" && LARGE_BSS="
+ .lbss ${RELOCATING-0} :
+ {
+ *(.dynlbss)
+ *(.lbss${RELOCATING+ .lbss.* .gnu.linkonce.lb.*})
+ *(LARGE_COMMON)
+ }"
+test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
+ .lrodata ${RELOCATING-0} ${RELOCATING+ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))} :
+ {
+ *(.lrodata${RELOCATING+ .lrodata.* .gnu.linkonce.lr.*})
+ }
+ .ldata ${RELOCATING-0} ${RELOCATING+ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))} :
+ {
+ *(.ldata${RELOCATING+ .ldata.* .gnu.linkonce.l.*})
+ ${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
+ }"
+if test "${ENABLE_INITFINI_ARRAY}" = "yes"; then
+ SORT_INIT_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))"
+ SORT_FINI_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))"
+ CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors"
+ DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors"
+else
+ SORT_INIT_ARRAY="KEEP (*(SORT(.init_array.*)))"
+ SORT_FINI_ARRAY="KEEP (*(SORT(.fini_array.*)))"
+ CTORS_IN_INIT_ARRAY=
+ DTORS_IN_FINI_ARRAY=
+fi
+INIT_ARRAY=".init_array ${RELOCATING-0} :
+ {
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_start = .);}}
+ ${SORT_INIT_ARRAY}
+ KEEP (*(.init_array ${CTORS_IN_INIT_ARRAY}))
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_end = .);}}
+ }"
+FINI_ARRAY=".fini_array ${RELOCATING-0} :
+ {
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
+ ${SORT_FINI_ARRAY}
+ KEEP (*(.fini_array ${DTORS_IN_FINI_ARRAY}))
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
+ }"
+CTOR=".ctors ${CONSTRUCTING-0} :
+ {
+ ${CONSTRUCTING+${CTOR_START}}
+ /* gcc uses crtbegin.o to find the start of
+ the constructors, so we make sure it is
+ first. Because this is a wildcard, it
+ doesn't matter if the user does not
+ actually link against crtbegin.o; the
+ linker won't look for a file to match a
+ wildcard. The wildcard also means that it
+ doesn't matter which directory crtbegin.o
+ is in. */
+
+ KEEP (*crtbegin.o(.ctors))
+ KEEP (*crtbegin?.o(.ctors))
+
+ /* We don't want to include the .ctor section from
+ the crtend.o file until after the sorted ctors.
+ The .ctor section from the crtend file contains the
+ end of ctors marker and it must be last */
+
+ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))
+ KEEP (*(SORT(.ctors.*)))
+ KEEP (*(.ctors))
+ ${CONSTRUCTING+${CTOR_END}}
+ }"
+DTOR=".dtors ${CONSTRUCTING-0} :
+ {
+ ${CONSTRUCTING+${DTOR_START}}
+ KEEP (*crtbegin.o(.dtors))
+ KEEP (*crtbegin?.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))
+ KEEP (*(SORT(.dtors.*)))
+ KEEP (*(.dtors))
+ ${CONSTRUCTING+${DTOR_END}}
+ }"
+STACK=" .stack ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} :
+ {
+ ${RELOCATING+${USER_LABEL_PREFIX}_stack = .;}
+ *(.stack)
+ }"
+
+TEXT_START_ADDR="SEGMENT_START(\"text-segment\", ${TEXT_START_ADDR})"
+SHLIB_TEXT_START_ADDR="SEGMENT_START(\"text-segment\", ${SHLIB_TEXT_START_ADDR:-0})"
+
+if [ -z "$SEPARATE_CODE" ]; then
+ SIZEOF_HEADERS_CODE=" + SIZEOF_HEADERS"
+else
+ SIZEOF_HEADERS_CODE=
+fi
+
+# If this is for an embedded system, don't add SIZEOF_HEADERS.
+if [ -z "$EMBEDDED" ]; then
+ test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR}${SIZEOF_HEADERS_CODE}"
+ NDS32_INIT=""
+else
+ test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR}"
+ NDS32_INIT=".nds32_init : { KEEP(*(.nds32_init)) }"
+fi
+
+cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
+OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
+ "${LITTLE_OUTPUT_FORMAT}")
+OUTPUT_ARCH(${OUTPUT_ARCH})
+${RELOCATING+ENTRY(${ENTRY})}
+
+${RELOCATING+${LIB_SEARCH_DIRS}}
+${RELOCATING+${EXECUTABLE_SYMBOLS}}
+${RELOCATING+${INPUT_FILES}}
+${RELOCATING- /* For some reason, the Solaris linker makes bad executables
+ if gld -r is used and the intermediate file has sections starting
+ at non-zero addresses. Could be a Solaris ld bug, could be a GNU ld
+ bug. But for now assigning the zero vmas works. */}
+
+SECTIONS
+{
+ /* Read-only sections, merged into text segment: */
+ ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+PROVIDE (__executable_start = ${TEXT_START_ADDR}); . = ${TEXT_BASE_ADDRESS};}}}
+ /* Sections saved crt0 and crt1. */
+ ${NDS32_INIT}
+ ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR}${SIZEOF_HEADERS_CODE};}}
+ ${CREATE_PIE+${RELOCATING+PROVIDE (__executable_start = ${SHLIB_TEXT_START_ADDR}); . = ${SHLIB_TEXT_START_ADDR}${SIZEOF_HEADERS_CODE};}}
+EOF
+
+emit_early_ro()
+{
+ cat <<EOF
+ ${INITIAL_READONLY_SECTIONS}
+ .note.gnu.build-id : { *(.note.gnu.build-id) }
+EOF
+}
+
+test -n "${SEPARATE_CODE}" || emit_early_ro
+
+test -n "${RELOCATING+0}" || unset NON_ALLOC_DYN
+test -z "${NON_ALLOC_DYN}" || TEXT_DYNAMIC=
+cat > ldscripts/dyntmp.$$ <<EOF
+ ${TEXT_DYNAMIC+${DYNAMIC}}
+ .hash ${RELOCATING-0} : { *(.hash) }
+ .gnu.hash ${RELOCATING-0} : { *(.gnu.hash) }
+ .dynsym ${RELOCATING-0} : { *(.dynsym) }
+ .dynstr ${RELOCATING-0} : { *(.dynstr) }
+ .gnu.version ${RELOCATING-0} : { *(.gnu.version) }
+ .gnu.version_d ${RELOCATING-0}: { *(.gnu.version_d) }
+ .gnu.version_r ${RELOCATING-0}: { *(.gnu.version_r) }
+EOF
+
+if [ "x$COMBRELOC" = x ]; then
+ COMBRELOCCAT="cat >> ldscripts/dyntmp.$$"
+else
+ COMBRELOCCAT="cat > $COMBRELOC"
+fi
+eval $COMBRELOCCAT <<EOF
+ ${INITIAL_RELOC_SECTIONS}
+ .rel.init ${RELOCATING-0} : { *(.rel.init) }
+ .rela.init ${RELOCATING-0} : { *(.rela.init) }
+ .rel.text ${RELOCATING-0} : { *(.rel.text${RELOCATING+ .rel.text.* .rel.gnu.linkonce.t.*}) }
+ .rela.text ${RELOCATING-0} : { *(.rela.text${RELOCATING+ .rela.text.* .rela.gnu.linkonce.t.*}) }
+ .rel.fini ${RELOCATING-0} : { *(.rel.fini) }
+ .rela.fini ${RELOCATING-0} : { *(.rela.fini) }
+ .rel.${RODATA_NAME} ${RELOCATING-0} : { *(.rel.${RODATA_NAME}${RELOCATING+ .rel.${RODATA_NAME}.* .rel.gnu.linkonce.r.*}) }
+ .rela.${RODATA_NAME} ${RELOCATING-0} : { *(.rela.${RODATA_NAME}${RELOCATING+ .rela.${RODATA_NAME}.* .rela.gnu.linkonce.r.*}) }
+ ${OTHER_READONLY_RELOC_SECTIONS}
+ .rel.data.rel.ro ${RELOCATING-0} : { *(.rel.data.rel.ro${RELOCATING+ .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*}) }
+ .rela.data.rel.ro ${RELOCATING-0} : { *(.rela.data.rel.ro${RELOCATING+ .rela.data.rel.ro.* .rela.gnu.linkonce.d.rel.ro.*}) }
+ .rel.data ${RELOCATING-0} : { *(.rel.data${RELOCATING+ .rel.data.* .rel.gnu.linkonce.d.*}) }
+ .rela.data ${RELOCATING-0} : { *(.rela.data${RELOCATING+ .rela.data.* .rela.gnu.linkonce.d.*}) }
+ ${OTHER_READWRITE_RELOC_SECTIONS}
+ .rel.tdata ${RELOCATING-0} : { *(.rel.tdata${RELOCATING+ .rel.tdata.* .rel.gnu.linkonce.td.*}) }
+ .rela.tdata ${RELOCATING-0} : { *(.rela.tdata${RELOCATING+ .rela.tdata.* .rela.gnu.linkonce.td.*}) }
+ .rel.tbss ${RELOCATING-0} : { *(.rel.tbss${RELOCATING+ .rel.tbss.* .rel.gnu.linkonce.tb.*}) }
+ .rela.tbss ${RELOCATING-0} : { *(.rela.tbss${RELOCATING+ .rela.tbss.* .rela.gnu.linkonce.tb.*}) }
+ .rel.ctors ${RELOCATING-0} : { *(.rel.ctors) }
+ .rela.ctors ${RELOCATING-0} : { *(.rela.ctors) }
+ .rel.dtors ${RELOCATING-0} : { *(.rel.dtors) }
+ .rela.dtors ${RELOCATING-0} : { *(.rela.dtors) }
+ .rel.got ${RELOCATING-0} : { *(.rel.got) }
+ .rela.got ${RELOCATING-0} : { *(.rela.got) }
+ ${OTHER_GOT_RELOC_SECTIONS}
+ ${REL_SDATA}
+ ${REL_SBSS}
+ ${REL_SDATA2}
+ ${REL_SBSS2}
+ .rel.${BSS_NAME} ${RELOCATING-0} : { *(.rel.${BSS_NAME}${RELOCATING+ .rel.${BSS_NAME}.* .rel.gnu.linkonce.b.*}) }
+ .rela.${BSS_NAME} ${RELOCATING-0} : { *(.rela.${BSS_NAME}${RELOCATING+ .rela.${BSS_NAME}.* .rela.gnu.linkonce.b.*}) }
+ ${REL_LARGE}
+ ${IREL_IN_PLT+$REL_IFUNC}
+ ${IREL_IN_PLT+$RELA_IFUNC}
+ ${IREL_IN_PLT-$REL_IPLT}
+ ${IREL_IN_PLT-$RELA_IPLT}
+EOF
+
+if [ -n "$COMBRELOC" ]; then
+cat >> ldscripts/dyntmp.$$ <<EOF
+ .rel.dyn ${RELOCATING-0} :
+ {
+EOF
+sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rela\./d;/__rela_iplt_/d;s/^.*: { *\(.*\)}$/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$
+cat >> ldscripts/dyntmp.$$ <<EOF
+ }
+ .rela.dyn ${RELOCATING-0} :
+ {
+EOF
+sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rel\./d;/__rel_iplt_/d;s/^.*: { *\(.*\)}/ \1/' $COMBRELOC >> ldscripts/dyntmp.$$
+cat >> ldscripts/dyntmp.$$ <<EOF
+ }
+EOF
+fi
+
+cat >> ldscripts/dyntmp.$$ <<EOF
+ .rel.plt ${RELOCATING-0} :
+ {
+ *(.rel.plt)
+ ${IREL_IN_PLT+${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rel_iplt_start = .);}}}
+ ${IREL_IN_PLT+${RELOCATING+*(.rel.iplt)}}
+ ${IREL_IN_PLT+${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rel_iplt_end = .);}}}
+ }
+ .rela.plt ${RELOCATING-0} :
+ {
+ *(.rela.plt)
+ ${IREL_IN_PLT+${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rela_iplt_start = .);}}}
+ ${IREL_IN_PLT+${RELOCATING+*(.rela.iplt)}}
+ ${IREL_IN_PLT+${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__rela_iplt_end = .);}}}
+ }
+ ${OTHER_PLT_RELOC_SECTIONS}
+EOF
+
+emit_dyn()
+{
+ if test -z "${NO_REL_RELOCS}${NO_RELA_RELOCS}"; then
+ cat ldscripts/dyntmp.$$
+ else
+ if test -z "${NO_REL_RELOCS}"; then
+ sed -e '/^[ ]*\.rela\.[^}]*$/,/}/d;/^[ ]*\.rela\./d;/__rela_iplt_/d' ldscripts/dyntmp.$$
+ fi
+ if test -z "${NO_RELA_RELOCS}"; then
+ sed -e '/^[ ]*\.rel\.[^}]*$/,/}/d;/^[ ]*\.rel\./d;/__rel_iplt_/d' ldscripts/dyntmp.$$
+ fi
+ fi
+ rm -f ldscripts/dyntmp.$$
+}
+
+test -n "${NON_ALLOC_DYN}${SEPARATE_CODE}" || emit_dyn
+
+cat <<EOF
+ .init ${RELOCATING-0} :
+ {
+ ${RELOCATING+${INIT_START}}
+ KEEP (*(SORT_NONE(.init)))
+ ${RELOCATING+${INIT_END}}
+ } ${FILL}
+
+ ${TEXT_PLT+${PLT_NEXT_DATA-${PLT}}}
+ ${TINY_READONLY_SECTION}
+ .text ${RELOCATING-0} :
+ {
+ ${RELOCATING+${TEXT_START_SYMBOLS}}
+ ${RELOCATING+*(.text.unlikely .text.*_unlikely .text.unlikely.*)}
+ ${RELOCATING+*(.text.exit .text.exit.*)}
+ ${RELOCATING+*(.text.startup .text.startup.*)}
+ ${RELOCATING+*(.text.hot .text.hot.*)}
+ *(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*})
+ /* .gnu.warning sections are handled specially by elf32.em. */
+ *(.gnu.warning)
+ ${RELOCATING+${OTHER_TEXT_SECTIONS}}
+ } ${FILL}
+ .fini ${RELOCATING-0} :
+ {
+ ${RELOCATING+${FINI_START}}
+ KEEP (*(SORT_NONE(.fini)))
+ ${RELOCATING+${FINI_END}}
+ } ${FILL}
+ ${RELOCATING+PROVIDE (__${ETEXT_NAME} = .);}
+ ${RELOCATING+PROVIDE (_${ETEXT_NAME} = .);}
+ ${RELOCATING+PROVIDE (${ETEXT_NAME} = .);}
+EOF
+
+if test -n "${SEPARATE_CODE}"; then
+ if test -n "${RODATA_ADDR}"; then
+ RODATA_ADDR="\
+SEGMENT_START(\"rodata-segment\", ${RODATA_ADDR}) + SIZEOF_HEADERS"
+ else
+ RODATA_ADDR="ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))"
+ RODATA_ADDR="SEGMENT_START(\"rodata-segment\", ${RODATA_ADDR})"
+ fi
+ if test -n "${SHLIB_RODATA_ADDR}"; then
+ SHLIB_RODATA_ADDR="\
+SEGMENT_START(\"rodata-segment\", ${SHLIB_RODATA_ADDR}) + SIZEOF_HEADERS"
+ else
+ SHLIB_RODATA_ADDR="SEGMENT_START(\"rodata-segment\", ${SHLIB_RODATA_ADDR})"
+ SHLIB_RODATA_ADDR="ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))"
+ fi
+ cat <<EOF
+ /* Adjust the address for the rodata segment. We want to adjust up to
+ the same address within the page on the next page up. */
+ ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+. = ${RODATA_ADDR};}}}
+ ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_RODATA_ADDR};}}
+ ${CREATE_PIE+${RELOCATING+. = ${SHLIB_RODATA_ADDR};}}
+EOF
+ emit_early_ro
+ emit_dyn
+fi
+
+cat <<EOF
+ ${WRITABLE_RODATA-${RODATA}}
+ .${RODATA_NAME}1 ${RELOCATING-0} : { *(.${RODATA_NAME}1) }
+ ${CREATE_SHLIB-${SDATA2}}
+ ${CREATE_SHLIB-${SBSS2}}
+ ${OTHER_READONLY_SECTIONS}
+ .eh_frame_hdr : { *(.eh_frame_hdr) }
+ .eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
+ .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table
+ .gcc_except_table.*) }
+ /* These sections are generated by the Sun/Oracle C++ compiler. */
+ .exception_ranges ${RELOCATING-0} : ONLY_IF_RO { *(.exception_ranges
+ .exception_ranges*) }
+ ${TEXT_PLT+${PLT_NEXT_DATA+${PLT}}}
+
+ /* Adjust the address for the data segment. We want to adjust up to
+ the same address within the page on the next page up. */
+ ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+. = ${DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}}
+ ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
+ ${CREATE_PIE+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
+
+ /* Exception handling */
+ .eh_frame ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) }
+ .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
+ .exception_ranges ${RELOCATING-0} : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) }
+
+ /* Thread Local Storage sections */
+ .tdata ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
+ .tbss ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
+
+ .preinit_array ${RELOCATING-0} :
+ {
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_start = .);}}
+ KEEP (*(.preinit_array))
+ ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_end = .);}}
+ }
+ ${RELOCATING+${INIT_ARRAY}}
+ ${RELOCATING+${FINI_ARRAY}}
+ ${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}}
+ ${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}}
+ .jcr ${RELOCATING-0} : { KEEP (*(.jcr)) }
+
+ ${RELOCATING+${DATARELRO}}
+ ${OTHER_RELRO_SECTIONS}
+ ${TEXT_DYNAMIC-${DYNAMIC}}
+ ${DATA_GOT+${RELRO_NOW+${GOT}}}
+ ${DATA_GOT+${RELRO_NOW+${GOTPLT}}}
+ ${DATA_GOT+${RELRO_NOW-${SEPARATE_GOTPLT+${GOT}}}}
+ ${RELOCATING+${DATA_SEGMENT_RELRO_END}}
+ ${INITIAL_READWRITE_SECTIONS}
+ ${DATA_GOT+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}}
+ ${DATA_GOT+${RELRO_NOW-${GOTPLT}}}
+
+ ${DATA_PLT+${PLT_BEFORE_GOT-${PLT}}}
+
+ /* For _SDA_BASE_ aligment. */
+ ${RELOCATING+. = ALIGN(4);}
+
+ .data ${RELOCATING-0} :
+ {
+ ${RELOCATING+${DATA_START_SYMBOLS}}
+ *(.data${RELOCATING+ .data.* .gnu.linkonce.d.*})
+ ${CONSTRUCTING+SORT(CONSTRUCTORS)}
+ }
+ .data1 ${RELOCATING-0} : { *(.data1) }
+ ${WRITABLE_RODATA+${RODATA}}
+ ${OTHER_READWRITE_SECTIONS}
+ ${SMALL_DATA_CTOR+${RELOCATING+${CTOR}}}
+ ${SMALL_DATA_DTOR+${RELOCATING+${DTOR}}}
+ ${RELOCATING+. = ALIGN(4);}
+ ${DATA_PLT+${PLT_BEFORE_GOT+${PLT}}}
+ ${SDATA_GOT+${RELOCATING+${OTHER_GOT_SYMBOLS+. = .; ${OTHER_GOT_SYMBOLS}}}}
+ ${SDATA_GOT+${GOT}}
+ ${SDATA_GOT+${OTHER_GOT_SECTIONS}}
+ ${SDATA}
+ ${OTHER_SDATA_SECTIONS}
+ ${RELOCATING+. = ALIGN(4);}
+ ${RELOCATING+${DATA_END_SYMBOLS-${USER_LABEL_PREFIX}_edata = .; PROVIDE (${USER_LABEL_PREFIX}edata = .);}}
+ ${RELOCATING+. = .;}
+ ${RELOCATING+${USER_LABEL_PREFIX}__bss_start = .;}
+ ${RELOCATING+${OTHER_BSS_SYMBOLS}}
+ ${SBSS}
+ ${BSS_PLT+${PLT}}
+ .${BSS_NAME} ${RELOCATING-0} :
+ {
+ *(.dyn${BSS_NAME})
+ *(.${BSS_NAME}${RELOCATING+ .${BSS_NAME}.* .gnu.linkonce.b.*})
+ *(COMMON)
+ /* Align here to ensure that the .bss section occupies space up to
+ _end. Align after .bss to ensure correct alignment even if the
+ .bss section disappears because there are no input sections.
+ FIXME: Why do we need it? When there is no .bss section, we don't
+ pad the .data section. */
+ ${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
+ }
+ ${OTHER_BSS_SECTIONS}
+ ${LARGE_BSS_AFTER_BSS+${LARGE_BSS}}
+ ${RELOCATING+_end = .;}
+ ${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
+ ${RELOCATING+. = ALIGN(${ALIGNMENT});}
+EOF
+
+LARGE_DATA_ADDR=". = SEGMENT_START(\"ldata-segment\", ${LARGE_DATA_ADDR-.});"
+SHLIB_LARGE_DATA_ADDR=". = SEGMENT_START(\"ldata-segment\", ${SHLIB_LARGE_DATA_ADDR-.});"
+
+ cat <<EOF
+ ${RELOCATING+${CREATE_SHLIB-${CREATE_PIE-${LARGE_DATA_ADDR}}}}
+ ${RELOCATING+${CREATE_SHLIB+${SHLIB_LARGE_DATA_ADDR}}}
+ ${RELOCATING+${CREATE_PIE+${SHLIB_LARGE_DATA_ADDR}}}
+ ${LARGE_SECTIONS}
+ ${LARGE_BSS_AFTER_BSS-${LARGE_BSS}}
+ ${RELOCATING+. = ALIGN(${ALIGNMENT});}
+ ${RELOCATING+${OTHER_END_SYMBOLS}}
+ ${RELOCATING+${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .; PROVIDE (${USER_LABEL_PREFIX}end = .);}}
+ ${RELOCATING+${DATA_SEGMENT_END}}
+EOF
+
+test -z "${NON_ALLOC_DYN}" || emit_dyn
+
+cat <<EOF
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+
+ .comment 0 : { *(.comment) }
+
+EOF
+
+. $srcdir/scripttempl/DWARF.sc
+
+cat <<EOF
+
+ ${TINY_DATA_SECTION}
+ ${TINY_BSS_SECTION}
+
+ ${STACK_ADDR+${STACK}}
+ ${ATTRS_SECTIONS}
+ ${OTHER_SECTIONS}
+ ${RELOCATING+${OTHER_SYMBOLS}}
+ ${RELOCATING+${DISCARDED}}
+}
+EOF
diff --git a/binutils-2.25/ld/scripttempl/nw.sc b/binutils-2.25/ld/scripttempl/nw.sc
index 3fb9bce1..234a3cd6 100644
--- a/binutils-2.25/ld/scripttempl/nw.sc
+++ b/binutils-2.25/ld/scripttempl/nw.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - four byte opcode for no-op (defaults to 0)
@@ -20,12 +25,20 @@
# When adding sections, do note that the names of some sections are used
# when specifying the start address of the next.
#
+
test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
test "$LD_FLAG" = "N" && DATA_ADDR=.
INTERP=".interp ${RELOCATING-0} : { *(.interp) }"
PLT=".plt ${RELOCATING-0} : { *(.plt) }"
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/or32.sc b/binutils-2.25/ld/scripttempl/or32.sc
deleted file mode 100644
index 2825b1e8..00000000
--- a/binutils-2.25/ld/scripttempl/or32.sc
+++ /dev/null
@@ -1,37 +0,0 @@
-cat <<EOF
-OUTPUT_FORMAT("${OUTPUT_FORMAT}")
-${LIB_SEARCH_DIRS}
-
-SECTIONS
-{
- .text : {
- *(.text)
- ${RELOCATING+ __etext = .};
- ${CONSTRUCTING+ __CTOR_LIST__ = .;}
- ${CONSTRUCTING+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)}
- ${CONSTRUCTING+ *(.ctors)}
- ${CONSTRUCTING+ LONG(0)}
- ${CONSTRUCTING+ __CTOR_END__ = .;}
- ${CONSTRUCTING+ __DTOR_LIST__ = .;}
- ${CONSTRUCTING+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)}
- ${CONSTRUCTING+ *(.dtors)}
- ${CONSTRUCTING+ LONG(0)}
- ${CONSTRUCTING+ __DTOR_END__ = .;}
- *(.lit)
- *(.shdata)
- }
- .shbss SIZEOF(.text) + ADDR(.text) : {
- *(.shbss)
- }
- .data : {
- *(.data)
- ${RELOCATING+ __edata = .};
- }
- .bss SIZEOF(.data) + ADDR(.data) :
- {
- *(.bss)
- *(COMMON)
- ${RELOCATING+ __end = ALIGN(0x8)};
- }
-}
-EOF
diff --git a/binutils-2.25/ld/scripttempl/pe.sc b/binutils-2.25/ld/scripttempl/pe.sc
index 59ce0420..7c9fc880 100644
--- a/binutils-2.25/ld/scripttempl/pe.sc
+++ b/binutils-2.25/ld/scripttempl/pe.sc
@@ -1,4 +1,10 @@
# Linker script for PE.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
if test -z "${RELOCATEABLE_OUTPUT_FORMAT}"; then
RELOCATEABLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
@@ -39,12 +45,14 @@ if test "${RELOCATING}"; then
R_CRT_XP='*(SORT(.CRT$XP*)) /* Pre-termination */'
R_CRT_XT='*(SORT(.CRT$XT*)) /* Termination */'
R_TLS='
- *(.tls$AAA)
+ *(.tls$AAA)
*(.tls)
*(.tls$)
*(SORT(.tls$*))
*(.tls$ZZZ)'
- R_RSRC='*(SORT(.rsrc$*))'
+ R_RSRC='
+ *(.rsrc)
+ *(.rsrc$*)'
else
R_TEXT=
R_DATA=
@@ -53,10 +61,16 @@ else
R_IDATA5=
R_IDATA67=
R_CRT=
- R_RSRC=
+ R_RSRC='*(.rsrc)'
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
${RELOCATING+OUTPUT_FORMAT(${OUTPUT_FORMAT})}
${RELOCATING-OUTPUT_FORMAT(${RELOCATEABLE_OUTPUT_FORMAT})}
${OUTPUT_ARCH+OUTPUT_ARCH(${OUTPUT_ARCH})}
@@ -69,7 +83,7 @@ SECTIONS
${RELOCATING+ lower than the target page size. */}
${RELOCATING+. = SIZEOF_HEADERS;}
${RELOCATING+. = ALIGN(__section_alignment__);}
- .text ${RELOCATING+ __image_base__ + ( __section_alignment__ < ${TARGET_PAGE_SIZE} ? . : __section_alignment__ )} :
+ .text ${RELOCATING+ __image_base__ + ( __section_alignment__ < ${TARGET_PAGE_SIZE} ? . : __section_alignment__ )} :
{
${RELOCATING+ *(.init)}
*(.text)
@@ -78,9 +92,9 @@ SECTIONS
${RELOCATING+ *(.gnu.linkonce.t.*)}
*(.glue_7t)
*(.glue_7)
- ${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
+ ${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*)); LONG (0); }
- ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
+ ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*)); LONG (0); }
${RELOCATING+ *(.fini)}
/* ??? Why is .gcc_exc here? */
@@ -96,7 +110,7 @@ SECTIONS
breaks building the cygwin32 dll. Instead, we name the section
".data_cygwin_nocopy" and explicitly include it after __data_end__. */
- .data ${RELOCATING+BLOCK(__section_alignment__)} :
+ .data ${RELOCATING+BLOCK(__section_alignment__)} :
{
${RELOCATING+__data_start__ = . ;}
*(.data)
@@ -201,14 +215,13 @@ SECTIONS
${RELOCATING+ __end__ = .;}
}
- .rsrc ${RELOCATING+BLOCK(__section_alignment__)} :
- {
- *(.rsrc)
+ .rsrc ${RELOCATING+BLOCK(__section_alignment__)} : SUBALIGN(4)
+ {
${R_RSRC}
}
.reloc ${RELOCATING+BLOCK(__section_alignment__)} :
- {
+ {
*(.reloc)
}
@@ -226,7 +239,7 @@ SECTIONS
Symbols in the DWARF debugging sections are relative to the beginning
of the section. Unlike other targets that fake this by putting the
section VMA at 0, the PE format will not allow it. */
-
+
/* DWARF 1.1 and DWARF 2. */
.debug_aranges ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
{
diff --git a/binutils-2.25/ld/scripttempl/pep.sc b/binutils-2.25/ld/scripttempl/pep.sc
index 884baaf2..71f9b48b 100644
--- a/binutils-2.25/ld/scripttempl/pep.sc
+++ b/binutils-2.25/ld/scripttempl/pep.sc
@@ -1,4 +1,10 @@
# Linker script for PE.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
if test -z "${RELOCATEABLE_OUTPUT_FORMAT}"; then
RELOCATEABLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
@@ -39,12 +45,14 @@ if test "${RELOCATING}"; then
R_CRT_XP='*(SORT(.CRT$XP*)) /* Pre-termination */'
R_CRT_XT='*(SORT(.CRT$XT*)) /* Termination */'
R_TLS='
- *(.tls$AAA)
+ *(.tls$AAA)
*(.tls)
*(.tls$)
*(SORT(.tls$*))
*(.tls$ZZZ)'
- R_RSRC='*(SORT(.rsrc$*))'
+ R_RSRC='
+ *(.rsrc)
+ *(.rsrc$*)'
else
R_TEXT=
R_DATA=
@@ -53,10 +61,16 @@ else
R_IDATA5=
R_IDATA67=
R_CRT=
- R_RSRC=
+ R_RSRC='*(.rsrc)'
fi
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
${RELOCATING+OUTPUT_FORMAT(${OUTPUT_FORMAT})}
${RELOCATING-OUTPUT_FORMAT(${RELOCATEABLE_OUTPUT_FORMAT})}
${OUTPUT_ARCH+OUTPUT_ARCH(${OUTPUT_ARCH})}
@@ -69,7 +83,7 @@ SECTIONS
${RELOCATING+ lower than the target page size. */}
${RELOCATING+. = SIZEOF_HEADERS;}
${RELOCATING+. = ALIGN(__section_alignment__);}
- .text ${RELOCATING+ __image_base__ + ( __section_alignment__ < ${TARGET_PAGE_SIZE} ? . : __section_alignment__ )} :
+ .text ${RELOCATING+ __image_base__ + ( __section_alignment__ < ${TARGET_PAGE_SIZE} ? . : __section_alignment__ )} :
{
${RELOCATING+ *(.init)}
*(.text)
@@ -79,9 +93,9 @@ SECTIONS
*(.glue_7t)
*(.glue_7)
${CONSTRUCTING+. = ALIGN(8);}
- ${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
+ ${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
LONG (-1); LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*)); LONG (0); LONG (0); }
- ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
+ ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
LONG (-1); LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*)); LONG (0); LONG (0); }
${RELOCATING+ *(.fini)}
/* ??? Why is .gcc_exc here? */
@@ -96,7 +110,7 @@ SECTIONS
breaks building the cygwin32 dll. Instead, we name the section
".data_cygwin_nocopy" and explicitly include it after __data_end__. */
- .data ${RELOCATING+BLOCK(__section_alignment__)} :
+ .data ${RELOCATING+BLOCK(__section_alignment__)} :
{
${RELOCATING+__data_start__ = . ;}
*(.data)
@@ -206,14 +220,13 @@ SECTIONS
${RELOCATING+ __end__ = .;}
}
- .rsrc ${RELOCATING+BLOCK(__section_alignment__)} :
- {
- *(.rsrc)
+ .rsrc ${RELOCATING+BLOCK(__section_alignment__)} : SUBALIGN(4)
+ {
${R_RSRC}
}
.reloc ${RELOCATING+BLOCK(__section_alignment__)} :
- {
+ {
*(.reloc)
}
@@ -231,7 +244,7 @@ SECTIONS
Symbols in the DWARF debugging sections are relative to the beginning
of the section. Unlike other targets that fake this by putting the
section VMA at 0, the PE format will not allow it. */
-
+
/* DWARF 1.1 and DWARF 2. */
.debug_aranges ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} :
{
diff --git a/binutils-2.25/ld/scripttempl/pj.sc b/binutils-2.25/ld/scripttempl/pj.sc
index 93981a59..dcaa89f2 100644
--- a/binutils-2.25/ld/scripttempl/pj.sc
+++ b/binutils-2.25/ld/scripttempl/pj.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS=".tors :
{
___ctors = . ;
@@ -9,6 +15,12 @@ TORS=".tors :
} > ram"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/ppcpe.sc b/binutils-2.25/ld/scripttempl/ppcpe.sc
index 182fbe55..f67cab81 100644
--- a/binutils-2.25/ld/scripttempl/ppcpe.sc
+++ b/binutils-2.25/ld/scripttempl/ppcpe.sc
@@ -2,11 +2,25 @@
# Loosely based on Steve Chamberlain's pe.sc.
# All new mistakes should be credited to Kim Knuttila (krk@cygnus.com)
#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+#
# These are substituted in as variables in order to get '}' in a shell
# conditional expansion.
+
INIT='.init : { *(.init) }'
FINI='.fini : { *(.fini) }'
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT(${OUTPUT_FORMAT})
${LIB_SEARCH_DIRS}
diff --git a/binutils-2.25/ld/scripttempl/psos.sc b/binutils-2.25/ld/scripttempl/psos.sc
index ab8c6c7e..ffaee3c0 100644
--- a/binutils-2.25/ld/scripttempl/psos.sc
+++ b/binutils-2.25/ld/scripttempl/psos.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT(${OUTPUT_FORMAT})
OUTPUT_ARCH(${ARCH})
${RELOCATING+${LIB_SEARCH_DIRS}}
diff --git a/binutils-2.25/ld/scripttempl/riscix.sc b/binutils-2.25/ld/scripttempl/riscix.sc
index c801a0c4..966ae8f6 100644
--- a/binutils-2.25/ld/scripttempl/riscix.sc
+++ b/binutils-2.25/ld/scripttempl/riscix.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/sh.sc b/binutils-2.25/ld/scripttempl/sh.sc
index e7f049fb..b51ff020 100644
--- a/binutils-2.25/ld/scripttempl/sh.sc
+++ b/binutils-2.25/ld/scripttempl/sh.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS=".tors :
{
___ctors = . ;
@@ -9,6 +15,12 @@ TORS=".tors :
} > ram"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/sparccoff.sc b/binutils-2.25/ld/scripttempl/sparccoff.sc
index 309aa836..b573b6bf 100644
--- a/binutils-2.25/ld/scripttempl/sparccoff.sc
+++ b/binutils-2.25/ld/scripttempl/sparccoff.sc
@@ -1,7 +1,21 @@
# Linker script for Sparc COFF.
# Based on i386coff.sc by Ian Taylor <ian@cygnus.com>.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
test -z "$ENTRY" && ENTRY=_start
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
diff --git a/binutils-2.25/ld/scripttempl/st2000.sc b/binutils-2.25/ld/scripttempl/st2000.sc
index 7ee132a8..c24b4c66 100644
--- a/binutils-2.25/ld/scripttempl/st2000.sc
+++ b/binutils-2.25/ld/scripttempl/st2000.sc
@@ -1,8 +1,19 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
-
SECTIONS
{
.text :
@@ -15,9 +26,7 @@ SECTIONS
*(.bss)
*(COMMON)
_end = .;
-
-}
-
+ }
}
EOF
diff --git a/binutils-2.25/ld/scripttempl/tic30aout.sc b/binutils-2.25/ld/scripttempl/tic30aout.sc
index 28baed37..2a57f1eb 100644
--- a/binutils-2.25/ld/scripttempl/tic30aout.sc
+++ b/binutils-2.25/ld/scripttempl/tic30aout.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/tic30coff.sc b/binutils-2.25/ld/scripttempl/tic30coff.sc
index df2d4f73..a0756c73 100644
--- a/binutils-2.25/ld/scripttempl/tic30coff.sc
+++ b/binutils-2.25/ld/scripttempl/tic30coff.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH("${OUTPUT_ARCH}")
@@ -12,47 +24,46 @@ MEMORY
SECTIONS
{
-.vectors 0x00000000 :
-{
- *(vectors)
-}
-
-.text :
-{
- *(.text)
-} > rom
+ .vectors 0x00000000 :
+ {
+ *(vectors)
+ }
-.const :
-{
- *(.const)
- __etext = . ;
-} > rom
+ .text :
+ {
+ *(.text)
+ } > rom
-.mdata : AT( ADDR(.const) + SIZEOF(.const) )
-{
- __data = . ;
- *(.data);
- __edata = . ;
-} > ram
+ .const :
+ {
+ *(.const)
+ __etext = . ;
+ } > rom
-.bss :
-{
- __bss = . ;
- *(.bss);
- *(COMMON);
- __ebss = . ;
-} > ram
+ .mdata : AT( ADDR(.const) + SIZEOF(.const) )
+ {
+ __data = . ;
+ *(.data);
+ __edata = . ;
+ } > ram
-.ram0 :
-{
- *(ram0)
-} > ramblk0
+ .bss :
+ {
+ __bss = . ;
+ *(.bss);
+ *(COMMON);
+ __ebss = . ;
+ } > ram
-.ram1 :
-{
- *(ram1)
-} > ramblk1
+ .ram0 :
+ {
+ *(ram0)
+ } > ramblk0
+ .ram1 :
+ {
+ *(ram1)
+ } > ramblk1
}
EOF
diff --git a/binutils-2.25/ld/scripttempl/tic4xcoff.sc b/binutils-2.25/ld/scripttempl/tic4xcoff.sc
index 83245caa..1e40ccbe 100644
--- a/binutils-2.25/ld/scripttempl/tic4xcoff.sc
+++ b/binutils-2.25/ld/scripttempl/tic4xcoff.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
# In microcomputer (MC) mode, the vectors are mapped into the on-chip ROM,
# otherwise in microprocessor (MP) mode the vectors are mapped to address 0
# on the external bus. In MC mode, the on-chip ROM contains a bootloader program
@@ -70,6 +76,12 @@ cat <<EOF
${RELOCATING+/* Linker script for $OUTPUT_ARCHNAME executable. */}
${RELOCATING-/* Linker script for $OUTPUT_ARCHNAME object file (ld -r). */}
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH("${OUTPUT_ARCH}")
${LIB_SEARCH_DIRS}
diff --git a/binutils-2.25/ld/scripttempl/tic54xcoff.sc b/binutils-2.25/ld/scripttempl/tic54xcoff.sc
index f17b480d..b21af9c8 100644
--- a/binutils-2.25/ld/scripttempl/tic54xcoff.sc
+++ b/binutils-2.25/ld/scripttempl/tic54xcoff.sc
@@ -1,8 +1,21 @@
-# default linker script for c54x, TI COFF(1).
+# Default linker script for c54x, TI COFF(1).
# patterned after description in TI Assembler Tools PDF, SPRU102C, 7-53
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
test -z "$ENTRY" && ENTRY=_c_int00
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH("${OUTPUT_ARCH}")
diff --git a/binutils-2.25/ld/scripttempl/tic80coff.sc b/binutils-2.25/ld/scripttempl/tic80coff.sc
index f28e9049..055c496b 100644
--- a/binutils-2.25/ld/scripttempl/tic80coff.sc
+++ b/binutils-2.25/ld/scripttempl/tic80coff.sc
@@ -1,5 +1,11 @@
# Linker script for TI TMS320C80 (tic80) COFF.
#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+#
# Besides the shell variables set by the emulparams script, and the LD_FLAG
# variable, the genscripts.sh script will set the following variables for each
# time this script is run to generate one of the linker scripts for ldscripts:
@@ -20,6 +26,12 @@ test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x80000 + SIZEOF_HEADERS"
test -z "$ENTRY" && ENTRY=__start
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}
diff --git a/binutils-2.25/ld/scripttempl/v850.sc b/binutils-2.25/ld/scripttempl/v850.sc
index 4af97e43..e4e9e5ff 100644
--- a/binutils-2.25/ld/scripttempl/v850.sc
+++ b/binutils-2.25/ld/scripttempl/v850.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat << EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("elf32-v850", "elf32-v850",
"elf32-v850")
OUTPUT_ARCH(v850)
diff --git a/binutils-2.25/ld/scripttempl/v850_rh850.sc b/binutils-2.25/ld/scripttempl/v850_rh850.sc
index 1b8635fb..3e59263d 100644
--- a/binutils-2.25/ld/scripttempl/v850_rh850.sc
+++ b/binutils-2.25/ld/scripttempl/v850_rh850.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat << EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("elf32-v850-rh850", "elf32-v850-rh850",
"elf32-v850-rh850")
OUTPUT_ARCH(v850-rh850)
diff --git a/binutils-2.25/ld/scripttempl/vanilla.sc b/binutils-2.25/ld/scripttempl/vanilla.sc
index 1798480e..ed786078 100644
--- a/binutils-2.25/ld/scripttempl/vanilla.sc
+++ b/binutils-2.25/ld/scripttempl/vanilla.sc
@@ -1 +1,6 @@
# Nothing to do.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
diff --git a/binutils-2.25/ld/scripttempl/w65.sc b/binutils-2.25/ld/scripttempl/w65.sc
index f92d9994..41467841 100644
--- a/binutils-2.25/ld/scripttempl/w65.sc
+++ b/binutils-2.25/ld/scripttempl/w65.sc
@@ -1,3 +1,9 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
TORS=".tors :
{
___ctors = . ;
@@ -9,6 +15,12 @@ TORS=".tors :
} > ram"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
diff --git a/binutils-2.25/ld/scripttempl/xstormy16.sc b/binutils-2.25/ld/scripttempl/xstormy16.sc
index b2857514..3f73598f 100644
--- a/binutils-2.25/ld/scripttempl/xstormy16.sc
+++ b/binutils-2.25/ld/scripttempl/xstormy16.sc
@@ -1,3 +1,8 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
#
# Unusual variables checked by this code:
# NOP - two byte opcode for no-op (defaults to 0)
@@ -93,6 +98,12 @@ DTOR=" .dtors ${CONSTRUCTING-0} :
} > ROM"
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
"${LITTLE_OUTPUT_FORMAT}")
OUTPUT_ARCH(${OUTPUT_ARCH})
diff --git a/binutils-2.25/ld/scripttempl/z80.sc b/binutils-2.25/ld/scripttempl/z80.sc
index 8c004da8..408a3cb1 100644
--- a/binutils-2.25/ld/scripttempl/z80.sc
+++ b/binutils-2.25/ld/scripttempl/z80.sc
@@ -1,6 +1,18 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
if [ x${LD_FLAG} = x ]
then
cat << EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
/* Create a cp/m executable; load and execute at 0x100. */
OUTPUT_FORMAT("binary")
. = 0x100;
diff --git a/binutils-2.25/ld/scripttempl/z8000.sc b/binutils-2.25/ld/scripttempl/z8000.sc
index b03f5d85..0c5230c3 100644
--- a/binutils-2.25/ld/scripttempl/z8000.sc
+++ b/binutils-2.25/ld/scripttempl/z8000.sc
@@ -1,4 +1,16 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat <<EOF
+/* Copyright (C) 2014 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH("${OUTPUT_ARCH}")
${RELOCATING+ENTRY (_start)}
diff --git a/binutils-2.25/ld/sysdep.h b/binutils-2.25/ld/sysdep.h
index d3495fc1..99caf187 100644
--- a/binutils-2.25/ld/sysdep.h
+++ b/binutils-2.25/ld/sysdep.h
@@ -1,6 +1,5 @@
/* sysdep.h -- handle host dependencies for the GNU linker
- Copyright 1995, 1996, 1997, 1999, 2002, 2003, 2005, 2007, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 1995-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -57,34 +56,12 @@ extern char *strrchr ();
#include <unistd.h>
#endif
-/* for PATH_MAX */
-#ifdef HAVE_LIMITS_H
-#include <limits.h>
-#endif
-/* for MAXPATHLEN */
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#ifdef PATH_MAX
-# define LD_PATHMAX PATH_MAX
-#else
-# ifdef MAXPATHLEN
-# define LD_PATHMAX MAXPATHLEN
-# else
-# define LD_PATHMAX 1024
-# endif
-#endif
-
#ifdef HAVE_REALPATH
# define REALPATH(a,b) realpath (a, b)
#else
# define REALPATH(a,b) NULL
#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
#ifdef USE_BINARY_FOPEN
#include "fopen-bin.h"
#else
diff --git a/binutils-2.25/ld/testplug.c b/binutils-2.25/ld/testplug.c
index 9d6ec967..4dedf958 100644
--- a/binutils-2.25/ld/testplug.c
+++ b/binutils-2.25/ld/testplug.c
@@ -1,5 +1,5 @@
/* Test plugin for the GNU linker.
- Copyright 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/testsuite/ChangeLog b/binutils-2.25/ld/testsuite/ChangeLog
index 788a8e75..e09af2b4 100644
--- a/binutils-2.25/ld/testsuite/ChangeLog
+++ b/binutils-2.25/ld/testsuite/ChangeLog
@@ -1,1386 +1,1092 @@
-2013-10-18 Hans-Peter Nilsson <hp@axis.com>
-
- * ld-cris/asneed1.d: New test.
-
-2013-10-14 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
-
- * ld-mips-elf/attr-gnu-8-0.s, ld-mips-elf/attr-gnu-8-1.s,
- ld-mips-elf/attr-gnu-8-2.s,
- ld-mips-elf/attr-gnu-8-00.d, ld-mips-elf/attr-gnu-8-01.d,
- ld-mips-elf/attr-gnu-8-02.d, ld-mips-elf/attr-gnu-8-10.d,
- ld-mips-elf/attr-gnu-8-11.d, ld-mips-elf/attr-gnu-8-12.d,
- ld-mips-elf/attr-gnu-8-20.d, ld-mips-elf/attr-gnu-8-21.d,
- ld-mips-elf/attr-gnu-8-22.d: New.
- * ld-mips-elf/mips-elf.exp: Run new tests.
-
-2013-10-13 Richard Sandiford <rdsandiford@googlemail.com>
-
- * lib/ld-lib.exp (default_ld_compile): Add a -I option for the source
- directory.
- * ld-mips-elf/compressed-plt-1.ld, ld-mips-elf/compressed-plt-1.s,
- ld-mips-elf/compressed-plt-1-dyn.s, ld-mips-elf/compressed-plt-1a.s,
- ld-mips-elf/compressed-plt-1b.s, ld-mips-elf/compressed-plt-1c.s,
- ld-mips-elf/compressed-plt-1d.s, ld-mips-elf/compressed-plt-1e.s,
- ld-mips-elf/compressed-plt-1-o32-se.rd,
- ld-mips-elf/compressed-plt-1-o32-se.od,
- ld-mips-elf/compressed-plt-1-o32-mips16-only.rd,
- ld-mips-elf/compressed-plt-1-o32-mips16-only.od,
- ld-mips-elf/compressed-plt-1-o32-umips-only.rd,
- ld-mips-elf/compressed-plt-1-o32-umips-only.od,
- ld-mips-elf/compressed-plt-1-o32-mips16.rd,
- ld-mips-elf/compressed-plt-1-o32-mips16.od,
- ld-mips-elf/compressed-plt-1-o32-mips16-got.rd,
- ld-mips-elf/compressed-plt-1-o32-mips16-got.od,
- ld-mips-elf/compressed-plt-1-o32-mips16-word.rd,
- ld-mips-elf/compressed-plt-1-o32-mips16-word.od,
- ld-mips-elf/compressed-plt-1-o32-umips.rd,
- ld-mips-elf/compressed-plt-1-o32-umips.od,
- ld-mips-elf/compressed-plt-1-o32-umips-got.rd,
- ld-mips-elf/compressed-plt-1-o32-umips-got.od,
- ld-mips-elf/compressed-plt-1-o32-umips-word.rd,
- ld-mips-elf/compressed-plt-1-o32-umips-word.od,
- ld-mips-elf/compressed-plt-1-n32-mips16.rd,
- ld-mips-elf/compressed-plt-1-n32-mips16.od,
- ld-mips-elf/compressed-plt-1-n32-umips.rd,
- ld-mips-elf/compressed-plt-1-n32-umips.od: New tests.
- * ld-mips-elf/mips-elf.exp: Run them.
-
-2013-10-13 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ld-mips-elf/pic-and-nonpic-6-n32.ad,
- ld-mips-elf/pic-and-nonpic-6-n32.dd,
- ld-mips-elf/pic-and-nonpic-6-n32.gd,
- ld-mips-elf/pic-and-nonpic-6-n32.nd,
- ld-mips-elf/pic-and-nonpic-6-n32.rd,
- ld-mips-elf/pic-and-nonpic-6-n64.ad,
- ld-mips-elf/pic-and-nonpic-6-n64.dd,
- ld-mips-elf/pic-and-nonpic-6-n64.gd,
- ld-mips-elf/pic-and-nonpic-6-n64.nd,
- ld-mips-elf/pic-and-nonpic-6-n64.rd,
- ld-mips-elf/pic-and-nonpic-6-o32.ad,
- ld-mips-elf/pic-and-nonpic-6-o32.dd,
- ld-mips-elf/pic-and-nonpic-6-o32.gd,
- ld-mips-elf/pic-and-nonpic-6-o32.nd,
- ld-mips-elf/pic-and-nonpic-6-o32.rd: Fix symbol value of extf4.
- No longer expect extf3, extf4 and extd2 to be in the global GOT.
-
-2013-10-03 Will Newton <will.newton@linaro.org>
-
- * ld-ifunc/ifunc.exp: Enable ifunc tests for AArch64.
- * ld-aarch64/aarch64-elf.exp: Run ifunc tests.
- * ld-aarch64/ifunc-1-local.d: New file.
- * ld-aarch64/ifunc-1-local.s: Likewise.
- * ld-aarch64/ifunc-1.d: Likewise.
- * ld-aarch64/ifunc-1.s: Likewise.
- * ld-aarch64/ifunc-10.d: Likewise.
- * ld-aarch64/ifunc-10.s: Likewise.
- * ld-aarch64/ifunc-11.d: Likewise.
- * ld-aarch64/ifunc-11.s: Likewise.
- * ld-aarch64/ifunc-12.d: Likewise.
- * ld-aarch64/ifunc-12.s: Likewise.
- * ld-aarch64/ifunc-13.d: Likewise.
- * ld-aarch64/ifunc-13a.s: Likewise.
- * ld-aarch64/ifunc-13b.s: Likewise.
- * ld-aarch64/ifunc-14a.d: Likewise.
- * ld-aarch64/ifunc-14a.s: Likewise.
- * ld-aarch64/ifunc-14b.d: Likewise.
- * ld-aarch64/ifunc-14b.s: Likewise.
- * ld-aarch64/ifunc-14c.d: Likewise.
- * ld-aarch64/ifunc-14c.s: Likewise.
- * ld-aarch64/ifunc-14d.d: Likewise.
- * ld-aarch64/ifunc-14e.d: Likewise.
- * ld-aarch64/ifunc-14f.d: Likewise.
- * ld-aarch64/ifunc-15.d: Likewise.
- * ld-aarch64/ifunc-15.s: Likewise.
- * ld-aarch64/ifunc-16.d: Likewise.
- * ld-aarch64/ifunc-16.s: Likewise.
- * ld-aarch64/ifunc-17a.d: Likewise.
- * ld-aarch64/ifunc-17a.s: Likewise.
- * ld-aarch64/ifunc-17b.d: Likewise.
- * ld-aarch64/ifunc-17b.s: Likewise.
- * ld-aarch64/ifunc-18a.d: Likewise.
- * ld-aarch64/ifunc-18a.s: Likewise.
- * ld-aarch64/ifunc-18b.d: Likewise.
- * ld-aarch64/ifunc-18b.s: Likewise.
- * ld-aarch64/ifunc-19a.d: Likewise.
- * ld-aarch64/ifunc-19a.s: Likewise.
- * ld-aarch64/ifunc-19b.d: Likewise.
- * ld-aarch64/ifunc-19b.s: Likewise.
- * ld-aarch64/ifunc-2-local.d: Likewise.
- * ld-aarch64/ifunc-2-local.s: Likewise.
- * ld-aarch64/ifunc-2.d: Likewise.
- * ld-aarch64/ifunc-2.s: Likewise.
- * ld-aarch64/ifunc-20.d: Likewise.
- * ld-aarch64/ifunc-20.s: Likewise.
- * ld-aarch64/ifunc-3.s: Likewise.
- * ld-aarch64/ifunc-3a.d: Likewise.
- * ld-aarch64/ifunc-3b.d: Likewise.
- * ld-aarch64/ifunc-4.d: Likewise.
- * ld-aarch64/ifunc-4.s: Likewise.
- * ld-aarch64/ifunc-4a.d: Likewise.
- * ld-aarch64/ifunc-5-local.s: Likewise.
- * ld-aarch64/ifunc-5.s: Likewise.
- * ld-aarch64/ifunc-5a-local.d: Likewise.
- * ld-aarch64/ifunc-5a.d: Likewise.
- * ld-aarch64/ifunc-5b-local.d: Likewise.
- * ld-aarch64/ifunc-5b.d: Likewise.
- * ld-aarch64/ifunc-5r-local.d: Likewise.
- * ld-aarch64/ifunc-6.s: Likewise.
- * ld-aarch64/ifunc-6a.d: Likewise.
- * ld-aarch64/ifunc-6b.d: Likewise.
- * ld-aarch64/ifunc-7.s: Likewise.
- * ld-aarch64/ifunc-7a.d: Likewise.
- * ld-aarch64/ifunc-7b.d: Likewise.
- * ld-aarch64/ifunc-7c.d: Likewise.
- * ld-aarch64/ifunc-8.d: Likewise.
- * ld-aarch64/ifunc-8a.s: Likewise.
- * ld-aarch64/ifunc-8b.s: Likewise.
- * ld-aarch64/ifunc-9.d: Likewise.
- * ld-aarch64/ifunc-9.s: Likewise.
-
-2013-09-24 Gregory Fong <gregory.0xf0@gmail.com>
-
- * ld-mips-elf/eh-frame5.d, ld-mips-elf/jalx-2.dd,
- ld-mips-elf/mips-elf.exp, ld-mips-elf/mips16-pic-2.ad,
- ld-mips-elf/mips16-pic-2.nd, ld-mips-elf/pic-and-nonpic-3a.dd,
- ld-mips-elf/pic-and-nonpic-3b.ad, ld-mips-elf/pic-and-nonpic-3b.dd,
- ld-mips-elf/pic-and-nonpic-3b.nd, ld-mips-elf/pic-and-nonpic-4b.ad,
- ld-mips-elf/pic-and-nonpic-4b.nd, ld-mips-elf/pic-and-nonpic-4b.rd,
- ld-mips-elf/pic-and-nonpic-5b.ad, ld-mips-elf/pic-and-nonpic-5b.nd,
- ld-mips-elf/pic-and-nonpic-6-n32.ad,
- ld-mips-elf/pic-and-nonpic-6-n32.dd,
- ld-mips-elf/pic-and-nonpic-6-n32.nd,
- ld-mips-elf/pic-and-nonpic-6-n64.ad,
- ld-mips-elf/pic-and-nonpic-6-n64.dd,
- ld-mips-elf/pic-and-nonpic-6-n64.nd,
- ld-mips-elf/pic-and-nonpic-6-o32.ad,
- ld-mips-elf/pic-and-nonpic-6-o32.dd,
- ld-mips-elf/pic-and-nonpic-6-o32.nd, ld-mips-elf/rel32-n32.d,
- ld-mips-elf/rel32-o32.d, ld-mips-elf/rel64.d,
- ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tls-multi-got-1.r,
- ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got,
- ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got,
- ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got,
- ld-mips-elf/tlsdyn-o32.d, ld-mips-elf/tlsdyn-o32.got,
- ld-mips-elf/tlslib-o32-ver.got, ld-mips-elf/tlslib-o32.got: Update
- for removal of _GLOBAL_OFFSET_TABLE_ from .dynsym.
-
-2013-09-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ld-aarch64/eh-frame.d: Update expected output to allow for
- 64-bit addresses.
-
-2013-09-12 Nick Clifton <nickc@redhat.com>
-
- * ld-elf/eh1.d: Update expected output to allow for
- 64-bit addresses.
- * ld-elf/eh2.d: Likewise.
- * ld-elf/eh3.d: Likewise.
- * ld-elf/eh4.d: Likewise.
- * ld-elf/eh5.d: Likewise.
- * ld-elf/eh6.d: Likewise.
+2014-11-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-x86-64/mpx.exp: Always run mpx3 and mpx4 tests in 64-bit.
+
+2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ * ld-x86-64/bnd-ifunc-1.d: Add bndplt option.
+ * ld-x86-64/bnd-ifunc-2.d: Likewise.
+ * ld-x86-64/bnd-plt-1.d: Likewise. Update dissassembly sections.
+ * ld-x86-64/mpx.exp: Handle mpx3 and mpx4 tests.
+ * ld-x86-64/mpx1a.rd: Remove _BND from relocation name.
+ * ld-x86-64/mpx1c.rd: Likewise.
+ * ld-x86-64/mpx2a.rd: Likewise.
+ * ld-x86-64/mpx2c.rd: Likewise.
+ * ld-x86-64/mpx3.dd: New file.
+ * ld-x86-64/mpx3a.s: Likewise.
+ * ld-x86-64/mpx3b.s: Likewise.
+ * ld-x86-64/mpx4.dd: Likewise.
+ * ld-x86-64/mpx4a.s: Likewise.
+ * ld-x86-64/mpx4b.s: Likewise.
+
+2014-11-10 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ Apply trunk patch:
+ * ld-mips-elf/abiflags-strip10-ph.d: New file.
+ * ld-mips-elf/mips-eld.exp: Run the new test.
+
+2014-11-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ Apply trunk patch:
+ 2014-11-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/17482
+ * ld-x86-64/tlsie4.dd: Updated.
+
+2014-10-24 Tejas Belagod <tejas.belagod@arm.com>
+
+ * ld-aarch64/aarch64-elf.exp (aarch64elftests): Drive erratum
+ 835769 tests.
+ * ld-aarch64/erratum835769.d: New.
+ * ld-aarch64/erratum835769.s: New.
+
+2014-10-17 Hans-Peter Nilsson <hp@axis.com>
+
+ Backport from master
+ * ld-scripts/sysroot-prefix.exp: Log $ld_sysroot. Handle sysroot
+ == "/" as a separate sysroot-configuration with separable
+ test-types.
+ (sysroot_prefix_tests): Include all existing sysroot tests in
+ sysroot == "/" tests except exclude those where a --sysroot option
+ is not specified.
+ * lib/ld-lib.exp (check_sysroot_available): Rewrite to use
+ --print-sysroot instead of relying on error code from using
+ --sysroot=... Also, set $ld_sysroot.
+
+2014-10-15 Hans-Peter Nilsson <hp@axis.com>
+
+ Backport "="-ldscript-path-prefix changes from master.
+ * ld-scripts/sysroot-prefix.exp, ld-scripts/sysroot-prefix-x.s,
+ ld-scripts/sysroot-prefix-y.s: New files.
+ * lib/ld-lib.exp (check_sysroot_available): New proc.
+
+2014-10-04 Alan Modra <amodra@gmail.com>
+
+ * ld-elf/eh1.s: Don't create FDEs with zero address ranges.
+ * ld-elf/eh3.s: Likewise.
+ * ld-elf/eh1.d, * ld-elf/eh2.d, * ld-elf/eh3.d: Adjust.
+ * ld-mips-elf/eh-frame1-n32.d: Warning match update.
* ld-mips-elf/eh-frame1-n64.d: Likewise.
+ * ld-mips-elf/eh-frame2-n32.d: Likewise.
* ld-mips-elf/eh-frame2-n64.d: Likewise.
- * ld-mips-elf/eh-frame3.d: Likewise.
-
-2013-09-04 Vidya Praveen <vidyapraveen@arm.com>
-
- * ld-arm/export-class.exp: Fix the condition.
-
-2013-08-29 Jakub Jelinek <jakub@redhat.com>
-
- * ld-x86-64/x86-64.exp: Add tlsld3, tlsgd7 and tlsgd8 tests.
- * ld-x86-64/tlspic1.s: Add -mcmodel=large -fpic TLS GD and LD
- sequences.
- * ld-x86-64/tlspic.dd: Adjusted.
- * ld-x86-64/tlspic.rd: Adjusted.
- * ld-x86-64/tlspic-nacl.rd: Adjusted.
- * ld-x86-64/tlsld3.dd: New test.
- * ld-x86-64/tlsld3.s: New file.
- * ld-x86-64/tlsgd7.dd: New test.
- * ld-x86-64/tlsgd7.s: New file.
- * ld-x86-64/tlsgd8.dd: New test.
- * ld-x86-64/tlsgd8.s: New file.
-
-2013-08-26 Roland McGrath <mcgrathr@google.com>
-
- * ld-x86-64/x86-64.exp (Mixed x86_64 and i386 input test 1):
- Loosen string match to admit i386:x86-64*.
- (Mixed x86_64 and i386 input test 2): Likewise.
- * ld-x86-64/ilp32-2.d: Likewise.
- * ld-x86-64/ilp32-3.d: Likewise.
- * ld-x86-64/lp64-2.d: Likewise.
- * ld-x86-64/lp64-3.d: Likewise.
- * ld-x86-64/ia32-2.d: Likewise, and i386.* too.
- * ld-x86-64/ia32-3.d: Likewise.
-
-2013-08-26 Roland McGrath <mcgrathr@google.com>
-
- * ld-x86-64/ilp32-4-nacl.d: Loosen .shstrtab line regexp to match
- any file offset.
- * ld-x86-64/tlsbin-nacl.rd: Update expected code segment PT_LOAD.
- * ld-x86-64/tlsbindesc-nacl.rd: Likewise.
- * ld-scripts/rgn-at3.d: XFAIL for *-*-nacl* targets.
- * ld-scripts/rgn-over8-ok.d: Likewise.
-
-2013-08-24 Maciej W. Rozycki <macro@linux-mips.org>
-
- * ld-elf/comm-data.exp: Use check_shared_lib_support rather than
- explicit patterns for test target qualification. Define extra
- tool flags for *-*-hpux* and tic6x-*-* targets. Link with a
- linker script. Use alternative patterns for targets that do not
- eliminate copy relocs, currently mn10300-*-* and vax-*-*.
- * ld-elf/comm-data2.s: Handle HPUX's `.comm' syntax.
- * ld-elf/comm-data2.ld: New test linker script.
- * ld-elf/comm-data2.xd: Match section's VMA too. Ignore ASCII
- data dump.
- * ld-elf/comm-data2r.rd: New test pattern.
- * ld-elf/comm-data2r.sd: New test pattern.
- * ld-elf/comm-data2r.xd: New test pattern.
- * ld-mips-elf/comm-data.exp: Use check_shared_lib_support rather
- than an explicit pattern for test target qualification. Link
- with a linker script.
-
-2013-08-24 Maciej W. Rozycki <macro@linux-mips.org>
-
- * ld-arm/export-class.exp: Handle non-EABI targets.
-
-2013-08-23 Roland McGrath <mcgrathr@google.com>
-
- * ld-x86-64/ilp32-4-nacl.d: Update for 2013-05-31 gas alignment change.
- * ld/testsuite/ld-x86-64/tlsbin-nacl.rd: Likewise.
- * ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd: Likewise.
- * ld/testsuite/ld-x86-64/tlsdesc-nacl.rd: Likewise.
- * ld/testsuite/ld-x86-64/tlspic-nacl.rd: Likewise.
-
-2013-08-23 Yuri Chornoivan <yurchor@ukr.net>
-
- PR binutils/15834
- * ld-mips-elf/mips16-pic-1.inc: Fix typos.
-
-2013-08-22 Alan Modra <amodra@gmail.com>
-
- * ld-powerpc/powerpc.exp: Substitute for le in options_regsub(ld).
- Correct ppc64elftests option replacement.
- (supports_ppc64): Match elf64lppc too.
- * ld-powerpc/relbrlt.d: Update for little-endian.
- * ld-powerpc/symtocbase.d: Likewise.
- * ld-powerpc/tls.t: Likewise.
- * ld-powerpc/tlsexetoc.g: Likewise.
- * ld-powerpc/tlsso.d: Likewise.
- * ld-powerpc/tlsso.g: Likewise.
- * ld-powerpc/tlstoc.t: Likewise.
- * ld-powerpc/tlstocso.d: Likewise.
- * ld-powerpc/tlstocso.g: Likewise.
- * ld-powerpc/tlstocso.t: Likewise.
- * ld-powerpc/tocopt.d: Likewise.
- * ld-powerpc/tocopt2.d: Likewise.
- * ld-powerpc/tocopt3.d: Likewise.
- * ld-powerpc/tocopt4.d: Likewise.
- * ld-powerpc/tocopt5.d: Likewise.
-
-2013-08-14 Clemens Lang <clemens.lang@fau.de>
-
- * ld-scripts/log2.exp: New: Run the new log2 test.
- * ld-scripts/log2.s: Source for the new test.
- * ld-scripts/log2.t: Linker script for new test.
-
-2013-08-14 John Tytgat <john@bass-software.com>
-
- PR ld/15787
- * ld-arm/group-relocs-ldr-bad.s: Redefine bar into foo section
- beyond 16 bit offset width.
- * ld-arm/group-relocs-ldrs-bad.s: Likewise.
- * ld-arm/group-relocs-ldr-bad.d: Adjust expected result.
- * ld-arm/group-relocs-ldrs-bad.d: Likewise.
- * ld-arm/group-relocs.s: Add comments. Move symbols used for sb
- group relocations into .data section. Drop section zero. Use pc/r0
- as base register when pc/sb group relocations are used.
- * ld-arm/group-relocs.d: Adjust expected result.
- * ld-arm/group-relocs-alu-bad-2.d: New test for sb group relocation.
- * ld-arm/group-relocs-ldc-bad-2.d: Likewise.
- * ld-arm/group-relocs-ldr-bad-2.d: New test for pc group relocation.
- * ld-arm/group-relocs-ldrs-bad-2.d: Likewise.
- * ld-arm/unresolved-2.d: Add sb relocation failure test.
- * ld-arm/group-relocs-alu-bad-2.s: New test source.
- * ld-arm/group-relocs-ldr-bad-2.s: Likewise.
- * ld-arm/group-relocs-ldrs-bad-2.s: Likewise.
- * ld-arm/group-relocs-ldc-bad-2.s: Likewise.
- * ld-arm/unresolved-2.s: Likewise.
- * ld-arm/arm-elf.exp: For group-relocs, drop section zero start
- definition. Run the new tests.
-
-2013-08-09 Nick Clifton <nickc@redhat.com>
-
- * lib/ld-lib.exp (check_shared_lib_support): Note that the RL78
- does not support shared library generation.
-
-2013-07-31 John Tytgat <john@bass-software.com>
-
- PR ld/15787
- * ld-arm/group-relocs-alu-bad-2.d; New.
- * ld-arm/group-relocs-alu-bad-2.s: New.
- * ld-arm/group-relocs-ldc-bad-2.d: New.
- * ld-arm/group-relocs-ldc-bad-2.s: New.
- * ld-arm/group-relocs-ldr-bad-2.d: New.
- * ld-arm/group-relocs-ldr-bad-2.s: New.
- * ld-arm/group-relocs-ldrs-bad-2.d: New.
- * ld-arm/group-relocs-ldrs-bad-2: New.
- * ld-arm/arm-elf.exp: Add the new tests.
- * ld-arm/group-relocs-ldr-bad.d: Update expected output.
- * ld-arm/group-relocs-ldr-bad.s: Likewise.
- * ld-arm/group-relocs-ldrs-bad.d: Likewise.
- * ld-arm/group-relocs-ldrs-bad.s: Likewise.
- * ld-arm/group-relocs.d: Likewise.
- * ld-arm/group-relocs.s: Likewise.
-
-2013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
-
- * ld-vax-elf/export-class-call.dd: New test.
- * ld-vax-elf/export-class-call.rd: New test.
- * ld-vax-elf/export-class-call.xd: New test.
- * ld-vax-elf/export-class-data.dd: New test.
- * ld-vax-elf/export-class-data.rd: New test.
- * ld-vax-elf/export-class-data.xd: New test.
- * ld-vax-elf/export-class.ld: New test linker script.
- * ld-vax-elf/export-class-call.s: New test source.
- * ld-vax-elf/export-class-data.s: New test source.
- * ld-vax-elf/export-class-def.s: New test source.
- * ld-vax-elf/vax-elf.exp: Run the new tests.
- * ld-vax-elf/vax-export-class.rd: New test.
- * ld-vax-elf/vax-export-class.xd: New test.
- * ld-vax-elf/export-class.exp: New test script.
-
-2013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
-
- * ld-vax-elf/got-local-exe.xd: New test.
- * ld-vax-elf/got-local-lib.xd: New test.
- * ld-vax-elf/got-local-aux.s: New test source.
- * ld-vax-elf/got-local-def.s: New test source.
- * ld-vax-elf/got-local-ref.s: New test source.
- * ld-vax-elf/vax-elf.exp: Run the new tests.
-
-2013-07-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/15762
- * ld-elf/shared.exp (build_tests): Check .gnu.warning section
- in the libbarw.so library.
- * ld-elf/libbarw.rd: New.
-
- * lib/ld-lib.exp (run_cc_link_tests): Support checking on
- output with warning message.
-
-2013-07-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * ld-scripts/script.exp: Use run_dump_test instead of
- ld_simple_link to check the error message.
- * ld-scripts/align-with-input.d: New file.
- * ld-scripts/region-alias-1.d: Likewise.
- * ld-scripts/region-alias-2.d: Likewise.
- * ld-scripts/region-alias-3.d: Likewise.
- * ld-scripts/region-alias-4.d: Likewise.
-
-2013-07-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * ld-scripts/script.exp: Run align with input test.
- * ld-scripts/align-with-input.t: New file.
- * ld-scripts/rgn-at8.d: Likewise.
- * ld-scripts/rgn-at8.t: Likewise.
-
-2013-07-18 Terry Guo <terry.guo@arm.com>
-
- * ld-arm/thumb-b-lks-sym.d: Updated to be more flexible.
- * ld-arm/thumb-bl-lks-sym.d: Likewise.
-
-2013-07-18 Roland McGrath <mcgrathr@google.com>
-
- * ld-arm/farcall-arm-nacl.d: New file.
- * ld-arm/farcall-arm-nacl-pic.d: New file.
- * ld-arm/farcall-data-nacl.d: New file.
- * ld-arm/arm-elf.exp (armeabitests_common): Add extra element to
- "action" lists for those cases to use a different dump file for NaCl
- targets.
- Massage $armeabitests_common to drop the extra element or the one
- before it, depending on [istarget "arm*-*-nacl*"].
-
- * ld-arm/arm-elf.exp (armelftests_common): Move all "Cortex-A8
- erratum fix", Thumb-only and interworking cases to ...
- (armelftests_nonacl): ... here.
- (armeabitests_common): Move all "erratum 760522 fix", Thumb-only
- and interworking cases to ...
- (armeabitests_nonacl): ... here.
-
-2013-07-12 Maciej W. Rozycki <macro@codesourcery.com>
-
- * ld-mips-elf/nan-2008.d: New test.
- * ld-mips-elf/nan-legacy.d: New test.
- * ld-mips-elf/nan-mixed-1.d: New test.
- * ld-mips-elf/nan-mixed-2.d: New test.
- * ld-mips-elf/nan-2008.s: New test source.
- * ld-mips-elf/nan-legacy.s: New test source.
-
-2013-07-03 Marcus Shawcroft <marcus.shawcroft@arm.com>
-
- * ld-aarch64/emit-relocs-309.s: Replace got_prel19 with got.
- * ld-aarch64/gc-relocs-309.s: Likewise.
-
-2013-07-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
-
- * ld-aarch64/gc-plt-relocs.d: Adjust expected .got offsets.
- * ld-aarch64/tls-desc-ie.d: Likewise.
- * ld-aarch64/emit-relocs-311.d: Adjust expected symbol.
- * ld-aarch64/tls-relax-all.d: Likewise.
- * ld-aarch64/tls-relax-gd-ie.d: Likewise.
- * ld-aarch64/tls-relax-gdesc-ie.d: Likewise.
- * ld-aarch64/tls-relax-gdesc-ie-2.d: Likewise.
-
-2013-07-01 H.J. Lu <hongjiu.lu@intel.com>
-
- * ld-x86-64/tlsg.sd: Adjusted.
-
-2013-06-28 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/15685
- * ld-x86-64/tlsg.s: Add a test for R_X86_64_DTPOFF64.
- * ld-x86-64/tlsg.sd: Updated.
-
-2013-06-24 Maciej W. Rozycki <macro@codesourcery.com>
-
- * ld-mips-elf/jalx-2.dd: Update for microMIPS PLT support.
- * ld-mips-elf/pic-and-nonpic-3a.dd: Update for the _MIPS_STUBS_
- magic symbol.
- * ld-mips-elf/pic-and-nonpic-3b.dd: Likewise.
- * ld-mips-elf/pic-and-nonpic-6-n32.dd: Likewise.
- * ld-mips-elf/pic-and-nonpic-6-n64.dd: Likewise.
- * ld-mips-elf/pic-and-nonpic-6-o32.dd: Likewise.
- * ld-mips-elf/stub-dynsym-1-10000.d: Likewise.
- * ld-mips-elf/stub-dynsym-1-2fe80.d: Likewise.
- * ld-mips-elf/stub-dynsym-1-7fff.d: Likewise.
- * ld-mips-elf/stub-dynsym-1-8000.d: Likewise.
- * ld-mips-elf/stub-dynsym-1-fff0.d: Likewise.
- * ld-mips-elf/tlslib-o32.d: Likewise.
-
-2013-06-19 Will Newton <will.newton@linaro.org>
-
- * ld-aarch64/aarch64-elf.exp: Remove ifunc tests.
- * ld-ifunc/ifunc.exp: Disable ifunc tests on AArch64.
- * ld-aarch64/ifunc-1-local.d: Remove.
- * ld-aarch64/ifunc-1-local.s: Likewise.
- * ld-aarch64/ifunc-1.d: Likewise.
- * ld-aarch64/ifunc-1.s: Likewise.
- * ld-aarch64/ifunc-10.d: Likewise.
- * ld-aarch64/ifunc-10.s: Likewise.
- * ld-aarch64/ifunc-11.d: Likewise.
- * ld-aarch64/ifunc-11.s: Likewise.
- * ld-aarch64/ifunc-12.d: Likewise.
- * ld-aarch64/ifunc-12.s: Likewise.
- * ld-aarch64/ifunc-13.d: Likewise.
- * ld-aarch64/ifunc-13a.s: Likewise.
- * ld-aarch64/ifunc-13b.s: Likewise.
- * ld-aarch64/ifunc-14a.d: Likewise.
- * ld-aarch64/ifunc-14a.s: Likewise.
- * ld-aarch64/ifunc-14b.d: Likewise.
- * ld-aarch64/ifunc-14b.s: Likewise.
- * ld-aarch64/ifunc-14c.d: Likewise.
- * ld-aarch64/ifunc-14c.s: Likewise.
- * ld-aarch64/ifunc-14d.d: Likewise.
- * ld-aarch64/ifunc-14e.d: Likewise.
- * ld-aarch64/ifunc-14f.d: Likewise.
- * ld-aarch64/ifunc-15.d: Likewise.
- * ld-aarch64/ifunc-15.s: Likewise.
- * ld-aarch64/ifunc-16.d: Likewise.
- * ld-aarch64/ifunc-16.s: Likewise.
- * ld-aarch64/ifunc-17a.d: Likewise.
- * ld-aarch64/ifunc-17a.s: Likewise.
- * ld-aarch64/ifunc-17b.d: Likewise.
- * ld-aarch64/ifunc-17b.s: Likewise.
- * ld-aarch64/ifunc-18a.d: Likewise.
- * ld-aarch64/ifunc-18a.s: Likewise.
- * ld-aarch64/ifunc-18b.d: Likewise.
- * ld-aarch64/ifunc-18b.s: Likewise.
- * ld-aarch64/ifunc-19a.d: Likewise.
- * ld-aarch64/ifunc-19a.s: Likewise.
- * ld-aarch64/ifunc-19b.d: Likewise.
- * ld-aarch64/ifunc-19b.s: Likewise.
- * ld-aarch64/ifunc-2-local.d: Likewise.
- * ld-aarch64/ifunc-2-local.s: Likewise.
- * ld-aarch64/ifunc-2.d: Likewise.
- * ld-aarch64/ifunc-2.s: Likewise.
- * ld-aarch64/ifunc-20.d: Likewise.
- * ld-aarch64/ifunc-20.s: Likewise.
- * ld-aarch64/ifunc-3.s: Likewise.
- * ld-aarch64/ifunc-3a.d: Likewise.
- * ld-aarch64/ifunc-3b.d: Likewise.
- * ld-aarch64/ifunc-4.d: Likewise.
- * ld-aarch64/ifunc-4.s: Likewise.
- * ld-aarch64/ifunc-4a.d: Likewise.
- * ld-aarch64/ifunc-5-local.s: Likewise.
- * ld-aarch64/ifunc-5.s: Likewise.
- * ld-aarch64/ifunc-5a-local.d: Likewise.
- * ld-aarch64/ifunc-5a.d: Likewise.
- * ld-aarch64/ifunc-5b-local.d: Likewise.
- * ld-aarch64/ifunc-5b.d: Likewise.
- * ld-aarch64/ifunc-5r-local.d: Likewise.
- * ld-aarch64/ifunc-6.s: Likewise.
- * ld-aarch64/ifunc-6a.d: Likewise.
- * ld-aarch64/ifunc-6b.d: Likewise.
- * ld-aarch64/ifunc-7.s: Likewise.
- * ld-aarch64/ifunc-7a.d: Likewise.
- * ld-aarch64/ifunc-7b.d: Likewise.
- * ld-aarch64/ifunc-7c.d: Likewise.
- * ld-aarch64/ifunc-8.d: Likewise.
- * ld-aarch64/ifunc-8a.s: Likewise.
- * ld-aarch64/ifunc-8b.s: Likewise.
- * ld-aarch64/ifunc-9.d: Likewise.
- * ld-aarch64/ifunc-9.s: Likewise.
-
-2013-06-17 Will Newton <will.newton@linaro.org>
-
- * ld-aarch64/ifunc-1-local.d: Enable test on aarch64_be.
- * ld-aarch64/ifunc-1.d: Likewise.
- * ld-aarch64/ifunc-10.d: Likewise.
- * ld-aarch64/ifunc-11.d: Likewise.
- * ld-aarch64/ifunc-12.d: Likewise.
- * ld-aarch64/ifunc-13.d: Likewise.
- * ld-aarch64/ifunc-14a.d: Likewise.
- * ld-aarch64/ifunc-14b.d: Likewise.
- * ld-aarch64/ifunc-14c.d: Likewise.
- * ld-aarch64/ifunc-14d.d: Likewise.
- * ld-aarch64/ifunc-14e.d: Likewise.
- * ld-aarch64/ifunc-14f.d: Likewise.
- * ld-aarch64/ifunc-15.d: Likewise.
- * ld-aarch64/ifunc-16.d: Likewise.
- * ld-aarch64/ifunc-17a.d: Likewise.
- * ld-aarch64/ifunc-17b.d: Likewise.
- * ld-aarch64/ifunc-18a.d: Likewise.
- * ld-aarch64/ifunc-18b.d: Likewise.
- * ld-aarch64/ifunc-19a.d: Likewise.
- * ld-aarch64/ifunc-19b.d: Likewise.
- * ld-aarch64/ifunc-2-local.d: Likewise.
- * ld-aarch64/ifunc-2.d: Likewise.
- * ld-aarch64/ifunc-20.d: Likewise.
- * ld-aarch64/ifunc-3a.d: Likewise.
- * ld-aarch64/ifunc-3b.d: Likewise.
- * ld-aarch64/ifunc-4.d: Likewise.
- * ld-aarch64/ifunc-4a.d: Likewise.
- * ld-aarch64/ifunc-5a-local.d: Likewise.
- * ld-aarch64/ifunc-5a.d: Likewise.
- * ld-aarch64/ifunc-5b-local.d: Likewise.
- * ld-aarch64/ifunc-5b.d: Likewise.
- * ld-aarch64/ifunc-5r-local.d: Likewise.
- * ld-aarch64/ifunc-6a.d: Likewise.
- * ld-aarch64/ifunc-6b.d: Likewise.
- * ld-aarch64/ifunc-7a.d: Likewise.
- * ld-aarch64/ifunc-7b.d: Likewise.
- * ld-aarch64/ifunc-8.d: Likewise.
- * ld-aarch64/ifunc-9.d: Likewise.
- * ld-ifunc/ifunc.exp: Likewise.
-
-2013-06-14 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * ld-aarch64/aarch64-elf.exp: Add 'ifunc-7c'.
- * ld-aarch64/ifunc-7c.d: New test.
-
-2013-06-14 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * ld-aarch64/ifunc-1-local.d: Replace hard-coded immediate offset
- with regexp.
- * ld-aarch64/ifunc-1.d: Likewise.
- * ld-aarch64/ifunc-2-local.d: Likewise.
- * ld-aarch64/ifunc-2.d: Likewise.
- * ld-aarch64/ifunc-3a.d: Likewise.
- * ld-aarch64/ifunc-2-local.s: Change not to declare __GI_foo and foo
- global.
-
-2013-06-13 Terry Guo <terry.guo@arm.com>
-
- PR ld/15302
- * ld-arm/branch-lks-sym.ld: New script.
- * ld-arm/thumb-b-lks-sym.s: New test.
- * ld-arm/thumb-b-lks-sym.d: Expected disassembly.
- * ld-arm/thumb-bl-lks-sym.s: New test.
- * ld-arm/thumb-bl-lks-sym.d: Expected disassembly.
- * ld-arm/arm-elf.exp: Run the new tests.
-
-2013-06-07 Will Newton <will.newton@linaro.org>
-
- * ld-ifunc/ifunc.exp: Enable ifunc tests for AArch64.
- * ld-aarch64/aarch64-elf.exp: Add ifunc tests.
- * ld-aarch64/ifunc-1-local.d: New file.
- * ld-aarch64/ifunc-1-local.s: Likewise.
- * ld-aarch64/ifunc-1.d: Likewise.
- * ld-aarch64/ifunc-1.s: Likewise.
- * ld-aarch64/ifunc-10.d: Likewise.
- * ld-aarch64/ifunc-10.s: Likewise.
- * ld-aarch64/ifunc-11.d: Likewise.
- * ld-aarch64/ifunc-11.s: Likewise.
- * ld-aarch64/ifunc-12.d: Likewise.
- * ld-aarch64/ifunc-12.s: Likewise.
- * ld-aarch64/ifunc-13.d: Likewise.
- * ld-aarch64/ifunc-13a.s: Likewise.
- * ld-aarch64/ifunc-13b.s: Likewise.
- * ld-aarch64/ifunc-14a.d: Likewise.
- * ld-aarch64/ifunc-14a.s: Likewise.
- * ld-aarch64/ifunc-14b.d: Likewise.
- * ld-aarch64/ifunc-14b.s: Likewise.
- * ld-aarch64/ifunc-14c.d: Likewise.
- * ld-aarch64/ifunc-14c.s: Likewise.
- * ld-aarch64/ifunc-14d.d: Likewise.
- * ld-aarch64/ifunc-14e.d: Likewise.
- * ld-aarch64/ifunc-14f.d: Likewise.
- * ld-aarch64/ifunc-15.d: Likewise.
- * ld-aarch64/ifunc-15.s: Likewise.
- * ld-aarch64/ifunc-16.d: Likewise.
- * ld-aarch64/ifunc-16.s: Likewise.
- * ld-aarch64/ifunc-17a.d: Likewise.
- * ld-aarch64/ifunc-17a.s: Likewise.
- * ld-aarch64/ifunc-17b.d: Likewise.
- * ld-aarch64/ifunc-17b.s: Likewise.
- * ld-aarch64/ifunc-18a.d: Likewise.
- * ld-aarch64/ifunc-18a.s: Likewise.
- * ld-aarch64/ifunc-18b.d: Likewise.
- * ld-aarch64/ifunc-18b.s: Likewise.
- * ld-aarch64/ifunc-19a.d: Likewise.
- * ld-aarch64/ifunc-19a.s: Likewise.
- * ld-aarch64/ifunc-19b.d: Likewise.
- * ld-aarch64/ifunc-19b.s: Likewise.
- * ld-aarch64/ifunc-2-local.d: Likewise.
- * ld-aarch64/ifunc-2-local.s: Likewise.
- * ld-aarch64/ifunc-2.d: Likewise.
- * ld-aarch64/ifunc-2.s: Likewise.
- * ld-aarch64/ifunc-20.d: Likewise.
- * ld-aarch64/ifunc-20.s: Likewise.
- * ld-aarch64/ifunc-3.s: Likewise.
- * ld-aarch64/ifunc-3a.d: Likewise.
- * ld-aarch64/ifunc-3b.d: Likewise.
- * ld-aarch64/ifunc-4.d: Likewise.
- * ld-aarch64/ifunc-4.s: Likewise.
- * ld-aarch64/ifunc-4a.d: Likewise.
- * ld-aarch64/ifunc-5-local.s: Likewise.
- * ld-aarch64/ifunc-5.s: Likewise.
- * ld-aarch64/ifunc-5a-local.d: Likewise.
- * ld-aarch64/ifunc-5a.d: Likewise.
- * ld-aarch64/ifunc-5b-local.d: Likewise.
- * ld-aarch64/ifunc-5b.d: Likewise.
- * ld-aarch64/ifunc-5r-local.d: Likewise.
- * ld-aarch64/ifunc-6.s: Likewise.
- * ld-aarch64/ifunc-6a.d: Likewise.
- * ld-aarch64/ifunc-6b.d: Likewise.
- * ld-aarch64/ifunc-7.s: Likewise.
- * ld-aarch64/ifunc-7a.d: Likewise.
- * ld-aarch64/ifunc-7b.d: Likewise.
- * ld-aarch64/ifunc-8.d: Likewise.
- * ld-aarch64/ifunc-8a.s: Likewise.
- * ld-aarch64/ifunc-8b.s: Likewise.
- * ld-aarch64/ifunc-9.d: Likewise.
- * ld-aarch64/ifunc-9.s: Likewise.
-
-2013-06-04 Roland McGrath <mcgrathr@google.com>
-
- * ld-size/size.exp: For *-*-nacl* targets, use options_regsub(ld)
- to massage -m arguments into _nacl variants.
- * ld/testsuite/ld-size/size32-1-i386.d: Loosen regexps so they
- don't care what the exact addresses are.
- * ld/testsuite/ld-size/size32-1-x32.d: Likewise.
- * ld/testsuite/ld-size/size32-1-x86-64.d: Likewise.
- * ld/testsuite/ld-size/size32-2-i386.d: Likewise.
- * ld/testsuite/ld-size/size32-2-x32.d: Likewise.
- * ld/testsuite/ld-size/size32-2-x86-64.d: Likewise.
- * ld/testsuite/ld-size/size64-1-x32.d: Likewise.
- * ld/testsuite/ld-size/size64-1-x86-64.d: Likewise.
- * ld/testsuite/ld-size/size64-2-x32.d: Likewise.
- * ld/testsuite/ld-size/size64-2-x86-64.d: Likewise.
-
-2013-06-04 H.J. Lu <hongjiu.lu@intel.com>
-
- * ld-i386/tlsbindesc-nacl.rd: Updated for text/data/bss section
- alignment change.
- * ld-x86-64/split-by-file-nacl.rd: Likewise.
-
-2013-05-31 H.J. Lu <hongjiu.lu@intel.com>
- * ld-i386/pr12718.d: Updated for text/data/bss section alignment
- change.
- * ld-i386/tlsbindesc.dd: Likewise.
- * ld-i386/tlsbindesc.rd: Likewise.
- * ld-i386/tlsnopic.dd: Likewise.
- * ld-i386/tlspic.dd: Likewise.
+2014-09-22 Alan Modra <amodra@gmail.com>
+
+ * ld-plugin/lto.exp: Use both --print-file-name and --print-prog-name
+ when looking for lto plugin.
+
+2014-09-16 Terry Guo <terry.guo@arm.com>
+
+ * ld-arm/attr-merge-arch-2.d: New test case.
+ * ld-arm/attr-merge-arch-2a.s: New test case source file.
+ * ld-arm/attr-merge-arch-2b.s: Likewise.
+ * ld-arm/arm-elf.exp: Run new test case.
+
+2014-09-12 Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * ld-mips-elf/mips-elf.exp: Add support for mips*-img-elf* target
+ triple.
+
+2014-09-10 Alan Modra <amodra@gmail.com>
+
+ * ld-aarch64/emit-relocs-local-addend.d: Adjust for changed
+ section header placement.
+ * ld-aarch64/local-addend-r.d: Likewise.
+ * ld-mmix/bspec1.d: Likewise.
+ * ld-mmix/bspec2.d: Likewise.
+ * ld-mmix/local1.d: Likewise.
+ * ld-mmix/local3.d: Likewise.
+ * ld-mmix/local5.d: Likewise.
+ * ld-mmix/local7.d: Likewise.
+ * ld-mmix/undef-3.d: Likewise.
+ * ld-sh/sh64/crange3-cmpct.rd: Likewise.
+ * ld-sh/sh64/crange3-media.rd: Likewise.
+ * ld-sh/sh64/crangerel1.rd: Likewise.
+ * ld-sh/sh64/crangerel2.rd: Likewise.
+ * ld-tic6x/common.d: Likewise.
+ * ld-tic6x/shlib-1.rd: Likewise.
+ * 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.
* ld-x86-64/ilp32-4.d: Likewise.
- * ld-x86-64/pr12718.d: Likewise.
+ * ld-x86-64/split-by-file-nacl.rd: Likewise.
* ld-x86-64/split-by-file.rd: Likewise.
- * ld-x86-64/tlsbin.dd: Likewise.
- * ld-x86-64/tlsbin.rd: Likewise.
- * ld-x86-64/tlsbindesc.dd: Likewise.
- * ld-x86-64/tlsbindesc.rd: Likewise.
- * ld-x86-64/tlsdesc.dd: Likewise.
- * ld-x86-64/tlsdesc.rd: Likewise.
- * ld-x86-64/tlspic.dd: Likewise.
- * ld-x86-64/tlspic.rd: Likewise.
-2013-05-29 Maciej W. Rozycki <macro@codesourcery.com>
+2014-09-06 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * ld-mips-elf/abiflags-strip1-ph.d: Ignore big/little endian
+ differences. Ignore program headers other than PT_MIPS_ABIFLAGS.
+ Do not force -32, -EB and ld emulation but instead rely on the
+ test driver to build for some form of O32.
+ * ld-mips-elf/abiflags-strip2-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip3-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip4-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip5-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip6-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip7-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip8-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip9-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-0-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-05.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-06.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-07.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-1-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-10.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-15.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-16.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-17.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-2-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-25.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-26.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-27.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-3-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-35.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-36.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-37.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-4-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-45.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-46.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-47.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-5-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-50.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-51.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-52.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-53.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-54.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-55.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-56.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-57.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-58.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-6-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-60.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-61.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-62.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-63.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-64.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-65.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-66.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-67.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-68.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-7-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-70.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-71.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-72.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-73.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-74.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-75.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-76.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-77.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-78.d: Likewise.
+ * ld-mips-elf/mips-elf.exp: Update default abi_asflags(o32) to explicitly
+ pass -32 for the 'no abi' configurations. Modify the way attr-gnu* tests
+ are run to use O32 flags appropriate for the current target.
+
+2014-08-29 Alan Modra <amodra@gmail.com>
+
+ * lib/ld-lib.exp (ld_simple_link_defsyms): Provide both __main
+ and ___main for windows targets.
+
+2014-08-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/17306
+ * ld-i386/i386.exp (i386tests): Add tests for PR ld/17306.
+ * ld-x86-64/x86-64.exp (x86_64tests): Likewise.
+
+ * ld-i386/pr17306a.s: New file.
+ * ld-i386/pr17306b.s: Likewise.
+ * ld-x86-64/pr17306a.s: Likewise.
+ * ld-x86-64/pr17306b.s: Likewise.
+
+2014-08-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/17313
+ * ld-i386/i386.exp (i386tests): Add tests for PR ld/17313.
+ * ld-x86-64/x86-64.exp (x86_64tests): Likewise.
+
+2014-08-26 Jiong Wang <jiong.wang@arm.com>
+
+ * ld-aarch64/copy-relocs-so.s: New test file.
+ * ld-aarch64/copy-relocs-exe.s: Likewise.
+ * ld-aarch64/copy-relocs.d: New expectation file.
+ * ld-aarch64/emit-relocs-264-bad.d: New test file.
+ * ld-aarch64/emit-relocs-266-bad.d: Likewise.
+ * ld-aarch64/emit-relocs-268-bad.d: Likewise.
+ * ld-aarch64/emit-relocs-269-bad.d: Likewise.
+ * ld-aarch64/aarch64-elf.exp: Run new added test.
+
+2014-08-26 Nick Clifton <nickc@redhat.com>
+
+ * ld-aarch64/eh-frame-foo.s: Use 8-byte offset for X30.
+ * ld-aarch64/eh-frame-bar.s: Likewise.
+ * ld-aarch64/eh-frame.d: Updated to match current readelf output.
+ * ld-elf/eh5.d: Allow any register names.
+
+2014-08-22 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * ld-powerpc/apuinfo-vle.rd: New test.
+ * ld-powerpc/apuinfo-vle.s: New test source.
+ * ld-powerpc/apuinfo.rd: Adjust according to GAS PPC_APUINFO_VLE
+ handling change.
+ * ld-powerpc/powerpc.exp: Run the new test.
+
+2014-08-21 Tony Wang <tony.wang@arm.com>
+
+ * ld-arm/jump-reloc-veneers-cond.s: New test.
+ * ld-arm/farcall-cond-thumb-arm.s: Ditto.
+ * ld-arm/jump-reloc-veneers-cond-short.d: Expected output
+ for target without a veneer generation.
+ * ld-arm/jump-reloc-veneers-cond-long.d: Expected output
+ for target with a veneer generation.
+ * ld-arm/farcall-cond-thumb-arm.d: Expected output for
+ inter working veneer generation.
+ * ld-arm/arm-elf.exp: Add tests for conditional branch veneer.
+
+2014-08-20 Roland McGrath <mcgrathr@google.com>
+
+ PR ld/17277
+ * ld-arm/pcrel-shared.s: New file.
+ * ld-arm/pcrel-shared.rd: New file.
+ * ld-arm/arm-elf.exp (armelftests_common): Add it.
+
+2014-08-18 Alan Modra <amodra@gmail.com>
+
+ * ld-plugin/lto.exp: Use gcc -print-file-name to find lto plugin.
+
+2014-08-18 Alan Modra <amodra@gmail.com>
+
+ * ld-plugin/needed3.c: New file.
+ * ld-elf/shared.exp: Add needed3 test.
+
+2014-08-12 Alan Modra <amodra@gmail.com>
+
+ * lib/ld-lib.exp (check_plugin_api_available): Match "-plugin PLUGIN".
+
+2014-08-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/16746
+ * ld-plugin/lto.exp: Add 4 tests for PR ld/16746.
+ * ld-plugin/pr16746a.c: New file.
+ * ld-plugin/pr16746b.c: Likewise.
+ * ld-plugin/pr16746c.c: Likewise.
+ * ld-plugin/pr16746d.c: Likewise.
+
+2014-08-06 Alan Modra <amodra@gmail.com>
+
+ * lib/ld-lib.exp (check_lto_fat_available): New.
+ (check_lto_available): Remove -ffat-lto-objects test.
+ * ld-plugin/lto.exp: Use [list ] rather than { } to set up list
+ variables, allowing substition of vars. Set lto_fat and plug_opt
+ and add to various tests.
+
+2014-08-01 Takashi Yoshii <yoshii.takashi@renesas.com>
+
+ PR 10373
+ * ld-sh/sh1.s: Add jmp relaxing test.
+ * ld-sh/sh.exp: Likewise.
+
+2014-08-01 Takashi Yoshii <yoshii.takashi@renesas.com>
+
+ PR 10378
+ * ld-sh/adjsw8.s: New.
+ * ld-sh/sh.exp: Add switch8 adjustment test.
+
+2014-07-29 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * ld-mips-elf/abiflags-strip1-ph.d: New.
+ * ld-mips-elf/abiflags-strip2-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip3-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip4-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip5-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip6-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip7-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip8-ph.d: Likewise.
+ * ld-mips-elf/abiflags-strip9-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-0-n32-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-0-n64-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-0-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-06.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-07.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-08.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-1-n32-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-1-n64-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-1-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-16.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-17.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-18.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-2-n32-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-2-n64-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-2-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-26.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-27.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-28.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-3-n32-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-3-n64-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-3-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-36.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-37.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-38.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-4-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-46.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-47.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-48.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-5-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-50.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-52.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-53.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-54.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-55.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-56.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-57.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-58.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-6-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-6.s: Likewise.
+ * ld-mips-elf/attr-gnu-4-60.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-61.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-62.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-63.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-64.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-65.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-66.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-67.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-68.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-7-ph.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-7.s: Likewise.
+ * ld-mips-elf/attr-gnu-4-70.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-71.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-72.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-73.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-74.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-75.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-76.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-77.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-78.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-8.s: Likewise.
+ * ld-mips-elf/attr-gnu-4-81.d: Likewise.
+ * ld-mips-elf/empty.s: Likewise.
+ * ld-mips-elf/attr-gnu-4-00.d: Adjust expected output.
+ * ld-mips-elf/attr-gnu-4-01.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-02.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-03.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-04.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-05.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-10.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-11.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-14.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-15.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-2.s: Likewise.
+ * ld-mips-elf/attr-gnu-4-20.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-22.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-24.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-25.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-3.s: Likewise.
+ * ld-mips-elf/attr-gnu-4-30.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-33.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-34.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-35.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-40.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-41.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-42.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-43.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-44.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-45.d: Likewise.
+ * ld-mips-elf/attr-gnu-4-5.s: Likewise.
+ * ld-mips-elf/attr-gnu-4-51.d: Likewise.
+ * ld-mips-elf/attr-gnu-8-00.d: Likewise.
+ * ld-mips-elf/attr-gnu-8-01.d: Likewise.
+ * ld-mips-elf/attr-gnu-8-02.d: Likewise.
+ * ld-mips-elf/attr-gnu-8-10.d: Likewise.
+ * ld-mips-elf/attr-gnu-8-11.d: Likewise.
+ * ld-mips-elf/attr-gnu-8-20.d: Likewise.
+ * ld-mips-elf/attr-gnu-8-22.d: Likewise.
+ * ld-mips-elf/jalx-2.dd: Likewise.
+ * ld-mips-elf/mips16-pic-1.gd: Likewise.
+ * ld-mips-elf/mips16-pic-2.gd: Likewise.
+ * ld-mips-elf/mips16-pic-3.gd: Likewise.
+ * ld-mips-elf/mips16-pic-4a.gd: Likewise.
+ * ld-mips-elf/multi-got-no-shared.d: Likewise.
+ * ld-mips-elf/nan-2008.d: Likewise.
+ * ld-mips-elf/nan-legacy.d: Rework test.
+ * ld-mips-elf/pic-and-nonpic-3a.gd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-3b.gd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-5b.gd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6.ld: Likewise.
+ * ld-mips-elf/rel32-n32.d: Likewise.
+ * ld-mips-elf/rel32-o32.d: Likewise.
+ * ld-mips-elf/rel64.d: Likewise.
+ * ld-mips-elf/tls-multi-got-1.r: Likewise.
+ * ld-elf/group.ld: Discard .MIPS.abiflags and .gnu.attributes.
+ * ld-elf/orphan-region.ld: Likewise.
+ * ld-elf/orphan.ld: Likewise.
+ * ld-mips-elf/compressed-plt-1.ld: Likewise.
+ * ld-mips-elf/dyn-sec64.ld: Likewise.
+ * ld-mips-elf/got-dump-1.ld: Likewise.
+ * ld-mips-elf/got-dump-2.ld: Likewise.
+ * ld-mips-elf/got-page-1.ld: Likewise.
+ * ld-mips-elf/mips-dyn.ld: Likewise.
+ * ld-mips-elf/mips-lib.ld: Likewise.
+ * ld-mips-elf/pic-and-nonpic-3a.ld: Likewise.
+ * ld-mips-elf/pic-and-nonpic-3b.ld: Likewise.
+ * ld-mips-elf/pic-and-nonpic-4b.ld: Likewise.
+ * ld-mips-elf/pic-and-nonpic-5b.ld: Likewise.
+ * ld-mips-elf/region1.t: Likewise.
+ * ld-mips-elf/stub-dynsym-1.ld: Likewise.
+ * ld-mips-elf/tls-hidden3.ld: Likewise.
+ * ld-mips-elf/vxworks1.ld: Likewise.
+ * ld-scripts/overlay-size.t: Likewise.
+ * ld-mips-elf/elf-rel-got-n32-embed.d: Remove .MIPS.abiflags from
+ objects.
+ * ld-mips-elf/elf-rel-got-n32.d: Likewise.
+ * ld-mips-elf/elf-rel-got-n64-embed.d: Likewise.
+ * ld-mips-elf/elf-rel-got-n64-linux.d: Likewise.
+ * ld-mips-elf/elf-rel-got-n64.d: Likewise.
+ * ld-mips-elf/elf-rel-xgot-n32.d: Likewise.
+ * ld-mips-elf/elf-rel-xgot-n32-embed.d: Likewise.
+ * ld-mips-elf/elf-rel-xgot-n64.d: Likewise.
+ * ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
+ * ld-mips-elf/elf-rel-xgot-n64-embed.d: Likewise.
+ * ld-mips-elf/mips-elf.exp: Add new tests.
+
+2014-07-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/17154
+ * ld-ifunc/pr17154-i386.d: New file.
+ * ld-ifunc/pr17154-x86-64.d: Likewise.
+ * ld-ifunc/pr17154-x86.s: Likewise.
+ * ld-x86-64/bnd-ifunc-2.d: Likewise.
+ * ld-x86-64/bnd-ifunc-2.s: Likewise.
+ * ld-x86-64/mpx.exp: Run bnd-ifunc-2.
+ * ld-x86-64/tlsdesc-nacl.pd: Updated.
+ * ld-x86-64/tlsdesc.pd: Likewise.
+
+2014-07-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/17057
+ * ld-i386/i386.exp: Run pr17057.
+ * ld-i386/pr17057.d: New file.
+ * ld-i386/pr17057.s: Likewise.
+
+2014-07-15 Jiong Wang <jiong.wang@arm.com>
+
+ * ld-aarch64/emit-relocs-local-addend.d: Use target linker script.
+
+2014-07-10 Will Newton <will.newton@linaro.org>
+
+ * ld-arm/arm-elf.exp (armelftests_nonacl): Move Cortex-A8 fix
+ tests, IFUNC tests and other EABI requiring tests to...
+ (armeabitests_nonacl): ...here.
+ * ld-arm/arm-app-abs32.d: Loosen regex for architecture type
+ to allow test to pass on configurations without an attributes
+ section.
+ * ld-arm/arm-app.d: Likewise.
+ * ld-arm/arm-lib-plt32.d: Likewise.
+ * ld-arm/arm-lib.d: Likewise.
+ * ld-arm/arm-static-app.d: Likewise.
+ * ld-arm/armthumb-lib.d: Likewise.
+ * ld-arm/cortex-a8-far.d: Likewise.
+ * ld-arm/farcall-mixed-app.d: Likewise.
+ * ld-arm/farcall-mixed-lib-v4t.d: Likewise.
+ * ld-arm/farcall-mixed-lib.d: Likewise.
+ * ld-arm/mixed-app-v5.d: Likewise.
+ * ld-arm/mixed-app.d: Likewise.
+ * ld-arm/mixed-lib.d: Likewise.
+ * ld-arm/tls-app.d: Likewise.
+ * ld-arm/tls-descrelax-be32.d: Likewise.
+ * ld-arm/tls-descrelax.d: Likewise.
+ * ld-arm/tls-descseq.d: Likewise.
+ * ld-arm/tls-gdesc-got.d: Likewise.
+ * ld-arm/tls-gdesc.d: Likewise.
+ * ld-arm/tls-gdierelax.d: Likewise.
+ * ld-arm/tls-gdierelax2.d: Likewise.
+ * ld-arm/tls-gdlerelax.d: Likewise.
+ * ld-arm/tls-lib-loc.d: Likewise.
+ * ld-arm/tls-lib.d: Likewise.
+ * ld-arm/tls-thumb1.d: Likewise.
+
+ * ld-elfvers/vers.exp: Set pic to yes for ARM targets.
+
+2014-07-08 Will Newton <will.newton@linaro.org>
+
+ * ld-arm/arm-lib.ld: Increase MAXPAGESIZE value to
+ match bfd.
+ * ld-arm/cortex-a8-fix-bl-rel-plt.d: Update offsets to
+ take into account increased segment alignment.
+ * ld-arm/ifunc-gdesc.r: Likewise.
+ * ld-arm/tls-lib.d: Likewise.
+
+2014-07-08 Jiong Wang <jiong.wang@arm.com>
+
+ * ld-aarch64/emit-relocs-local-addend-bar.s: New source file.
+ * ld-aarch64/emit-relocs-local-addend-foo.s: Likewise.
+ * ld-aarch64/emit-relocs-local-addend.d: New testcase.
+ * ld-aarch64/local-addend-r.d: Likewise.
+
+2014-07-08 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/defsym.s, * ld-powerpc/defsym.d: New test.
+ * ld-powerpc/powerpc.exp: Run it.
+
+2014-07-08 Alan Modra <amodra@gmail.com>
+
+ PR 17112
+ * ld-plugin/lto.exp: When building liblti-11.a, pass
+ --plugin path_to_gcc/liblto_plugin.so to ar.
+
+2014-07-07 Alan Modra <amodra@gmail.com>
+
+ * lib/ld-lib.exp (check_lto_shared_available): Reinstate compiler
+ check here too.
+
+2014-07-07 Nick Clifton <nickc@redhat.com>
+
+ * lib/ld-lib.exp (check_lto_available): Check that a compiler is
+ available before testing for LTO support.
+
+2014-07-07 Alan Modra <amodra@gmail.com>
- * ld-mips-elf/jalr3.dd: New test.
- * ld-mips-elf/jalr3.ld: New test linker script.
- * ld-mips-elf/mips-elf.exp: Run the new test.
+ * config/default.exp: Don't make tmpdir/gas. Put as symlink into
+ tmpdir/ld.
+ (gcc_gas_flag, gcc_ld_flag): Delete.
+ (gcc_B_opt, ld_L_opt): New globals.
+ ld-elf/shared.exp: Remove all refs to gcc_gas_flag and gcc_ld_flag.
+ ld-plugin/lto.exp: Likewise.
+ lib/ld-lib.exp (run_host_cmd): Add gcc_B_opt and ld_L_opt here.
+ (ld_simple_link): Remove -B handling now that this is done in
+ run_host_cmd. Simplify.
+ (default_ld_compile): Simplify.
+ (check_lto_available): Use run_host_cmd_yesno.
+ (check_lto_shared_available): Likewise.
-2013-05-21 Alan Modra <amodra@gmail.com>
+2014-07-05 Alan Modra <amodra@gmail.com>
- PR ld/12982
- * ld-plugin/pr12982.d: Fail if RWE GNU_STACK present.
+ * lib/ld-lib.exp (run_ld_link_tests): Stop after assembling objects
+ if binfile is empty.
+ (run_ld_link_exec_tests, run_cc_link_tests): Likewise. Tidy
+ status checks.
+ * ld-plugin/lto.exp: Don't use libdummy.a trick to compile objects.
+ Instead use an empty output file.
-2013-05-21 Alan Modra <amodra@gmail.com>
+2014-07-03 Alan Modra <amodra@gmail.com>
- * ld-powerpc/export-class.exp (supports_ppc64): Delete.
- (powerpc_export_class_test): Add "endian" param.
- (abis): Add little-endian targets and test.
- * ld-powerpc/powerpc-64-export-class.xd: Update for little-endian.
+ * ld-elf/pr17068.s: New.
+ * ld-elf/pr17068a.s: New.
+ * ld-elf/pr17068b.s: New.
+ * ld-elf/pr17068c.s: New.
+ * ld-elf/pr17068d.s: New.
+ * ld-elf/pr17068e.s: New.
+ * ld-elf/pr17068ez.s: New.
+ * ld-elf/elf.exp: Run new test.
-2013-05-10 Joel Brobecker <brobecker@adacore.com>
+2014-07-02 Alan Modra <amodra@gmail.com>
- * ld-powerpc/aix-core-sec-1.hd, ld-powerpc/aix-core-sec-2.hd,
- ld-powerpc/aix-core-sec-3.hd: Adjust expected section flags
- for section .loader.
+ * ld-powerpc/ambiguousv1.d: Match symbol table too.
+ * ld-powerpc/ambiguousv2.d: Likewise.
+ * ld-powerpc/ambiguousv1b.d: New.
+ * ld-powerpc/ambiguousv2b.d: New.
+ * ld-powerpc/powerpc.exp: Run new tests.
-2013-05-03 Maciej W. Rozycki <macro@codesourcery.com>
+2014-06-25 Kyle McMartin <kyle@redhat.com>
- PR ld/15365
- * ld-elf/ehdr_start.d: Expect __ehdr_start to be STB_LOCAL.
- * ld-mips-elf/ehdr_start-1.nd: New test.
- * ld-mips-elf/ehdr_start-2.nd: New test.
- * ld-mips-elf/ehdr_start-1.ld: New test linker script.
- * ld-mips-elf/ehdr_start-2.ld: New test linker script.
- * ld-mips-elf/ehdr_start-new.s: New test source.
- * ld-mips-elf/ehdr_start-o32.s: New test source.
- * ld-mips-elf/mips-elf.exp: Run the new tests.
+ * ld-arm/tls-gdierelax2.d: Fix expected offsets.
-2013-05-03 Maciej W. Rozycki <macro@codesourcery.com>
+2014-06-16 Will Newton <will.newton@linaro.org>
- * ld-elf/provide-hidden-s.nd: New test.
- * ld-elf/provide-hidden-abs.nd: New test.
- * ld-elf/provide-hidden-def.nd: New test.
- * ld-elf/provide-hidden-dyn.nd: New test.
- * ld-elf/provide-hidden-sec.nd: New test.
- * ld-elf/provide-hidden-dynabs.nd: New test.
- * ld-elf/provide-hidden-dynsec.nd: New test.
- * ld-elf/provide-hidden-s.ld: New test linker script.
- * ld-elf/provide-hidden-1.ld: New test linker script.
- * ld-elf/provide-hidden-2.ld: New test linker script.
- * ld-elf/provide-hidden-1.s: New test source.
- * ld-elf/provide-hidden-2.s: New test source.
- * ld-elf/provide-hidden-3.s: New test source.
- * ld-elf/provide-hidden-4.s: New test source.
- * ld-elf/provide-hidden.exp: New test script.
+ * ld-arm/arm-elf.exp: Add ifunc-gdesc test.
+ * ld-arm/ifunc-gdesc.r: New file.
+ * ld-arm/ifunc-gdesc.s: Likewise.
+ * ld-arm/ifunc-gdesc.ver: Likewise.
-2013-05-02 Nick Clifton <nickc@redhat.com>
+2014-06-09 Ryan Mansfield <rmansfield@qnx.com>
- * ld-elf/flags1.d: Expect this test to pass on the MSP430.
- * ld-elf/init-fini-arrays.d: Expect this test to fail on the
- MSP430.
- * ld-elf/merge.d: Expect this test to pass on the MSP430.
- * ld-elf/sec64k.exp: Skip these tests for the MSP430.
- * ld-gc/pr13683.d: Expect this test to fail on the MSP430.
- * ld-srec/srec.exp: Expect these tests to fail on the MSP430.
- * ld-undefined/undefined.exp: Expect the UNDEFINED LINE test to
- fail on the MSP430.
+ * config/default.exp (GASP): Remove.
-2013-05-01 Maciej W. Rozycki <macro@codesourcery.com>
+2014-06-03 Alan Modra <amodra@gmail.com>
- * lib/ld-lib.exp (check_shared_lib_support): Also exclude
- mips*-*-elf.
+ * ld-powerpc/elfv2exe.d: Update for changed plt call stubs.
-2013-04-30 Hans-Peter Nilsson <hp@axis.com>
+2014-05-28 Matthew Fortune <matthew.fortune@imgtec.com>
- * lib/ld-lib.exp (check_shared_lib_support): Match cris*-*-elf as
- a negative pattern instead of cris*-*-*.
+ * lib/ld-lib.exp: Add objcopy_objects command to run_dump_test.
+ This allows each input object to be optionally run through
+ objcopy before linking.
-2013-04-30 Will Newton <will.newton@linaro.org>
+2014-05-20 Will Newton <will.newton@linaro.org>
- * ld-arm/arm-elf.exp: Use linker script for IFUNC test 17.
- * ld-arm/ifunc-17.dd: Update offsets for linker script.
- * ld-arm/ifunc-17.gd: Likewise.
- * ld-arm/ifunc-17.rd: Likewise.
+ * ld-shared/shared.exp: Mark non-PIC shared object tests
+ as xfail on aarch64.
-2013-04-29 Will Newton <will.newton@linaro.org>
+2014-05-19 Andreas Tobler <andreast@fgznet.ch>
- * ld-arm/arm-elf.exp: Add IFUNC test 17.
- * ld-arm/ifunc-17.dd: New file.
+ * ld-elf/shared.exp: Introduce the extralibs variable to control
+ the libraries to be linked. Don't link -ldl on *-*-freebsd*.
+
+ * ld-bootstrap/bootstrap.exp: Do not add -ldl to the extralibs on
+ *-*-freebsd*.
+
+2014-05-10 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * ld-mmix/wrap1.d, ld-mmix/wrap1a.s, ld-mmix/wrap1b.s,
+ ld-mmix/wrap1c.s, ld-mmix/wrap2.d, ld-mmix/wrap3.d,
+ ld-mmix/wrap3a.s, ld-mmix/wrap3b.s, ld-mmix/wrap4.d: New
+ tests.
+
+2014-05-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-x86-64/tlsbin.dd: Replace data32 with data16.
+ * ld-x86-64/tlsdesc-nacl.pd: Likewise.
+ * ld-x86-64/tlsgdesc.dd: Likewise.
+ * ld-x86-64/tlsld1.dd: Likewise.
+ * ld-x86-64/tlsld3.dd: Likewise.
+ * ld-x86-64/tlspic.dd: Likewise.
+
+2014-05-02 Max Filippov <jcmvbkbc@gmail.com>
+
+ * ld-xtensa/diff_overflow.exp, * ld-xtensa/diff_overflow1.s,
+ * ld-xtensa/diff_overflow2.s: Add test for DIFF* relocation
+ signedness and overflow checking.
+
+2014-05-01 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * ld-mmix/sec-11.d, ld-mmix/sec-11.ld, ld-mmix/sec-10.s,
+ ld-mmix/sec-10.d, ld-mmix/b-offlocmis.s, ld-mmix/sec-12.d: New
+ tests.
+ * ld-mmix/b-offloc.s: Correct address in comment.
+
+2014-04-23 Will Newton <will.newton@linaro.org>
+
+ * ld-arm/arm-no-rel-plt.ld: Remove OUTPUT_FORMAT and
+ SEARCH_DIR commands.
+ * ld-arm/arm-rel32.d: Update regexps to allow test to
+ pass on armeb-linux-eabi configuration.
+ * ld-arm/data-only-map.d: Likewise.
+ * ld-arm/fix-arm1176-off.d: Likewise.
+ * ld-arm/fix-arm1176-on.d: Likewise.
+ * ld-arm/ifunc-1.gd: Likewise.
+ * ld-arm/ifunc-10.gd: Likewise.
+ * ld-arm/ifunc-11.gd: Likewise.
+ * ld-arm/ifunc-12.gd: Likewise.
+ * ld-arm/ifunc-13.gd: Likewise.
+ * ld-arm/ifunc-14.gd: Likewise.
+ * ld-arm/ifunc-15.gd: Likewise.
+ * ld-arm/ifunc-16.gd: Likewise.
* ld-arm/ifunc-17.gd: Likewise.
- * ld-arm/ifunc-17.rd: Likewise.
- * ld-arm/ifunc-17.s: Likweise.
- * ld-arm/ifunc-1.rd: Reorder relocs to match linker output.
- * ld-arm/ifunc-2.rd: Likewise.
- * ld-arm/ifunc-5.rd: Likewise.
- * ld-arm/ifunc-6.rd: Likewise.
+ * ld-arm/ifunc-2.gd: Likewise.
+ * ld-arm/ifunc-3.gd: Likewise.
+ * ld-arm/ifunc-4.gd: Likewise.
+ * ld-arm/ifunc-5.gd: Likewise.
+ * ld-arm/ifunc-6.gd: Likewise.
+ * ld-arm/ifunc-7.gd: Likewise.
+ * ld-arm/ifunc-8.gd: Likewise.
+ * ld-arm/ifunc-9.gd: Likewise.
+ * ld-arm/jump-reloc-veneers-long.d: Likewise.
+ * ld-arm/reloc-boundaries.d: Likewise.
+
+2014-04-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/16846
+ * ld-plugin/lto.exp (lto_link_tests): Add tests for PR ld/16846.
+ * ld-plugin/pr16846a.c: New file.
+ * ld-plugin/pr16846b.c: Likewise.
+ * ld-plugin/pr16846c.c: Likewise.
+
+2014-04-22 Christian Svensson <blue@cmd.nu>
+
+ * ld-discard/extern.d: Remove openrisc and or32 support. Add
+ support for or1k.
+ * ld-discard/start.d: Likewise.
+ * ld-discard/static.d: Likewise.
+ * ld-elf/group1.d: Likewise.
+ * ld-elf/group3b.d: Likewise.
+ * ld-elf/group8a.d: Likewise.
+ * ld-elf/group8b.d: Likewise.
+ * ld-elf/group9a.d: Likewise.
+ * ld-elf/group9b.d: Likewise.
+ * ld-elf/linkonce2.d: Likewise.
+ * ld-elf/merge.d: Likewise.
+ * ld-elf/merge2.d: Likewise.
+ * ld-elf/orphan-region.d: Likewise.
+ * ld-elf/orphan.d: Likewise.
+ * ld-elf/orphan3.d: Likewise.
+ * ld-elf/pr12851.d: Likewise.
+ * ld-elf/pr12975.d: Likewise.
+ * ld-elf/pr13177.d: Likewise.
+ * ld-elf/pr13195.d: Likewise.
+ * ld-elf/pr349.d: Likewise.
+ * ld-elf/sec64k.exp: Likewise.
+ * ld-elf/warn1.d: Likewise.
+ * ld-elf/warn2.d: Likewise.
+ * ld-elf/warn3.d: Likewise.
+ * ld-scripts/weak.exp: Likewise.
+ * lib/ld-lib.exp: Likewise.
-2013-04-29 Will Newton <will.newton@linaro.org>
+2014-04-17 Kwok Cheung Yeung <kcy@codesourcery.com>
- * ld-plugin/lto.exp: Disable ld/12942 test for gcc < 4.7.0.
+ * ld-mips-elf/elf-rel-xgot-n32.d: Update for new GOT layout.
+ * ld-mips-elf/elf-rel-xgot-n32-embed.d: Likewise.
+ * ld-mips-elf/elf-rel-xgot-n64.d: Likewise.
+ * ld-mips-elf/elf-rel-xgot-n64-embed.d: Likewise.
+ * ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
-2013-04-22 Alan Modra <amodra@gmail.com>
+2014-04-15 Marcus Shawcroft <marcus.shawcroft@arm.com>
- * ld-powerpc/tlsexe.d: Adjust for section id changes.
- * ld-powerpc/tlsexe.r: Likewise.
- * ld-powerpc/tlsexetoc.d: Likewise.
- * ld-powerpc/tlsexetoc.r: Likewise.
- * ld-powerpc/tlsso.d: Likewise.
- * ld-powerpc/tlsso.r: Likewise.
- * ld-powerpc/tlstocso.d: Likewise.
- * ld-powerpc/tlstocso.r: Likewise.
+ * ld-aarch64/tls-relax-gdesc-ie.s (var): Adjust test case
+ to include all 5 bits of LDR destination register.
-2013-04-15 H.J. Lu <hongjiu.lu@intel.com>
+2014-04-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
- PR ld/15371
- * ld-ifunc/ifunc-20-i386.d: New file.
- * ld-ifunc/ifunc-20-x86-64.d: Likewise.
- * ld-ifunc/ifunc-20.s: Likewise.
+ * ld-avr/norelax_diff.d: New testcase.
+ * ld-avr/relax_diff.d: Likewise.
+ * ld-avr/relax.s: Likewise.
-2013-04-10 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
+2014-04-05 Andreas Schwab <schwab@linux-m68k.org>
- * ld-aarch64/gc-plt1.s: New file.
- * ld-aarch64/gc-plt2.s: Likewise.
- * ld-aarch64/gc-plt-hidden.s: Likewise.
- * ld-aarch64/gc-plt-main.s: Likewise.
- * ld-aarch64/gc-relocs-257.s: Likewise.
- * ld-aarch64/gc-plt-relocs.d: Update expected objdump.
- * ld-aarch64/gc-relocs-257.d: Likewise.
- * ld-aarch64/gc-relocs-257-dyn.d: Likewise.
- * ld-aarch64/aarch64-elf.exp: Add test.
+ * ld-plugin/lto.exp: Make "-Wp," prefix optional when filtering
+ out _FORTIFY_SOURCE.
+ ("Build libdummy.a 9", "PR ld/12696"): Mark as c++.
-2013-04-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+2014-04-04 Alan Modra <amodra@gmail.com>
- * ld-aarch64/gc-tls-relocs.d: Handle big endian format.
- * ld-aarch64/gc-got-relocs.d: Likewise.
+ * ld-scripts/fill.d, * ld-scripts/fill.t, * ld-scripts/fill_0.s,
+ * ld-scripts/fill_1.s, * ld-scripts/fill_2.s: New test.
+ * ld-scripts/data.exp: Run it.
-2013-04-04 Alan Modra <amodra@gmail.com>
+2014-03-31 Marcus Shawcroft <marcus.shawcroft@arm.com>
- * ld-elf/shared.exp: Update regexp on --no-add-needed and
- --no-copy-dt-needed-entries tests.
+ * ld-aarch64/eh-frame.d: Adjust FDE pc address.
-2013-04-03 Alan Modra <amodra@gmail.com>
+2014-03-27 H.J. Lu <hongjiu.lu@intel.com>
- PR ld/15227
- * ld-plugin/lto.exp (PR ld/12942 (3)): Remove file name and
- line number from regexp.
- (PR ld/15146 (2)): Similarly.
- * ld-plugin/pr12942a.cc (main): Use __builtin_abort.
+ PR ld/16756
+ * ld-plugin/lto.exp: Expect filename and line number for PR
+ ld/12760 test.
-2013-03-30 Alan Modra <amodra@gmail.com>
+2014-03-27 Yury Gribov <y.gribov@samsung.com>
+ Pavel Fedin <p.fedin@samsung.com>
- PR ld/15323
- * ld-plugin/lto.exp (pr15323a.c): Compile without -flto rather
- than using -r to effectively strip out lto info.
+ * ld-arm/arm-app-abs32.d: Update expected disassembly, taking into
+ account the pretty printing of PLT entries.
+ * ld-arm/arm-app.d: Likewise.
+ * ld-arm/arm-lib-plt32.d: Likewise.
+ * ld-arm/arm-lib.d: Likewise.
+ * ld-arm/armthumb-lib.d: Likewise.
+ * ld-arm/cortex-a8-fix-b-plt.d: Likewise.
+ * ld-arm/cortex-a8-fix-bcc-plt.d: Likewise.
+ * ld-arm/cortex-a8-fix-bl-plt.d: Likewise.
+ * ld-arm/cortex-a8-fix-bl-rel-plt.d: Likewise.
+ * ld-arm/cortex-a8-fix-blx-plt.d: Likewise.
+ * ld-arm/farcall-mixed-app-v5.d: Likewise.
+ * ld-arm/farcall-mixed-app.d: Likewise.
+ * ld-arm/farcall-mixed-lib-v4t.d: Likewise.
+ * ld-arm/farcall-mixed-lib.d: Likewise.
+ * ld-arm/ifunc-10.dd: Likewise.
+ * ld-arm/ifunc-14.dd: Likewise.
+ * ld-arm/ifunc-15.dd: Likewise.
+ * ld-arm/ifunc-3.dd: Likewise.
+ * ld-arm/ifunc-4.dd: Likewise.
+ * ld-arm/ifunc-7.dd: Likewise.
+ * ld-arm/ifunc-8.dd: Likewise.
+ * ld-arm/ifunc-9.dd: Likewise.
+ * ld-arm/long-plt-format.d: Likewise.
+ * ld-arm/mixed-app-v5.d: Likewise.
+ * ld-arm/mixed-app.d: Likewise.
+ * ld-arm/mixed-lib.d: Likewise.
+ * ld-arm/thumb2-bl-undefweak.d: Likewise.
+ * ld-arm/thumb2-bl-undefweak1.d: Likewise.
-2013-03-29 H.J. Lu <hongjiu.lu@intel.com>
+2014-03-26 Alan Modra <amodra@gmail.com>
- PR ld/15323
- * ld-plugin/lto.exp (lto_link_tests): Add pr15323a-r.o.
- (lto_run_tests): Add a test for PR ld/15323.
+ * ld-powerpc/startv1.s, * ld-powerpc/startv2.s, * ld-powerpc/funref.s,
+ * ld-powerpc/funv1.s, * ld-powerpc/funv2.s,
+ * ld-powerpc/ambiguousv1.d, * ld-powerpc/ambiguousv2.d: New test files.
+ * ld-powerpc/powerpc.exp: Run new tests.
- * ld-plugin/pr15323.out: New file.
- * ld-plugin/pr15323a.c: Likewise.
- * ld-plugin/pr15323b.c: Likewise.
+2014-03-25 Will Newton <will.newton@linaro.org>
-2013-03-22 Nick Clifton <nickc@redhat.com>
+ * ld-aarch64/aarch64-elf.exp: Add relasz dump test.
+ * ld-aarch64/relasz.d: New file.
+ * ld-aarch64/relasz.s: Likewise.
- * ld-elf/init0.s: Add alloc attribute to .section directive.
- * ld-elf/fini1.s: Likewise.
- * ld-elf/fini2.s: Likewise.
- * ld-elf/fini3.s: Likewise.
- * ld-elf/finin.s: Likewise.
- * ld-elf/init0.s: Likewise.
- * ld-elf/init1.s: Likewise.
- * ld-elf/init2.s: Likewise.
- * ld-elf/init3.s: Likewise.
- * ld-elf/initn.s: Likewise.
+2014-03-20 Richard Sandiford <rdsandiford@googlemail.com>
-2013-02-02 Michael Schewe <michael.schewe@gmx.net>
+ * ld-elf/merge.d: Remove MIPS XFAIL.
- * ld-h8300/h8300.exp: Add new relax-7 test on ELF.
- * ld-h8300/relax-2.s: Add other direction and .w/.l variants of
- mov insns.
- * ld-h8300/relax-2.d: Update expected disassembly.
- * ld-h8300/relax-7a.s: New: tests for mov @(disp:32,ERx) -> mov
- @(disp:16,ERx).
- * ld-h8300/relax-7b.s: New: Likewise.
- * ld-h8300/relax-7.d: New: expected disassembly.
+2014-03-20 Will Newton <will.newton@linaro.org>
-2013-03-20 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
+ * ld-arm/ifunc-14.rd: Update symbol values.
- * ld-elf/group8a.d (notarget): Remove aarch64*-*-*.
- * ld-elf/group8b.d: Likewise.
- * ld-elf/group9a.d: Likewise.
- * ld-elf/group9b.d: Likewise.
- * ld-elf/pr12851.d: Likewise.
- * ld-elf/pr12975.d: Likewise.
- * ld-elf/pr13177.d: Likewise.
- * ld-elf/pr13195.d: Likewise.
+2014-03-19 Nick Clifton <nickc@redhat.com>
+
+ * config/default.exp (ASFLAGS): For the RX target add:
+ -muse-conventional-section-names.
+
+2014-03-15 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/vle-reloc-3.d: Remove addresses.
+
+2014-03-14 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/vle.ld: Place .PPC.EMB.sdata0 within 32k of 0.
+ * ld-powerpc/vle-reloc-3.d: Update.
+
+2014-03-06 Roland McGrath <mcgrathr@google.com>
+
+ * ld-arm/gc-hidden-1.d: Remove target, add not-target to match
+ other ELF-only tests in this directory. Loosen regexps so they
+ don't care what the exact addresses are.
+
+2014-03-06 Roland McGrath <mcgrathr@google.com>
+
+ * ld-arm/arm-elf.exp (armelftests_common): Move long-plt case ...
+ (armelftests_nonacl): ... here.
+
+2014-03-05 Alan Modra <amodra@gmail.com>
+
+ Update copyright years.
+
+2014-03-05 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/elfv2-2a.s, ld-powerpc/elfv2-2b.s: New files.
+ * ld-powerpc/elfv2-2exe.d, ld-powerpc/elfv2-2so.d: New files.
+ * ld-powerpc/powerpc.exp: Run new test.
+
+2014-03-03 Alan Modra <amodra@gmail.com>
+
+ * ld-scripts/phdrs2.exp: Correct copyright punctuation.
+ * ld-v850/v850.exp: Correct copyright typo.
+
+2014-03-01 Yuri Gribov <y.gribov@samsung.com>
+
+ * ld-arm/long-plt-format.d, ld-arm/arm-elf.exp: Adjust for arm-eabi.
+
+2014-02-27 Yuri Gribov <y.gribov@samsung.com>
+
+ * ld-arm/long-plt-format.s: New test case.
+ * ld-arm/long-plt-format.d: Expected disassembly.
+ * ld-arm/arm-elf.exp: Run the new test.
+
+2014-02-27 Nick Clifton <nickc@redhat.com>
+
+ * ld-pe/longsecn-1.d: Allow for extra sections.
+ * ld-pe/longsecn-2.d: Likewise.
+ * ld-pe/longsecn.d: Likewise.
+ * ld-pe/secrel.d: Likewise.
+
+2014-02-21 Alan Modra <amodra@gmail.com>
+
+ * ld-bootstrap/bootstrap.exp: Add ppc476 workaround test.
+ * ld-bootstrap/ppc476.t: New file.
+
+2014-02-19 Igor Zamyatin <igor.zamyatin@intel.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-x86-64/mpx.exp: Run bnd-ifunc-1 and bnd-plt-1.
+ * ld-x86-64/bnd-ifunc-1.d: New file.
+ * ld-x86-64/bnd-ifunc-1.s: Likewise.
+ * ld-x86-64/bnd-plt-1.d: Likewise.
+
+2014-02-18 Jack Carter <jack.carter@imgtec.com>
+
+ * ld-mips-elf/pic-and-nonpic-3a.sd: Check DYNAMIC segment flags.
+
+2014-02-16 Thomas Schwinge <thomas@codesourcery.com>
+
+ * ld-elfweak/elfweak.exp (setup_xfail_gnu_hurd): Remove function
+ and all usage of it.
+
+2014-02-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gold/16530
+ * ld-elf/dynamic-1.c: New file.
+ * ld-elf/dynamic-1.rd: Likewise.
+ * ld-elf/dynamic-1.syms: Likewise.
+
+ * ld-elf/shared.exp (build_tests): Add dynamic-1.
+
+2014-02-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * ld-scripts/rgn-at9.d: New file.
+ * ld-scripts/rgn-at9.t: Likewise.
+ * ld-scripts/rgn-at10.d: Likewise.
+ * ld-scripts/rgn-at10.s: Likewise.
+ * ld-scripts/rgn-at10.t: Likewise.
+ * ld-scripts/rgn-at11.d: Likewise.
+ * ld-scripts/rgn-at11.t: Likewise.
+
+2014-01-30 Sandra Loosemore <sandra@codesourcery.com>
+
+ * ld-nios2/relax_call26.s: New.
+ * ld-nios2/relax_call26_boundary.ld: New.
+ * ld-nios2/relax_call26_boundary.s: New.
+ * ld-nios2/relax_call26_boundary_c8.d: New.
+ * ld-nios2/relax_call26_boundary_cc.d: New.
+ * ld-nios2/relax_call26_boundary_d0.d: New.
+ * ld-nios2/relax_call26_boundary_d4.d: New.
+ * ld-nios2/relax_call26_boundary_d8.d: New.
+ * ld-nios2/relax_call26_boundary_dc.d: New.
+ * ld-nios2/relax_call26_boundary_f0.d: New.
+ * ld-nios2/relax_call26_boundary_f4.d: New.
+ * ld-nios2/relax_call26_boundary_f8.d: New.
+ * ld-nios2/relax_call26_boundary_fc.d: New.
+ * ld-nios2/relax_call26_cache.d: New.
+ * ld-nios2/relax_call26_cache.ld: New.
+ * ld-nios2/relax_call26_cache.s: New.
+ * ld-nios2/relax_call26_multi.d: New.
+ * ld-nios2/relax_call26_multi.ld: New.
+ * ld-nios2/relax_call26_norelax.d: New.
+ * ld-nios2/relax_call26_shared.d: New.
+ * ld-nios2/relax_call26_shared.ld: New.
+
+2014-01-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elf/rdynamic-1.c: New file.
+ * ld-elf/rdynamic-1.rd: Likewise.
+
+ * ld-elf/shared.exp (build_tests): Add rdynamic-1.
+
+2014-01-28 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/16317
+ * ld-tic6x/shlib-1.rd: Expect I attribute with RELA sections.
+ * ld-tic6x/shlib-1b.rd: Likewise.
+ * ld-tic6x/shlib-1r.rd: Likewise.
+ * ld-tic6x/shlib-1rb.rd: Likewise.
+ * ld-tic6x/shlib-app-1rd: 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.
+ PR binutils/16318
+ * ld-tic6x/tic6x.exp: Expect C6000 osabi value in relocatable
+ objects.
+
+2014-01-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elf/pr16498a.s: Replace .align with .p2align.
+
+2014-01-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/16498
+ * ld-elf/pr16498b.d: New file.
+ * ld-elf/pr16498b.t: Likewise.
+
+2014-01-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/16498
+ * ld-elf/pr16498a.d: New file.
+ * ld-elf/pr16498a.s: Likewise.
+ * ld-elf/pr16498a.t: Likewise.
+
+2014-01-22 Alan Modra <amodra@gmail.com>
+
+ * ld-scripts/pr14962-2.d: Correct target triple.
+
+2014-01-22 Alan Modra <amodra@gmail.com>
+
+ * ld-shared/elf-offset.ld: Align end of .bss with canonical form
+ of ALIGN that allows an empty .bss to be removed.
+ * ld-arm/arm-dyn.ld: Likewise.
+ * ld-arm/arm-lib.ld: Likewise.
+ * ld-elfvsb/elf-offset.ld: Likewise.
+ * ld-mips-elf/mips-dyn.ld: Likewise.
+ * ld-mips-elf/mips-lib.ld: Likewise.
+ * ld-arm/arm-no-rel-plt.ld: Remove duplicate ALIGN.
+ * ld-powerpc/vle-multiseg-1.ld: Remove ALIGN at start of section.
+ ALIGN address of section instead.
+ * ld-powerpc/vle-multiseg-2.ld: Likewise.
+ * ld-powerpc/vle-multiseg-3.ld: Likewise.
+ * ld-powerpc/vle-multiseg-4.ld: Likewise.
+ * ld-powerpc/vle-multiseg-6.ld: Likewise.
+ * ld-scripts/empty-aligned.d: Check section headers not program
+ headers. Remove xfail and notarget.
+ * ld-scripts/empty-aligned.t: Use canonical ALIGN for end of .text2.
+
+2014-01-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/16467
+ * ld-ifunc/dummy.c: New file.
+ * ld-ifunc/pr16467.out: Likewise.
+ * ld-ifunc/pr16467a.c: Likewise.
+ * ld-ifunc/pr16467a.map: Likewise.
+ * ld-ifunc/pr16467b.c: Likewise.
+ * ld-ifunc/pr16467b.map: Likewise.
+ * ld-ifunc/pr16467c.c: Likewise.
+
+ * ld-ifunc/ifunc.exp (run_cc_link_tests): New.
+ (run_ld_link_exec_tests): Run pr16467.
+
+2014-01-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/2404
+ * ld-elf/shared.exp: Add a PIE test for PR ld/2404.
+
+2014-01-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/2404
+ * ld-elf/pr2404.out: New file.
+ * ld-elf/pr2404a.c: Likewise.
+ * ld-elf/pr2404b.c: Likewise.
+
+ * ld-elf/shared.exp (build_tests): Build libpr2404a.so and
+ libpr2404b.a.
+ (run_tests): Run pr2404.
+
+2014-01-20 Alan Modra <amodra@gmail.com>
+
+ * ld-scripts/pr14962-2.d,
+ * ld-scripts/pr14962-2.t: New test.
+ * ld-scripts/expr.exp: Run it.
+
+2014-01-15 Alan Modra <amodra@gmail.com>
+
+ * ld-elf/ehdr_start-shared.d: New.
+ * ld-elf/ehdr_start-userdef.d: xfail frv.
+ * ld-elf/ehdr_start-weak.d: Likewise.
+ * ld-elf/ehdr_start.d: Likewise.
+
+2014-01-14 Vidya Praveen <vidyapraveen@arm.com>
+
+ * lib/ld-lib.exp (default_ld_link): Remove support for ldflags.
+ (default_ld_simple_link): Likewise.
+
+2014-01-10 Alan Modra <amodra@gmail.com>
+
+ * ld-x86-64/pr14207.d: Adjust.
+
+2014-01-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elf/binutils.exp (binutils_test): Check if GNU_RELRO segment
+ is generated.
+
+2014-01-09 Vidya Praveen <vidyapraveen@arm.com>
+
+ * lib/ld-lib.exp (check_lto_shared_available): New check.
+ * ld-plugin/lto.exp: Use check_lto_shared_available.
+
+2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/14207
+ PR ld/16322
+ PR binutils/16323
+ * ld-elf/pr16322.d: New file.
+ * ld-elf/pr16322.s: Likewise.
+
+ * ld-x86-64/pr14207.d: Expect PT_GNU_RELRO segment.
-2013-03-20 Will Newton <will.newton@linaro.org>
-
- * ld-elfvers/vers.exp (objdump_symstuff): Sort objdump output
- based on the symbol name rather than address.
- * ld-elfvers/vers1.sym: Reorder contents to match changes to vers.exp.
- * ld-elfvers/vers15.sym: Likewise.
- * ld-elfvers/vers18.sym: Likewise.
- * ld-elfvers/vers21.sym: Likewise.
- * ld-elfvers/vers9.sym: Likewise.
-
-2013-03-20 Alan Modra <amodra@gmail.com>
-
- * ld-elf/rel.c, ld-elf/relmain.c, ld-elf/relmain.out: New test.
- * ld-elf/shared.exp: Build and run it.
-
-2013-03-20 Alan Modra <amodra@gmail.com>
- Will Newton <will.newton@linaro.org
-
- * ld-elfvers/vers.exp: Add -Wl,--no-as-needed to all tests
- linking against shared libraries.
- * ld-elfweak/elfweak.exp: Likewise. Enable for x86_64-linux.
- Build main1.o using $picflag.
-
-2013-03-18 Alan Modra <amodra@gmail.com>
-
- * ld-elf/pr14862.out: Expect no output.
-
-2013-03-15 Will Newton <will.newton@linaro.org>
-
- * ld-arm/arm-elf.exp: Expand *-*eabi test to cover *-*eabi*.
- * ld-arm/gc-hidden-1.d: Likewise.
- * ld-elfvsb/elfvsb.exp: Likewise.
- * ld-shared/shared.exp: Likewise.
-
-2013-03-08 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
-
- * lib/ld-lib.exp (check_gc_sections_available): Remove aarch64
- from list of targets that don't support gc-section.
-
-2013-03-05 Alan Modra <amodra@gmail.com>
-
- * ld-scripts/rgn-at6.s, * ld-scripts/rgn-at6.t, * ld-scripts/rgn-at6.d,
- * ld-scripts/rgn-at7.t, * ld-scripts/rgn-at7.d: New tests.
-
-2013-02-28 Nathan Sidwell <nathan@codesourcery.com>
-
- * ld-arm/tls-local-static.s: New test.
- * ld-arm/tls-local-static.d: New.
- * ld-arm/arm-elf.exp (tls-local-static): Add test.
-
-2013-02-21 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/15167
- * ld-unique/unique.exp: Add a test for shared library with
- reference.
-
-2013-02-19 Maciej W. Rozycki <macro@codesourcery.com>
-
- * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass
- its contents to ar_simple_create and ld_simple_link after
- objfiles.
- * ld-aarch64/aarch64-elf.exp: Adjust accordingly.
- * ld-alpha/alpha.exp: Likewise.
- * ld-arm/arm-elf.exp: Likewise.
- * ld-arm/export-class.exp: Likewise.
- * ld-elf/comm-data.exp: Likewise.
- * ld-elf/eh-group.exp: Likewise.
- * ld-elf/elf.exp: Likewise.
- * ld-elf/export-class.exp: Likewise.
- * ld-elfvers/vers.exp: Likewise.
- * ld-frv/tls.exp: Likewise.
- * ld-i386/export-class.exp: Likewise.
- * ld-i386/i386.exp: Likewise.
- * ld-ia64/ia64.exp: Likewise.
- * ld-libs/libs.exp: Likewise.
- * ld-m68k/m68k.exp: Likewise.
- * ld-metag/metag.exp: Likewise.
- * ld-mips-elf/comm-data.exp: Likewise.
- * ld-mips-elf/export-class.exp: Likewise.
- * ld-mips-elf/mips-elf.exp: Likewise.
- * ld-mn10300/mn10300.exp: Likewise.
- * ld-pe/pe-compile.exp: Likewise.
- * ld-pe/pe.exp: Likewise.
- * ld-plugin/plugin.exp: Likewise.
- * ld-powerpc/aix52.exp: Likewise.
- * ld-powerpc/export-class.exp: Likewise.
- * ld-powerpc/powerpc.exp: Likewise.
- * ld-s390/s390.exp: Likewise.
- * ld-sh/sh-vxworks.exp: Likewise.
- * ld-sh/sh64/sh64.exp: Likewise.
- * ld-sparc/sparc.exp: Likewise.
- * ld-tic6x/tic6x.exp: Likewise.
- * ld-tilegx/tilegx.exp: Likewise.
- * ld-tilepro/tilepro.exp: Likewise.
- * ld-undefined/entry.exp: Likewise.
- * ld-vax-elf/vax-elf.exp: Likewise.
- * ld-x86-64/dwarfreloc.exp: Likewise.
- * ld-x86-64/export-class.exp: Likewise.
- * ld-x86-64/x86-64.exp: Likewise.
- * ld-xc16x/xc16x.exp: Likewise.
- * ld-xstormy16/xstormy16.exp: Likewise.
- * ld-xtensa/xtensa.exp: Likewise.
-
-2013-02-18 Maciej W. Rozycki <macro@codesourcery.com>
-
- * ld-mips-elf/jalx-2.ld: Include .rel.plt in output, give .plt a
- mapping.
- * ld-mips-elf/jalx-2.dd: Adjust disassembly accordingly.
-
-2013-02-18 Alan Modra <amodra@gmail.com>
-
- * ld-plugin/lto.exp (Build pr15146b.so) Add -Wl,--no-as-needed.
- (PR ld/15146 (1), (2)): Likewise.
- (LTO 7): Likewise.
-
-2013-02-16 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/15146
- * ld-plugin/pr15146.d: New file.
- * ld-plugin/pr15146a.c: Likewise.
- * ld-plugin/pr15146b.c: Likewise.
- * ld-plugin/pr15146c.c: Likewise.
- * ld-plugin/pr15146d.c: Likewise.
-
- * ld-plugin/lto.exp: Add tests for PR ld/15146.
-
-2013-02-15 Markos Chandras <markos.chandras@imgtec.com>
-
- * ld-metag/pcrel.d: Fix the expected disassembler
- output to be in little endian format
- * ld-metag/shared.d: likewise
- * ld-metag/stub.d: likewise
- * ld-metag/stub_pic_app.d: likewise
- * ld-metag/stub_pic_shared.d: likewise
- * ld-metag/stub_shared.d: likewise
-
-2013-02-13 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ld-mips-elf/mips16-pic-2.dd,
- ld-mips-elf/mips16-pic-2.gd: Remove 3 unused local GOT entries.
- * ld-mips-elf/got-page-4a.s, ld-mips-elf/got-page-4b.s,
- ld-mips-elf/got-page-4a.d, ld-mips-elf/got-page-4a.got,
- ld-mips-elf/got-page-4b.d, ld-mips-elf/got-page-4b.got,
- ld-mips-elf/got-page-5.s, ld-mips-elf/got-page-5.d,
- ld-mips-elf/got-page-5.got, ld-mips-elf/got-page-6.s,
- ld-mips-elf/got-page-6.d, ld-mips-elf/got-page-6.got,
- ld-mips-elf/got-page-7a.s, ld-mips-elf/got-page-7b.s,
- ld-mips-elf/got-page-7c.s, ld-mips-elf/got-page-7d.s,
- ld-mips-elf/got-page-7e.s, ld-mips-elf/got-page-7.d,
- ld-mips-elf/got-page-7.got: New tests.
- * ld-mips-elf/mips-elf.exp: Run them.
-
-2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got,
- ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got,
- ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got,
- ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got: Update
- for new hash table order.
-
-2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ld-mips-elf/tls-hidden4.got, ld-mips-elf/tls-multi-got-1.d,
- ld-mips-elf/tls-multi-got-1.got: Update for changes in the order
- that symbols are added to per-bfd GOTs.
-
-2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got,
- ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tlsbin-o32.d,
- ld-mips-elf/tlsbin-o32.got, ld-mips-elf/tlsdyn-o32-1.d,
- ld-mips-elf/tlsdyn-o32-1.got, ld-mips-elf/tlsdyn-o32-2.d,
- ld-mips-elf/tlsdyn-o32-2.got, ld-mips-elf/tlsdyn-o32-3.d,
- ld-mips-elf/tlsdyn-o32-3.got, ld-mips-elf/tlsdyn-o32.d,
- ld-mips-elf/tlsdyn-o32.got, ld-mips-elf/tlslib-o32.d,
- ld-mips-elf/tlslib-o32.got, ld-mips-elf/tlslib-o32-hidden.got,
- ld-mips-elf/tlslib-o32-ver.got: Adjust GOT layout for new
- got_entry hash function.
-
-2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ld-mips-elf/tlsdyn-o32-2.got, ld-mips-elf/tlsdyn-o32-3.got: Remove
- unused GOT entries.
-
-2013-02-07 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/15107
- * ld-unique/unique_empty.s: Add reference to "b".
-
-2013-02-06 H.J. Lu <hongjiu.lu@intel.com>
-
- * ld-size/size-10.rd: Updated.
- * ld-size/size-8.rd: Likewise.
- * ld-size/size32-2-i386.d: Likewise.
- * ld-size/size32-2-x32.d: Likewise.
- * ld-size/size32-2-x86-64.d: Likewise.
- * ld-size/size64-2-x32.d: Likewise.
- * ld-size/size64-2-x86-64.d: Likewise.
-
- * ld-size/size.exp (run_time_tests): Pass --hash-styl=gnu to
- linker for size-8 test.
-
-2013-02-06 Sandra Loosemore <sandra@codesourcery.com>
- Andrew Jenner <andrew@codesourcery.com>
-
- Based on patches from Altera Corporation.
-
- * ld-nios2/emit-relocs-1a.s: New.
- * ld-nios2/emit-relocs-1b.s: New.
- * ld-nios2/emit-relocs-1.d: New.
- * ld-nios2/emit-relocs-1.ld: New.
- * ld-nios2/gprel.d: New.
- * ld-nios2/gprel.s: New.
- * ld-nios2/hilo16.d: New.
- * ld-nios2/hilo16.s: New.
- * ld-nios2/hilo16_symbol.s: New.
- * ld-nios2/imm5.d: New.
- * ld-nios2/imm5.s: New.
- * ld-nios2/imm5_symbol.s: New.
- * ld-nios2/nios2.exp: New.
- * ld-nios2/pcrel16.d: New.
- * ld-nios2/pcrel16_label.s: New.
- * ld-nios2/pcrel16.s: New.
- * ld-nios2/relax_callr.d: New.
- * ld-nios2/relax_callr.ld: New.
- * ld-nios2/relax_callr.s: New.
- * ld-nios2/relax_cjmp.d: New.
- * ld-nios2/relax_cjmp.s: New.
- * ld-nios2/relax_jmp.ld: New.
- * ld-nios2/relax_section.d: New.
- * ld-nios2/relax_section.s: New.
- * ld-nios2/relax_ujmp.d: New.
- * ld-nios2/relax_ujmp.s: New.
- * ld-nios2/reloc.d: New.
- * ld-nios2/reloc.s: New.
- * ld-nios2/reloc_symbol.s: New.
- * ld-nios2/s16.d: New.
- * ld-nios2/s16.s: New.
- * ld-nios2/s16_symbol.s: New.
- * ld-nios2/u16.d: New.
- * ld-nios2/u16.s: New.
- * ld-nios2/u16_symbol.s: New.
- * ld-elf/indirect.exp: Skip on targets that don't support
- -shared -fPIC.
- * ld-elfcomm/elfcomm.exp: Build with -G0 for nios2.
- * ld-plugin/lto.exp: Skip shared library tests on targets that
- don't support them. Skip execution tests on non-native targets.
-
-2013-02-06 H.J. Lu <hongjiu.lu@intel.com>
-
- * ld-elf/now-1.d: New file.
- * ld-elf/now-2.d: Likewise.
- * ld-elf/now-3.d: Likewise.
- * ld-elf/now-4.d: Likewise.
- * ld-elf/rpath-1.d: Likewise.
- * ld-elf/rpath-2.d: Likewise.
- * ld-elf/runpath-1.d: Likewise.
- * ld-elf/runpath-2.d: Likewise.
-
-2013-02-06 Alan Modra <amodra@gmail.com>
-
- PR ld/15096
- * ld-elf/new-dtags-1.d: Delete.
- * ld-elf/new-dtags-2.d: Likewise.
- * ld-elf/new-dtags-3.d: Likewise.
- * ld-elf/new-dtags-4.d: Likewise.
- * ld-elf/new-dtags-5.d: Likewise.
- * ld-elf/new-dtags-6.d: Likewise.
- * ld-elf/new-dtags-7.d: Likewise.
- * ld-elf/new-dtags-8.d: Likewise.
-
-2013-02-04 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/15096
- * ld-elf/new-dtags-1.d: New test.
- * ld-elf/new-dtags-2.d: Likewise.
- * ld-elf/new-dtags-3.d: Likewise.
- * ld-elf/new-dtags-4.d: Likewise.
- * ld-elf/new-dtags-5.d: Likewise.
- * ld-elf/new-dtags-6.d: Likewise.
- * ld-elf/new-dtags-7.d: Likewise.
- * ld-elf/new-dtags-8.d: Likewise.
-
-2013-01-31 Alan Modra <amodra@gmail.com>
-
- * ld-powerpc/tlsexe.d: Update for changed stub names.
- * ld-powerpc/tlsexe.r: Likewise.
- * ld-powerpc/tlsexetoc.d: Likewise.
- * ld-powerpc/tlsexetoc.r: Likewise.
- * ld-powerpc/tlsso.d: Likewise.
- * ld-powerpc/tlsso.r: Likewise.
- * ld-powerpc/tlstocso.d: Likewise.
- * ld-powerpc/tlstocso.r: Likewise.
-
-2013-01-31 Hans-Peter Nilsson <hp@axis.com>
-
- * ld-cris/libdso-13.d: Adjust for --enable-new-dtags now
- default for *-*-linux-* by passing explicitly for all targets.
-
-2013-01-21 Alan Modra <amodra@gmail.com>
-
- * ld-size/size.exp (build_tests <size-7, size-8>): Pass
- --no-as-needed in cflags.
-
-2013-01-19 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/default.exp (get_target_emul): Also set HOSTING_SCRT0.
-
- * lib/ld-lib.exp (default_ld_link): Use HOSTING_SCRT0 for -pie.
-
-2013-01-18 H.J. Lu <hongjiu.lu@intel.com>
-
- * ld-size/size-10.rd: Updated.
- * ld-size/size-8.rd: Likewise.
- * ld-size/size32-2-i386.d: Likewise.
- * ld-size/size32-2-x32.d: Likewise.
- * ld-size/size32-2-x86-64.d: Likewise.
- * ld-size/size64-2-x32.d: Likewise.
- * ld-size/size64-2-x86-64.d: Likewise.
-
-2013-01-17 H.J. Lu <hongjiu.lu@intel.com>
-
- * ld-size/size-7.out: New file.
- * ld-size/size-8.out: Likewise.
- * ld-size/size-9.out: Likewise.
- * ld-size/size-9.rd: Likewise.
- * ld-size/size-9a.c: Likewise.
- * ld-size/size-9b.c: Likewise.
- * ld-size/size-10.out: Likewise.
- * ld-size/size-10.rd: Likewise.
- * ld-size/size-10a.c: Likewise.
- * ld-size/size-10b.c: Likewise.
-
- * ld-size/size.exp (build_tests): Build libsize-9.so and
- libsize-10.so.
- Run-time size relocation tests if supported.
- (run_time_tests): New.
-
-2013-01-17 H.J. Lu <hongjiu.lu@intel.com>
-
- * ld-size/size-1.c: New file.
- * ld-size/size-1.out: Likewise.
- * ld-size/size-1a.c: Likewise.
- * ld-size/size-1b.c: Likewise.
- * ld-size/size-2.c: Likewise.
- * ld-size/size-2.out: Likewise.
- * ld-size/size-2a.c: Likewise.
- * ld-size/size-2b.c: Likewise.
-
- * ld-size/size.exp (build_tests): Build libsize-1.so and
- libsize-2.so.
- (run_tests): Run size-1 and size-2.
-
-2013-01-17 H.J. Lu <hongjiu.lu@intel.com>
-
- * ld-size/size32-3-i386.d: New file.
- * ld-size/size32-3-x32.d: Likewise.
- * ld-size/size32-3-x86-64.d: Likewise.
- * ld-size/size32-3a.s: Likewise.
- * ld-size/size32-3b.s: Likewise.
-
-2013-01-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * ld-size/size.exp: New file.
- * ld-size/size32-1-i386.d: Likewise.
- * ld-size/size32-1-x32.d: Likewise.
- * ld-size/size32-1-x86-64.d: Likewise.
- * ld-size/size32-1.s: Likewise.
- * ld-size/size32-2-i386.d: Likewise.
- * ld-size/size32-2-x32.d: Likewise.
- * ld-size/size32-2-x86-64.d: Likewise.
- * ld-size/size32-2.s: Likewise.
- * ld-size/size64-1-x32.d: Likewise.
- * ld-size/size64-1-x86-64.d: Likewise.
- * ld-size/size64-1.s: Likewise.
- * ld-size/size64-2-x32.d: Likewise.
- * ld-size/size64-2-x86-64.d: Likewise.
- * ld-size/size64-2.s: Likewise.
- * ld-size/size-3.c: Likewise.
- * ld-size/size-3.out: Likewise.
- * ld-size/size-3a.c: Likewise.
- * ld-size/size-3b.c: Likewise.
- * ld-size/size-3c.c: Likewise.
- * ld-size/size-4.out: Likewise.
- * ld-size/size-4a.c: Likewise.
- * ld-size/size-4b.c: Likewise.
- * ld-size/size-5.out: Likewise.
- * ld-size/size-5a.c: Likewise.
- * ld-size/size-5b.c: Likewise.
- * ld-size/size-6.out: Likewise.
- * ld-size/size-6a.c: Likewise.
- * ld-size/size-6b.c: Likewise.
- * ld-size/size-7.rd: Likewise.
- * ld-size/size-7a.c: Likewise.
- * ld-size/size-7b.c: Likewise.
- * ld-size/size-8.rd: Likewise.
- * ld-size/size-8a.c: Likewise.
- * ld-size/size-8b.c: Likewise.
-
-2013-01-16 Alan Modra <amodra@gmail.com>
-
- * ld-plugin/lto.exp (lto-9.o, pr13229.o): Pass -finline.
-
-2013-01-15 Alan Modra <amodra@gmail.com>
-
- * ld-powerpc/tlsso.d: Adjust for plt-thread-safe stubs.
- * ld-powerpc/tlsso.g: Likewise.
- * ld-powerpc/tlsso.r: Likewise.
- * ld-powerpc/tlstocso.d: Likewise.
- * ld-powerpc/tlstocso.g: Likewise.
-
-2013-01-15 Alan Modra <amodra@gmail.com>
-
- * ld-plugin/lto-16a.d: Match powerpc64 function symbol type.
- * ld-plugin/lto-16b.d: Likewise.
- * ld-plugin/lto-17a.d: Likewise.
- * ld-plugin/lto-17b-2.d: Likewise.
-
-2013-01-14 Alan Modra <amodra@gmail.com>
-
- * ld-elf/pr14926.d: Disable for d10v, msp, xstormy.
- * ld-elf/sec-to-seg.exp: Choose correct variant output to suit
- updated microblaze page size.
-
-2013-01-10 Will Newton <will.newton@imgtec.com>
-
- * ld-elf/merge.d: Mark Meta as xfail.
- * ld-gc/start.d: Skip this test on Meta.
- * ld-gc/personality.d: Skip this test on Meta.
- * ld-metag/external.s: New file.
- * ld-metag/metag.exp: New file.
- * ld-metag/pcrel.d: New file.
- * ld-metag/pcrel.s: New file.
- * ld-metag/shared.d: New file.
- * ld-metag/shared.r: New file.
- * ld-metag/shared.s: New file.
- * ld-metag/stub.d: New file.
- * ld-metag/stub.s: New file.
- * ld-metag/stub_pic_app.d: New file.
- * ld-metag/stub_pic_app.r: New file.
- * ld-metag/stub_pic_app.s: New file.
- * ld-metag/stub_pic_shared.d: New file.
- * ld-metag/stub_pic_shared.s: New file.
- * ld-metag/stub_shared.d: New file.
- * ld-metag/stub_shared.r: New file.
- * ld-metag/stub_shared.s: New file.
-
-2013-01-08 Thomas Schwinge <thomas@codesourcery.com>
-
- * ld-i386/export-class.exp: Restore (and reword) comment about
- excluded targets.
-
-2013-01-04 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * ld-aarch64/emit-relocs-264.d: Append the '-Mno-aliases' option to
- the objdump directive.
- * ld-aarch64/emit-relocs-266.d: Ditto.
- * ld-aarch64/emit-relocs-268.d: Ditto.
- * ld-aarch64/emit-relocs-269.d: Ditto.
- * ld-aarch64/emit-relocs-270.d: Ditto.
- * ld-aarch64/emit-relocs-271.d: Ditto.
- * ld-aarch64/emit-relocs-272.d: Ditto.
-
-For older changes see ChangeLog-2012
+For older changes see ChangeLog-2013
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/binutils-2.25/ld/testsuite/ChangeLog-2013 b/binutils-2.25/ld/testsuite/ChangeLog-2013
new file mode 100644
index 00000000..519c2cd9
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ChangeLog-2013
@@ -0,0 +1,1664 @@
+2013-12-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/16317
+ * ld-elf/linkinfo1.s: New file.
+ * ld-elf/linkinfo1a.d: Likewise.
+ * ld-elf/linkinfo1b.d: Likewise.
+
+2013-12-18 Vidya Praveen <vidyapraveen@arm.com>
+
+ * lib/ld-lib.exp (check_lto_available): Support cflags, ldflags and
+ test by compiling for an executable rather than shared library.
+
+2013-12-13 Vidya Praveen <vidyapraveen@arm.com>
+
+ * lib/ld-lib.exp (default_ld_link): Use ldflags from board description
+ file.
+ (default_ld_simple_link): Likewise.
+ (default_ld_compile): Use cflags from board description file.
+
+2013-12-13 Kuan-Lin Chen <kuanlinchentw@gmail.com>
+
+ * lib/ld-lib.exp: Add NDS32 to list of targets that do not support
+ shared library generation.
+ * ld-nds32: New directory.
+ * ld-nds32/branch.d: New test.
+ * ld-nds32/branch.ld: New test.
+ * ld-nds32/branch.s: New test.
+ * ld-nds32/diff.d: New test.
+ * ld-nds32/diff.ld: New test.
+ * ld-nds32/diff.s: New test.
+ * ld-nds32/gp.d: New test.
+ * ld-nds32/gp.ld: New test.
+ * ld-nds32/gp.s: New test.
+ * ld-nds32/imm.d: New test.
+ * ld-nds32/imm.ld: New test.
+ * ld-nds32/imm.s: New test.
+ * ld-nds32/imm_symbol.s: New test.
+ * ld-nds32/relax_jmp.d: New test.
+ * ld-nds32/relax_jmp.ld: New test.
+ * ld-nds32/relax_jmp.s: New test.
+ * ld-nds32/relax_load_store.d: New test.
+ * ld-nds32/relax_load_store.ld: New test.
+ * ld-nds32/relax_load_store.s: New test.
+ * ld-nds32/nds32.exp: New file.
+
+2013-12-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elf/ehdr_start-userdef.d: Add "#...".
+
+2013-12-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-pie/vaddr-0.d: New file.
+ * ld-pie/vaddr-1.d: Likewise.
+ * ld-pie/vaddr.s: Likewise.
+
+2013-12-11 Will Newton <will.newton@linaro.org>
+
+ * ld-aarch64/ifunc-21.d: Make test more generic to support
+ aarch64_be and ELF targets.
+ * ld-aarch64/ifunc-22.d: Likewise.
+
+2013-12-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elf/shared.exp (build_tests): Add libneeded2a.so,
+ libneeded2b.so, libneeded2c.o and needed2.
+
+ * ld-elf/needed2.ver: New file.
+ * ld-elf/needed2a.c: Likewise.
+ * ld-elf/needed2b.c: Likewise.
+ * ld-elf/needed2c.c: Likewise.
+
+2013-12-07 Mike Frysinger <vapier@gentoo.org>
+
+ * ld-pe/aligncomm-1.c: Remove +x file mode.
+ * ld-pe/aligncomm-2.c: Likewise.
+ * ld-pe/aligncomm-3.c: Likewise.
+ * ld-pe/aligncomm-4.c: Likewise.
+ * ld-pe/aligncomm.d: Likewise.
+ * ld-pe/export_dynamic_warning.s: Likewise.
+ * ld-pe/exports64.d: Likewise.
+ * ld-pe/longsecn-1.d: Likewise.
+ * ld-pe/longsecn-2.d: Likewise.
+ * ld-pe/longsecn-3.d: Likewise.
+ * ld-pe/longsecn-4.d: Likewise.
+ * ld-pe/longsecn-5.d: Likewise.
+ * ld-pe/longsecn.d: Likewise.
+ * ld-pe/longsecn.s: Likewise.
+ * ld-pe/non-c-lang-syms.d: Likewise.
+ * ld-pe/non-c-lang-syms.s: Likewise.
+ * ld-pe/pe-compile.exp: Likewise.
+ * ld-pe/pe-run.exp: Likewise.
+ * ld-pe/tlssec.s: Likewise.
+ * ld-pe/tlssec32.d: Likewise.
+ * ld-pe/tlssec64.d: Likewise.
+ * ld-pe/vers-script-1.ver: Likewise.
+ * ld-pe/vers-script-2.ver: Likewise.
+ * ld-pe/vers-script-3.ver: Likewise.
+ * ld-pe/vers-script-4.ver: Likewise.
+ * ld-pe/vers-script-dll.c: Likewise.
+
+2013-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * ld-plugin/lto.exp: Add -ffat-lto-objects.
+ * lib/ld-lib.exp (check_lto_available): Likewise.
+
+2013-11-27 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * ld-mips-elf/mips-elf.exp: Consider mips-mti-elf the same as
+ mips-sde-elf
+
+2013-11-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/16259
+ * config/default.exp (get_target_emul): Also set HOSTING_SLIBS.
+ * lib/ld-lib.exp (default_ld_link): Use HOSTING_SLIBS for -pie.
+
+2013-11-26 Will Newton <will.newton@linaro.org>
+
+ * ld-aarch64/aarch64-elf.exp: Add ifunc-22.
+ * ld-aarch64/ifunc-22.d: New file.
+ * ld-aarch64/ifunc-22.s: Likewise.
+
+2013-11-26 Will Newton <will.newton@linaro.org>
+
+ * ld-aarch64/aarch64-elf.exp: Add ifunc-21 test.
+ * ld-aarch64/ifunc-21.d: New file.
+ * ld-aarch64/ifunc-21.s: Likewise.
+
+2013-11-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-x86-64/mpx.exp: Run bnd-branch-1.
+ * ld-x86-64/bnd-branch-1.d: New file.
+ * ld-x86-64/bnd-branch-1.s: Likewise.
+
+2013-11-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-x86-64/mpx.exp (build_tests): Add libmpx2a.a, libmpx2b.a
+ and libmpx2c.a.
+ (run_tests): Add mpx1static, mpx2 and mpx2static.
+ * ld-x86-64/mpx2.out: Likewise.
+ * ld-x86-64/mpx2a.c: Likewise.
+ * ld-x86-64/mpx2a.rd: Likewise.
+ * ld-x86-64/mpx2b.c: Likewise.
+ * ld-x86-64/mpx2c.c: Likewise.
+ * ld-x86-64/mpx2c.rd: Likewise.
+
+2013-11-19 Roland McGrath <mcgrathr@google.com>
+
+ * ld-elf/ehdr_start-userdef.t: New file.
+ * ld-elf/ehdr_start-userdef.d: New file.
+ * ld-elf/ehdr_start-strongref.s: New file.
+ * ld-elf/ehdr_start-missing.t: New file.
+ * ld-elf/ehdr_start-missing.d: New file.
+ * ld-elf/ehdr_start-weak.d: New file.
+ * ld-mips-elf/ehdr_start-2.nd: Expect __ehdr_start to be global.
+
+2013-11-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-x86-64/mpx.exp: New file.
+ * ld-x86-64/mpx1.out: Likewise.
+ * ld-x86-64/mpx1a.c: Likewise.
+ * ld-x86-64/mpx1a.rd: Likewise.
+ * ld-x86-64/mpx1b.c: Likewise.
+ * ld-x86-64/mpx1c.c: Likewise.
+ * ld-x86-64/mpx1c.rd: Likewise.
+
+2013-11-14 Will Newton <will.newton@linaro.org>
+
+ * ld-arm/script-type.sym: Remove redundant STT_FILE symbol.
+
+2013-11-07 Roland McGrath <mcgrathr@google.com>
+
+ * ld-x86-64/x86-64.exp (mixed1, mixed2): Loosen error string match
+ so it accepts "i386:nacl" in place of "i386".
+ * ld-x86-64/ilp32-2.d: Likewise.
+ * ld-x86-64/ilp32-3.d: Likewise.
+ * ld-x86-64/lp64-2.d: Likewise.
+ * ld-x86-64/lp64-3.d: Likewise.
+
+2013-11-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/4409
+ * ld-ia64/error1.d: New file.
+ * ld-ia64/error1.s: Likewise.
+ * ld-ia64/error2.d: Likewise.
+ * ld-ia64/error3.d: Likewise.
+
+2013-11-04 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/elfv2exe.d: Adjust for non-PIC global entry.
+
+2013-11-04 Alan Modra <amodra@gmail.com>
+
+ * ld-elfvers/vers24.rd: Allow extra readelf output after
+ symbol visibility.
+ * ld-ifunc/ifunc.exp: Likewise.
+
+2013-11-04 Alan Modra <amodra@gmail.com>
+
+ * ld-scripts/crossref.exp: Don't allow changes made to CFLAGS
+ for this test to bleed into following tests. Don't set
+ -mcall-aixdesc for powerpc64le.
+
+2013-11-02 Alan Modra <amodra@gmail.com>
+
+ * ld-pe/cfi.d: Allow wide display of addresses.
+
+2013-11-01 Roland McGrath <mcgrathr@google.com>
+
+ * ld-x86-64/plt-nacl.pd: Update expected disassembly for PLT nop fix.
+ * ld-x86-64/tlsdesc-nacl.pd: Likewise.
+
+2013-10-30 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/elfv2.s,
+ * ld-powerpc/elfv2so.d,
+ * ld-powerpc/elfv2exe.d: New tests.
+ * ld-powerpc/powerpc.exp: Run them.
+
+2013-10-30 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/tls.s: Add proper .opd entry for _start.
+ * ld-powerpc/tlstoc.s: Likewise.
+ * ld-powerpc/relbrlt.d: Update for changed stubs.
+ * ld-powerpc/tls.d: Update for changed stubs and _start .opd entry.
+ * ld-powerpc/tls.g: Likewise.
+ * ld-powerpc/tlsexe.d: Likewise.
+ * ld-powerpc/tlsexe.g: Likewise.
+ * ld-powerpc/tlsexe.r: Likewise.
+ * ld-powerpc/tlsexetoc.d: Likewise.
+ * ld-powerpc/tlsexetoc.g: Likewise.
+ * ld-powerpc/tlsexetoc.r: Likewise.
+ * ld-powerpc/tlsso.d: Likewise.
+ * ld-powerpc/tlsso.g: Likewise.
+ * ld-powerpc/tlsso.r: Likewise.
+ * ld-powerpc/tlstoc.d: Likewise.
+ * ld-powerpc/tlstoc.g: Likewise.
+ * ld-powerpc/tlstocso.d: Likewise.
+ * ld-powerpc/tlstocso.g: Likewise.
+ * ld-powerpc/tlstocso.r: Likewise.
+
+2013-10-29 Jan Beulich <jbeulich@suse.com>
+
+ * ld-cris/tls-e-tpoffcomm1.d: Drop expectation of no longer
+ present STT_FILE symbol.
+ * ld-mmix/bpo-18.d: Likewise.
+ * ld-mmix/bpo-22.d: Likewise.
+ * ld-mmix/greg-6.d: Likewise.
+ * ld-mmix/greg-7.d: Likewise.
+ * ld-mmix/loc4.d: Likewise.
+ * ld-mmix/local1.d: Likewise.
+ * ld-mmix/local3.d: Likewise.
+ * ld-mmix/local5.d: Likewise.
+ * ld-mmix/local7.d: Likewise.
+ * ld-mmix/loct-1.d: Likewise.
+ * ld-sh/sh64/abi32.xd: Likewise.
+ * ld-sh/sh64/abi64.xd: Likewise.
+ * ld-sh/sh64/cmpct1.xd: Likewise.
+ * ld-sh/sh64/crange1.rd: Likewise.
+ * ld-sh/sh64/crange2.rd: Likewise.
+ * ld-sh/sh64/crange3-cmpct.rd: Likewise.
+ * ld-sh/sh64/crange3-media.rd: Likewise.
+ * ld-sh/sh64/crange3.rd: Likewise.
+ * ld-sh/sh64/crangerel1.rd: Likewise.
+ * ld-sh/sh64/crangerel2.rd: Likewise.
+ * ld-sh/sh64/mix1.xd: Likewise.
+ * ld-sh/sh64/mix2.xd: Likewise.
+ * ld-sh/sh64/shdl32.xd: Likewise.
+ * ld-sh/sh64/shdl64.xd: Likewise.
+
+2013-10-18 Hans-Peter Nilsson <hp@axis.com>
+
+ * ld-cris/asneed1.d: New test.
+
+2013-10-14 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
+
+ * ld-mips-elf/attr-gnu-8-0.s, ld-mips-elf/attr-gnu-8-1.s,
+ ld-mips-elf/attr-gnu-8-2.s,
+ ld-mips-elf/attr-gnu-8-00.d, ld-mips-elf/attr-gnu-8-01.d,
+ ld-mips-elf/attr-gnu-8-02.d, ld-mips-elf/attr-gnu-8-10.d,
+ ld-mips-elf/attr-gnu-8-11.d, ld-mips-elf/attr-gnu-8-12.d,
+ ld-mips-elf/attr-gnu-8-20.d, ld-mips-elf/attr-gnu-8-21.d,
+ ld-mips-elf/attr-gnu-8-22.d: New.
+ * ld-mips-elf/mips-elf.exp: Run new tests.
+
+2013-10-13 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lib/ld-lib.exp (default_ld_compile): Add a -I option for the source
+ directory.
+ * ld-mips-elf/compressed-plt-1.ld, ld-mips-elf/compressed-plt-1.s,
+ ld-mips-elf/compressed-plt-1-dyn.s, ld-mips-elf/compressed-plt-1a.s,
+ ld-mips-elf/compressed-plt-1b.s, ld-mips-elf/compressed-plt-1c.s,
+ ld-mips-elf/compressed-plt-1d.s, ld-mips-elf/compressed-plt-1e.s,
+ ld-mips-elf/compressed-plt-1-o32-se.rd,
+ ld-mips-elf/compressed-plt-1-o32-se.od,
+ ld-mips-elf/compressed-plt-1-o32-mips16-only.rd,
+ ld-mips-elf/compressed-plt-1-o32-mips16-only.od,
+ ld-mips-elf/compressed-plt-1-o32-umips-only.rd,
+ ld-mips-elf/compressed-plt-1-o32-umips-only.od,
+ ld-mips-elf/compressed-plt-1-o32-mips16.rd,
+ ld-mips-elf/compressed-plt-1-o32-mips16.od,
+ ld-mips-elf/compressed-plt-1-o32-mips16-got.rd,
+ ld-mips-elf/compressed-plt-1-o32-mips16-got.od,
+ ld-mips-elf/compressed-plt-1-o32-mips16-word.rd,
+ ld-mips-elf/compressed-plt-1-o32-mips16-word.od,
+ ld-mips-elf/compressed-plt-1-o32-umips.rd,
+ ld-mips-elf/compressed-plt-1-o32-umips.od,
+ ld-mips-elf/compressed-plt-1-o32-umips-got.rd,
+ ld-mips-elf/compressed-plt-1-o32-umips-got.od,
+ ld-mips-elf/compressed-plt-1-o32-umips-word.rd,
+ ld-mips-elf/compressed-plt-1-o32-umips-word.od,
+ ld-mips-elf/compressed-plt-1-n32-mips16.rd,
+ ld-mips-elf/compressed-plt-1-n32-mips16.od,
+ ld-mips-elf/compressed-plt-1-n32-umips.rd,
+ ld-mips-elf/compressed-plt-1-n32-umips.od: New tests.
+ * ld-mips-elf/mips-elf.exp: Run them.
+
+2013-10-13 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ld-mips-elf/pic-and-nonpic-6-n32.ad,
+ ld-mips-elf/pic-and-nonpic-6-n32.dd,
+ ld-mips-elf/pic-and-nonpic-6-n32.gd,
+ ld-mips-elf/pic-and-nonpic-6-n32.nd,
+ ld-mips-elf/pic-and-nonpic-6-n32.rd,
+ ld-mips-elf/pic-and-nonpic-6-n64.ad,
+ ld-mips-elf/pic-and-nonpic-6-n64.dd,
+ ld-mips-elf/pic-and-nonpic-6-n64.gd,
+ ld-mips-elf/pic-and-nonpic-6-n64.nd,
+ ld-mips-elf/pic-and-nonpic-6-n64.rd,
+ ld-mips-elf/pic-and-nonpic-6-o32.ad,
+ ld-mips-elf/pic-and-nonpic-6-o32.dd,
+ ld-mips-elf/pic-and-nonpic-6-o32.gd,
+ ld-mips-elf/pic-and-nonpic-6-o32.nd,
+ ld-mips-elf/pic-and-nonpic-6-o32.rd: Fix symbol value of extf4.
+ No longer expect extf3, extf4 and extd2 to be in the global GOT.
+
+2013-10-03 Will Newton <will.newton@linaro.org>
+
+ * ld-ifunc/ifunc.exp: Enable ifunc tests for AArch64.
+ * ld-aarch64/aarch64-elf.exp: Run ifunc tests.
+ * ld-aarch64/ifunc-1-local.d: New file.
+ * ld-aarch64/ifunc-1-local.s: Likewise.
+ * ld-aarch64/ifunc-1.d: Likewise.
+ * ld-aarch64/ifunc-1.s: Likewise.
+ * ld-aarch64/ifunc-10.d: Likewise.
+ * ld-aarch64/ifunc-10.s: Likewise.
+ * ld-aarch64/ifunc-11.d: Likewise.
+ * ld-aarch64/ifunc-11.s: Likewise.
+ * ld-aarch64/ifunc-12.d: Likewise.
+ * ld-aarch64/ifunc-12.s: Likewise.
+ * ld-aarch64/ifunc-13.d: Likewise.
+ * ld-aarch64/ifunc-13a.s: Likewise.
+ * ld-aarch64/ifunc-13b.s: Likewise.
+ * ld-aarch64/ifunc-14a.d: Likewise.
+ * ld-aarch64/ifunc-14a.s: Likewise.
+ * ld-aarch64/ifunc-14b.d: Likewise.
+ * ld-aarch64/ifunc-14b.s: Likewise.
+ * ld-aarch64/ifunc-14c.d: Likewise.
+ * ld-aarch64/ifunc-14c.s: Likewise.
+ * ld-aarch64/ifunc-14d.d: Likewise.
+ * ld-aarch64/ifunc-14e.d: Likewise.
+ * ld-aarch64/ifunc-14f.d: Likewise.
+ * ld-aarch64/ifunc-15.d: Likewise.
+ * ld-aarch64/ifunc-15.s: Likewise.
+ * ld-aarch64/ifunc-16.d: Likewise.
+ * ld-aarch64/ifunc-16.s: Likewise.
+ * ld-aarch64/ifunc-17a.d: Likewise.
+ * ld-aarch64/ifunc-17a.s: Likewise.
+ * ld-aarch64/ifunc-17b.d: Likewise.
+ * ld-aarch64/ifunc-17b.s: Likewise.
+ * ld-aarch64/ifunc-18a.d: Likewise.
+ * ld-aarch64/ifunc-18a.s: Likewise.
+ * ld-aarch64/ifunc-18b.d: Likewise.
+ * ld-aarch64/ifunc-18b.s: Likewise.
+ * ld-aarch64/ifunc-19a.d: Likewise.
+ * ld-aarch64/ifunc-19a.s: Likewise.
+ * ld-aarch64/ifunc-19b.d: Likewise.
+ * ld-aarch64/ifunc-19b.s: Likewise.
+ * ld-aarch64/ifunc-2-local.d: Likewise.
+ * ld-aarch64/ifunc-2-local.s: Likewise.
+ * ld-aarch64/ifunc-2.d: Likewise.
+ * ld-aarch64/ifunc-2.s: Likewise.
+ * ld-aarch64/ifunc-20.d: Likewise.
+ * ld-aarch64/ifunc-20.s: Likewise.
+ * ld-aarch64/ifunc-3.s: Likewise.
+ * ld-aarch64/ifunc-3a.d: Likewise.
+ * ld-aarch64/ifunc-3b.d: Likewise.
+ * ld-aarch64/ifunc-4.d: Likewise.
+ * ld-aarch64/ifunc-4.s: Likewise.
+ * ld-aarch64/ifunc-4a.d: Likewise.
+ * ld-aarch64/ifunc-5-local.s: Likewise.
+ * ld-aarch64/ifunc-5.s: Likewise.
+ * ld-aarch64/ifunc-5a-local.d: Likewise.
+ * ld-aarch64/ifunc-5a.d: Likewise.
+ * ld-aarch64/ifunc-5b-local.d: Likewise.
+ * ld-aarch64/ifunc-5b.d: Likewise.
+ * ld-aarch64/ifunc-5r-local.d: Likewise.
+ * ld-aarch64/ifunc-6.s: Likewise.
+ * ld-aarch64/ifunc-6a.d: Likewise.
+ * ld-aarch64/ifunc-6b.d: Likewise.
+ * ld-aarch64/ifunc-7.s: Likewise.
+ * ld-aarch64/ifunc-7a.d: Likewise.
+ * ld-aarch64/ifunc-7b.d: Likewise.
+ * ld-aarch64/ifunc-7c.d: Likewise.
+ * ld-aarch64/ifunc-8.d: Likewise.
+ * ld-aarch64/ifunc-8a.s: Likewise.
+ * ld-aarch64/ifunc-8b.s: Likewise.
+ * ld-aarch64/ifunc-9.d: Likewise.
+ * ld-aarch64/ifunc-9.s: Likewise.
+
+2013-09-24 Gregory Fong <gregory.0xf0@gmail.com>
+
+ * ld-mips-elf/eh-frame5.d, ld-mips-elf/jalx-2.dd,
+ ld-mips-elf/mips-elf.exp, ld-mips-elf/mips16-pic-2.ad,
+ ld-mips-elf/mips16-pic-2.nd, ld-mips-elf/pic-and-nonpic-3a.dd,
+ ld-mips-elf/pic-and-nonpic-3b.ad, ld-mips-elf/pic-and-nonpic-3b.dd,
+ ld-mips-elf/pic-and-nonpic-3b.nd, ld-mips-elf/pic-and-nonpic-4b.ad,
+ ld-mips-elf/pic-and-nonpic-4b.nd, ld-mips-elf/pic-and-nonpic-4b.rd,
+ ld-mips-elf/pic-and-nonpic-5b.ad, ld-mips-elf/pic-and-nonpic-5b.nd,
+ ld-mips-elf/pic-and-nonpic-6-n32.ad,
+ ld-mips-elf/pic-and-nonpic-6-n32.dd,
+ ld-mips-elf/pic-and-nonpic-6-n32.nd,
+ ld-mips-elf/pic-and-nonpic-6-n64.ad,
+ ld-mips-elf/pic-and-nonpic-6-n64.dd,
+ ld-mips-elf/pic-and-nonpic-6-n64.nd,
+ ld-mips-elf/pic-and-nonpic-6-o32.ad,
+ ld-mips-elf/pic-and-nonpic-6-o32.dd,
+ ld-mips-elf/pic-and-nonpic-6-o32.nd, ld-mips-elf/rel32-n32.d,
+ ld-mips-elf/rel32-o32.d, ld-mips-elf/rel64.d,
+ ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tls-multi-got-1.r,
+ ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got,
+ ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got,
+ ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got,
+ ld-mips-elf/tlsdyn-o32.d, ld-mips-elf/tlsdyn-o32.got,
+ ld-mips-elf/tlslib-o32-ver.got, ld-mips-elf/tlslib-o32.got: Update
+ for removal of _GLOBAL_OFFSET_TABLE_ from .dynsym.
+
+2013-09-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * ld-aarch64/eh-frame.d: Update expected output to allow for
+ 64-bit addresses.
+
+2013-09-12 Nick Clifton <nickc@redhat.com>
+
+ * ld-elf/eh1.d: Update expected output to allow for
+ 64-bit addresses.
+ * ld-elf/eh2.d: Likewise.
+ * ld-elf/eh3.d: Likewise.
+ * ld-elf/eh4.d: Likewise.
+ * ld-elf/eh5.d: Likewise.
+ * ld-elf/eh6.d: Likewise.
+ * ld-mips-elf/eh-frame1-n64.d: Likewise.
+ * ld-mips-elf/eh-frame2-n64.d: Likewise.
+ * ld-mips-elf/eh-frame3.d: Likewise.
+
+2013-09-04 Vidya Praveen <vidyapraveen@arm.com>
+
+ * ld-arm/export-class.exp: Fix the condition.
+
+2013-08-29 Jakub Jelinek <jakub@redhat.com>
+
+ * ld-x86-64/x86-64.exp: Add tlsld3, tlsgd7 and tlsgd8 tests.
+ * ld-x86-64/tlspic1.s: Add -mcmodel=large -fpic TLS GD and LD
+ sequences.
+ * ld-x86-64/tlspic.dd: Adjusted.
+ * ld-x86-64/tlspic.rd: Adjusted.
+ * ld-x86-64/tlspic-nacl.rd: Adjusted.
+ * ld-x86-64/tlsld3.dd: New test.
+ * ld-x86-64/tlsld3.s: New file.
+ * ld-x86-64/tlsgd7.dd: New test.
+ * ld-x86-64/tlsgd7.s: New file.
+ * ld-x86-64/tlsgd8.dd: New test.
+ * ld-x86-64/tlsgd8.s: New file.
+
+2013-08-26 Roland McGrath <mcgrathr@google.com>
+
+ * ld-x86-64/x86-64.exp (Mixed x86_64 and i386 input test 1):
+ Loosen string match to admit i386:x86-64*.
+ (Mixed x86_64 and i386 input test 2): Likewise.
+ * ld-x86-64/ilp32-2.d: Likewise.
+ * ld-x86-64/ilp32-3.d: Likewise.
+ * ld-x86-64/lp64-2.d: Likewise.
+ * ld-x86-64/lp64-3.d: Likewise.
+ * ld-x86-64/ia32-2.d: Likewise, and i386.* too.
+ * ld-x86-64/ia32-3.d: Likewise.
+
+2013-08-26 Roland McGrath <mcgrathr@google.com>
+
+ * ld-x86-64/ilp32-4-nacl.d: Loosen .shstrtab line regexp to match
+ any file offset.
+ * ld-x86-64/tlsbin-nacl.rd: Update expected code segment PT_LOAD.
+ * ld-x86-64/tlsbindesc-nacl.rd: Likewise.
+ * ld-scripts/rgn-at3.d: XFAIL for *-*-nacl* targets.
+ * ld-scripts/rgn-over8-ok.d: Likewise.
+
+2013-08-24 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * ld-elf/comm-data.exp: Use check_shared_lib_support rather than
+ explicit patterns for test target qualification. Define extra
+ tool flags for *-*-hpux* and tic6x-*-* targets. Link with a
+ linker script. Use alternative patterns for targets that do not
+ eliminate copy relocs, currently mn10300-*-* and vax-*-*.
+ * ld-elf/comm-data2.s: Handle HPUX's `.comm' syntax.
+ * ld-elf/comm-data2.ld: New test linker script.
+ * ld-elf/comm-data2.xd: Match section's VMA too. Ignore ASCII
+ data dump.
+ * ld-elf/comm-data2r.rd: New test pattern.
+ * ld-elf/comm-data2r.sd: New test pattern.
+ * ld-elf/comm-data2r.xd: New test pattern.
+ * ld-mips-elf/comm-data.exp: Use check_shared_lib_support rather
+ than an explicit pattern for test target qualification. Link
+ with a linker script.
+
+2013-08-24 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * ld-arm/export-class.exp: Handle non-EABI targets.
+
+2013-08-23 Roland McGrath <mcgrathr@google.com>
+
+ * ld-x86-64/ilp32-4-nacl.d: Update for 2013-05-31 gas alignment change.
+ * ld/testsuite/ld-x86-64/tlsbin-nacl.rd: Likewise.
+ * ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd: Likewise.
+ * ld/testsuite/ld-x86-64/tlsdesc-nacl.rd: Likewise.
+ * ld/testsuite/ld-x86-64/tlspic-nacl.rd: Likewise.
+
+2013-08-23 Yuri Chornoivan <yurchor@ukr.net>
+
+ PR binutils/15834
+ * ld-mips-elf/mips16-pic-1.inc: Fix typos.
+
+2013-08-22 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/powerpc.exp: Substitute for le in options_regsub(ld).
+ Correct ppc64elftests option replacement.
+ (supports_ppc64): Match elf64lppc too.
+ * ld-powerpc/relbrlt.d: Update for little-endian.
+ * ld-powerpc/symtocbase.d: Likewise.
+ * ld-powerpc/tls.t: Likewise.
+ * ld-powerpc/tlsexetoc.g: Likewise.
+ * ld-powerpc/tlsso.d: Likewise.
+ * ld-powerpc/tlsso.g: Likewise.
+ * ld-powerpc/tlstoc.t: Likewise.
+ * ld-powerpc/tlstocso.d: Likewise.
+ * ld-powerpc/tlstocso.g: Likewise.
+ * ld-powerpc/tlstocso.t: Likewise.
+ * ld-powerpc/tocopt.d: Likewise.
+ * ld-powerpc/tocopt2.d: Likewise.
+ * ld-powerpc/tocopt3.d: Likewise.
+ * ld-powerpc/tocopt4.d: Likewise.
+ * ld-powerpc/tocopt5.d: Likewise.
+
+2013-08-14 Clemens Lang <clemens.lang@fau.de>
+
+ * ld-scripts/log2.exp: New: Run the new log2 test.
+ * ld-scripts/log2.s: Source for the new test.
+ * ld-scripts/log2.t: Linker script for new test.
+
+2013-08-14 John Tytgat <john@bass-software.com>
+
+ PR ld/15787
+ * ld-arm/group-relocs-ldr-bad.s: Redefine bar into foo section
+ beyond 16 bit offset width.
+ * ld-arm/group-relocs-ldrs-bad.s: Likewise.
+ * ld-arm/group-relocs-ldr-bad.d: Adjust expected result.
+ * ld-arm/group-relocs-ldrs-bad.d: Likewise.
+ * ld-arm/group-relocs.s: Add comments. Move symbols used for sb
+ group relocations into .data section. Drop section zero. Use pc/r0
+ as base register when pc/sb group relocations are used.
+ * ld-arm/group-relocs.d: Adjust expected result.
+ * ld-arm/group-relocs-alu-bad-2.d: New test for sb group relocation.
+ * ld-arm/group-relocs-ldc-bad-2.d: Likewise.
+ * ld-arm/group-relocs-ldr-bad-2.d: New test for pc group relocation.
+ * ld-arm/group-relocs-ldrs-bad-2.d: Likewise.
+ * ld-arm/unresolved-2.d: Add sb relocation failure test.
+ * ld-arm/group-relocs-alu-bad-2.s: New test source.
+ * ld-arm/group-relocs-ldr-bad-2.s: Likewise.
+ * ld-arm/group-relocs-ldrs-bad-2.s: Likewise.
+ * ld-arm/group-relocs-ldc-bad-2.s: Likewise.
+ * ld-arm/unresolved-2.s: Likewise.
+ * ld-arm/arm-elf.exp: For group-relocs, drop section zero start
+ definition. Run the new tests.
+
+2013-08-09 Nick Clifton <nickc@redhat.com>
+
+ * lib/ld-lib.exp (check_shared_lib_support): Note that the RL78
+ does not support shared library generation.
+
+2013-07-31 John Tytgat <john@bass-software.com>
+
+ PR ld/15787
+ * ld-arm/group-relocs-alu-bad-2.d; New.
+ * ld-arm/group-relocs-alu-bad-2.s: New.
+ * ld-arm/group-relocs-ldc-bad-2.d: New.
+ * ld-arm/group-relocs-ldc-bad-2.s: New.
+ * ld-arm/group-relocs-ldr-bad-2.d: New.
+ * ld-arm/group-relocs-ldr-bad-2.s: New.
+ * ld-arm/group-relocs-ldrs-bad-2.d: New.
+ * ld-arm/group-relocs-ldrs-bad-2: New.
+ * ld-arm/arm-elf.exp: Add the new tests.
+ * ld-arm/group-relocs-ldr-bad.d: Update expected output.
+ * ld-arm/group-relocs-ldr-bad.s: Likewise.
+ * ld-arm/group-relocs-ldrs-bad.d: Likewise.
+ * ld-arm/group-relocs-ldrs-bad.s: Likewise.
+ * ld-arm/group-relocs.d: Likewise.
+ * ld-arm/group-relocs.s: Likewise.
+
+2013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * ld-vax-elf/export-class-call.dd: New test.
+ * ld-vax-elf/export-class-call.rd: New test.
+ * ld-vax-elf/export-class-call.xd: New test.
+ * ld-vax-elf/export-class-data.dd: New test.
+ * ld-vax-elf/export-class-data.rd: New test.
+ * ld-vax-elf/export-class-data.xd: New test.
+ * ld-vax-elf/export-class.ld: New test linker script.
+ * ld-vax-elf/export-class-call.s: New test source.
+ * ld-vax-elf/export-class-data.s: New test source.
+ * ld-vax-elf/export-class-def.s: New test source.
+ * ld-vax-elf/vax-elf.exp: Run the new tests.
+ * ld-vax-elf/vax-export-class.rd: New test.
+ * ld-vax-elf/vax-export-class.xd: New test.
+ * ld-vax-elf/export-class.exp: New test script.
+
+2013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * ld-vax-elf/got-local-exe.xd: New test.
+ * ld-vax-elf/got-local-lib.xd: New test.
+ * ld-vax-elf/got-local-aux.s: New test source.
+ * ld-vax-elf/got-local-def.s: New test source.
+ * ld-vax-elf/got-local-ref.s: New test source.
+ * ld-vax-elf/vax-elf.exp: Run the new tests.
+
+2013-07-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15762
+ * ld-elf/shared.exp (build_tests): Check .gnu.warning section
+ in the libbarw.so library.
+ * ld-elf/libbarw.rd: New.
+
+ * lib/ld-lib.exp (run_cc_link_tests): Support checking on
+ output with warning message.
+
+2013-07-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * ld-scripts/script.exp: Use run_dump_test instead of
+ ld_simple_link to check the error message.
+ * ld-scripts/align-with-input.d: New file.
+ * ld-scripts/region-alias-1.d: Likewise.
+ * ld-scripts/region-alias-2.d: Likewise.
+ * ld-scripts/region-alias-3.d: Likewise.
+ * ld-scripts/region-alias-4.d: Likewise.
+
+2013-07-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * ld-scripts/script.exp: Run align with input test.
+ * ld-scripts/align-with-input.t: New file.
+ * ld-scripts/rgn-at8.d: Likewise.
+ * ld-scripts/rgn-at8.t: Likewise.
+
+2013-07-18 Terry Guo <terry.guo@arm.com>
+
+ * ld-arm/thumb-b-lks-sym.d: Updated to be more flexible.
+ * ld-arm/thumb-bl-lks-sym.d: Likewise.
+
+2013-07-18 Roland McGrath <mcgrathr@google.com>
+
+ * ld-arm/farcall-arm-nacl.d: New file.
+ * ld-arm/farcall-arm-nacl-pic.d: New file.
+ * ld-arm/farcall-data-nacl.d: New file.
+ * ld-arm/arm-elf.exp (armeabitests_common): Add extra element to
+ "action" lists for those cases to use a different dump file for NaCl
+ targets.
+ Massage $armeabitests_common to drop the extra element or the one
+ before it, depending on [istarget "arm*-*-nacl*"].
+
+ * ld-arm/arm-elf.exp (armelftests_common): Move all "Cortex-A8
+ erratum fix", Thumb-only and interworking cases to ...
+ (armelftests_nonacl): ... here.
+ (armeabitests_common): Move all "erratum 760522 fix", Thumb-only
+ and interworking cases to ...
+ (armeabitests_nonacl): ... here.
+
+2013-07-12 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * ld-mips-elf/nan-2008.d: New test.
+ * ld-mips-elf/nan-legacy.d: New test.
+ * ld-mips-elf/nan-mixed-1.d: New test.
+ * ld-mips-elf/nan-mixed-2.d: New test.
+ * ld-mips-elf/nan-2008.s: New test source.
+ * ld-mips-elf/nan-legacy.s: New test source.
+
+2013-07-03 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * ld-aarch64/emit-relocs-309.s: Replace got_prel19 with got.
+ * ld-aarch64/gc-relocs-309.s: Likewise.
+
+2013-07-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * ld-aarch64/gc-plt-relocs.d: Adjust expected .got offsets.
+ * ld-aarch64/tls-desc-ie.d: Likewise.
+ * ld-aarch64/emit-relocs-311.d: Adjust expected symbol.
+ * ld-aarch64/tls-relax-all.d: Likewise.
+ * ld-aarch64/tls-relax-gd-ie.d: Likewise.
+ * ld-aarch64/tls-relax-gdesc-ie.d: Likewise.
+ * ld-aarch64/tls-relax-gdesc-ie-2.d: Likewise.
+
+2013-07-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-x86-64/tlsg.sd: Adjusted.
+
+2013-06-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15685
+ * ld-x86-64/tlsg.s: Add a test for R_X86_64_DTPOFF64.
+ * ld-x86-64/tlsg.sd: Updated.
+
+2013-06-24 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * ld-mips-elf/jalx-2.dd: Update for microMIPS PLT support.
+ * ld-mips-elf/pic-and-nonpic-3a.dd: Update for the _MIPS_STUBS_
+ magic symbol.
+ * ld-mips-elf/pic-and-nonpic-3b.dd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-n32.dd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-n64.dd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-o32.dd: Likewise.
+ * ld-mips-elf/stub-dynsym-1-10000.d: Likewise.
+ * ld-mips-elf/stub-dynsym-1-2fe80.d: Likewise.
+ * ld-mips-elf/stub-dynsym-1-7fff.d: Likewise.
+ * ld-mips-elf/stub-dynsym-1-8000.d: Likewise.
+ * ld-mips-elf/stub-dynsym-1-fff0.d: Likewise.
+ * ld-mips-elf/tlslib-o32.d: Likewise.
+
+2013-06-19 Will Newton <will.newton@linaro.org>
+
+ * ld-aarch64/aarch64-elf.exp: Remove ifunc tests.
+ * ld-ifunc/ifunc.exp: Disable ifunc tests on AArch64.
+ * ld-aarch64/ifunc-1-local.d: Remove.
+ * ld-aarch64/ifunc-1-local.s: Likewise.
+ * ld-aarch64/ifunc-1.d: Likewise.
+ * ld-aarch64/ifunc-1.s: Likewise.
+ * ld-aarch64/ifunc-10.d: Likewise.
+ * ld-aarch64/ifunc-10.s: Likewise.
+ * ld-aarch64/ifunc-11.d: Likewise.
+ * ld-aarch64/ifunc-11.s: Likewise.
+ * ld-aarch64/ifunc-12.d: Likewise.
+ * ld-aarch64/ifunc-12.s: Likewise.
+ * ld-aarch64/ifunc-13.d: Likewise.
+ * ld-aarch64/ifunc-13a.s: Likewise.
+ * ld-aarch64/ifunc-13b.s: Likewise.
+ * ld-aarch64/ifunc-14a.d: Likewise.
+ * ld-aarch64/ifunc-14a.s: Likewise.
+ * ld-aarch64/ifunc-14b.d: Likewise.
+ * ld-aarch64/ifunc-14b.s: Likewise.
+ * ld-aarch64/ifunc-14c.d: Likewise.
+ * ld-aarch64/ifunc-14c.s: Likewise.
+ * ld-aarch64/ifunc-14d.d: Likewise.
+ * ld-aarch64/ifunc-14e.d: Likewise.
+ * ld-aarch64/ifunc-14f.d: Likewise.
+ * ld-aarch64/ifunc-15.d: Likewise.
+ * ld-aarch64/ifunc-15.s: Likewise.
+ * ld-aarch64/ifunc-16.d: Likewise.
+ * ld-aarch64/ifunc-16.s: Likewise.
+ * ld-aarch64/ifunc-17a.d: Likewise.
+ * ld-aarch64/ifunc-17a.s: Likewise.
+ * ld-aarch64/ifunc-17b.d: Likewise.
+ * ld-aarch64/ifunc-17b.s: Likewise.
+ * ld-aarch64/ifunc-18a.d: Likewise.
+ * ld-aarch64/ifunc-18a.s: Likewise.
+ * ld-aarch64/ifunc-18b.d: Likewise.
+ * ld-aarch64/ifunc-18b.s: Likewise.
+ * ld-aarch64/ifunc-19a.d: Likewise.
+ * ld-aarch64/ifunc-19a.s: Likewise.
+ * ld-aarch64/ifunc-19b.d: Likewise.
+ * ld-aarch64/ifunc-19b.s: Likewise.
+ * ld-aarch64/ifunc-2-local.d: Likewise.
+ * ld-aarch64/ifunc-2-local.s: Likewise.
+ * ld-aarch64/ifunc-2.d: Likewise.
+ * ld-aarch64/ifunc-2.s: Likewise.
+ * ld-aarch64/ifunc-20.d: Likewise.
+ * ld-aarch64/ifunc-20.s: Likewise.
+ * ld-aarch64/ifunc-3.s: Likewise.
+ * ld-aarch64/ifunc-3a.d: Likewise.
+ * ld-aarch64/ifunc-3b.d: Likewise.
+ * ld-aarch64/ifunc-4.d: Likewise.
+ * ld-aarch64/ifunc-4.s: Likewise.
+ * ld-aarch64/ifunc-4a.d: Likewise.
+ * ld-aarch64/ifunc-5-local.s: Likewise.
+ * ld-aarch64/ifunc-5.s: Likewise.
+ * ld-aarch64/ifunc-5a-local.d: Likewise.
+ * ld-aarch64/ifunc-5a.d: Likewise.
+ * ld-aarch64/ifunc-5b-local.d: Likewise.
+ * ld-aarch64/ifunc-5b.d: Likewise.
+ * ld-aarch64/ifunc-5r-local.d: Likewise.
+ * ld-aarch64/ifunc-6.s: Likewise.
+ * ld-aarch64/ifunc-6a.d: Likewise.
+ * ld-aarch64/ifunc-6b.d: Likewise.
+ * ld-aarch64/ifunc-7.s: Likewise.
+ * ld-aarch64/ifunc-7a.d: Likewise.
+ * ld-aarch64/ifunc-7b.d: Likewise.
+ * ld-aarch64/ifunc-7c.d: Likewise.
+ * ld-aarch64/ifunc-8.d: Likewise.
+ * ld-aarch64/ifunc-8a.s: Likewise.
+ * ld-aarch64/ifunc-8b.s: Likewise.
+ * ld-aarch64/ifunc-9.d: Likewise.
+ * ld-aarch64/ifunc-9.s: Likewise.
+
+2013-06-17 Will Newton <will.newton@linaro.org>
+
+ * ld-aarch64/ifunc-1-local.d: Enable test on aarch64_be.
+ * ld-aarch64/ifunc-1.d: Likewise.
+ * ld-aarch64/ifunc-10.d: Likewise.
+ * ld-aarch64/ifunc-11.d: Likewise.
+ * ld-aarch64/ifunc-12.d: Likewise.
+ * ld-aarch64/ifunc-13.d: Likewise.
+ * ld-aarch64/ifunc-14a.d: Likewise.
+ * ld-aarch64/ifunc-14b.d: Likewise.
+ * ld-aarch64/ifunc-14c.d: Likewise.
+ * ld-aarch64/ifunc-14d.d: Likewise.
+ * ld-aarch64/ifunc-14e.d: Likewise.
+ * ld-aarch64/ifunc-14f.d: Likewise.
+ * ld-aarch64/ifunc-15.d: Likewise.
+ * ld-aarch64/ifunc-16.d: Likewise.
+ * ld-aarch64/ifunc-17a.d: Likewise.
+ * ld-aarch64/ifunc-17b.d: Likewise.
+ * ld-aarch64/ifunc-18a.d: Likewise.
+ * ld-aarch64/ifunc-18b.d: Likewise.
+ * ld-aarch64/ifunc-19a.d: Likewise.
+ * ld-aarch64/ifunc-19b.d: Likewise.
+ * ld-aarch64/ifunc-2-local.d: Likewise.
+ * ld-aarch64/ifunc-2.d: Likewise.
+ * ld-aarch64/ifunc-20.d: Likewise.
+ * ld-aarch64/ifunc-3a.d: Likewise.
+ * ld-aarch64/ifunc-3b.d: Likewise.
+ * ld-aarch64/ifunc-4.d: Likewise.
+ * ld-aarch64/ifunc-4a.d: Likewise.
+ * ld-aarch64/ifunc-5a-local.d: Likewise.
+ * ld-aarch64/ifunc-5a.d: Likewise.
+ * ld-aarch64/ifunc-5b-local.d: Likewise.
+ * ld-aarch64/ifunc-5b.d: Likewise.
+ * ld-aarch64/ifunc-5r-local.d: Likewise.
+ * ld-aarch64/ifunc-6a.d: Likewise.
+ * ld-aarch64/ifunc-6b.d: Likewise.
+ * ld-aarch64/ifunc-7a.d: Likewise.
+ * ld-aarch64/ifunc-7b.d: Likewise.
+ * ld-aarch64/ifunc-8.d: Likewise.
+ * ld-aarch64/ifunc-9.d: Likewise.
+ * ld-ifunc/ifunc.exp: Likewise.
+
+2013-06-14 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * ld-aarch64/aarch64-elf.exp: Add 'ifunc-7c'.
+ * ld-aarch64/ifunc-7c.d: New test.
+
+2013-06-14 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * ld-aarch64/ifunc-1-local.d: Replace hard-coded immediate offset
+ with regexp.
+ * ld-aarch64/ifunc-1.d: Likewise.
+ * ld-aarch64/ifunc-2-local.d: Likewise.
+ * ld-aarch64/ifunc-2.d: Likewise.
+ * ld-aarch64/ifunc-3a.d: Likewise.
+ * ld-aarch64/ifunc-2-local.s: Change not to declare __GI_foo and foo
+ global.
+
+2013-06-13 Terry Guo <terry.guo@arm.com>
+
+ PR ld/15302
+ * ld-arm/branch-lks-sym.ld: New script.
+ * ld-arm/thumb-b-lks-sym.s: New test.
+ * ld-arm/thumb-b-lks-sym.d: Expected disassembly.
+ * ld-arm/thumb-bl-lks-sym.s: New test.
+ * ld-arm/thumb-bl-lks-sym.d: Expected disassembly.
+ * ld-arm/arm-elf.exp: Run the new tests.
+
+2013-06-07 Will Newton <will.newton@linaro.org>
+
+ * ld-ifunc/ifunc.exp: Enable ifunc tests for AArch64.
+ * ld-aarch64/aarch64-elf.exp: Add ifunc tests.
+ * ld-aarch64/ifunc-1-local.d: New file.
+ * ld-aarch64/ifunc-1-local.s: Likewise.
+ * ld-aarch64/ifunc-1.d: Likewise.
+ * ld-aarch64/ifunc-1.s: Likewise.
+ * ld-aarch64/ifunc-10.d: Likewise.
+ * ld-aarch64/ifunc-10.s: Likewise.
+ * ld-aarch64/ifunc-11.d: Likewise.
+ * ld-aarch64/ifunc-11.s: Likewise.
+ * ld-aarch64/ifunc-12.d: Likewise.
+ * ld-aarch64/ifunc-12.s: Likewise.
+ * ld-aarch64/ifunc-13.d: Likewise.
+ * ld-aarch64/ifunc-13a.s: Likewise.
+ * ld-aarch64/ifunc-13b.s: Likewise.
+ * ld-aarch64/ifunc-14a.d: Likewise.
+ * ld-aarch64/ifunc-14a.s: Likewise.
+ * ld-aarch64/ifunc-14b.d: Likewise.
+ * ld-aarch64/ifunc-14b.s: Likewise.
+ * ld-aarch64/ifunc-14c.d: Likewise.
+ * ld-aarch64/ifunc-14c.s: Likewise.
+ * ld-aarch64/ifunc-14d.d: Likewise.
+ * ld-aarch64/ifunc-14e.d: Likewise.
+ * ld-aarch64/ifunc-14f.d: Likewise.
+ * ld-aarch64/ifunc-15.d: Likewise.
+ * ld-aarch64/ifunc-15.s: Likewise.
+ * ld-aarch64/ifunc-16.d: Likewise.
+ * ld-aarch64/ifunc-16.s: Likewise.
+ * ld-aarch64/ifunc-17a.d: Likewise.
+ * ld-aarch64/ifunc-17a.s: Likewise.
+ * ld-aarch64/ifunc-17b.d: Likewise.
+ * ld-aarch64/ifunc-17b.s: Likewise.
+ * ld-aarch64/ifunc-18a.d: Likewise.
+ * ld-aarch64/ifunc-18a.s: Likewise.
+ * ld-aarch64/ifunc-18b.d: Likewise.
+ * ld-aarch64/ifunc-18b.s: Likewise.
+ * ld-aarch64/ifunc-19a.d: Likewise.
+ * ld-aarch64/ifunc-19a.s: Likewise.
+ * ld-aarch64/ifunc-19b.d: Likewise.
+ * ld-aarch64/ifunc-19b.s: Likewise.
+ * ld-aarch64/ifunc-2-local.d: Likewise.
+ * ld-aarch64/ifunc-2-local.s: Likewise.
+ * ld-aarch64/ifunc-2.d: Likewise.
+ * ld-aarch64/ifunc-2.s: Likewise.
+ * ld-aarch64/ifunc-20.d: Likewise.
+ * ld-aarch64/ifunc-20.s: Likewise.
+ * ld-aarch64/ifunc-3.s: Likewise.
+ * ld-aarch64/ifunc-3a.d: Likewise.
+ * ld-aarch64/ifunc-3b.d: Likewise.
+ * ld-aarch64/ifunc-4.d: Likewise.
+ * ld-aarch64/ifunc-4.s: Likewise.
+ * ld-aarch64/ifunc-4a.d: Likewise.
+ * ld-aarch64/ifunc-5-local.s: Likewise.
+ * ld-aarch64/ifunc-5.s: Likewise.
+ * ld-aarch64/ifunc-5a-local.d: Likewise.
+ * ld-aarch64/ifunc-5a.d: Likewise.
+ * ld-aarch64/ifunc-5b-local.d: Likewise.
+ * ld-aarch64/ifunc-5b.d: Likewise.
+ * ld-aarch64/ifunc-5r-local.d: Likewise.
+ * ld-aarch64/ifunc-6.s: Likewise.
+ * ld-aarch64/ifunc-6a.d: Likewise.
+ * ld-aarch64/ifunc-6b.d: Likewise.
+ * ld-aarch64/ifunc-7.s: Likewise.
+ * ld-aarch64/ifunc-7a.d: Likewise.
+ * ld-aarch64/ifunc-7b.d: Likewise.
+ * ld-aarch64/ifunc-8.d: Likewise.
+ * ld-aarch64/ifunc-8a.s: Likewise.
+ * ld-aarch64/ifunc-8b.s: Likewise.
+ * ld-aarch64/ifunc-9.d: Likewise.
+ * ld-aarch64/ifunc-9.s: Likewise.
+
+2013-06-04 Roland McGrath <mcgrathr@google.com>
+
+ * ld-size/size.exp: For *-*-nacl* targets, use options_regsub(ld)
+ to massage -m arguments into _nacl variants.
+ * ld/testsuite/ld-size/size32-1-i386.d: Loosen regexps so they
+ don't care what the exact addresses are.
+ * ld/testsuite/ld-size/size32-1-x32.d: Likewise.
+ * ld/testsuite/ld-size/size32-1-x86-64.d: Likewise.
+ * ld/testsuite/ld-size/size32-2-i386.d: Likewise.
+ * ld/testsuite/ld-size/size32-2-x32.d: Likewise.
+ * ld/testsuite/ld-size/size32-2-x86-64.d: Likewise.
+ * ld/testsuite/ld-size/size64-1-x32.d: Likewise.
+ * ld/testsuite/ld-size/size64-1-x86-64.d: Likewise.
+ * ld/testsuite/ld-size/size64-2-x32.d: Likewise.
+ * ld/testsuite/ld-size/size64-2-x86-64.d: Likewise.
+
+2013-06-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-i386/tlsbindesc-nacl.rd: Updated for text/data/bss section
+ alignment change.
+ * ld-x86-64/split-by-file-nacl.rd: Likewise.
+
+2013-05-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-i386/pr12718.d: Updated for text/data/bss section alignment
+ change.
+ * ld-i386/tlsbindesc.dd: Likewise.
+ * ld-i386/tlsbindesc.rd: Likewise.
+ * ld-i386/tlsnopic.dd: Likewise.
+ * ld-i386/tlspic.dd: Likewise.
+ * ld-x86-64/ilp32-4.d: Likewise.
+ * ld-x86-64/pr12718.d: Likewise.
+ * ld-x86-64/split-by-file.rd: Likewise.
+ * ld-x86-64/tlsbin.dd: Likewise.
+ * ld-x86-64/tlsbin.rd: Likewise.
+ * ld-x86-64/tlsbindesc.dd: Likewise.
+ * ld-x86-64/tlsbindesc.rd: Likewise.
+ * ld-x86-64/tlsdesc.dd: Likewise.
+ * ld-x86-64/tlsdesc.rd: Likewise.
+ * ld-x86-64/tlspic.dd: Likewise.
+ * ld-x86-64/tlspic.rd: Likewise.
+
+2013-05-29 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * ld-mips-elf/jalr3.dd: New test.
+ * ld-mips-elf/jalr3.ld: New test linker script.
+ * ld-mips-elf/mips-elf.exp: Run the new test.
+
+2013-05-21 Alan Modra <amodra@gmail.com>
+
+ PR ld/12982
+ * ld-plugin/pr12982.d: Fail if RWE GNU_STACK present.
+
+2013-05-21 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/export-class.exp (supports_ppc64): Delete.
+ (powerpc_export_class_test): Add "endian" param.
+ (abis): Add little-endian targets and test.
+ * ld-powerpc/powerpc-64-export-class.xd: Update for little-endian.
+
+2013-05-10 Joel Brobecker <brobecker@adacore.com>
+
+ * ld-powerpc/aix-core-sec-1.hd, ld-powerpc/aix-core-sec-2.hd,
+ ld-powerpc/aix-core-sec-3.hd: Adjust expected section flags
+ for section .loader.
+
+2013-05-03 Maciej W. Rozycki <macro@codesourcery.com>
+
+ PR ld/15365
+ * ld-elf/ehdr_start.d: Expect __ehdr_start to be STB_LOCAL.
+ * ld-mips-elf/ehdr_start-1.nd: New test.
+ * ld-mips-elf/ehdr_start-2.nd: New test.
+ * ld-mips-elf/ehdr_start-1.ld: New test linker script.
+ * ld-mips-elf/ehdr_start-2.ld: New test linker script.
+ * ld-mips-elf/ehdr_start-new.s: New test source.
+ * ld-mips-elf/ehdr_start-o32.s: New test source.
+ * ld-mips-elf/mips-elf.exp: Run the new tests.
+
+2013-05-03 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * ld-elf/provide-hidden-s.nd: New test.
+ * ld-elf/provide-hidden-abs.nd: New test.
+ * ld-elf/provide-hidden-def.nd: New test.
+ * ld-elf/provide-hidden-dyn.nd: New test.
+ * ld-elf/provide-hidden-sec.nd: New test.
+ * ld-elf/provide-hidden-dynabs.nd: New test.
+ * ld-elf/provide-hidden-dynsec.nd: New test.
+ * ld-elf/provide-hidden-s.ld: New test linker script.
+ * ld-elf/provide-hidden-1.ld: New test linker script.
+ * ld-elf/provide-hidden-2.ld: New test linker script.
+ * ld-elf/provide-hidden-1.s: New test source.
+ * ld-elf/provide-hidden-2.s: New test source.
+ * ld-elf/provide-hidden-3.s: New test source.
+ * ld-elf/provide-hidden-4.s: New test source.
+ * ld-elf/provide-hidden.exp: New test script.
+
+2013-05-02 Nick Clifton <nickc@redhat.com>
+
+ * ld-elf/flags1.d: Expect this test to pass on the MSP430.
+ * ld-elf/init-fini-arrays.d: Expect this test to fail on the
+ MSP430.
+ * ld-elf/merge.d: Expect this test to pass on the MSP430.
+ * ld-elf/sec64k.exp: Skip these tests for the MSP430.
+ * ld-gc/pr13683.d: Expect this test to fail on the MSP430.
+ * ld-srec/srec.exp: Expect these tests to fail on the MSP430.
+ * ld-undefined/undefined.exp: Expect the UNDEFINED LINE test to
+ fail on the MSP430.
+
+2013-05-01 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * lib/ld-lib.exp (check_shared_lib_support): Also exclude
+ mips*-*-elf.
+
+2013-04-30 Hans-Peter Nilsson <hp@axis.com>
+
+ * lib/ld-lib.exp (check_shared_lib_support): Match cris*-*-elf as
+ a negative pattern instead of cris*-*-*.
+
+2013-04-30 Will Newton <will.newton@linaro.org>
+
+ * ld-arm/arm-elf.exp: Use linker script for IFUNC test 17.
+ * ld-arm/ifunc-17.dd: Update offsets for linker script.
+ * ld-arm/ifunc-17.gd: Likewise.
+ * ld-arm/ifunc-17.rd: Likewise.
+
+2013-04-29 Will Newton <will.newton@linaro.org>
+
+ * ld-arm/arm-elf.exp: Add IFUNC test 17.
+ * ld-arm/ifunc-17.dd: New file.
+ * ld-arm/ifunc-17.gd: Likewise.
+ * ld-arm/ifunc-17.rd: Likewise.
+ * ld-arm/ifunc-17.s: Likweise.
+ * ld-arm/ifunc-1.rd: Reorder relocs to match linker output.
+ * ld-arm/ifunc-2.rd: Likewise.
+ * ld-arm/ifunc-5.rd: Likewise.
+ * ld-arm/ifunc-6.rd: Likewise.
+
+2013-04-29 Will Newton <will.newton@linaro.org>
+
+ * ld-plugin/lto.exp: Disable ld/12942 test for gcc < 4.7.0.
+
+2013-04-22 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/tlsexe.d: Adjust for section id changes.
+ * ld-powerpc/tlsexe.r: Likewise.
+ * ld-powerpc/tlsexetoc.d: Likewise.
+ * ld-powerpc/tlsexetoc.r: Likewise.
+ * ld-powerpc/tlsso.d: Likewise.
+ * ld-powerpc/tlsso.r: Likewise.
+ * ld-powerpc/tlstocso.d: Likewise.
+ * ld-powerpc/tlstocso.r: Likewise.
+
+2013-04-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15371
+ * ld-ifunc/ifunc-20-i386.d: New file.
+ * ld-ifunc/ifunc-20-x86-64.d: Likewise.
+ * ld-ifunc/ifunc-20.s: Likewise.
+
+2013-04-10 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
+
+ * ld-aarch64/gc-plt1.s: New file.
+ * ld-aarch64/gc-plt2.s: Likewise.
+ * ld-aarch64/gc-plt-hidden.s: Likewise.
+ * ld-aarch64/gc-plt-main.s: Likewise.
+ * ld-aarch64/gc-relocs-257.s: Likewise.
+ * ld-aarch64/gc-plt-relocs.d: Update expected objdump.
+ * ld-aarch64/gc-relocs-257.d: Likewise.
+ * ld-aarch64/gc-relocs-257-dyn.d: Likewise.
+ * ld-aarch64/aarch64-elf.exp: Add test.
+
+2013-04-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * ld-aarch64/gc-tls-relocs.d: Handle big endian format.
+ * ld-aarch64/gc-got-relocs.d: Likewise.
+
+2013-04-04 Alan Modra <amodra@gmail.com>
+
+ * ld-elf/shared.exp: Update regexp on --no-add-needed and
+ --no-copy-dt-needed-entries tests.
+
+2013-04-03 Alan Modra <amodra@gmail.com>
+
+ PR ld/15227
+ * ld-plugin/lto.exp (PR ld/12942 (3)): Remove file name and
+ line number from regexp.
+ (PR ld/15146 (2)): Similarly.
+ * ld-plugin/pr12942a.cc (main): Use __builtin_abort.
+
+2013-03-30 Alan Modra <amodra@gmail.com>
+
+ PR ld/15323
+ * ld-plugin/lto.exp (pr15323a.c): Compile without -flto rather
+ than using -r to effectively strip out lto info.
+
+2013-03-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15323
+ * ld-plugin/lto.exp (lto_link_tests): Add pr15323a-r.o.
+ (lto_run_tests): Add a test for PR ld/15323.
+
+ * ld-plugin/pr15323.out: New file.
+ * ld-plugin/pr15323a.c: Likewise.
+ * ld-plugin/pr15323b.c: Likewise.
+
+2013-03-22 Nick Clifton <nickc@redhat.com>
+
+ * ld-elf/init0.s: Add alloc attribute to .section directive.
+ * ld-elf/fini1.s: Likewise.
+ * ld-elf/fini2.s: Likewise.
+ * ld-elf/fini3.s: Likewise.
+ * ld-elf/finin.s: Likewise.
+ * ld-elf/init0.s: Likewise.
+ * ld-elf/init1.s: Likewise.
+ * ld-elf/init2.s: Likewise.
+ * ld-elf/init3.s: Likewise.
+ * ld-elf/initn.s: Likewise.
+
+2013-02-02 Michael Schewe <michael.schewe@gmx.net>
+
+ * ld-h8300/h8300.exp: Add new relax-7 test on ELF.
+ * ld-h8300/relax-2.s: Add other direction and .w/.l variants of
+ mov insns.
+ * ld-h8300/relax-2.d: Update expected disassembly.
+ * ld-h8300/relax-7a.s: New: tests for mov @(disp:32,ERx) -> mov
+ @(disp:16,ERx).
+ * ld-h8300/relax-7b.s: New: Likewise.
+ * ld-h8300/relax-7.d: New: expected disassembly.
+
+2013-03-20 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
+
+ * ld-elf/group8a.d (notarget): Remove aarch64*-*-*.
+ * ld-elf/group8b.d: Likewise.
+ * ld-elf/group9a.d: Likewise.
+ * ld-elf/group9b.d: Likewise.
+ * ld-elf/pr12851.d: Likewise.
+ * ld-elf/pr12975.d: Likewise.
+ * ld-elf/pr13177.d: Likewise.
+ * ld-elf/pr13195.d: Likewise.
+
+2013-03-20 Will Newton <will.newton@linaro.org>
+
+ * ld-elfvers/vers.exp (objdump_symstuff): Sort objdump output
+ based on the symbol name rather than address.
+ * ld-elfvers/vers1.sym: Reorder contents to match changes to vers.exp.
+ * ld-elfvers/vers15.sym: Likewise.
+ * ld-elfvers/vers18.sym: Likewise.
+ * ld-elfvers/vers21.sym: Likewise.
+ * ld-elfvers/vers9.sym: Likewise.
+
+2013-03-20 Alan Modra <amodra@gmail.com>
+
+ * ld-elf/rel.c, ld-elf/relmain.c, ld-elf/relmain.out: New test.
+ * ld-elf/shared.exp: Build and run it.
+
+2013-03-20 Alan Modra <amodra@gmail.com>
+ Will Newton <will.newton@linaro.org
+
+ * ld-elfvers/vers.exp: Add -Wl,--no-as-needed to all tests
+ linking against shared libraries.
+ * ld-elfweak/elfweak.exp: Likewise. Enable for x86_64-linux.
+ Build main1.o using $picflag.
+
+2013-03-18 Alan Modra <amodra@gmail.com>
+
+ * ld-elf/pr14862.out: Expect no output.
+
+2013-03-15 Will Newton <will.newton@linaro.org>
+
+ * ld-arm/arm-elf.exp: Expand *-*eabi test to cover *-*eabi*.
+ * ld-arm/gc-hidden-1.d: Likewise.
+ * ld-elfvsb/elfvsb.exp: Likewise.
+ * ld-shared/shared.exp: Likewise.
+
+2013-03-08 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
+
+ * lib/ld-lib.exp (check_gc_sections_available): Remove aarch64
+ from list of targets that don't support gc-section.
+
+2013-03-05 Alan Modra <amodra@gmail.com>
+
+ * ld-scripts/rgn-at6.s, * ld-scripts/rgn-at6.t, * ld-scripts/rgn-at6.d,
+ * ld-scripts/rgn-at7.t, * ld-scripts/rgn-at7.d: New tests.
+
+2013-02-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * ld-arm/tls-local-static.s: New test.
+ * ld-arm/tls-local-static.d: New.
+ * ld-arm/arm-elf.exp (tls-local-static): Add test.
+
+2013-02-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15167
+ * ld-unique/unique.exp: Add a test for shared library with
+ reference.
+
+2013-02-19 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * lib/ld-lib.exp (run_ld_link_tests): Add another argument, pass
+ its contents to ar_simple_create and ld_simple_link after
+ objfiles.
+ * ld-aarch64/aarch64-elf.exp: Adjust accordingly.
+ * ld-alpha/alpha.exp: Likewise.
+ * ld-arm/arm-elf.exp: Likewise.
+ * ld-arm/export-class.exp: Likewise.
+ * ld-elf/comm-data.exp: Likewise.
+ * ld-elf/eh-group.exp: Likewise.
+ * ld-elf/elf.exp: Likewise.
+ * ld-elf/export-class.exp: Likewise.
+ * ld-elfvers/vers.exp: Likewise.
+ * ld-frv/tls.exp: Likewise.
+ * ld-i386/export-class.exp: Likewise.
+ * ld-i386/i386.exp: Likewise.
+ * ld-ia64/ia64.exp: Likewise.
+ * ld-libs/libs.exp: Likewise.
+ * ld-m68k/m68k.exp: Likewise.
+ * ld-metag/metag.exp: Likewise.
+ * ld-mips-elf/comm-data.exp: Likewise.
+ * ld-mips-elf/export-class.exp: Likewise.
+ * ld-mips-elf/mips-elf.exp: Likewise.
+ * ld-mn10300/mn10300.exp: Likewise.
+ * ld-pe/pe-compile.exp: Likewise.
+ * ld-pe/pe.exp: Likewise.
+ * ld-plugin/plugin.exp: Likewise.
+ * ld-powerpc/aix52.exp: Likewise.
+ * ld-powerpc/export-class.exp: Likewise.
+ * ld-powerpc/powerpc.exp: Likewise.
+ * ld-s390/s390.exp: Likewise.
+ * ld-sh/sh-vxworks.exp: Likewise.
+ * ld-sh/sh64/sh64.exp: Likewise.
+ * ld-sparc/sparc.exp: Likewise.
+ * ld-tic6x/tic6x.exp: Likewise.
+ * ld-tilegx/tilegx.exp: Likewise.
+ * ld-tilepro/tilepro.exp: Likewise.
+ * ld-undefined/entry.exp: Likewise.
+ * ld-vax-elf/vax-elf.exp: Likewise.
+ * ld-x86-64/dwarfreloc.exp: Likewise.
+ * ld-x86-64/export-class.exp: Likewise.
+ * ld-x86-64/x86-64.exp: Likewise.
+ * ld-xc16x/xc16x.exp: Likewise.
+ * ld-xstormy16/xstormy16.exp: Likewise.
+ * ld-xtensa/xtensa.exp: Likewise.
+
+2013-02-18 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * ld-mips-elf/jalx-2.ld: Include .rel.plt in output, give .plt a
+ mapping.
+ * ld-mips-elf/jalx-2.dd: Adjust disassembly accordingly.
+
+2013-02-18 Alan Modra <amodra@gmail.com>
+
+ * ld-plugin/lto.exp (Build pr15146b.so) Add -Wl,--no-as-needed.
+ (PR ld/15146 (1), (2)): Likewise.
+ (LTO 7): Likewise.
+
+2013-02-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15146
+ * ld-plugin/pr15146.d: New file.
+ * ld-plugin/pr15146a.c: Likewise.
+ * ld-plugin/pr15146b.c: Likewise.
+ * ld-plugin/pr15146c.c: Likewise.
+ * ld-plugin/pr15146d.c: Likewise.
+
+ * ld-plugin/lto.exp: Add tests for PR ld/15146.
+
+2013-02-15 Markos Chandras <markos.chandras@imgtec.com>
+
+ * ld-metag/pcrel.d: Fix the expected disassembler
+ output to be in little endian format
+ * ld-metag/shared.d: likewise
+ * ld-metag/stub.d: likewise
+ * ld-metag/stub_pic_app.d: likewise
+ * ld-metag/stub_pic_shared.d: likewise
+ * ld-metag/stub_shared.d: likewise
+
+2013-02-13 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ld-mips-elf/mips16-pic-2.dd,
+ ld-mips-elf/mips16-pic-2.gd: Remove 3 unused local GOT entries.
+ * ld-mips-elf/got-page-4a.s, ld-mips-elf/got-page-4b.s,
+ ld-mips-elf/got-page-4a.d, ld-mips-elf/got-page-4a.got,
+ ld-mips-elf/got-page-4b.d, ld-mips-elf/got-page-4b.got,
+ ld-mips-elf/got-page-5.s, ld-mips-elf/got-page-5.d,
+ ld-mips-elf/got-page-5.got, ld-mips-elf/got-page-6.s,
+ ld-mips-elf/got-page-6.d, ld-mips-elf/got-page-6.got,
+ ld-mips-elf/got-page-7a.s, ld-mips-elf/got-page-7b.s,
+ ld-mips-elf/got-page-7c.s, ld-mips-elf/got-page-7d.s,
+ ld-mips-elf/got-page-7e.s, ld-mips-elf/got-page-7.d,
+ ld-mips-elf/got-page-7.got: New tests.
+ * ld-mips-elf/mips-elf.exp: Run them.
+
+2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got,
+ ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got,
+ ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got,
+ ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got: Update
+ for new hash table order.
+
+2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ld-mips-elf/tls-hidden4.got, ld-mips-elf/tls-multi-got-1.d,
+ ld-mips-elf/tls-multi-got-1.got: Update for changes in the order
+ that symbols are added to per-bfd GOTs.
+
+2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got,
+ ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tlsbin-o32.d,
+ ld-mips-elf/tlsbin-o32.got, ld-mips-elf/tlsdyn-o32-1.d,
+ ld-mips-elf/tlsdyn-o32-1.got, ld-mips-elf/tlsdyn-o32-2.d,
+ ld-mips-elf/tlsdyn-o32-2.got, ld-mips-elf/tlsdyn-o32-3.d,
+ ld-mips-elf/tlsdyn-o32-3.got, ld-mips-elf/tlsdyn-o32.d,
+ ld-mips-elf/tlsdyn-o32.got, ld-mips-elf/tlslib-o32.d,
+ ld-mips-elf/tlslib-o32.got, ld-mips-elf/tlslib-o32-hidden.got,
+ ld-mips-elf/tlslib-o32-ver.got: Adjust GOT layout for new
+ got_entry hash function.
+
+2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ld-mips-elf/tlsdyn-o32-2.got, ld-mips-elf/tlsdyn-o32-3.got: Remove
+ unused GOT entries.
+
+2013-02-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15107
+ * ld-unique/unique_empty.s: Add reference to "b".
+
+2013-02-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-size/size-10.rd: Updated.
+ * ld-size/size-8.rd: Likewise.
+ * ld-size/size32-2-i386.d: Likewise.
+ * ld-size/size32-2-x32.d: Likewise.
+ * ld-size/size32-2-x86-64.d: Likewise.
+ * ld-size/size64-2-x32.d: Likewise.
+ * ld-size/size64-2-x86-64.d: Likewise.
+
+ * ld-size/size.exp (run_time_tests): Pass --hash-styl=gnu to
+ linker for size-8 test.
+
+2013-02-06 Sandra Loosemore <sandra@codesourcery.com>
+ Andrew Jenner <andrew@codesourcery.com>
+
+ Based on patches from Altera Corporation.
+
+ * ld-nios2/emit-relocs-1a.s: New.
+ * ld-nios2/emit-relocs-1b.s: New.
+ * ld-nios2/emit-relocs-1.d: New.
+ * ld-nios2/emit-relocs-1.ld: New.
+ * ld-nios2/gprel.d: New.
+ * ld-nios2/gprel.s: New.
+ * ld-nios2/hilo16.d: New.
+ * ld-nios2/hilo16.s: New.
+ * ld-nios2/hilo16_symbol.s: New.
+ * ld-nios2/imm5.d: New.
+ * ld-nios2/imm5.s: New.
+ * ld-nios2/imm5_symbol.s: New.
+ * ld-nios2/nios2.exp: New.
+ * ld-nios2/pcrel16.d: New.
+ * ld-nios2/pcrel16_label.s: New.
+ * ld-nios2/pcrel16.s: New.
+ * ld-nios2/relax_callr.d: New.
+ * ld-nios2/relax_callr.ld: New.
+ * ld-nios2/relax_callr.s: New.
+ * ld-nios2/relax_cjmp.d: New.
+ * ld-nios2/relax_cjmp.s: New.
+ * ld-nios2/relax_jmp.ld: New.
+ * ld-nios2/relax_section.d: New.
+ * ld-nios2/relax_section.s: New.
+ * ld-nios2/relax_ujmp.d: New.
+ * ld-nios2/relax_ujmp.s: New.
+ * ld-nios2/reloc.d: New.
+ * ld-nios2/reloc.s: New.
+ * ld-nios2/reloc_symbol.s: New.
+ * ld-nios2/s16.d: New.
+ * ld-nios2/s16.s: New.
+ * ld-nios2/s16_symbol.s: New.
+ * ld-nios2/u16.d: New.
+ * ld-nios2/u16.s: New.
+ * ld-nios2/u16_symbol.s: New.
+ * ld-elf/indirect.exp: Skip on targets that don't support
+ -shared -fPIC.
+ * ld-elfcomm/elfcomm.exp: Build with -G0 for nios2.
+ * ld-plugin/lto.exp: Skip shared library tests on targets that
+ don't support them. Skip execution tests on non-native targets.
+
+2013-02-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elf/now-1.d: New file.
+ * ld-elf/now-2.d: Likewise.
+ * ld-elf/now-3.d: Likewise.
+ * ld-elf/now-4.d: Likewise.
+ * ld-elf/rpath-1.d: Likewise.
+ * ld-elf/rpath-2.d: Likewise.
+ * ld-elf/runpath-1.d: Likewise.
+ * ld-elf/runpath-2.d: Likewise.
+
+2013-02-06 Alan Modra <amodra@gmail.com>
+
+ PR ld/15096
+ * ld-elf/new-dtags-1.d: Delete.
+ * ld-elf/new-dtags-2.d: Likewise.
+ * ld-elf/new-dtags-3.d: Likewise.
+ * ld-elf/new-dtags-4.d: Likewise.
+ * ld-elf/new-dtags-5.d: Likewise.
+ * ld-elf/new-dtags-6.d: Likewise.
+ * ld-elf/new-dtags-7.d: Likewise.
+ * ld-elf/new-dtags-8.d: Likewise.
+
+2013-02-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/15096
+ * ld-elf/new-dtags-1.d: New test.
+ * ld-elf/new-dtags-2.d: Likewise.
+ * ld-elf/new-dtags-3.d: Likewise.
+ * ld-elf/new-dtags-4.d: Likewise.
+ * ld-elf/new-dtags-5.d: Likewise.
+ * ld-elf/new-dtags-6.d: Likewise.
+ * ld-elf/new-dtags-7.d: Likewise.
+ * ld-elf/new-dtags-8.d: Likewise.
+
+2013-01-31 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/tlsexe.d: Update for changed stub names.
+ * ld-powerpc/tlsexe.r: Likewise.
+ * ld-powerpc/tlsexetoc.d: Likewise.
+ * ld-powerpc/tlsexetoc.r: Likewise.
+ * ld-powerpc/tlsso.d: Likewise.
+ * ld-powerpc/tlsso.r: Likewise.
+ * ld-powerpc/tlstocso.d: Likewise.
+ * ld-powerpc/tlstocso.r: Likewise.
+
+2013-01-31 Hans-Peter Nilsson <hp@axis.com>
+
+ * ld-cris/libdso-13.d: Adjust for --enable-new-dtags now
+ default for *-*-linux-* by passing explicitly for all targets.
+
+2013-01-21 Alan Modra <amodra@gmail.com>
+
+ * ld-size/size.exp (build_tests <size-7, size-8>): Pass
+ --no-as-needed in cflags.
+
+2013-01-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/default.exp (get_target_emul): Also set HOSTING_SCRT0.
+
+ * lib/ld-lib.exp (default_ld_link): Use HOSTING_SCRT0 for -pie.
+
+2013-01-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-size/size-10.rd: Updated.
+ * ld-size/size-8.rd: Likewise.
+ * ld-size/size32-2-i386.d: Likewise.
+ * ld-size/size32-2-x32.d: Likewise.
+ * ld-size/size32-2-x86-64.d: Likewise.
+ * ld-size/size64-2-x32.d: Likewise.
+ * ld-size/size64-2-x86-64.d: Likewise.
+
+2013-01-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-size/size-7.out: New file.
+ * ld-size/size-8.out: Likewise.
+ * ld-size/size-9.out: Likewise.
+ * ld-size/size-9.rd: Likewise.
+ * ld-size/size-9a.c: Likewise.
+ * ld-size/size-9b.c: Likewise.
+ * ld-size/size-10.out: Likewise.
+ * ld-size/size-10.rd: Likewise.
+ * ld-size/size-10a.c: Likewise.
+ * ld-size/size-10b.c: Likewise.
+
+ * ld-size/size.exp (build_tests): Build libsize-9.so and
+ libsize-10.so.
+ Run-time size relocation tests if supported.
+ (run_time_tests): New.
+
+2013-01-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-size/size-1.c: New file.
+ * ld-size/size-1.out: Likewise.
+ * ld-size/size-1a.c: Likewise.
+ * ld-size/size-1b.c: Likewise.
+ * ld-size/size-2.c: Likewise.
+ * ld-size/size-2.out: Likewise.
+ * ld-size/size-2a.c: Likewise.
+ * ld-size/size-2b.c: Likewise.
+
+ * ld-size/size.exp (build_tests): Build libsize-1.so and
+ libsize-2.so.
+ (run_tests): Run size-1 and size-2.
+
+2013-01-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-size/size32-3-i386.d: New file.
+ * ld-size/size32-3-x32.d: Likewise.
+ * ld-size/size32-3-x86-64.d: Likewise.
+ * ld-size/size32-3a.s: Likewise.
+ * ld-size/size32-3b.s: Likewise.
+
+2013-01-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-size/size.exp: New file.
+ * ld-size/size32-1-i386.d: Likewise.
+ * ld-size/size32-1-x32.d: Likewise.
+ * ld-size/size32-1-x86-64.d: Likewise.
+ * ld-size/size32-1.s: Likewise.
+ * ld-size/size32-2-i386.d: Likewise.
+ * ld-size/size32-2-x32.d: Likewise.
+ * ld-size/size32-2-x86-64.d: Likewise.
+ * ld-size/size32-2.s: Likewise.
+ * ld-size/size64-1-x32.d: Likewise.
+ * ld-size/size64-1-x86-64.d: Likewise.
+ * ld-size/size64-1.s: Likewise.
+ * ld-size/size64-2-x32.d: Likewise.
+ * ld-size/size64-2-x86-64.d: Likewise.
+ * ld-size/size64-2.s: Likewise.
+ * ld-size/size-3.c: Likewise.
+ * ld-size/size-3.out: Likewise.
+ * ld-size/size-3a.c: Likewise.
+ * ld-size/size-3b.c: Likewise.
+ * ld-size/size-3c.c: Likewise.
+ * ld-size/size-4.out: Likewise.
+ * ld-size/size-4a.c: Likewise.
+ * ld-size/size-4b.c: Likewise.
+ * ld-size/size-5.out: Likewise.
+ * ld-size/size-5a.c: Likewise.
+ * ld-size/size-5b.c: Likewise.
+ * ld-size/size-6.out: Likewise.
+ * ld-size/size-6a.c: Likewise.
+ * ld-size/size-6b.c: Likewise.
+ * ld-size/size-7.rd: Likewise.
+ * ld-size/size-7a.c: Likewise.
+ * ld-size/size-7b.c: Likewise.
+ * ld-size/size-8.rd: Likewise.
+ * ld-size/size-8a.c: Likewise.
+ * ld-size/size-8b.c: Likewise.
+
+2013-01-16 Alan Modra <amodra@gmail.com>
+
+ * ld-plugin/lto.exp (lto-9.o, pr13229.o): Pass -finline.
+
+2013-01-15 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/tlsso.d: Adjust for plt-thread-safe stubs.
+ * ld-powerpc/tlsso.g: Likewise.
+ * ld-powerpc/tlsso.r: Likewise.
+ * ld-powerpc/tlstocso.d: Likewise.
+ * ld-powerpc/tlstocso.g: Likewise.
+
+2013-01-15 Alan Modra <amodra@gmail.com>
+
+ * ld-plugin/lto-16a.d: Match powerpc64 function symbol type.
+ * ld-plugin/lto-16b.d: Likewise.
+ * ld-plugin/lto-17a.d: Likewise.
+ * ld-plugin/lto-17b-2.d: Likewise.
+
+2013-01-14 Alan Modra <amodra@gmail.com>
+
+ * ld-elf/pr14926.d: Disable for d10v, msp, xstormy.
+ * ld-elf/sec-to-seg.exp: Choose correct variant output to suit
+ updated microblaze page size.
+
+2013-01-10 Will Newton <will.newton@imgtec.com>
+
+ * ld-elf/merge.d: Mark Meta as xfail.
+ * ld-gc/start.d: Skip this test on Meta.
+ * ld-gc/personality.d: Skip this test on Meta.
+ * ld-metag/external.s: New file.
+ * ld-metag/metag.exp: New file.
+ * ld-metag/pcrel.d: New file.
+ * ld-metag/pcrel.s: New file.
+ * ld-metag/shared.d: New file.
+ * ld-metag/shared.r: New file.
+ * ld-metag/shared.s: New file.
+ * ld-metag/stub.d: New file.
+ * ld-metag/stub.s: New file.
+ * ld-metag/stub_pic_app.d: New file.
+ * ld-metag/stub_pic_app.r: New file.
+ * ld-metag/stub_pic_app.s: New file.
+ * ld-metag/stub_pic_shared.d: New file.
+ * ld-metag/stub_pic_shared.s: New file.
+ * ld-metag/stub_shared.d: New file.
+ * ld-metag/stub_shared.r: New file.
+ * ld-metag/stub_shared.s: New file.
+
+2013-01-08 Thomas Schwinge <thomas@codesourcery.com>
+
+ * ld-i386/export-class.exp: Restore (and reword) comment about
+ excluded targets.
+
+2013-01-04 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * ld-aarch64/emit-relocs-264.d: Append the '-Mno-aliases' option to
+ the objdump directive.
+ * ld-aarch64/emit-relocs-266.d: Ditto.
+ * ld-aarch64/emit-relocs-268.d: Ditto.
+ * ld-aarch64/emit-relocs-269.d: Ditto.
+ * ld-aarch64/emit-relocs-270.d: Ditto.
+ * ld-aarch64/emit-relocs-271.d: Ditto.
+ * ld-aarch64/emit-relocs-272.d: Ditto.
+
+For older changes see ChangeLog-2012
+
+Copyright (C) 2013 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/binutils-2.25/ld/testsuite/config/default.exp b/binutils-2.25/ld/testsuite/config/default.exp
index d540f199..09b26268 100644
--- a/binutils-2.25/ld/testsuite/config/default.exp
+++ b/binutils-2.25/ld/testsuite/config/default.exp
@@ -1,6 +1,5 @@
# Basic expect script for LD Regression Tests
-# Copyright 1993, 1994, 1995, 1997, 1998, 1999, 2001, 2003, 2005, 2007, 2009
-# 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 1993-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -52,31 +51,24 @@ if ![info exists strip] then {
remote_exec host "mkdir -p tmpdir"
-# Make a symlink from tmpdir/as to the assembler in the build tree, so
-# that we can use a -B option to gcc to force it to use the newly
-# built assembler.
-if {![file isdirectory tmpdir/gas]} then {
- catch "exec mkdir tmpdir/gas" status
- catch "exec ln -s ../../../gas/as-new tmpdir/gas/as" status
-}
-set gcc_gas_flag "-B[pwd]/tmpdir/gas/"
-
-# Make a symlink from tmpdir/ld to the linker in the build tree, so
-# that we can use a -B option to gcc to force it to use the newly
-# built linker.
+# Make symlinks from tmpdir/ld to the linker and assembler in the
+# build tree, so that we can use a -B option to gcc to force it to use
+# the newly built linker and assembler.
if {![file isdirectory tmpdir/ld]} then {
catch "exec mkdir tmpdir/ld" status
catch "exec ln -s ../../ld-new tmpdir/ld/ld" status
catch "exec ln -s ld tmpdir/ld/collect-ld" status
+ catch "exec ln -s ../../../gas/as-new tmpdir/ld/as" status
}
-set gcc_ld_flag "-B[pwd]/tmpdir/ld/"
+set gcc_B_opt "-B[pwd]/tmpdir/ld/"
# load the linker path
+set ld_L_opt ""
if {[file exists tmpdir/libpath.exp]} {
load_lib tmpdir/libpath.exp
foreach dir $libpath {
- set gcc_ld_flag "$gcc_ld_flag -L$dir"
+ append ld_L_opt " -L$dir"
}
}
@@ -104,7 +96,12 @@ if {[istarget mips64*-*-linux*] &&
(![board_info [target_info name] exists multilib_flags] ||
![string match "*-mabi" [board_info [target_info name] multilib_flags]])
} {
- append gcc_gas_flag " -mabi=n32"
+ append gcc_B_opt " -mabi=n32"
+}
+
+if { [istarget rx-*-*] } {
+ global ASFLAGS
+ set ASFLAGS "-muse-conventional-section-names"
}
# load the utility procedures
@@ -139,11 +136,11 @@ proc get_target_emul {} {
}
if [isnative] {
- foreach x {HOSTING_CRT0 HOSTING_SCRT0 HOSTING_LIBS} {
+ foreach x {HOSTING_CRT0 HOSTING_SCRT0 HOSTING_LIBS HOSTING_SLIBS} {
get_link_files $x
}
} else {
- foreach x {HOSTING_CRT0 HOSTING_SCRT0 HOSTING_LIBS} { set $x "" }
+ foreach x {HOSTING_CRT0 HOSTING_SCRT0 HOSTING_LIBS HOSTING_SLIBS} { set $x "" }
}
if ![info exists HOSTING_EMU] { set HOSTING_EMU "-m [get_target_emul]" }
@@ -238,10 +235,6 @@ if ![info exists AS] then {
set AS $as
}
-if ![info exists GASP] then {
- set GASP [findfile $base_dir/../gas/gasp-new $base_dir/../gas/gasp-new [transform gasp]]
-}
-
if ![info exists ASFLAGS] then {
set ASFLAGS ""
}
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/aarch64-elf.exp b/binutils-2.25/ld/testsuite/ld-aarch64/aarch64-elf.exp
index 5c150dde..a75e0703 100644
--- a/binutils-2.25/ld/testsuite/ld-aarch64/aarch64-elf.exp
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/aarch64-elf.exp
@@ -1,5 +1,5 @@
# Expect script for various AARCH64 ELF tests.
-# Copyright 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -35,6 +35,14 @@ if { ![is_elf_format] || ![istarget "aarch64*-*-*"] } {
set aarch64elftests {
{"EH Frame merge" "-Ttext 0x8000" "" "" {eh-frame-bar.s eh-frame-foo.s}
{{objdump --dwarf=frames eh-frame.d}} "eh-frame"}
+ {"Erratum 835769 dump test"
+ "--fix-cortex-a53-835769" "" "" {erratum835769.s}
+ {{objdump -dr erratum835769.d}}
+ "erratum835769"}
+ {"Erratum 835769 dump test -shared"
+ "--fix-cortex-a53-835769 -shared" "" "" {erratum835769.s}
+ {{objdump -dr erratum835769.d}}
+ "erratum835769"}
}
run_ld_link_tests $aarch64elftests
@@ -51,11 +59,15 @@ run_dump_test "emit-relocs-260-be"
run_dump_test "emit-relocs-262"
run_dump_test "emit-relocs-263"
run_dump_test "emit-relocs-264"
+run_dump_test "emit-relocs-264-bad"
run_dump_test "emit-relocs-265"
run_dump_test "emit-relocs-266"
+run_dump_test "emit-relocs-266-bad"
run_dump_test "emit-relocs-267"
run_dump_test "emit-relocs-268"
+run_dump_test "emit-relocs-268-bad"
run_dump_test "emit-relocs-269"
+run_dump_test "emit-relocs-269-bad"
run_dump_test "emit-relocs-270"
run_dump_test "emit-relocs-270-bad"
run_dump_test "emit-relocs-271"
@@ -87,6 +99,10 @@ run_dump_test "emit-relocs-309-low-bad"
run_dump_test "emit-relocs-311"
run_dump_test "emit-relocs-312"
+# test addend correctness when --emit-relocs specified for non-relocatable obj.
+run_dump_test "emit-relocs-local-addend"
+# test addend correctness when -r specified.
+run_dump_test "local-addend-r"
run_dump_test "limit-b"
run_dump_test "limit-bl"
@@ -155,3 +171,16 @@ run_dump_test "ifunc-18b"
run_dump_test "ifunc-19a"
run_dump_test "ifunc-19b"
run_dump_test "ifunc-20"
+run_dump_test "ifunc-21"
+run_dump_test "ifunc-22"
+
+run_dump_test "relasz"
+
+set aarch64elflinktests {
+ {"ld-aarch64/so with global symbol" "-shared" "" "" {copy-reloc-so.s}
+ {} "copy-reloc-so.so"}
+ {"ld-aarch64/exe with copy relocation" "-e0 tmpdir/copy-reloc-so.so" "" ""
+ {copy-reloc-exe.s} {{objdump -R copy-reloc.d}} "copy-reloc"}
+}
+
+run_ld_link_tests $aarch64elflinktests
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/copy-reloc-exe.s b/binutils-2.25/ld/testsuite/ld-aarch64/copy-reloc-exe.s
new file mode 100644
index 00000000..cafc7006
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/copy-reloc-exe.s
@@ -0,0 +1,7 @@
+ .text
+ .global main
+main:
+ movz x0,:abs_g0_nc:global_a
+ movk x0,:abs_g1_nc:global_a
+ movk x0,:abs_g2_nc:global_a
+ movk x0,:abs_g3:global_a
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/copy-reloc-so.s b/binutils-2.25/ld/testsuite/ld-aarch64/copy-reloc-so.s
new file mode 100644
index 00000000..07ec44a2
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/copy-reloc-so.s
@@ -0,0 +1,6 @@
+ .global global_a
+ .type global_a, %object
+ .size global_a, 4
+ .data
+global_a:
+ .word 0xcafedead
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/copy-reloc.d b/binutils-2.25/ld/testsuite/ld-aarch64/copy-reloc.d
new file mode 100644
index 00000000..c4eed84c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/copy-reloc.d
@@ -0,0 +1,4 @@
+.*
+DYNAMIC RELOCATION RECORDS
+OFFSET.*TYPE.*VALUE.*
+.*R_AARCH64_COPY.*global_a
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/eh-frame-bar.s b/binutils-2.25/ld/testsuite/ld-aarch64/eh-frame-bar.s
index a67d8e4f..ebc4feb2 100644
--- a/binutils-2.25/ld/testsuite/ld-aarch64/eh-frame-bar.s
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/eh-frame-bar.s
@@ -12,7 +12,7 @@ __longjmp:
.cfi_offset x27, 24
.cfi_offset x28, 32
.cfi_offset x29, 32
- .cfi_offset x30, 36
+ .cfi_offset x30, 40
.cfi_offset d9, 8
# This eh frame data differs from eh-frame-bar.s here, see the comment
# in eh-frame-foo.s
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/eh-frame-foo.s b/binutils-2.25/ld/testsuite/ld-aarch64/eh-frame-foo.s
index c077ef2b..6a1e3b3b 100644
--- a/binutils-2.25/ld/testsuite/ld-aarch64/eh-frame-foo.s
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/eh-frame-foo.s
@@ -12,7 +12,7 @@ __longjmp:
.cfi_offset x27, 24
.cfi_offset x28, 32
.cfi_offset x29, 32
- .cfi_offset x30, 36
+ .cfi_offset x30, 40
.cfi_offset d9, 8
/* This eh frame data differs from eh-frame-bar.s here. The eh
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/eh-frame.d b/binutils-2.25/ld/testsuite/ld-aarch64/eh-frame.d
index f3daeb2e..eccef15e 100644
--- a/binutils-2.25/ld/testsuite/ld-aarch64/eh-frame.d
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/eh-frame.d
@@ -5,27 +5,27 @@ Contents of the .eh_frame section:
0+0000 0+0044 0+0000 CIE
Version: 1
Augmentation: "zR"
- Code alignment factor: 2
- Data alignment factor: -4
+ Code alignment factor: .
+ Data alignment factor: -.
Return address column: 30
Augmentation data: 1b
- DW_CFA_def_cfa: r31 ofs 0
- DW_CFA_def_cfa: r0 ofs 0
- DW_CFA_offset_extended_sf: r19 at cfa\+16
- DW_CFA_offset_extended_sf: r20 at cfa\+16
- DW_CFA_offset_extended_sf: r21 at cfa\+16
- DW_CFA_offset_extended_sf: r22 at cfa\+16
- DW_CFA_offset_extended_sf: r23 at cfa\+24
- DW_CFA_offset_extended_sf: r24 at cfa\+24
- DW_CFA_offset_extended_sf: r25 at cfa\+24
- DW_CFA_offset_extended_sf: r26 at cfa\+24
- DW_CFA_offset_extended_sf: r27 at cfa\+24
- DW_CFA_offset_extended_sf: r28 at cfa\+32
- DW_CFA_offset_extended_sf: r29 at cfa\+32
- DW_CFA_offset_extended_sf: r30 at cfa\+36
- DW_CFA_offset_extended_sf: r9 at cfa\+8
- DW_CFA_offset_extended_sf: r11 at cfa\+8
+ DW_CFA_def_cfa: r31 \(sp\) ofs 0
+ DW_CFA_def_cfa: r0 \(x0\) ofs 0
+ DW_CFA_offset_extended_sf: r19 \(x19\) at cfa\+16
+ DW_CFA_offset_extended_sf: r20 \(x20\) at cfa\+16
+ DW_CFA_offset_extended_sf: r21 \(x21\) at cfa\+16
+ DW_CFA_offset_extended_sf: r22 \(x22\) at cfa\+16
+ DW_CFA_offset_extended_sf: r23 \(x23\) at cfa\+24
+ DW_CFA_offset_extended_sf: r24 \(x24\) at cfa\+24
+ DW_CFA_offset_extended_sf: r25 \(x25\) at cfa\+24
+ DW_CFA_offset_extended_sf: r26 \(x26\) at cfa\+24
+ DW_CFA_offset_extended_sf: r27 \(x27\) at cfa\+24
+ DW_CFA_offset_extended_sf: r28 \(x28\) at cfa\+32
+ DW_CFA_offset_extended_sf: r29 \(x29\) at cfa\+32
+ DW_CFA_offset_extended_sf: r30 \(x30\) at cfa\+40
+ DW_CFA_offset_extended_sf: r73 \(v9\) at cfa\+8
+ DW_CFA_offset_extended_sf: r75 \(v11\) at cfa\+8
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -34,7 +34,7 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
-0+0048 0+0014 0+004c FDE cie=0+0000 pc=f+fffff80..f+fffffc0
+0+0048 0+0014 0+004c FDE cie=0+0000 pc=0+8000..0+8040
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -46,27 +46,27 @@ Contents of the .eh_frame section:
0+0060 0+0044 0+0000 CIE
Version: 1
Augmentation: "zR"
- Code alignment factor: 2
- Data alignment factor: -4
+ Code alignment factor: .
+ Data alignment factor: -.
Return address column: 30
Augmentation data: 1b
- DW_CFA_def_cfa: r31 ofs 0
- DW_CFA_def_cfa: r0 ofs 0
- DW_CFA_offset_extended_sf: r19 at cfa\+16
- DW_CFA_offset_extended_sf: r20 at cfa\+16
- DW_CFA_offset_extended_sf: r21 at cfa\+16
- DW_CFA_offset_extended_sf: r22 at cfa\+16
- DW_CFA_offset_extended_sf: r23 at cfa\+24
- DW_CFA_offset_extended_sf: r24 at cfa\+24
- DW_CFA_offset_extended_sf: r25 at cfa\+24
- DW_CFA_offset_extended_sf: r26 at cfa\+24
- DW_CFA_offset_extended_sf: r27 at cfa\+24
- DW_CFA_offset_extended_sf: r28 at cfa\+32
- DW_CFA_offset_extended_sf: r29 at cfa\+32
- DW_CFA_offset_extended_sf: r30 at cfa\+36
- DW_CFA_offset_extended_sf: r9 at cfa\+8
- DW_CFA_offset_extended_sf: r10 at cfa\+8
+ DW_CFA_def_cfa: r31 \(sp\) ofs 0
+ DW_CFA_def_cfa: r0 \(x0\) ofs 0
+ DW_CFA_offset_extended_sf: r19 \(x19\) at cfa\+16
+ DW_CFA_offset_extended_sf: r20 \(x20\) at cfa\+16
+ DW_CFA_offset_extended_sf: r21 \(x21\) at cfa\+16
+ DW_CFA_offset_extended_sf: r22 \(x22\) at cfa\+16
+ DW_CFA_offset_extended_sf: r23 \(x23\) at cfa\+24
+ DW_CFA_offset_extended_sf: r24 \(x24\) at cfa\+24
+ DW_CFA_offset_extended_sf: r25 \(x25\) at cfa\+24
+ DW_CFA_offset_extended_sf: r26 \(x26\) at cfa\+24
+ DW_CFA_offset_extended_sf: r27 \(x27\) at cfa\+24
+ DW_CFA_offset_extended_sf: r28 \(x28\) at cfa\+32
+ DW_CFA_offset_extended_sf: r29 \(x29\) at cfa\+32
+ DW_CFA_offset_extended_sf: r30 \(x30\) at cfa\+40
+ DW_CFA_offset_extended_sf: r73 \(v9\) at cfa\+8
+ DW_CFA_offset_extended_sf: r74 \(v10\) at cfa\+8
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -75,7 +75,7 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
-0+00a8 0+0014 0+004c FDE cie=0+0060 pc=f+fffffc0..0+0000
+0+00a8 0+0014 0+004c FDE cie=0+0060 pc=0+8040..0+8080
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-264-bad.d b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-264-bad.d
new file mode 100644
index 00000000..22718cad
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-264-bad.d
@@ -0,0 +1,3 @@
+#source: emit-relocs-264.s
+#ld: -T relocs.ld --defsym tempy=0x11000 --defsym tempy2=0x45000 --defsym tempy3=0x1234 -e0 -shared
+#error: .*relocation R_AARCH64_MOVW_UABS_G0_NC.*can not.*shared object.*fPIC
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-266-bad.d b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-266-bad.d
new file mode 100644
index 00000000..886494df
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-266-bad.d
@@ -0,0 +1,3 @@
+#source: emit-relocs-266.s
+#ld: -T relocs.ld --defsym tempy=0x11000 --defsym tempy2=0x45000 --defsym tempy3=0x1234 -e0 -shared
+#error: .*relocation R_AARCH64_MOVW_UABS_G1_NC.*can not.*shared object.*fPIC
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-268-bad.d b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-268-bad.d
new file mode 100644
index 00000000..ea97541c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-268-bad.d
@@ -0,0 +1,3 @@
+#source: emit-relocs-268.s
+#ld: -T relocs.ld --defsym tempy=0x11000 --defsym tempy2=0x45000 --defsym tempy3=0x1234 -e0 -shared
+#error: .*relocation R_AARCH64_MOVW_UABS_G2_NC.*can not.*shared object.*fPIC
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-269-bad.d b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-269-bad.d
new file mode 100644
index 00000000..9292855f
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-269-bad.d
@@ -0,0 +1,3 @@
+#source: emit-relocs-269.s
+#ld: -T relocs.ld --defsym tempy=0x11000 --defsym tempy2=0x45000 --defsym tempy3=0x1234 -e0 -shared
+#error: .*relocation R_AARCH64_MOVW_UABS_G3.*can not.*shared object.*fPIC
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-local-addend-bar.s b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-local-addend-bar.s
new file mode 100644
index 00000000..ab8b0fbd
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-local-addend-bar.s
@@ -0,0 +1,19 @@
+ .global b
+ .section .rodata
+ .align 3
+.LC0:
+ .string "bar"
+ .align 3
+ .type b, %object
+ .size b, 8
+b:
+ .xword .LC0
+ .text
+ .align 2
+ .global bar
+ .type bar, %function
+bar:
+ adrp x0, .LC0
+ add x0, x0, :lo12:.LC0
+ ret
+ .size bar, .-bar
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-local-addend-foo.s b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-local-addend-foo.s
new file mode 100644
index 00000000..497eef7e
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-local-addend-foo.s
@@ -0,0 +1,20 @@
+ .cpu generic+fp+simd
+ .global a
+ .section .rodata
+ .align 3
+.LC0:
+ .string "foo"
+ .align 3
+ .type a, %object
+ .size a, 8
+a:
+ .xword .LC0
+ .text
+ .align 2
+ .global foo
+ .type foo, %function
+foo:
+ adrp x0, .LC0
+ add x0, x0, :lo12:.LC0
+ ret
+ .size foo, .-foo
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-local-addend.d b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-local-addend.d
new file mode 100644
index 00000000..a5ce63d6
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/emit-relocs-local-addend.d
@@ -0,0 +1,16 @@
+#source: emit-relocs-local-addend-foo.s
+#source: emit-relocs-local-addend-bar.s
+#ld: -T relocs.ld -e0 --emit-relocs
+#readelf: -r
+
+Relocation section '\.rela\.text' at offset .* contains 4 entries:
+ Offset Info Type Sym\. Value Sym\. Name \+ Addend
+000000010000 000200000113 R_AARCH64_ADR_PRE 0000000000010018 \.rodata \+ 0
+000000010004 000200000115 R_AARCH64_ADD_ABS 0000000000010018 \.rodata \+ 0
+00000001000c 000200000113 R_AARCH64_ADR_PRE 0000000000010018 \.rodata \+ 10
+000000010010 000200000115 R_AARCH64_ADD_ABS 0000000000010018 \.rodata \+ 10
+
+Relocation section '\.rela\.rodata' at offset .* contains 2 entries:
+ Offset Info Type Sym\. Value Sym. Name \+ Addend
+000000010020 000200000101 R_AARCH64_ABS64 0000000000010018 \.rodata \+ 0
+000000010030 000200000101 R_AARCH64_ABS64 0000000000010018 \.rodata \+ 10
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/erratum835769.d b/binutils-2.25/ld/testsuite/ld-aarch64/erratum835769.d
new file mode 100644
index 00000000..a0402365
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/erratum835769.d
@@ -0,0 +1,48 @@
+#...
+Disassembly of section .text:
+#...
+[0-9a-f]+ <a1ldr>:
+[ \t0-9a-f]+:[ \t]+b8408c87[ \t]+ldr[ \t]+w7, \[x4,#8\]\!
+[ \t0-9a-f]+:[ \t]+1b017c06[ \t]+mul[ \t]+w6, w0, w1
+[ \t0-9a-f]+:[ \t]+f9400084[ \t]+ldr[ \t]+x4, \[x4\]
+[ \t0-9a-f]+:[ \t0-9a-z]+[ \t]+b[ \t]+[0-9a-f]+ <__erratum_835769_veneer_0>
+[ \t0-9a-f]+:[ \t]+aa0503e0[ \t]+mov[ \t]+x0, x5
+[ \t0-9a-f]+:[ \t]+d65f03c0[ \t]+ret
+
+[0-9a-f]+ <a5ldr>:
+[ \t0-9a-f]+:[ \t]+b8408c87[ \t]+ldr[ \t]+w7, \[x4,#8\]!
+[ \t0-9a-f]+:[ \t]+1b017c06[ \t]+mul[ \t]+w6, w0, w1
+[ \t0-9a-f]+:[ \t]+f9400084[ \t]+ldr[ \t]+x4, \[x4\]
+[ \t0-9a-f]+:[ \t0-9a-z]+[ \t]+b[ \t]+[0-9a-f]+ <__erratum_835769_veneer_1>
+[ \t0-9a-f]+:[ \t]+aa0503e0[ \t]+mov[ \t]+x0, x5
+[ \t0-9a-f]+:[ \t]+d65f03c0[ \t]+ret
+
+[0-9a-f]+ <a6ldr>:
+[ \t0-9a-f]+:[ \t]+b8408c87[ \t]+ldr[ \t]+w7, \[x4,#8\]!
+[ \t0-9a-f]+:[ \t]+1b017c06[ \t]+mul[ \t]+w6, w0, w1
+[ \t0-9a-f]+:[ \t]+f9400084[ \t]+ldr[ \t]+x4, \[x4\]
+[ \t0-9a-f]+:[ \t]+9b031885[ \t]+madd[ \t]+x5, x4, x3, x6
+[ \t0-9a-f]+:[ \t]+aa0503e0[ \t]+mov[ \t]+x0, x5
+[ \t0-9a-f]+:[ \t]+d65f03c0[ \t]+ret
+
+[0-9a-f]+ <a7str>:
+[ \t0-9a-f]+:[ \t]+b8408c87[ \t]+ldr[ \t]+w7, \[x4,#8\]!
+[ \t0-9a-f]+:[ \t]+1b017c06[ \t]+mul[ \t]+w6, w0, w1
+[ \t0-9a-f]+:[ \t]+f9000084[ \t]+str[ \t]+x4, \[x4\]
+[ \t0-9a-f]+:[ \t0-9a-z]+[ \t]+b[ \t]+[0-9a-f]+ <__erratum_835769_veneer_2>
+[ \t0-9a-f]+:[ \t]+aa0503e0[ \t]+mov[ \t]+x0, x5
+[ \t0-9a-f]+:[ \t]+d65f03c0[ \t]+ret
+[ \t0-9a-f]+:[ \t]+00000000[ \t]+.inst[ \t]+0x00000000 ; undefined
+
+[0-9a-f]+ <__erratum_835769_veneer_2>:
+[ \t0-9a-f]+:[ \t]+9b031885[ \t]+madd[ \t]+x5, x4, x3, x6
+[ \t0-9a-f]+:[ \t0-9a-z]+[ \t]+b[ \t]+[0-9a-f]+ <a7str\+0x[0-9a-f]+>
+
+[0-9a-f]+ <__erratum_835769_veneer_1>:
+[ \t0-9a-f]+:[ \t]+9ba31845[ \t]+umaddl[ \t]+x5, w2, w3, x6
+[ \t0-9a-f]+:[ \t0-9a-z]+[ \t]+b[ \t]+[0-9a-f]+ <a5ldr\+0x[0-9a-f]+>
+
+[0-9a-f]+ <__erratum_835769_veneer_0>:
+[ \t0-9a-f]+:[ \t]+9b031845[ \t]+madd[ \t]+x5, x2, x3, x6
+[ \t0-9a-f]+:[ \t0-9a-z]+[ \t]+b[ \t]+[0-9a-f]+ <a1ldr\+0x[0-9a-f]+>
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/erratum835769.s b/binutils-2.25/ld/testsuite/ld-aarch64/erratum835769.s
new file mode 100644
index 00000000..d57b5ab8
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/erratum835769.s
@@ -0,0 +1,75 @@
+ .text
+ .align 2
+ .global main
+ .type main, %function
+main:
+ stp x29, x30, [sp, -32]!
+ add x29, sp, 0
+ mov x0, -26
+ str x0, [x29,16]
+ mov x0, 26
+ str x0, [x29,24]
+ add x4, x29, 16
+ mov x0, -1
+ mov x1, 2
+ mov x2, -3
+ mov x3, 4
+ bl a1ldr
+ add x4, x29, 16
+ mov x0, -1
+ mov x1, 2
+ mov x2, -3
+ mov x3, 4
+ bl a5ldr
+ mov w0, 0
+ ldp x29, x30, [sp], 32
+ ret
+ .size main, .-main
+
+ .align 2
+ .global a1ldr
+ .type a1ldr, %function
+a1ldr:
+ ldr w7, [x4,8]!
+ mul w6, w0, w1
+ ldr x4, [x4]
+ madd x5, x2, x3, x6
+ mov x0, x5
+ ret
+ .size a1ldr, .-a1ldr
+
+ .align 2
+ .global a5ldr
+ .type a5ldr, %function
+a5ldr:
+ ldr w7, [x4,8]!
+ mul w6, w0, w1
+ ldr x4, [x4]
+ umaddl x5, w2, w3, x6
+ mov x0, x5
+ ret
+ .size a5ldr, .-a5ldr
+
+ .align 2
+ .global a6ldr
+ .type a6ldr, %function
+a6ldr:
+ ldr w7, [x4,8]!
+ mul w6, w0, w1
+ ldr x4, [x4]
+ madd x5, x4, x3, x6
+ mov x0, x5
+ ret
+ .size a6ldr, .-a6ldr
+
+ .align 2
+ .global a6ldr
+ .type a6ldr, %function
+a7str:
+ ldr w7, [x4,8]!
+ mul w6, w0, w1
+ str x4, [x4]
+ madd x5, x4, x3, x6
+ mov x0, x5
+ ret
+ .size a7str, .-a7str
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/ifunc-21.d b/binutils-2.25/ld/testsuite/ld-aarch64/ifunc-21.d
new file mode 100644
index 00000000..9ea01e6b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/ifunc-21.d
@@ -0,0 +1,26 @@
+#source: ifunc-21.s
+#ld: -shared -z nocombreloc
+#objdump: -d -s -j .got.plt -j .text
+#target: aarch64*-*-*
+
+# Ensure the .got.plt slot used is correct
+
+.*: file format elf64-(little|big)aarch64
+
+Contents of section .text:
+ [0-9a-f]+ .*
+Contents of section .got.plt:
+ [0-9a-f]+ 0+ 0+ 0+ 0+ .*
+ (103b8|10408) 0+ 0+ [0-9a-f]+ [0-9a-f]+ .*
+
+Disassembly of section .text:
+
+.* <ifunc>:
+ .*: d65f03c0 ret
+
+.* <bar>:
+ .*: 90000080 adrp x0, 10000 <.*>
+ .*: .* ldr x0, \[x0,#(960|1040)\]
+ .*: d65f03c0 ret
+
+#pass \ No newline at end of file
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/ifunc-21.s b/binutils-2.25/ld/testsuite/ld-aarch64/ifunc-21.s
new file mode 100644
index 00000000..a1563dcb
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/ifunc-21.s
@@ -0,0 +1,13 @@
+ .text
+ .type ifunc, @gnu_indirect_function
+ .hidden ifunc
+ifunc:
+ ret
+ .size ifunc, .-ifunc
+ .type bar, @function
+ .globl bar
+bar:
+ adrp x0, :got:ifunc
+ ldr x0, [x0, #:got_lo12:ifunc]
+ ret
+ .size bar, .-bar
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/ifunc-22.d b/binutils-2.25/ld/testsuite/ld-aarch64/ifunc-22.d
new file mode 100644
index 00000000..7f0978d9
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/ifunc-22.d
@@ -0,0 +1,11 @@
+#source: ifunc-22.s
+#objdump: -s -j .got
+#ld: -static
+#target: aarch64*-*-*
+
+# Ensure GOT is populated correctly in static link
+
+.*: file format elf64-(little|big)aarch64
+
+Contents of section \.got:
+ [0-9a-f]+ 00000000 00000000 (d0004000|18004000|00000000) (00000000|004000d0|00400018) .*
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/ifunc-22.s b/binutils-2.25/ld/testsuite/ld-aarch64/ifunc-22.s
new file mode 100644
index 00000000..69a87bbd
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/ifunc-22.s
@@ -0,0 +1,14 @@
+ .text
+ .type ifunc, @gnu_indirect_function
+ .global ifunc
+ifunc:
+ ret
+ .size ifunc, .-ifunc
+ .type _start, @function
+ .globl _start
+_start:
+ adrp x0, :got:ifunc
+ ldr x0, [x0, #:got_lo12:ifunc]
+ .size _start, .-_start
+ .data
+ .xword ifunc
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/local-addend-r.d b/binutils-2.25/ld/testsuite/ld-aarch64/local-addend-r.d
new file mode 100644
index 00000000..eb814041
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/local-addend-r.d
@@ -0,0 +1,16 @@
+#source: emit-relocs-local-addend-foo.s
+#source: emit-relocs-local-addend-bar.s
+#ld: -e0 -r
+#readelf: -r
+
+Relocation section '\.rela\.text' at offset .* contains 4 entries:
+ Offset Info Type Sym\. Value Sym\. Name \+ Addend
+000000000000 000200000113 R_AARCH64_ADR_PRE 0000000000000000 \.rodata \+ 0
+000000000004 000200000115 R_AARCH64_ADD_ABS 0000000000000000 \.rodata \+ 0
+00000000000c 000200000113 R_AARCH64_ADR_PRE 0000000000000000 \.rodata \+ 10
+000000000010 000200000115 R_AARCH64_ADD_ABS 0000000000000000 \.rodata \+ 10
+
+Relocation section '\.rela\.rodata' at offset .* contains 2 entries:
+ Offset Info Type Sym\. Value Sym. Name \+ Addend
+000000000008 000200000101 R_AARCH64_ABS64 0000000000000000 \.rodata \+ 0
+000000000018 000200000101 R_AARCH64_ABS64 0000000000000000 \.rodata \+ 10
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/relasz.d b/binutils-2.25/ld/testsuite/ld-aarch64/relasz.d
new file mode 100644
index 00000000..5cc5595f
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/relasz.d
@@ -0,0 +1,18 @@
+#source: relasz.s
+#ld: -shared -Taarch64.ld
+#readelf: -d
+# Check that the RELASZ section has the correct size even if we are
+# using a non-default linker script that merges .rela.dyn and .rela.plt
+# in the output.
+
+Dynamic section at offset 0x[0-9a-f]+ contains 9 entries:
+ Tag Type Name/Value
+ 0x0000000000000004 \(HASH\) 0x[0-9a-f]+
+ 0x0000000000000005 \(STRTAB\) 0x[0-9a-f]+
+ 0x0000000000000006 \(SYMTAB\) 0x[0-9a-f]+
+ 0x000000000000000a \(STRSZ\) [0-9]+ \(bytes\)
+ 0x000000000000000b \(SYMENT\) [0-9]+ \(bytes\)
+ 0x0000000000000007 \(RELA\) 0x[0-9a-f]+
+ 0x0000000000000008 \(RELASZ\) 24 \(bytes\)
+ 0x0000000000000009 \(RELAENT\) 24 \(bytes\)
+ 0x0000000000000000 \(NULL\) 0x0
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/relasz.s b/binutils-2.25/ld/testsuite/ld-aarch64/relasz.s
new file mode 100644
index 00000000..8c7f8915
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/relasz.s
@@ -0,0 +1,9 @@
+ .text
+ .global func
+ .type func, %function
+func:
+ adrp x0, :got:foo
+ ldr x0, [x0, #:got_lo12:foo]
+ ldr w0, [x0]
+ ret
+ .size func, .-func
diff --git a/binutils-2.25/ld/testsuite/ld-aarch64/tls-relax-gdesc-ie.s b/binutils-2.25/ld/testsuite/ld-aarch64/tls-relax-gdesc-ie.s
index c20690c1..38b37213 100644
--- a/binutils-2.25/ld/testsuite/ld-aarch64/tls-relax-gdesc-ie.s
+++ b/binutils-2.25/ld/testsuite/ld-aarch64/tls-relax-gdesc-ie.s
@@ -4,7 +4,7 @@ var:
.word 2
.text
adrp x0, :tlsdesc:var
- ldr x1, [x0, #:tlsdesc_lo12:var]
+ ldr x17, [x0, #:tlsdesc_lo12:var]
add x0, x0, :tlsdesc_lo12:var
.tlsdesccall var
blr x1
diff --git a/binutils-2.25/ld/testsuite/ld-alpha/alpha.exp b/binutils-2.25/ld/testsuite/ld-alpha/alpha.exp
index c04a798a..6c014eb7 100644
--- a/binutils-2.25/ld/testsuite/ld-alpha/alpha.exp
+++ b/binutils-2.25/ld/testsuite/ld-alpha/alpha.exp
@@ -1,5 +1,5 @@
# Expect script for ld-alpha tests
-# Copyright (C) 2003, 2005, 2007 Free Software Foundation
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-arm/arm-app-abs32.d b/binutils-2.25/ld/testsuite/ld-arm/arm-app-abs32.d
index e6c46322..13221f08 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/arm-app-abs32.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/arm-app-abs32.d
@@ -1,17 +1,18 @@
tmpdir/arm-app-abs32: file format elf32-(little|big)arm.*
-architecture: armv4t, flags 0x00000112:
+architecture: arm.*, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address .*
Disassembly of section .plt:
-.* <.plt>:
+.* <lib_func1@plt-0x14>:
+.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- +.*: e59fe004 ldr lr, \[pc, #4\] ; .* <_start-0x10>
+ +.*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func1@plt-0x4>
+.*: e08fe00e add lr, pc, lr
+.*: e5bef008 ldr pc, \[lr, #8\]!
+.*: .* .*
+.* <lib_func1@plt>:
+.*: e28fc6.* add ip, pc, #.*
+.*: e28cca.* add ip, ip, #.* ; .*
+.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/arm-app.d b/binutils-2.25/ld/testsuite/ld-arm/arm-app.d
index 88169af1..98fc8996 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/arm-app.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/arm-app.d
@@ -1,17 +1,18 @@
tmpdir/arm-app: file format elf32-(little|big)arm
-architecture: armv4t, flags 0x00000112:
+architecture: arm.*, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x.*
Disassembly of section .plt:
-.* <.plt>:
+.* <lib_func1@plt-0x14>:
.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- .*: e59fe004 ldr lr, \[pc, #4\] ; .* <_start-0x10>
+ .*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func1@plt-0x4>
.*: e08fe00e add lr, pc, lr
.*: e5bef008 ldr pc, \[lr, #8\]!
.*: .*
+.* <lib_func1@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
@@ -27,7 +28,7 @@ Disassembly of section .text:
.* <app_func>:
.*: e1a0c00d mov ip, sp
.*: e92dd800 push {fp, ip, lr, pc}
- .*: ebfffff4 bl .* <_start-0xc>
+ .*: ebfffff4 bl .* <lib_func1@plt>
.*: e89d6800 ldm sp, {fp, sp, lr}
.*: e12fff1e bx lr
diff --git a/binutils-2.25/ld/testsuite/ld-arm/arm-dyn.ld b/binutils-2.25/ld/testsuite/ld-arm/arm-dyn.ld
index bef9a182..71cb4c9e 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/arm-dyn.ld
+++ b/binutils-2.25/ld/testsuite/ld-arm/arm-dyn.ld
@@ -149,7 +149,7 @@ SECTIONS
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections. */
- . = ALIGN(32 / 8);
+ . = ALIGN(. != 0 ? 32 / 8 : 1);
}
. = ALIGN(32 / 8);
_end = .;
diff --git a/binutils-2.25/ld/testsuite/ld-arm/arm-elf.exp b/binutils-2.25/ld/testsuite/ld-arm/arm-elf.exp
index 4c0f8026..3c8cc689 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/arm-elf.exp
+++ b/binutils-2.25/ld/testsuite/ld-arm/arm-elf.exp
@@ -1,5 +1,5 @@
# Expect script for various ARM ELF tests.
-# Copyright 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -168,9 +168,6 @@ set armelftests_common {
{"callweak" "-static -T arm.ld" "" "" {callweak.s}
{{objdump -dr callweak.d}}
"callweak"}
- {"callweak-2" "-static -T arm.ld" "" "" {callweak-2.s}
- {{objdump -dr callweak-2.d}}
- "callweak-2"}
{"Relocation boundaries" "-defsym x=0 -defsym y=0 -defsym _start=0" "" "" {reloc-boundaries.s}
{{objdump -s reloc-boundaries.d}}
"reloc-boundaries"}
@@ -188,9 +185,6 @@ set armelftests_common {
"" {exec-got-1b.s}
{{readelf --relocs exec-got-1.d}}
"exec-got-1"}
- {"abs call" "-T arm.ld" "" "" {abs-call-1.s}
- {{objdump -d abs-call-1.d}}
- "abs-call-1"}
{"Simple non-PIC shared library (no PLT check)" "-shared" "" "" {arm-lib.s}
{{objdump -Rw arm-lib.r}}
"arm-lib.so"}
@@ -209,6 +203,10 @@ set armelftests_common {
{"EABI ABI flags ld -r" "-r" "" "-mfloat-abi=soft -meabi=5" {eabi-soft-float.s}
{{readelf -h eabi-soft-float-r.d}}
"eabi-soft-float-r.o"}
+ {"PC-relative in -shared" "-shared" ""
+ "" {pcrel-shared.s}
+ {{readelf -dr pcrel-shared.rd}}
+ "pcrel-shared.so"}
}
set armelftests_nonacl {
@@ -230,9 +228,6 @@ set armelftests_nonacl {
{"Thumb and -gc-sections" "-pie -T arm.ld -gc-sections tmpdir/gc-thumb-lib.so" "" "" {gc-thumb.s}
{{readelf --relocs gc-thumb.d}}
"gc-thumb"}
- {"arm-pic-veneer" "-static -T arm.ld --pic-veneer" "" "" {arm-pic-veneer.s}
- {{objdump -d arm-pic-veneer.d}}
- "arm-pic-veneer"}
{"Simple non-PIC shared library" "-shared" "" "" {arm-lib.s}
{{objdump -fdw arm-lib.d} {objdump -Rw arm-lib.r}}
@@ -276,186 +271,12 @@ set armelftests_nonacl {
{"Using Thumb lib by another lib" "-shared tmpdir/mixed-lib.so" "" "" {use-thumb-lib.s}
{{readelf -Ds use-thumb-lib.sym}}
"use-thumb-lib.so"}
- {"Preempt Thumb symbol" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" ""
- {preempt-app.s}
- {{readelf -Ds preempt-app.sym}}
- "preempt-app"}
{"TLS gnu shared library inlined trampoline" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" "" {tls-descseq.s}
{{objdump -fdw tls-descseq.d} {objdump -Rw tls-descseq.r}}
"tls-lib2inline.so"}
{"TLS shared library gdesc local" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" "" {tls-lib-loc.s}
{{objdump -fdw tls-lib-loc.d} {objdump -Rw tls-lib-loc.r}}
"tls-lib-loc.so"}
- {"Cortex-A8 erratum fix, b.w"
- "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-b.s}
- {{objdump -dr cortex-a8-fix-b.d}}
- "cortex-a8-fix-b"}
- {"Cortex-A8 erratum fix, bl.w"
- "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-bl.s}
- {{objdump -dr cortex-a8-fix-bl.d}}
- "cortex-a8-fix-bl"}
- {"Cortex-A8 erratum fix, bcc.w"
- "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-bcc.s}
- {{objdump -dr cortex-a8-fix-bcc.d}}
- "cortex-a8-fix-bcc"}
- {"Cortex-A8 erratum fix, blx.w"
- "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-blx.s}
- {{objdump -dr cortex-a8-fix-blx.d}}
- "cortex-a8-fix-blx"}
- {"Cortex-A8 erratum fix, relocate b.w to ARM"
- "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-b-rel.s}
- {{objdump -dr cortex-a8-fix-b-rel-arm.d}}
- "cortex-a8-fix-b-rel-arm"}
- {"Cortex-A8 erratum fix, relocate b.w to Thumb"
- "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-b-rel.s}
- {{objdump -dr cortex-a8-fix-b-rel-thumb.d}}
- "cortex-a8-fix-b-rel-thumb"}
- {"Cortex-A8 erratum fix, relocate bl.w to ARM"
- "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-bl-rel.s}
- {{objdump -dr cortex-a8-fix-bl-rel-arm.d}}
- "cortex-a8-fix-bl-rel-arm"}
- {"Cortex-A8 erratum fix, relocate bl.w to Thumb"
- "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s}
- {{objdump -dr cortex-a8-fix-bl-rel-thumb.d}}
- "cortex-a8-fix-bl-rel-thumb"}
- {"Cortex-A8 erratum fix, relocate b<cond>.w to Thumb"
- "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bcc-rel.s}
- {{objdump -dr cortex-a8-fix-bcc-rel-thumb.d}}
- "cortex-a8-fix-bcc-rel-thumb"}
- {"Cortex-A8 erratum fix, relocate blx.w to ARM"
- "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-blx-rel.s}
- {{objdump -dr cortex-a8-fix-blx-rel-arm.d}}
- "cortex-a8-fix-blx-rel-arm"}
- {"Cortex-A8 erratum fix, relocate blx.w to Thumb"
- "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-blx-rel.s}
- {{objdump -dr cortex-a8-fix-blx-rel-thumb.d}}
- "cortex-a8-fix-blx-rel-thumb"}
- {"Cortex-A8 erratum fix, relocate bl.w and far call"
- "-EL -Ttext=0x00 --fix-cortex-a8 --defsym _start=0" ""
- "-EL -mcpu=cortex-a8" {cortex-a8-far-1.s cortex-a8-far-2.s cortex-a8-far-3.s}
- {{objdump -dr cortex-a8-far.d}}
- "cortex-a8-far"}
- {"Cortex-A8 erratum fix, headers"
- "-EL --fix-cortex-a8 -T cortex-a8-fix-hdr.t" ""
- "-EL -mcpu=cortex-a8" {cortex-a8-fix-hdr.s}
- {{objdump -dr cortex-a8-fix-hdr.d}}
- "cortex-a8-fix-hdr"}
- {"Cortex-A8 erratum fix, blx.w and b<cond>.w together"
- "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-blx-bcond.s}
- {{objdump -dr cortex-a8-fix-blx-bcond.d}}
- "cortex-a8-fix-blx-bcond"}
- {"Cortex-A8 erratum fix, b.w to PLT"
- "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL"
- {cortex-a8-fix-b-plt.s}
- {{objdump -dr cortex-a8-fix-b-plt.d}}
- "cortex-a8-fix-b-plt"}
- {"Cortex-A8 erratum fix, bl.w to PLT"
- "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL"
- {cortex-a8-fix-bl-plt.s}
- {{objdump -dr cortex-a8-fix-bl-plt.d}}
- "cortex-a8-fix-bl-plt"}
- {"Cortex-A8 erratum fix, bcc.w to PLT"
- "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL"
- {cortex-a8-fix-bcc-plt.s}
- {{objdump -dr cortex-a8-fix-bcc-plt.d}}
- "cortex-a8-fix-bcc-plt"}
- {"Cortex-A8 erratum fix, blx.w to PLT"
- "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL"
- {cortex-a8-fix-blx-plt.s}
- {{objdump -dr cortex-a8-fix-blx-plt.d}}
- "cortex-a8-fix-blx-plt"}
- {"Cortex-A8 erratum fix, relocate bl.w to PLT"
- "-EL --section-start=.plt=0x8e00 -Ttext=0x8f00 --fix-cortex-a8 -shared" ""
- "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s}
- {{objdump -dr cortex-a8-fix-bl-rel-plt.d}}
- "cortex-a8-fix-bl-rel-thumb"}
- {"IFUNC test 1" "-T ifunc-static.ld" "" "" {ifunc-1.s}
- {{objdump -d ifunc-1.dd}
- {objdump {-s -j.data -j.got} ifunc-1.gd}
- {readelf -dr ifunc-1.rd}}
- "ifunc-1"}
- {"IFUNC test 2" "-T ifunc-static.ld" "" "" {ifunc-2.s}
- {{objdump -d ifunc-2.dd}
- {objdump {-s -j.data -j.got} ifunc-2.gd}
- {readelf -dr ifunc-2.rd}}
- "ifunc-2"}
- {"IFUNC test 3" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-3.s}
- {{objdump -d ifunc-3.dd}
- {objdump {-s -j.data -j.got} ifunc-3.gd}
- {readelf -r ifunc-3.rd}}
- "ifunc-3.so"}
- {"IFUNC test 4" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-4.s}
- {{objdump -d ifunc-4.dd}
- {objdump {-s -j.data -j.got} ifunc-4.gd}
- {readelf -r ifunc-4.rd}}
- "ifunc-4.so"}
- {"IFUNC test 5" "-T ifunc-static.ld" "" "" {ifunc-5.s}
- {{objdump -d ifunc-5.dd}
- {objdump {-s -j.data -j.got} ifunc-5.gd}
- {readelf -dr ifunc-5.rd}}
- "ifunc-5"}
- {"IFUNC test 6" "-T ifunc-static.ld" "" "" {ifunc-6.s}
- {{objdump -d ifunc-6.dd}
- {objdump {-s -j.data -j.got} ifunc-6.gd}
- {readelf -dr ifunc-6.rd}}
- "ifunc-6"}
- {"IFUNC test 7" "-T ifunc-dynamic.ld tmpdir/ifunc-3.so -shared" ""
- "" {ifunc-7.s}
- {{objdump -d ifunc-7.dd}
- {objdump {-s -j.data -j.got} ifunc-7.gd}
- {readelf -r ifunc-7.rd}}
- "ifunc-7.so"}
- {"IFUNC test 8" "-T ifunc-dynamic.ld tmpdir/ifunc-4.so -shared" ""
- "" {ifunc-8.s}
- {{objdump -d ifunc-8.dd}
- {objdump {-s -j.data -j.got} ifunc-8.gd}
- {readelf -r ifunc-8.rd}}
- "ifunc-8.so"}
- {"IFUNC test 9" "-T ifunc-dynamic.ld tmpdir/ifunc-3.so" "" "" {ifunc-9.s}
- {{objdump -d ifunc-9.dd}
- {objdump {-s -j.data -j.got} ifunc-9.gd}
- {readelf -r ifunc-9.rd}}
- "ifunc-9"}
- {"IFUNC test 10" "-T ifunc-dynamic.ld tmpdir/ifunc-4.so" "" "" {ifunc-10.s}
- {{objdump -d ifunc-10.dd}
- {objdump {-s -j.data -j.got} ifunc-10.gd}
- {readelf -r ifunc-10.rd}}
- "ifunc-10"}
- {"IFUNC test 11" "-T ifunc-static.ld" "" "" {ifunc-11.s}
- {{objdump -d ifunc-11.dd}
- {objdump {-s -j.data -j.got} ifunc-11.gd}
- {readelf -dr ifunc-11.rd}}
- "ifunc-11"}
- {"IFUNC test 12" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-12.s}
- {{objdump -d ifunc-12.dd}
- {objdump {-s -j.data -j.got} ifunc-12.gd}
- {readelf -r ifunc-12.rd}}
- "ifunc-12.so"}
- {"IFUNC test 13" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-13.s}
- {{objdump -d ifunc-13.dd}
- {objdump {-s -j.data -j.got} ifunc-13.gd}
- {readelf -r ifunc-13.rd}}
- "ifunc-13"}
- {"IFUNC test 14" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-14.s}
- {{objdump -d ifunc-14.dd}
- {objdump {-s -j.data -j.got} ifunc-14.gd}
- {readelf -r ifunc-14.rd}}
- "ifunc-14"}
- {"IFUNC test 15" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-15.s}
- {{objdump -d ifunc-15.dd}
- {objdump {-s -j.data -j.got} ifunc-15.gd}
- {readelf -r ifunc-15.rd}}
- "ifunc-15"}
- {"IFUNC test 16" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-16.s}
- {{objdump -d ifunc-16.dd}
- {objdump {-s -j.data -j.got} ifunc-16.gd}
- {readelf -r ifunc-16.rd}}
- "ifunc-16"}
- {"IFUNC test 17" "-T ifunc-static.ld" "" "" {ifunc-17.s}
- {{objdump -d ifunc-17.dd}
- {objdump {-s -j.data -j.got} ifunc-17.gd}
- {readelf -r ifunc-17.rd}}
- "ifunc-17"}
}
run_ld_link_tests $armelftests_common
@@ -566,6 +387,12 @@ set armeabitests_common {
{"Long branch with mixed text and data" "-T arm.ld" "" "" {farcall-data.s}
{{objdump -dr farcall-data.d farcall-data-nacl.d}}
"farcall-data"}
+ {"callweak-2" "-static -T arm.ld" "" "" {callweak-2.s}
+ {{objdump -dr callweak-2.d}}
+ "callweak-2"}
+ {"abs call" "-T arm.ld" "" "" {abs-call-1.s}
+ {{objdump -d abs-call-1.d}}
+ "abs-call-1"}
}
set armeabitests_nonacl {
@@ -626,6 +453,16 @@ set armeabitests_nonacl {
{{objdump -d farcall-thumb-arm-pic-veneer.d}}
"farcall-thumb-arm-pic-veneer"}
+ {"Thumb-ARM farcall cond" "-Ttext 0x8000 --section-start .foo=0x118000" "" "-W" {farcall-cond-thumb-arm.s}
+ {{objdump -d farcall-cond-thumb-arm.d}}
+ "farcall-cond-thumb-arm"}
+ {"Thumb-ARM farcall cond (BE8)" "-Ttext 0x8000 --section-start .foo=0x118000 -EB --be8" "" "-W -EB" {farcall-cond-thumb-arm.s}
+ {{objdump -d farcall-cond-thumb-arm.d}}
+ "farcall-cond-thumb-arm-be8"}
+ {"Thumb-ARM farcall cond (BE)" "-Ttext 0x8000 --section-start .foo=0x118000 -EB" "" "-W -EB" {farcall-cond-thumb-arm.s}
+ {{objdump -d farcall-cond-thumb-arm.d}}
+ "farcall-cond-thumb-arm-be"}
+
{"Multiple farcalls" "-Ttext 0x1000 --section-start .foo=0x2002020" "" "" {farcall-mix.s}
{{objdump -d farcall-mix.d}}
"farcall-mix"}
@@ -724,6 +561,31 @@ set armeabitests_nonacl {
{{objdump -d jump-reloc-veneers-long.d}}
"jump-reloc-veneers-long"}
+ {"R_ARM_THM_JUMP19 Relocation veneers: Short"
+ "--section-start destsect=0x000108002 --section-start .text=0x8000" ""
+ "-march=armv7-m -mthumb"
+ {jump-reloc-veneers-cond.s}
+ {{objdump -d jump-reloc-veneers-cond-short.d}}
+ "jump-reloc-veneers-cond-short"}
+ {"R_ARM_THM_JUMP19 Relocation veneers: Long"
+ "--section-start destsect=0x00108004 --section-start .text=0x8000" ""
+ "-march=armv7-m -mthumb"
+ {jump-reloc-veneers-cond.s}
+ {{objdump -d jump-reloc-veneers-cond-long.d}}
+ "jump-reloc-veneers-cond-long"}
+ {"R_ARM_THM_JUMP19 Relocation veneers: Short backward"
+ "--section-start destsect=0x8004 --section-start .text=0x108000" ""
+ "-march=armv7-m -mthumb"
+ {jump-reloc-veneers-cond.s}
+ {{objdump -d jump-reloc-veneers-cond-short-backward.d}}
+ "jump-reloc-veneers-cond-short-backward"}
+ {"R_ARM_THM_JUMP19 Relocation veneers: Long backward"
+ "--section-start destsect=0x8002 --section-start .text=0x108000" ""
+ "-march=armv7-m -mthumb"
+ {jump-reloc-veneers-cond.s}
+ {{objdump -d jump-reloc-veneers-cond-long-backward.d}}
+ "jump-reloc-veneers-cond-long-backward"}
+
{"Default group size" "-Ttext 0x1000 --section-start .foo=0x2003020" "" "" {farcall-group.s farcall-group2.s}
{{objdump -d farcall-group.d}}
"farcall-group-default"}
@@ -749,6 +611,190 @@ set armeabitests_nonacl {
{"TLS thumb1" "-shared -T arm-dyn.ld --section-start .foo=0x4001000" "" "" {tls-thumb1.s}
{{objdump -fdw tls-thumb1.d}}
"tls-thumb1"}
+ {"Cortex-A8 erratum fix, b.w"
+ "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-b.s}
+ {{objdump -dr cortex-a8-fix-b.d}}
+ "cortex-a8-fix-b"}
+ {"Cortex-A8 erratum fix, bl.w"
+ "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-bl.s}
+ {{objdump -dr cortex-a8-fix-bl.d}}
+ "cortex-a8-fix-bl"}
+ {"Cortex-A8 erratum fix, bcc.w"
+ "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-bcc.s}
+ {{objdump -dr cortex-a8-fix-bcc.d}}
+ "cortex-a8-fix-bcc"}
+ {"Cortex-A8 erratum fix, blx.w"
+ "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-blx.s}
+ {{objdump -dr cortex-a8-fix-blx.d}}
+ "cortex-a8-fix-blx"}
+ {"Cortex-A8 erratum fix, relocate b.w to ARM"
+ "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-b-rel.s}
+ {{objdump -dr cortex-a8-fix-b-rel-arm.d}}
+ "cortex-a8-fix-b-rel-arm"}
+ {"Cortex-A8 erratum fix, relocate b.w to Thumb"
+ "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-b-rel.s}
+ {{objdump -dr cortex-a8-fix-b-rel-thumb.d}}
+ "cortex-a8-fix-b-rel-thumb"}
+ {"Cortex-A8 erratum fix, relocate bl.w to ARM"
+ "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-bl-rel.s}
+ {{objdump -dr cortex-a8-fix-bl-rel-arm.d}}
+ "cortex-a8-fix-bl-rel-arm"}
+ {"Cortex-A8 erratum fix, relocate bl.w to Thumb"
+ "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s}
+ {{objdump -dr cortex-a8-fix-bl-rel-thumb.d}}
+ "cortex-a8-fix-bl-rel-thumb"}
+ {"Cortex-A8 erratum fix, relocate b<cond>.w to Thumb"
+ "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bcc-rel.s}
+ {{objdump -dr cortex-a8-fix-bcc-rel-thumb.d}}
+ "cortex-a8-fix-bcc-rel-thumb"}
+ {"Cortex-A8 erratum fix, relocate blx.w to ARM"
+ "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-blx-rel.s}
+ {{objdump -dr cortex-a8-fix-blx-rel-arm.d}}
+ "cortex-a8-fix-blx-rel-arm"}
+ {"Cortex-A8 erratum fix, relocate blx.w to Thumb"
+ "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-blx-rel.s}
+ {{objdump -dr cortex-a8-fix-blx-rel-thumb.d}}
+ "cortex-a8-fix-blx-rel-thumb"}
+ {"Cortex-A8 erratum fix, relocate bl.w and far call"
+ "-EL -Ttext=0x00 --fix-cortex-a8 --defsym _start=0" ""
+ "-EL -mcpu=cortex-a8" {cortex-a8-far-1.s cortex-a8-far-2.s cortex-a8-far-3.s}
+ {{objdump -dr cortex-a8-far.d}}
+ "cortex-a8-far"}
+ {"Cortex-A8 erratum fix, headers"
+ "-EL --fix-cortex-a8 -T cortex-a8-fix-hdr.t" ""
+ "-EL -mcpu=cortex-a8" {cortex-a8-fix-hdr.s}
+ {{objdump -dr cortex-a8-fix-hdr.d}}
+ "cortex-a8-fix-hdr"}
+ {"Cortex-A8 erratum fix, blx.w and b<cond>.w together"
+ "-EL -Ttext=0x8f00 --fix-cortex-a8" "" "-EL" {cortex-a8-fix-blx-bcond.s}
+ {{objdump -dr cortex-a8-fix-blx-bcond.d}}
+ "cortex-a8-fix-blx-bcond"}
+ {"Cortex-A8 erratum fix, b.w to PLT"
+ "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL"
+ {cortex-a8-fix-b-plt.s}
+ {{objdump -dr cortex-a8-fix-b-plt.d}}
+ "cortex-a8-fix-b-plt"}
+ {"Cortex-A8 erratum fix, bl.w to PLT"
+ "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL"
+ {cortex-a8-fix-bl-plt.s}
+ {{objdump -dr cortex-a8-fix-bl-plt.d}}
+ "cortex-a8-fix-bl-plt"}
+ {"Cortex-A8 erratum fix, bcc.w to PLT"
+ "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL"
+ {cortex-a8-fix-bcc-plt.s}
+ {{objdump -dr cortex-a8-fix-bcc-plt.d}}
+ "cortex-a8-fix-bcc-plt"}
+ {"Cortex-A8 erratum fix, blx.w to PLT"
+ "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "" "-EL"
+ {cortex-a8-fix-blx-plt.s}
+ {{objdump -dr cortex-a8-fix-blx-plt.d}}
+ "cortex-a8-fix-blx-plt"}
+ {"Cortex-A8 erratum fix, relocate bl.w to PLT"
+ "-EL --section-start=.plt=0x8e00 -Ttext=0x8f00 --fix-cortex-a8 -shared" ""
+ "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s}
+ {{objdump -dr cortex-a8-fix-bl-rel-plt.d}}
+ "cortex-a8-fix-bl-rel-thumb"}
+ {"IFUNC test 1" "-T ifunc-static.ld" "" "" {ifunc-1.s}
+ {{objdump -d ifunc-1.dd}
+ {objdump {-s -j.data -j.got} ifunc-1.gd}
+ {readelf -dr ifunc-1.rd}}
+ "ifunc-1"}
+ {"IFUNC test 2" "-T ifunc-static.ld" "" "" {ifunc-2.s}
+ {{objdump -d ifunc-2.dd}
+ {objdump {-s -j.data -j.got} ifunc-2.gd}
+ {readelf -dr ifunc-2.rd}}
+ "ifunc-2"}
+ {"IFUNC test 3" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-3.s}
+ {{objdump -d ifunc-3.dd}
+ {objdump {-s -j.data -j.got} ifunc-3.gd}
+ {readelf -r ifunc-3.rd}}
+ "ifunc-3.so"}
+ {"IFUNC test 4" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-4.s}
+ {{objdump -d ifunc-4.dd}
+ {objdump {-s -j.data -j.got} ifunc-4.gd}
+ {readelf -r ifunc-4.rd}}
+ "ifunc-4.so"}
+ {"IFUNC test 5" "-T ifunc-static.ld" "" "" {ifunc-5.s}
+ {{objdump -d ifunc-5.dd}
+ {objdump {-s -j.data -j.got} ifunc-5.gd}
+ {readelf -dr ifunc-5.rd}}
+ "ifunc-5"}
+ {"IFUNC test 6" "-T ifunc-static.ld" "" "" {ifunc-6.s}
+ {{objdump -d ifunc-6.dd}
+ {objdump {-s -j.data -j.got} ifunc-6.gd}
+ {readelf -dr ifunc-6.rd}}
+ "ifunc-6"}
+ {"IFUNC test 7" "-T ifunc-dynamic.ld tmpdir/ifunc-3.so -shared" ""
+ "" {ifunc-7.s}
+ {{objdump -d ifunc-7.dd}
+ {objdump {-s -j.data -j.got} ifunc-7.gd}
+ {readelf -r ifunc-7.rd}}
+ "ifunc-7.so"}
+ {"IFUNC test 8" "-T ifunc-dynamic.ld tmpdir/ifunc-4.so -shared" ""
+ "" {ifunc-8.s}
+ {{objdump -d ifunc-8.dd}
+ {objdump {-s -j.data -j.got} ifunc-8.gd}
+ {readelf -r ifunc-8.rd}}
+ "ifunc-8.so"}
+ {"IFUNC test 9" "-T ifunc-dynamic.ld tmpdir/ifunc-3.so" "" "" {ifunc-9.s}
+ {{objdump -d ifunc-9.dd}
+ {objdump {-s -j.data -j.got} ifunc-9.gd}
+ {readelf -r ifunc-9.rd}}
+ "ifunc-9"}
+ {"IFUNC test 10" "-T ifunc-dynamic.ld tmpdir/ifunc-4.so" "" "" {ifunc-10.s}
+ {{objdump -d ifunc-10.dd}
+ {objdump {-s -j.data -j.got} ifunc-10.gd}
+ {readelf -r ifunc-10.rd}}
+ "ifunc-10"}
+ {"IFUNC test 11" "-T ifunc-static.ld" "" "" {ifunc-11.s}
+ {{objdump -d ifunc-11.dd}
+ {objdump {-s -j.data -j.got} ifunc-11.gd}
+ {readelf -dr ifunc-11.rd}}
+ "ifunc-11"}
+ {"IFUNC test 12" "-T ifunc-dynamic.ld -shared" "" "" {ifunc-12.s}
+ {{objdump -d ifunc-12.dd}
+ {objdump {-s -j.data -j.got} ifunc-12.gd}
+ {readelf -r ifunc-12.rd}}
+ "ifunc-12.so"}
+ {"IFUNC test 13" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-13.s}
+ {{objdump -d ifunc-13.dd}
+ {objdump {-s -j.data -j.got} ifunc-13.gd}
+ {readelf -r ifunc-13.rd}}
+ "ifunc-13"}
+ {"IFUNC test 14" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-14.s}
+ {{objdump -d ifunc-14.dd}
+ {objdump {-s -j.data -j.got} ifunc-14.gd}
+ {readelf -r ifunc-14.rd}}
+ "ifunc-14"}
+ {"IFUNC test 15" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-15.s}
+ {{objdump -d ifunc-15.dd}
+ {objdump {-s -j.data -j.got} ifunc-15.gd}
+ {readelf -r ifunc-15.rd}}
+ "ifunc-15"}
+ {"IFUNC test 16" "-T ifunc-dynamic.ld tmpdir/ifunc-12.so" "" "" {ifunc-16.s}
+ {{objdump -d ifunc-16.dd}
+ {objdump {-s -j.data -j.got} ifunc-16.gd}
+ {readelf -r ifunc-16.rd}}
+ "ifunc-16"}
+ {"IFUNC test 17" "-T ifunc-static.ld" "" "" {ifunc-17.s}
+ {{objdump -d ifunc-17.dd}
+ {objdump {-s -j.data -j.got} ifunc-17.gd}
+ {readelf -r ifunc-17.rd}}
+ "ifunc-17"}
+ {"Long PLT entries in executables" "--long-plt -shared --section-start=.plt=0x1000 --section-start=.got=0xf0001100" ""
+ "" {long-plt-format.s}
+ {{objdump "-d -j .plt" long-plt-format.d}}
+ "long-plt-format"}
+ {"IFUNC and TLS descriptor shared library" "-shared -T arm-lib.ld --version-script=ifunc-gdesc.ver" "" "" {ifunc-gdesc.s}
+ {{objdump "-Rw" ifunc-gdesc.r}}
+ "ifunc-gdesc.so"}
+ {"arm-pic-veneer" "-static -T arm.ld --pic-veneer" "" "" {arm-pic-veneer.s}
+ {{objdump -d arm-pic-veneer.d}}
+ "arm-pic-veneer"}
+ {"Preempt Thumb symbol" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" ""
+ {preempt-app.s}
+ {{readelf -Ds preempt-app.sym}}
+ "preempt-app"}
}
# Massage the $armeabitests_common list into run_ld_link_tests standard form.
@@ -832,6 +878,7 @@ run_dump_test "attr-merge-vfp-6r"
run_dump_test "attr-merge-vfp-7"
run_dump_test "attr-merge-vfp-7r"
run_dump_test "attr-merge-incompatible"
+run_dump_test "attr-merge-arch-2"
run_dump_test "unresolved-1"
if { ![istarget "arm*-*-nacl*"] } {
run_dump_test "unresolved-1-dyn"
diff --git a/binutils-2.25/ld/testsuite/ld-arm/arm-lib-plt32.d b/binutils-2.25/ld/testsuite/ld-arm/arm-lib-plt32.d
index 279ea5a4..ecc2cf2a 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/arm-lib-plt32.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/arm-lib-plt32.d
@@ -1,17 +1,18 @@
tmpdir/arm-lib-plt32.so: file format elf32-(little|big)arm
-architecture: armv4t, flags 0x00000150:
+architecture: arm.*, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x.*
Disassembly of section .plt:
-.* <.plt>:
+.* <app_func2@plt-0x14>:
.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- .*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func1-0x10>
+ .*: e59fe004 ldr lr, \[pc, #4\] ; .* <app_func2@plt-0x4>
.*: e08fe00e add lr, pc, lr
.*: e5bef008 ldr pc, \[lr, #8\]!
.*: .*
+.* <app_func2@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
@@ -20,7 +21,7 @@ Disassembly of section .text:
.* <lib_func1>:
.*: e1a0c00d mov ip, sp
.*: e92dd800 push {fp, ip, lr, pc}
- .*: ebfffff9 bl .* <lib_func1-0xc>
+ .*: ebfffff9 bl .* <app_func2@plt>
.*: e89d6800 ldm sp, {fp, sp, lr}
.*: e12fff1e bx lr
diff --git a/binutils-2.25/ld/testsuite/ld-arm/arm-lib.d b/binutils-2.25/ld/testsuite/ld-arm/arm-lib.d
index 22e21d59..0e2a7aa4 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/arm-lib.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/arm-lib.d
@@ -1,17 +1,18 @@
tmpdir/arm-lib.so: file format elf32-(little|big)arm.*
-architecture: armv4t, flags 0x00000150:
+architecture: arm.*, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x.*
Disassembly of section .plt:
-.* <.plt>:
+.* <app_func2@plt-0x14>:
.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- .*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func1-0x10>
+ .*: e59fe004 ldr lr, \[pc, #4\] ; .* <app_func2@plt-0x4>
.*: e08fe00e add lr, pc, lr
.*: e5bef008 ldr pc, \[lr, #8\]!
.*: .*
+.* <app_func2@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
@@ -20,7 +21,7 @@ Disassembly of section .text:
.* <lib_func1>:
.*: e1a0c00d mov ip, sp
.*: e92dd800 push {fp, ip, lr, pc}
- .*: ebfffff9 bl .* <lib_func1-0xc>
+ .*: ebfffff9 bl .* <app_func2@plt>
.*: e89d6800 ldm sp, {fp, sp, lr}
.*: e12fff1e bx lr
diff --git a/binutils-2.25/ld/testsuite/ld-arm/arm-lib.ld b/binutils-2.25/ld/testsuite/ld-arm/arm-lib.ld
index c9482c35..f946d0a8 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/arm-lib.ld
+++ b/binutils-2.25/ld/testsuite/ld-arm/arm-lib.ld
@@ -75,7 +75,7 @@ SECTIONS
.gcc_except_table : ONLY_IF_RO { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) }
/* Adjust the address for the data segment. We want to adjust up to
the same address within the page on the next page up. */
- . = ALIGN (0x8000) - ((0x8000 - .) & (0x8000 - 1)); . = DATA_SEGMENT_ALIGN (0x8000, 0x1000);
+ . = ALIGN (0x10000) - ((0x10000 - .) & (0x10000 - 1)); . = DATA_SEGMENT_ALIGN (0x10000, 0x1000);
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) }
@@ -141,7 +141,7 @@ SECTIONS
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections. */
- . = ALIGN(32 / 8);
+ . = ALIGN(. != 0 ? 32 / 8 : 1);
}
. = ALIGN(32 / 8);
_end = .;
diff --git a/binutils-2.25/ld/testsuite/ld-arm/arm-no-rel-plt.ld b/binutils-2.25/ld/testsuite/ld-arm/arm-no-rel-plt.ld
index 439909c8..391e6633 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/arm-no-rel-plt.ld
+++ b/binutils-2.25/ld/testsuite/ld-arm/arm-no-rel-plt.ld
@@ -1,9 +1,6 @@
/* Script for -z combreloc: combine and sort reloc sections */
-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
- "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
-SEARCH_DIR("/home/meadori/Code/install/arm-none-eabi/lib");
SECTIONS
{
/* Read-only sections, merged into text segment: */
@@ -181,7 +178,6 @@ SECTIONS
}
_bss_end__ = . ; __bss_end__ = . ;
. = ALIGN(32 / 8);
- . = ALIGN(32 / 8);
__end__ = . ;
_end = .; PROVIDE (end = .);
/* Stabs debugging sections. */
diff --git a/binutils-2.25/ld/testsuite/ld-arm/arm-rel32.d b/binutils-2.25/ld/testsuite/ld-arm/arm-rel32.d
index 919aaa42..ff263868 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/arm-rel32.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/arm-rel32.d
@@ -9,4 +9,4 @@ OFFSET +TYPE +VALUE
Contents of section \.data:
- [^ ]+ 00000000 00010000 .*
+ [^ ]+ 00000000 (00010000|00000100) .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/arm-static-app.d b/binutils-2.25/ld/testsuite/ld-arm/arm-static-app.d
index c08c27ff..40355c8d 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/arm-static-app.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/arm-static-app.d
@@ -1,6 +1,6 @@
tmpdir/arm-static-app: file format elf32-(little|big)arm.*
-architecture: armv4t, flags 0x00000112:
+architecture: arm.*, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x.*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/armthumb-lib.d b/binutils-2.25/ld/testsuite/ld-arm/armthumb-lib.d
index dae72ed1..f87829cc 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/armthumb-lib.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/armthumb-lib.d
@@ -1,17 +1,18 @@
tmpdir/armthumb-lib.so: file format elf32-(little|big)arm
-architecture: armv4t, flags 0x00000150:
+architecture: arm.*, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x.*
Disassembly of section .plt:
-.* <.plt>:
+.* <app_func2@plt-0x14>:
.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- .*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func1-0x1.>
+ .*: e59fe004 ldr lr, \[pc, #4\] ; .* <app_func2@plt-0x4>
.*: e08fe00e add lr, pc, lr
.*: e5bef008 ldr pc, \[lr, #8\]!
.*: .*
+.* <app_func2@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
@@ -20,7 +21,7 @@ Disassembly of section .text:
.* <lib_func1>:
.*: e1a0c00d mov ip, sp
.*: e92dd800 push {fp, ip, lr, pc}
- .*: ebfffff. bl .* <lib_func1-0x..?>
+ .*: ebfffff. bl .* <app_func2@plt>
.*: e89d6800 ldm sp, {fp, sp, lr}
.*: e12fff1e bx lr
.*: e1a00000 nop ; \(mov r0, r0\)
diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-arch-2.d b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-arch-2.d
new file mode 100644
index 00000000..0e98edb6
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-arch-2.d
@@ -0,0 +1,5 @@
+#source: attr-merge-arch-2a.s
+#source: attr-merge-arch-2b.s
+#as:
+#ld: -e main
+#error: Conflicting CPU architectures 13/0
diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-arch-2a.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-arch-2a.s
new file mode 100644
index 00000000..6235a3ed
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-arch-2a.s
@@ -0,0 +1,18 @@
+ .syntax unified
+ .cpu cortex-m4
+ .fpu softvfp
+ .thumb
+ .file "m.c"
+ .text
+ .align 2
+ .global main
+ .thumb
+ .thumb_func
+ .type main, %function
+main:
+ push {r7, lr}
+ add r7, sp, #0
+ bl foo
+ mov r3, r0
+ mov r0, r3
+ pop {r7, pc}
diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-arch-2b.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-arch-2b.s
new file mode 100644
index 00000000..57718354
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-arch-2b.s
@@ -0,0 +1,8 @@
+ .eabi_attribute 6, 0 @Tag_CPU_arch, 0 means pre-v4.
+ .file "f.c"
+ .text
+ .align 2
+ .global foo
+ .type foo, %function
+foo:
+ bx lr
diff --git a/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-far.d b/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-far.d
index e327ac1e..06bb646b 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-far.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-far.d
@@ -1,3 +1,4 @@
+#target: *-*-*eabi* *-*-nacl*
.*: file format .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d b/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d
index 4f1078d6..0f40861b 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d
@@ -4,12 +4,13 @@
Disassembly of section \.plt:
-00008000 <\.plt>:
+00008000 <bar@plt-0x14>:
8000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- 8004: e59fe004 ldr lr, \[pc, #4\] ; 8010 <foo-0xfe0>
+ 8004: e59fe004 ldr lr, \[pc, #4\] ; 8010 <bar@plt-0x4>
8008: e08fe00e add lr, pc, lr
800c: e5bef008 ldr pc, \[lr, #8\]!
8010: 00000ffc \.word 0x00000ffc
+00008014 <bar@plt>:
8014: 4778 bx pc
8016: 46c0 nop ; \(mov r8, r8\)
8018: e28fc600 add ip, pc, #0, 12
@@ -27,4 +28,4 @@ Disassembly of section \.text:
9002: 0000 movs r0, r0
9004: 0000 movs r0, r0
9006: 0000 movs r0, r0
- 9008: f7ff b804 b\.w 8014 <foo-0xfdc>
+ 9008: f7ff b804 b\.w 8014 <bar@plt>
diff --git a/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d b/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d
index 1e0cab2d..b6e6fff0 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d
@@ -4,12 +4,13 @@
Disassembly of section \.plt:
-00008000 <\.plt>:
+00008000 <bar@plt-0x14>:
8000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- 8004: e59fe004 ldr lr, \[pc, #4\] ; 8010 <foo-0xfe0>
+ 8004: e59fe004 ldr lr, \[pc, #4\] ; 8010 <bar@plt-0x4>
8008: e08fe00e add lr, pc, lr
800c: e5bef008 ldr pc, \[lr, #8\]!
8010: 00001004 \.word 0x00001004
+00008014 <bar@plt>:
8014: 4778 bx pc
8016: 46c0 nop ; \(mov r8, r8\)
8018: e28fc600 add ip, pc, #0, 12
@@ -29,4 +30,4 @@ Disassembly of section \.text:
9006: 0000 movs r0, r0
9008: d001 beq\.n 900e <foo\+0x1e>
900a: f7ff bffa b\.w 9002 <foo\+0x12>
- 900e: f7ff b801 b\.w 8014 <foo-0xfdc>
+ 900e: f7ff b801 b\.w 8014 <bar@plt>
diff --git a/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d b/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d
index ebb480f0..baad3d07 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d
@@ -4,12 +4,13 @@
Disassembly of section \.plt:
-00008000 <\.plt>:
+00008000 <bar@plt-0x14>:
8000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- 8004: e59fe004 ldr lr, \[pc, #4\] ; 8010 <foo-0xfe0>
+ 8004: e59fe004 ldr lr, \[pc, #4\] ; 8010 <bar@plt-0x4>
8008: e08fe00e add lr, pc, lr
800c: e5bef008 ldr pc, \[lr, #8\]!
8010: 00000ffc \.word 0x00000ffc
+00008014 <bar@plt>:
8014: e28fc600 add ip, pc, #0, 12
8018: e28cca00 add ip, ip, #0, 20
801c: e5bcfffc ldr pc, \[ip, #4092\]! ; 0xffc
@@ -25,4 +26,4 @@ Disassembly of section \.text:
9002: 0000 movs r0, r0
9004: 0000 movs r0, r0
9006: 0000 movs r0, r0
- 9008: eafffc01 b 8014 <foo-0xfdc>
+ 9008: eafffc01 b 8014 <bar@plt>
diff --git a/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d b/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d
index f8a9c242..ba1f5378 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d
@@ -4,14 +4,15 @@
Disassembly of section \.plt:
-00008e00 <\.plt>:
+00008e00 <targetfn@plt-0x14>:
8e00: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- 8e04: e59fe004 ldr lr, \[pc, #4\] ; 8e10 <targetfn-0xf0>
+ 8e04: e59fe004 ldr lr, \[pc, #4\] ; 8e10 <targetfn@plt-0x4>
8e08: e08fe00e add lr, pc, lr
8e0c: e5bef008 ldr pc, \[lr, #8\]!
- 8e10: 0000827c \.word 0x0000827c
+ 8e10: 0001027c \.word 0x0001027c
+00008e14 <targetfn@plt>:
8e14: e28fc600 add ip, pc, #0, 12
- 8e18: e28cca08 add ip, ip, #8, 20 ; 0x8000
+ 8e18: e28cca10 add ip, ip, #16, 20 ; 0x10000
8e1c: e5bcf27c ldr pc, \[ip, #636\]! ; 0x27c
Disassembly of section \.text:
@@ -24,69 +25,69 @@ Disassembly of section \.text:
00008f08 <_start>:
8f08: bf00 nop
8f0a: eb01 0002 add\.w r0, r1, r2
- 8f0e: f7ff ef82 blx 8e14 <targetfn-0xec>
+ 8f0e: f7ff ef82 blx 8e14 <targetfn@plt>
8f12: eb01 0002 add\.w r0, r1, r2
- 8f16: f7ff ef7e blx 8e14 <targetfn-0xec>
+ 8f16: f7ff ef7e blx 8e14 <targetfn@plt>
8f1a: eb01 0002 add\.w r0, r1, r2
- 8f1e: f7ff ef7a blx 8e14 <targetfn-0xec>
+ 8f1e: f7ff ef7a blx 8e14 <targetfn@plt>
8f22: eb01 0002 add\.w r0, r1, r2
- 8f26: f7ff ef76 blx 8e14 <targetfn-0xec>
+ 8f26: f7ff ef76 blx 8e14 <targetfn@plt>
8f2a: eb01 0002 add\.w r0, r1, r2
- 8f2e: f7ff ef72 blx 8e14 <targetfn-0xec>
+ 8f2e: f7ff ef72 blx 8e14 <targetfn@plt>
8f32: eb01 0002 add\.w r0, r1, r2
- 8f36: f7ff ef6e blx 8e14 <targetfn-0xec>
+ 8f36: f7ff ef6e blx 8e14 <targetfn@plt>
8f3a: eb01 0002 add\.w r0, r1, r2
- 8f3e: f7ff ef6a blx 8e14 <targetfn-0xec>
+ 8f3e: f7ff ef6a blx 8e14 <targetfn@plt>
8f42: eb01 0002 add\.w r0, r1, r2
- 8f46: f7ff ef66 blx 8e14 <targetfn-0xec>
+ 8f46: f7ff ef66 blx 8e14 <targetfn@plt>
8f4a: eb01 0002 add\.w r0, r1, r2
- 8f4e: f7ff ef62 blx 8e14 <targetfn-0xec>
+ 8f4e: f7ff ef62 blx 8e14 <targetfn@plt>
8f52: eb01 0002 add\.w r0, r1, r2
- 8f56: f7ff ef5e blx 8e14 <targetfn-0xec>
+ 8f56: f7ff ef5e blx 8e14 <targetfn@plt>
8f5a: eb01 0002 add\.w r0, r1, r2
- 8f5e: f7ff ef5a blx 8e14 <targetfn-0xec>
+ 8f5e: f7ff ef5a blx 8e14 <targetfn@plt>
8f62: eb01 0002 add\.w r0, r1, r2
- 8f66: f7ff ef56 blx 8e14 <targetfn-0xec>
+ 8f66: f7ff ef56 blx 8e14 <targetfn@plt>
8f6a: eb01 0002 add\.w r0, r1, r2
- 8f6e: f7ff ef52 blx 8e14 <targetfn-0xec>
+ 8f6e: f7ff ef52 blx 8e14 <targetfn@plt>
8f72: eb01 0002 add\.w r0, r1, r2
- 8f76: f7ff ef4e blx 8e14 <targetfn-0xec>
+ 8f76: f7ff ef4e blx 8e14 <targetfn@plt>
8f7a: eb01 0002 add\.w r0, r1, r2
- 8f7e: f7ff ef4a blx 8e14 <targetfn-0xec>
+ 8f7e: f7ff ef4a blx 8e14 <targetfn@plt>
8f82: eb01 0002 add\.w r0, r1, r2
- 8f86: f7ff ef46 blx 8e14 <targetfn-0xec>
+ 8f86: f7ff ef46 blx 8e14 <targetfn@plt>
8f8a: eb01 0002 add\.w r0, r1, r2
- 8f8e: f7ff ef42 blx 8e14 <targetfn-0xec>
+ 8f8e: f7ff ef42 blx 8e14 <targetfn@plt>
8f92: eb01 0002 add\.w r0, r1, r2
- 8f96: f7ff ef3e blx 8e14 <targetfn-0xec>
+ 8f96: f7ff ef3e blx 8e14 <targetfn@plt>
8f9a: eb01 0002 add\.w r0, r1, r2
- 8f9e: f7ff ef3a blx 8e14 <targetfn-0xec>
+ 8f9e: f7ff ef3a blx 8e14 <targetfn@plt>
8fa2: eb01 0002 add\.w r0, r1, r2
- 8fa6: f7ff ef36 blx 8e14 <targetfn-0xec>
+ 8fa6: f7ff ef36 blx 8e14 <targetfn@plt>
8faa: eb01 0002 add\.w r0, r1, r2
- 8fae: f7ff ef32 blx 8e14 <targetfn-0xec>
+ 8fae: f7ff ef32 blx 8e14 <targetfn@plt>
8fb2: eb01 0002 add\.w r0, r1, r2
- 8fb6: f7ff ef2e blx 8e14 <targetfn-0xec>
+ 8fb6: f7ff ef2e blx 8e14 <targetfn@plt>
8fba: eb01 0002 add\.w r0, r1, r2
- 8fbe: f7ff ef2a blx 8e14 <targetfn-0xec>
+ 8fbe: f7ff ef2a blx 8e14 <targetfn@plt>
8fc2: eb01 0002 add\.w r0, r1, r2
- 8fc6: f7ff ef26 blx 8e14 <targetfn-0xec>
+ 8fc6: f7ff ef26 blx 8e14 <targetfn@plt>
8fca: eb01 0002 add\.w r0, r1, r2
- 8fce: f7ff ef22 blx 8e14 <targetfn-0xec>
+ 8fce: f7ff ef22 blx 8e14 <targetfn@plt>
8fd2: eb01 0002 add\.w r0, r1, r2
- 8fd6: f7ff ef1e blx 8e14 <targetfn-0xec>
+ 8fd6: f7ff ef1e blx 8e14 <targetfn@plt>
8fda: eb01 0002 add\.w r0, r1, r2
- 8fde: f7ff ef1a blx 8e14 <targetfn-0xec>
+ 8fde: f7ff ef1a blx 8e14 <targetfn@plt>
8fe2: eb01 0002 add\.w r0, r1, r2
- 8fe6: f7ff ef16 blx 8e14 <targetfn-0xec>
+ 8fe6: f7ff ef16 blx 8e14 <targetfn@plt>
8fea: eb01 0002 add\.w r0, r1, r2
- 8fee: f7ff ef12 blx 8e14 <targetfn-0xec>
+ 8fee: f7ff ef12 blx 8e14 <targetfn@plt>
8ff2: eb01 0002 add\.w r0, r1, r2
- 8ff6: f7ff ef0e blx 8e14 <targetfn-0xec>
+ 8ff6: f7ff ef0e blx 8e14 <targetfn@plt>
8ffa: eb01 0002 add\.w r0, r1, r2
8ffe: f000 e808 blx 9010 <_start\+0x108>
9002: eb01 0002 add\.w r0, r1, r2
- 9006: f7ff ef06 blx 8e14 <targetfn-0xec>
+ 9006: f7ff ef06 blx 8e14 <targetfn@plt>
900a: 4770 bx lr
900c: f3af 8000 nop\.w
- 9010: eaffff7f b 8e14 <targetfn-0xec>
+ 9010: eaffff7f b 8e14 <targetfn@plt>
diff --git a/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d b/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d
index ebb480f0..baad3d07 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d
@@ -4,12 +4,13 @@
Disassembly of section \.plt:
-00008000 <\.plt>:
+00008000 <bar@plt-0x14>:
8000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- 8004: e59fe004 ldr lr, \[pc, #4\] ; 8010 <foo-0xfe0>
+ 8004: e59fe004 ldr lr, \[pc, #4\] ; 8010 <bar@plt-0x4>
8008: e08fe00e add lr, pc, lr
800c: e5bef008 ldr pc, \[lr, #8\]!
8010: 00000ffc \.word 0x00000ffc
+00008014 <bar@plt>:
8014: e28fc600 add ip, pc, #0, 12
8018: e28cca00 add ip, ip, #0, 20
801c: e5bcfffc ldr pc, \[ip, #4092\]! ; 0xffc
@@ -25,4 +26,4 @@ Disassembly of section \.text:
9002: 0000 movs r0, r0
9004: 0000 movs r0, r0
9006: 0000 movs r0, r0
- 9008: eafffc01 b 8014 <foo-0xfdc>
+ 9008: eafffc01 b 8014 <bar@plt>
diff --git a/binutils-2.25/ld/testsuite/ld-arm/data-only-map.d b/binutils-2.25/ld/testsuite/ld-arm/data-only-map.d
index 706e7097..fee073a4 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/data-only-map.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/data-only-map.d
@@ -1,5 +1,5 @@
-[^:]*: file format elf32-littlearm.*
+[^:]*: file format elf32-(big|little)arm.*
Disassembly of section \.text:
diff --git a/binutils-2.25/ld/testsuite/ld-arm/export-class.exp b/binutils-2.25/ld/testsuite/ld-arm/export-class.exp
index 8fac9eca..97d3c0a2 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/export-class.exp
+++ b/binutils-2.25/ld/testsuite/ld-arm/export-class.exp
@@ -1,6 +1,6 @@
# Expect script for symbol export classes, ARM variation.
#
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-arm/farcall-cond-thumb-arm.d b/binutils-2.25/ld/testsuite/ld-arm/farcall-cond-thumb-arm.d
new file mode 100644
index 00000000..0b0172b7
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/farcall-cond-thumb-arm.d
@@ -0,0 +1,18 @@
+.*: file format .*
+
+Disassembly of section .text:
+
+00008000 <_start>:
+ 8000: f050 a002 bne.w 58008 <__bar_from_thumb>
+ \.\.\.
+ 58004: f040 8000 bne.w 58008 <__bar_from_thumb>
+
+00058008 <__bar_from_thumb>:
+ 58008: 4778 bx pc
+ 5800a: 46c0 nop ; \(mov r8, r8\)
+ 5800c: ea02fffb b 118000 <bar>
+
+Disassembly of section .foo:
+
+00118000 <bar>:
+ 118000: e12fff1e bx lr
diff --git a/binutils-2.25/ld/testsuite/ld-arm/farcall-cond-thumb-arm.s b/binutils-2.25/ld/testsuite/ld-arm/farcall-cond-thumb-arm.s
new file mode 100644
index 00000000..809f2fcf
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/farcall-cond-thumb-arm.s
@@ -0,0 +1,27 @@
+@ Test to ensure that a Thumb to ARM call exceeding 4Mb generates a stub.
+@ Check that we can generate two types of stub in the same section.
+
+ .global _start
+ .syntax unified
+
+@ We will place the section .text at 0x1c01010.
+
+ .text
+ .thumb_func
+_start:
+ .global bar
+ bne bar
+@ This call is close enough to generate a "short branch" stub
+@ or no stub if blx is available.
+ .space 0x050000
+ bne bar
+
+@ We will place the section .foo at 0x2001014.
+
+ .section .foo, "xa"
+
+ .arm
+ .type bar, %function
+bar:
+ bx lr
+
diff --git a/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-app-v5.d b/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-app-v5.d
index 781b9727..74668837 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-app-v5.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-app-v5.d
@@ -6,15 +6,17 @@ start address 0x.*
Disassembly of section .plt:
-.* <.plt>:
+.* <lib_func2@plt-0x14>:
.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- .*: e59fe004 ldr lr, \[pc, #4\] ; .* <_start-0x28>
+ .*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func2@plt-0x4>
.*: e08fe00e add lr, pc, lr
.*: e5bef008 ldr pc, \[lr, #8\]!
.*: .*
+.* <lib_func2@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
+.* <lib_func1@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
@@ -25,15 +27,15 @@ Disassembly of section .text:
.*: e1a0c00d mov ip, sp
.*: e92dd800 push {fp, ip, lr, pc}
.*: eb000008 bl .* <__app_func_veneer>
- .*: ebfffff5 bl .* <_start-0x18>
- .*: ebfffff1 bl .* <_start-0x24>
+ .*: ebfffff5 bl .* <lib_func1@plt>
+ .*: ebfffff1 bl .* <lib_func2@plt>
.*: e89d6800 ldm sp, {fp, sp, lr}
.*: e12fff1e bx lr
.*: e1a00000 nop ; \(mov r0, r0\)
.* <app_tfunc_close>:
.*: b500 push {lr}
- .*: f7ff efdc blx .* <_start-0x24>
+ .*: f7ff efdc blx .* <lib_func2@plt>
.*: bd00 pop {pc}
.*: 4770 bx lr
.*: 46c0 nop ; \(mov r8, r8\)
diff --git a/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-app.d b/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-app.d
index b6cc2d0d..6fa799d3 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-app.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-app.d
@@ -1,22 +1,24 @@
tmpdir/farcall-mixed-app: file format elf32-(little|big)arm
-architecture: armv4t, flags 0x00000112:
+architecture: arm.*, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x.*
Disassembly of section .plt:
-.* <.plt>:
+.* <lib_func2@plt-0x14>:
.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- .*: e59fe004 ldr lr, \[pc, #4\] ; .* <_start-0x28>
+ .*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func2@plt-0x4>
.*: e08fe00e add lr, pc, lr
.*: e5bef008 ldr pc, \[lr, #8\]!
.*: .*
+.* <lib_func2@plt>:
.*: 4778 bx pc
.*: 46c0 nop ; \(mov r8, r8\)
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
+.* <lib_func1@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
@@ -27,15 +29,15 @@ Disassembly of section .text:
.*: e1a0c00d mov ip, sp
.*: e92dd800 push {fp, ip, lr, pc}
.*: eb000008 bl .* <__app_func_veneer>
- .*: ebfffff6 bl .* <_start-0x14>
- .*: ebfffff2 bl .* <_start-0x20>
+ .*: ebfffff6 bl .* <lib_func1@plt>
+ .*: ebfffff2 bl .* <lib_func2@plt\+0x4>
.*: e89d6800 ldm sp, {fp, sp, lr}
.*: e12fff1e bx lr
.*: e1a00000 nop ; \(mov r0, r0\)
.* <app_tfunc_close>:
.*: b500 push {lr}
- .*: f7ff ffdb bl 81dc <_start-0x24>
+ .*: f7ff ffdb bl 81dc <lib_func2@plt>
.*: bd00 pop {pc}
.*: 4770 bx lr
.*: 46c0 nop ; \(mov r8, r8\)
diff --git a/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d b/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d
index 3be297bc..54f4fab7 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d
@@ -1,31 +1,35 @@
tmpdir/farcall-mixed-lib.so: file format elf32-(little|big)arm
-architecture: armv4t, flags 0x00000150:
+architecture: arm.*, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x.*
Disassembly of section .plt:
-.* <.plt>:
+.* <app_func@plt-0x14>:
.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- .*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func1-0x.*>
+ .*: e59fe004 ldr lr, \[pc, #4\] ; .* <app_func@plt-0x4>
.*: e08fe00e add lr, pc, lr
.*: e5bef008 ldr pc, \[lr, #8\]!
.*: .* .word .*
+.* <app_func@plt>:
.*: 4778 bx pc
.*: 46c0 nop ; \(mov r8, r8\)
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]! ; .*
+.* <app_func_weak@plt>:
.*: 4778 bx pc
.*: 46c0 nop ; \(mov r8, r8\)
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]! ; 0x.*
+.* <lib_func3@plt>:
.*: 4778 bx pc
.*: 46c0 nop ; \(mov r8, r8\)
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]! ; 0x.*
+.* <lib_func4@plt>:
.*: 4778 bx pc
.*: 46c0 nop ; \(mov r8, r8\)
.*: e28fc6.* add ip, pc, #.*
@@ -37,10 +41,10 @@ Disassembly of section .text:
.* <lib_func1>:
.*: e1a0c00d mov ip, sp
.*: e92dd800 push {fp, ip, lr, pc}
- .*: ebffff.. bl .* <lib_func1-0x.*>
- .*: ebffff.. bl .* <lib_func1-0x.*>
- .*: ebffff.. bl .* <lib_func1-0x.*>
- .*: ebffff.. bl .* <lib_func1-0x.*>
+ .*: ebffff.. bl .* <app_func@plt\+0x.*>
+ .*: ebffff.. bl .* <app_func_weak@plt\+0x.*>
+ .*: ebffff.. bl .* <lib_func3@plt\+0x.*>
+ .*: ebffff.. bl .* <lib_func4@plt\+0x.*>
.*: e89d6800 ldm sp, {fp, sp, lr}
.*: e12fff1e bx lr
...
diff --git a/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-lib.d b/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-lib.d
index 05578f47..8524e90a 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-lib.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/farcall-mixed-lib.d
@@ -1,25 +1,29 @@
tmpdir/farcall-mixed-lib.so: file format elf32-(little|big)arm
-architecture: armv5t, flags 0x00000150:
+architecture: arm.*, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x.*
Disassembly of section .plt:
-.* <.plt>:
+.* <app_func@plt-0x14>:
.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- .*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func1-0x.*>
+ .*: e59fe004 ldr lr, \[pc, #4\] ; .* <app_func@plt-0x4>
.*: e08fe00e add lr, pc, lr
.*: e5bef008 ldr pc, \[lr, #8\]!
.*: .*
+.* <app_func@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
+.* <app_func_weak@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
+.* <lib_func3@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
+.* <lib_func4@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
@@ -29,10 +33,10 @@ Disassembly of section .text:
.* <lib_func1>:
.*: e1a0c00d mov ip, sp
.*: e92dd800 push {fp, ip, lr, pc}
- .*: ebffff.. bl .* <lib_func1-0x..?>
- .*: ebffff.. bl .* <lib_func1-0x..?>
- .*: ebfffff. bl .* <lib_func1-0x..?>
- .*: ebfffff. bl .* <lib_func1-0x..?>
+ .*: ebffff.. bl .* <app_func@plt>
+ .*: ebffff.. bl .* <app_func_weak@plt>
+ .*: ebfffff. bl .* <lib_func3@plt>
+ .*: ebfffff. bl .* <lib_func4@plt>
.*: e89d6800 ldm sp, {fp, sp, lr}
.*: e12fff1e bx lr
...
diff --git a/binutils-2.25/ld/testsuite/ld-arm/fix-arm1176-off.d b/binutils-2.25/ld/testsuite/ld-arm/fix-arm1176-off.d
index 89f01e2a..26938730 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/fix-arm1176-off.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/fix-arm1176-off.d
@@ -1,5 +1,5 @@
-.*: file format elf32-littlearm.*
+.*: file format elf32-(big|little)arm.*
Disassembly of section .foo:
diff --git a/binutils-2.25/ld/testsuite/ld-arm/fix-arm1176-on.d b/binutils-2.25/ld/testsuite/ld-arm/fix-arm1176-on.d
index 6417a33a..834618e8 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/fix-arm1176-on.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/fix-arm1176-on.d
@@ -1,5 +1,5 @@
-.+: file format elf32-littlearm.*
+.+: file format elf32-(big|little)arm.*
Disassembly of section .foo:
diff --git a/binutils-2.25/ld/testsuite/ld-arm/gc-hidden-1.d b/binutils-2.25/ld/testsuite/ld-arm/gc-hidden-1.d
index fe77abcc..f0f1fd47 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/gc-hidden-1.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/gc-hidden-1.d
@@ -1,9 +1,10 @@
-#target: arm*-*-*eabi*
#source: main.s
#source: gcdfn.s
#source: hidfn.s
#ld: --gc-sections --shared --version-script hideall.ld
#objdump: -dRT
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
# See PR ld/13990: a forced-local PLT reference to a
# forced-local symbol is GC'ed, trigging a BFD_ASSERT.
@@ -11,15 +12,15 @@
.*: file format elf32-.*
DYNAMIC SYMBOL TABLE:
-0+124 l d .text 0+ .text
+0+[0-9a-f]+ l d .text 0+ .text
0+ g DO \*ABS\* 0+ NS NS
Disassembly of section .text:
-0+124 <_start>:
- 124: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- 128: eb000000 bl 130 <hidfn>
- 12c: e8bd8000 ldmfd sp!, {pc}
+0+[0-9a-f]+ <_start>:
+\s*[0-9a-f]+:\s+e52de004\s+push {lr} ; \(str lr, \[sp, #-4\]!\)
+\s*[0-9a-f]+:\s+eb000000\s+bl [0-9a-f]+ <hidfn>
+\s*[0-9a-f]+:\s+e8bd8000\s+ldmfd sp!, {pc}
-0+130 <hidfn>:
- 130: e8bd8000 ldmfd sp!, {pc}
+0+[0-9a-f]+ <hidfn>:
+\s*[0-9a-f]+:\s+e8bd8000\s+ldmfd sp!, {pc}
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-1.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-1.gd
index ff51d37e..f76f6cd7 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-1.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-1.gd
@@ -5,7 +5,7 @@ Contents of section \.data:
#------------------------------------------------------------------------------
#------ 00010000: foo
#------------------------------------------------------------------------------
- 10000 44332211 00800000 18800000 .*
+ 10000 (44332211 00800000 18800000|11223344 00008000 00008018) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -13,17 +13,17 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: f1's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11000 00000000 00000000 00000000 00a00000 .*
+ 11000 00000000 00000000 00000000 (00a00000|0000a000) .*
#------------------------------------------------------------------------------
#------ 00011010: f3's .igot.plt pointer to 0xa008 [R_ARM_IRELATIVE]
#------ 00011014: f2's .igot.plt pointer to 0xa004 [R_ARM_IRELATIVE]
#------ 00011018: .got entry for foo
#------ 0001101c: .got entry for f1's .iplt entry
#------------------------------------------------------------------------------
- 11010 08a00000 04a00000 00000100 00900000 .*
+ 11010 (08a00000 04a00000 00000100 00900000|0000a008 0000a004 00010000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011020: .got entry for foo
#------ 00011024: .got entry for f3
#------ 00011028: .got entry for f2
#------------------------------------------------------------------------------
- 11020 00000100 0c900000 18900000 .*
+ 11020 (00000100 0c900000 18900000|00010000 0000900c 00009018) .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-10.dd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-10.dd
index 105b09b9..88bae50a 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-10.dd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-10.dd
@@ -4,9 +4,9 @@
Disassembly of section \.plt:
-00009000 <\.plt>:
+00009000 <atf2@plt-0x14>:
9000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- 9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <atf3-0x110>
+ 9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <atf2@plt-0x4>
9008: e08fe00e add lr, pc, lr
900c: e5bef008 ldr pc, \[lr, #8\]!
#------------------------------------------------------------------------------
@@ -16,6 +16,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to atf2's .plt entry
#------------------------------------------------------------------------------
+00009014 <atf2@plt>:
9014: 4778 bx pc
9016: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -27,12 +28,14 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ aaf4's .plt entry
#------------------------------------------------------------------------------
+00009024 <aaf4@plt>:
9024: e28fc600 add ip, pc, #0, 12
9028: e28cca07 add ip, ip, #28672 ; 0x7000
902c: e5bcffe4 ldr pc, \[ip, #4068\]! ; 0xfe4
#------------------------------------------------------------------------------
#------ thumb entry to ttf2's .plt entry
#------------------------------------------------------------------------------
+00009030 <ttf2@plt>:
9030: 4778 bx pc
9032: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -44,6 +47,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to tbf2's .plt entry
#------------------------------------------------------------------------------
+00009040 <tbf2@plt>:
9040: 4778 bx pc
9042: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -55,18 +59,21 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ taf2's .plt entry
#------------------------------------------------------------------------------
+00009050 <taf2@plt>:
9050: e28fc600 add ip, pc, #0, 12
9054: e28cca07 add ip, ip, #28672 ; 0x7000
9058: e5bcffc4 ldr pc, \[ip, #4036\]! ; 0xfc4
#------------------------------------------------------------------------------
#------ aaf2's .plt entry
#------------------------------------------------------------------------------
+0000905c <aaf2@plt>:
905c: e28fc600 add ip, pc, #0, 12
9060: e28cca07 add ip, ip, #28672 ; 0x7000
9064: e5bcffbc ldr pc, \[ip, #4028\]! ; 0xfbc
#------------------------------------------------------------------------------
#------ thumb entry to abf4's .plt entry
#------------------------------------------------------------------------------
+00009068 <abf4@plt>:
9068: 4778 bx pc
906a: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -78,6 +85,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to tbf4's .plt entry
#------------------------------------------------------------------------------
+00009078 <tbf4@plt>:
9078: 4778 bx pc
907a: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -89,6 +97,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to ttf4's .plt entry
#------------------------------------------------------------------------------
+00009088 <ttf4@plt>:
9088: 4778 bx pc
908a: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -100,6 +109,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to atf4's .plt entry
#------------------------------------------------------------------------------
+00009098 <atf4@plt>:
9098: 4778 bx pc
909a: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -111,12 +121,14 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ taf4's .plt entry
#------------------------------------------------------------------------------
+000090a8 <taf4@plt>:
90a8: e28fc600 add ip, pc, #0, 12
90ac: e28cca07 add ip, ip, #28672 ; 0x7000
90b0: e5bcff84 ldr pc, \[ip, #3972\]! ; 0xf84
#------------------------------------------------------------------------------
#------ thumb entry to abf2's .plt entry
#------------------------------------------------------------------------------
+000090b4 <abf2@plt>:
90b4: 4778 bx pc
90b6: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -281,15 +293,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ aaf1's .iplt entry
#------------------------------------------------------------------------------
- a044: ebfffc1e bl 90c4 <atf3-0x5c>
+ a044: ebfffc1e bl 90c4 <abf2@plt\+0x10>
#------------------------------------------------------------------------------
#------ aaf1's .iplt entry
#------------------------------------------------------------------------------
- a048: eafffc1d b 90c4 <atf3-0x5c>
+ a048: eafffc1d b 90c4 <abf2@plt\+0x10>
#------------------------------------------------------------------------------
#------ aaf1's .iplt entry
#------------------------------------------------------------------------------
- a04c: 0afffc1c beq 90c4 <atf3-0x5c>
+ a04c: 0afffc1c beq 90c4 <abf2@plt\+0x10>
a050: e59f4000 ldr r4, \[pc\] ; a058 <_start\+0x30>
a054: e59f4000 ldr r4, \[pc\] ; a05c <_start\+0x34>
#------------------------------------------------------------------------------
@@ -303,15 +315,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ taf1's .iplt entry
#------------------------------------------------------------------------------
- a060: ebfffc22 bl 90f0 <atf3-0x30>
+ a060: ebfffc22 bl 90f0 <abf2@plt\+0x3c>
#------------------------------------------------------------------------------
#------ taf1's .iplt entry
#------------------------------------------------------------------------------
- a064: eafffc21 b 90f0 <atf3-0x30>
+ a064: eafffc21 b 90f0 <abf2@plt\+0x3c>
#------------------------------------------------------------------------------
#------ taf1's .iplt entry
#------------------------------------------------------------------------------
- a068: 0afffc20 beq 90f0 <atf3-0x30>
+ a068: 0afffc20 beq 90f0 <abf2@plt\+0x3c>
a06c: e59f4000 ldr r4, \[pc\] ; a074 <_start\+0x4c>
a070: e59f4000 ldr r4, \[pc\] ; a078 <_start\+0x50>
#------------------------------------------------------------------------------
@@ -325,15 +337,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
- a07c: ebfffc18 bl 90e4 <atf3-0x3c>
+ a07c: ebfffc18 bl 90e4 <abf2@plt\+0x30>
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
- a080: eafffc17 b 90e4 <atf3-0x3c>
+ a080: eafffc17 b 90e4 <abf2@plt\+0x30>
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
- a084: 0afffc16 beq 90e4 <atf3-0x3c>
+ a084: 0afffc16 beq 90e4 <abf2@plt\+0x30>
a088: e59f4000 ldr r4, \[pc\] ; a090 <_start\+0x68>
a08c: e59f4000 ldr r4, \[pc\] ; a094 <_start\+0x6c>
#------------------------------------------------------------------------------
@@ -347,15 +359,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
- a098: ebfffc1c bl 9110 <atf3-0x10>
+ a098: ebfffc1c bl 9110 <abf2@plt\+0x5c>
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
- a09c: eafffc1b b 9110 <atf3-0x10>
+ a09c: eafffc1b b 9110 <abf2@plt\+0x5c>
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
- a0a0: 0afffc1a beq 9110 <atf3-0x10>
+ a0a0: 0afffc1a beq 9110 <abf2@plt\+0x5c>
a0a4: e59f4000 ldr r4, \[pc\] ; a0ac <_start\+0x84>
a0a8: e59f4000 ldr r4, \[pc\] ; a0b0 <_start\+0x88>
#------------------------------------------------------------------------------
@@ -369,15 +381,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ aaf2's .plt entry
#------------------------------------------------------------------------------
- a0b4: ebfffbe8 bl 905c <atf3-0xc4>
+ a0b4: ebfffbe8 bl 905c <aaf2@plt>
#------------------------------------------------------------------------------
#------ aaf2's .plt entry
#------------------------------------------------------------------------------
- a0b8: eafffbe7 b 905c <atf3-0xc4>
+ a0b8: eafffbe7 b 905c <aaf2@plt>
#------------------------------------------------------------------------------
#------ aaf2's .plt entry
#------------------------------------------------------------------------------
- a0bc: 0afffbe6 beq 905c <atf3-0xc4>
+ a0bc: 0afffbe6 beq 905c <aaf2@plt>
a0c0: e59f4000 ldr r4, \[pc\] ; a0c8 <_start\+0xa0>
a0c4: e59f4000 ldr r4, \[pc\] ; a0cc <_start\+0xa4>
#------------------------------------------------------------------------------
@@ -391,15 +403,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ taf2's .plt entry
#------------------------------------------------------------------------------
- a0d0: ebfffbde bl 9050 <atf3-0xd0>
+ a0d0: ebfffbde bl 9050 <taf2@plt>
#------------------------------------------------------------------------------
#------ taf2's .plt entry
#------------------------------------------------------------------------------
- a0d4: eafffbdd b 9050 <atf3-0xd0>
+ a0d4: eafffbdd b 9050 <taf2@plt>
#------------------------------------------------------------------------------
#------ taf2's .plt entry
#------------------------------------------------------------------------------
- a0d8: 0afffbdc beq 9050 <atf3-0xd0>
+ a0d8: 0afffbdc beq 9050 <taf2@plt>
a0dc: e59f4000 ldr r4, \[pc\] ; a0e4 <_start\+0xbc>
a0e0: e59f4000 ldr r4, \[pc\] ; a0e8 <_start\+0xc0>
#------------------------------------------------------------------------------
@@ -413,15 +425,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
- a0ec: ebfffbf1 bl 90b8 <atf3-0x68>
+ a0ec: ebfffbf1 bl 90b8 <abf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
- a0f0: eafffbf0 b 90b8 <atf3-0x68>
+ a0f0: eafffbf0 b 90b8 <abf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
- a0f4: 0afffbef beq 90b8 <atf3-0x68>
+ a0f4: 0afffbef beq 90b8 <abf2@plt\+0x4>
a0f8: e59f4000 ldr r4, \[pc\] ; a100 <_start\+0xd8>
a0fc: e59f4000 ldr r4, \[pc\] ; a104 <_start\+0xdc>
#------------------------------------------------------------------------------
@@ -435,15 +447,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
- a108: ebfffbcd bl 9044 <atf3-0xdc>
+ a108: ebfffbcd bl 9044 <tbf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
- a10c: eafffbcc b 9044 <atf3-0xdc>
+ a10c: eafffbcc b 9044 <tbf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
- a110: 0afffbcb beq 9044 <atf3-0xdc>
+ a110: 0afffbcb beq 9044 <tbf2@plt\+0x4>
a114: e59f4000 ldr r4, \[pc\] ; a11c <_start\+0xf4>
a118: e59f4000 ldr r4, \[pc\] ; a120 <_start\+0xf8>
#------------------------------------------------------------------------------
@@ -509,15 +521,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ aaf4's .plt entry
#------------------------------------------------------------------------------
- a194: ebfffba2 bl 9024 <atf3-0xfc>
+ a194: ebfffba2 bl 9024 <aaf4@plt>
#------------------------------------------------------------------------------
#------ aaf4's .plt entry
#------------------------------------------------------------------------------
- a198: eafffba1 b 9024 <atf3-0xfc>
+ a198: eafffba1 b 9024 <aaf4@plt>
#------------------------------------------------------------------------------
#------ aaf4's .plt entry
#------------------------------------------------------------------------------
- a19c: 0afffba0 beq 9024 <atf3-0xfc>
+ a19c: 0afffba0 beq 9024 <aaf4@plt>
a1a0: e59f4000 ldr r4, \[pc\] ; a1a8 <_start\+0x180>
a1a4: e59f4000 ldr r4, \[pc\] ; a1ac <_start\+0x184>
#------------------------------------------------------------------------------
@@ -531,15 +543,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ taf4's .plt entry
#------------------------------------------------------------------------------
- a1b0: ebfffbbc bl 90a8 <atf3-0x78>
+ a1b0: ebfffbbc bl 90a8 <taf4@plt>
#------------------------------------------------------------------------------
#------ taf4's .plt entry
#------------------------------------------------------------------------------
- a1b4: eafffbbb b 90a8 <atf3-0x78>
+ a1b4: eafffbbb b 90a8 <taf4@plt>
#------------------------------------------------------------------------------
#------ taf4's .plt entry
#------------------------------------------------------------------------------
- a1b8: 0afffbba beq 90a8 <atf3-0x78>
+ a1b8: 0afffbba beq 90a8 <taf4@plt>
a1bc: e59f4000 ldr r4, \[pc\] ; a1c4 <_start\+0x19c>
a1c0: e59f4000 ldr r4, \[pc\] ; a1c8 <_start\+0x1a0>
#------------------------------------------------------------------------------
@@ -553,15 +565,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf4's .plt entry
#------------------------------------------------------------------------------
- a1cc: ebfffba6 bl 906c <atf3-0xb4>
+ a1cc: ebfffba6 bl 906c <abf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ abf4's .plt entry
#------------------------------------------------------------------------------
- a1d0: eafffba5 b 906c <atf3-0xb4>
+ a1d0: eafffba5 b 906c <abf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ abf4's .plt entry
#------------------------------------------------------------------------------
- a1d4: 0afffba4 beq 906c <atf3-0xb4>
+ a1d4: 0afffba4 beq 906c <abf4@plt\+0x4>
a1d8: e59f4000 ldr r4, \[pc\] ; a1e0 <_start\+0x1b8>
a1dc: e59f4000 ldr r4, \[pc\] ; a1e4 <_start\+0x1bc>
#------------------------------------------------------------------------------
@@ -575,15 +587,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf4's .plt entry
#------------------------------------------------------------------------------
- a1e8: ebfffba3 bl 907c <atf3-0xa4>
+ a1e8: ebfffba3 bl 907c <tbf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ tbf4's .plt entry
#------------------------------------------------------------------------------
- a1ec: eafffba2 b 907c <atf3-0xa4>
+ a1ec: eafffba2 b 907c <tbf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ tbf4's .plt entry
#------------------------------------------------------------------------------
- a1f0: 0afffba1 beq 907c <atf3-0xa4>
+ a1f0: 0afffba1 beq 907c <tbf4@plt\+0x4>
a1f4: e59f4000 ldr r4, \[pc\] ; a1fc <_start\+0x1d4>
a1f8: e59f4000 ldr r4, \[pc\] ; a200 <_start\+0x1d8>
#------------------------------------------------------------------------------
@@ -612,15 +624,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ atf1's .iplt entry
#------------------------------------------------------------------------------
- a21c: f7fe ef5a blx 90d4 <atf3-0x4c>
+ a21c: f7fe ef5a blx 90d4 <abf2@plt\+0x20>
#------------------------------------------------------------------------------
#------ thumb entry to atf1's .iplt entry
#------------------------------------------------------------------------------
- a220: f7fe bf56 b\.w 90d0 <atf3-0x50>
+ a220: f7fe bf56 b\.w 90d0 <abf2@plt\+0x1c>
#------------------------------------------------------------------------------
#------ thumb entry to atf1's .iplt entry
#------------------------------------------------------------------------------
- a224: f43e af54 beq\.w 90d0 <atf3-0x50>
+ a224: f43e af54 beq\.w 90d0 <abf2@plt\+0x1c>
a228: 4c00 ldr r4, \[pc, #0\] ; \(a22c <_thumb\+0x28>\)
a22a: 4c01 ldr r4, \[pc, #4\] ; \(a230 <_thumb\+0x2c>\)
#------------------------------------------------------------------------------
@@ -634,15 +646,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ ttf1's .iplt entry
#------------------------------------------------------------------------------
- a234: f7fe ef64 blx 9100 <atf3-0x20>
+ a234: f7fe ef64 blx 9100 <abf2@plt\+0x4c>
#------------------------------------------------------------------------------
#------ thumb entry to ttf1's .iplt entry
#------------------------------------------------------------------------------
- a238: f7fe bf60 b\.w 90fc <atf3-0x24>
+ a238: f7fe bf60 b\.w 90fc <abf2@plt\+0x48>
#------------------------------------------------------------------------------
#------ thumb entry to ttf1's .iplt entry
#------------------------------------------------------------------------------
- a23c: f43e af5e beq\.w 90fc <atf3-0x24>
+ a23c: f43e af5e beq\.w 90fc <abf2@plt\+0x48>
a240: 4c00 ldr r4, \[pc, #0\] ; \(a244 <_thumb\+0x40>\)
a242: 4c01 ldr r4, \[pc, #4\] ; \(a248 <_thumb\+0x44>\)
#------------------------------------------------------------------------------
@@ -656,15 +668,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
- a24c: f7fe ef4a blx 90e4 <atf3-0x3c>
+ a24c: f7fe ef4a blx 90e4 <abf2@plt\+0x30>
#------------------------------------------------------------------------------
#------ thumb entry to abf1's .iplt entry
#------------------------------------------------------------------------------
- a250: f7fe bf46 b\.w 90e0 <atf3-0x40>
+ a250: f7fe bf46 b\.w 90e0 <abf2@plt\+0x2c>
#------------------------------------------------------------------------------
#------ thumb entry to abf1's .iplt entry
#------------------------------------------------------------------------------
- a254: f43e af44 beq\.w 90e0 <atf3-0x40>
+ a254: f43e af44 beq\.w 90e0 <abf2@plt\+0x2c>
a258: 4c00 ldr r4, \[pc, #0\] ; \(a25c <_thumb\+0x58>\)
a25a: 4c01 ldr r4, \[pc, #4\] ; \(a260 <_thumb\+0x5c>\)
#------------------------------------------------------------------------------
@@ -678,15 +690,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
- a264: f7fe ef54 blx 9110 <atf3-0x10>
+ a264: f7fe ef54 blx 9110 <abf2@plt\+0x5c>
#------------------------------------------------------------------------------
#------ thumb entry to tbf1's .iplt entry
#------------------------------------------------------------------------------
- a268: f7fe bf50 b\.w 910c <atf3-0x14>
+ a268: f7fe bf50 b\.w 910c <abf2@plt\+0x58>
#------------------------------------------------------------------------------
#------ thumb entry to tbf1's .iplt entry
#------------------------------------------------------------------------------
- a26c: f43e af4e beq\.w 910c <atf3-0x14>
+ a26c: f43e af4e beq\.w 910c <abf2@plt\+0x58>
a270: 4c00 ldr r4, \[pc, #0\] ; \(a274 <_thumb\+0x70>\)
a272: 4c01 ldr r4, \[pc, #4\] ; \(a278 <_thumb\+0x74>\)
#------------------------------------------------------------------------------
@@ -700,15 +712,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ atf2's .plt entry
#------------------------------------------------------------------------------
- a27c: f7fe eecc blx 9018 <atf3-0x108>
+ a27c: f7fe eecc blx 9018 <atf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to atf2's .plt entry
#------------------------------------------------------------------------------
- a280: f7fe bec8 b\.w 9014 <atf3-0x10c>
+ a280: f7fe bec8 b\.w 9014 <atf2@plt>
#------------------------------------------------------------------------------
#------ thumb entry to atf2's .plt entry
#------------------------------------------------------------------------------
- a284: f43e aec6 beq\.w 9014 <atf3-0x10c>
+ a284: f43e aec6 beq\.w 9014 <atf2@plt>
a288: 4c00 ldr r4, \[pc, #0\] ; \(a28c <_thumb\+0x88>\)
a28a: 4c01 ldr r4, \[pc, #4\] ; \(a290 <_thumb\+0x8c>\)
#------------------------------------------------------------------------------
@@ -722,15 +734,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ ttf2's .plt entry
#------------------------------------------------------------------------------
- a294: f7fe eece blx 9034 <atf3-0xec>
+ a294: f7fe eece blx 9034 <ttf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to ttf2's .plt entry
#------------------------------------------------------------------------------
- a298: f7fe beca b\.w 9030 <atf3-0xf0>
+ a298: f7fe beca b\.w 9030 <ttf2@plt>
#------------------------------------------------------------------------------
#------ thumb entry to ttf2's .plt entry
#------------------------------------------------------------------------------
- a29c: f43e aec8 beq\.w 9030 <atf3-0xf0>
+ a29c: f43e aec8 beq\.w 9030 <ttf2@plt>
a2a0: 4c00 ldr r4, \[pc, #0\] ; \(a2a4 <_thumb\+0xa0>\)
a2a2: 4c01 ldr r4, \[pc, #4\] ; \(a2a8 <_thumb\+0xa4>\)
#------------------------------------------------------------------------------
@@ -744,15 +756,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
- a2ac: f7fe ef04 blx 90b8 <atf3-0x68>
+ a2ac: f7fe ef04 blx 90b8 <abf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to abf2's .plt entry
#------------------------------------------------------------------------------
- a2b0: f7fe bf00 b\.w 90b4 <atf3-0x6c>
+ a2b0: f7fe bf00 b\.w 90b4 <abf2@plt>
#------------------------------------------------------------------------------
#------ thumb entry to abf2's .plt entry
#------------------------------------------------------------------------------
- a2b4: f43e aefe beq\.w 90b4 <atf3-0x6c>
+ a2b4: f43e aefe beq\.w 90b4 <abf2@plt>
a2b8: 4c00 ldr r4, \[pc, #0\] ; \(a2bc <_thumb\+0xb8>\)
a2ba: 4c01 ldr r4, \[pc, #4\] ; \(a2c0 <_thumb\+0xbc>\)
#------------------------------------------------------------------------------
@@ -766,15 +778,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
- a2c4: f7fe eebe blx 9044 <atf3-0xdc>
+ a2c4: f7fe eebe blx 9044 <tbf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to tbf2's .plt entry
#------------------------------------------------------------------------------
- a2c8: f7fe beba b\.w 9040 <atf3-0xe0>
+ a2c8: f7fe beba b\.w 9040 <tbf2@plt>
#------------------------------------------------------------------------------
#------ thumb entry to tbf2's .plt entry
#------------------------------------------------------------------------------
- a2cc: f43e aeb8 beq\.w 9040 <atf3-0xe0>
+ a2cc: f43e aeb8 beq\.w 9040 <tbf2@plt>
a2d0: 4c00 ldr r4, \[pc, #0\] ; \(a2d4 <_thumb\+0xd0>\)
a2d2: 4c01 ldr r4, \[pc, #4\] ; \(a2d8 <_thumb\+0xd4>\)
#------------------------------------------------------------------------------
@@ -789,11 +801,11 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ thumb entry to atf3
#------------------------------------------------------------------------------
- a2e0: f7fe bf1c b\.w 911c <atf3-0x4>
+ a2e0: f7fe bf1c b\.w 911c <abf2@plt\+0x68>
#------------------------------------------------------------------------------
#------ thumb entry to atf3
#------------------------------------------------------------------------------
- a2e4: f43e af1a beq\.w 911c <atf3-0x4>
+ a2e4: f43e af1a beq\.w 911c <abf2@plt\+0x68>
a2e8: 4c00 ldr r4, \[pc, #0\] ; \(a2ec <_thumb\+0xe8>\)
a2ea: 4c01 ldr r4, \[pc, #4\] ; \(a2f0 <_thumb\+0xec>\)
#------------------------------------------------------------------------------
@@ -864,15 +876,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ atf4's .plt entry
#------------------------------------------------------------------------------
- a33c: f7fe eeae blx 909c <atf3-0x84>
+ a33c: f7fe eeae blx 909c <atf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to atf4's .plt entry
#------------------------------------------------------------------------------
- a340: f7fe beaa b\.w 9098 <atf3-0x88>
+ a340: f7fe beaa b\.w 9098 <atf4@plt>
#------------------------------------------------------------------------------
#------ thumb entry to atf4's .plt entry
#------------------------------------------------------------------------------
- a344: f43e aea8 beq\.w 9098 <atf3-0x88>
+ a344: f43e aea8 beq\.w 9098 <atf4@plt>
a348: 4c00 ldr r4, \[pc, #0\] ; \(a34c <_thumb\+0x148>\)
a34a: 4c01 ldr r4, \[pc, #4\] ; \(a350 <_thumb\+0x14c>\)
#------------------------------------------------------------------------------
@@ -886,15 +898,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ ttf4's .plt entry
#------------------------------------------------------------------------------
- a354: f7fe ee9a blx 908c <atf3-0x94>
+ a354: f7fe ee9a blx 908c <ttf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to ttf4's .plt entry
#------------------------------------------------------------------------------
- a358: f7fe be96 b\.w 9088 <atf3-0x98>
+ a358: f7fe be96 b\.w 9088 <ttf4@plt>
#------------------------------------------------------------------------------
#------ thumb entry to ttf4's .plt entry
#------------------------------------------------------------------------------
- a35c: f43e ae94 beq\.w 9088 <atf3-0x98>
+ a35c: f43e ae94 beq\.w 9088 <ttf4@plt>
a360: 4c00 ldr r4, \[pc, #0\] ; \(a364 <_thumb\+0x160>\)
a362: 4c01 ldr r4, \[pc, #4\] ; \(a368 <_thumb\+0x164>\)
#------------------------------------------------------------------------------
@@ -908,15 +920,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf4's .plt entry
#------------------------------------------------------------------------------
- a36c: f7fe ee7e blx 906c <atf3-0xb4>
+ a36c: f7fe ee7e blx 906c <abf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to abf4's .plt entry
#------------------------------------------------------------------------------
- a370: f7fe be7a b\.w 9068 <atf3-0xb8>
+ a370: f7fe be7a b\.w 9068 <abf4@plt>
#------------------------------------------------------------------------------
#------ thumb entry to abf4's .plt entry
#------------------------------------------------------------------------------
- a374: f43e ae78 beq\.w 9068 <atf3-0xb8>
+ a374: f43e ae78 beq\.w 9068 <abf4@plt>
a378: 4c00 ldr r4, \[pc, #0\] ; \(a37c <_thumb\+0x178>\)
a37a: 4c01 ldr r4, \[pc, #4\] ; \(a380 <_thumb\+0x17c>\)
#------------------------------------------------------------------------------
@@ -930,15 +942,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf4's .plt entry
#------------------------------------------------------------------------------
- a384: f7fe ee7a blx 907c <atf3-0xa4>
+ a384: f7fe ee7a blx 907c <tbf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to tbf4's .plt entry
#------------------------------------------------------------------------------
- a388: f7fe be76 b\.w 9078 <atf3-0xa8>
+ a388: f7fe be76 b\.w 9078 <tbf4@plt>
#------------------------------------------------------------------------------
#------ thumb entry to tbf4's .plt entry
#------------------------------------------------------------------------------
- a38c: f43e ae74 beq\.w 9078 <atf3-0xa8>
+ a38c: f43e ae74 beq\.w 9078 <tbf4@plt>
a390: 4c00 ldr r4, \[pc, #0\] ; \(a394 <_thumb\+0x190>\)
a392: 4c01 ldr r4, \[pc, #4\] ; \(a398 <_thumb\+0x194>\)
#------------------------------------------------------------------------------
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-10.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-10.gd
index be3e09fd..b35e10b2 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-10.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-10.gd
@@ -8,88 +8,88 @@ Contents of section \.data:
#------ 00010008: contains PC-relative offset of aaf1's .iplt entry
#------ 0001000c: contains atf1's .iplt entry
#------------------------------------------------------------------------------
- 10000 44332211 c4900000 bc90ffff d4900000 .*
+ 10000 (44332211 c4900000 bc90ffff d4900000|11223344 000090c4 ffff90bc 000090d4) .*
#------------------------------------------------------------------------------
#------ 00010010: contains PC-relative offset of atf1's .iplt entry
#------ 00010014: contains abf1's .iplt entry
#------ 00010018: contains PC-relative offset of abf1's .iplt entry
#------ 0001001c: contains taf1's .iplt entry
#------------------------------------------------------------------------------
- 10010 c490ffff e4900000 cc90ffff f0900000 .*
+ 10010 (c490ffff e4900000 cc90ffff f0900000|ffff90c4 000090e4 ffff90cc 000090f0) .*
#------------------------------------------------------------------------------
#------ 00010020: contains PC-relative offset of taf1's .iplt entry
#------ 00010024: contains ttf1's .iplt entry
#------ 00010028: contains PC-relative offset of ttf1's .iplt entry
#------ 0001002c: contains tbf1's .iplt entry
#------------------------------------------------------------------------------
- 10020 d090ffff 00910000 d890ffff 10910000 .*
+ 10020 (d090ffff 00910000 d890ffff 10910000|ffff90d0 00009100 ffff90d8 00009110) .*
#------------------------------------------------------------------------------
#------ 00010030: contains PC-relative offset of tbf1's .iplt entry
#------ 00010034: contains aaf2's .plt entry
#------ 00010038: contains PC-relative offset of aaf2's .plt entry
#------ 0001003c: contains atf2's .plt entry
#------------------------------------------------------------------------------
- 10030 e090ffff 5c900000 2490ffff 18900000 .*
+ 10030 (e090ffff 5c900000 2490ffff 18900000|ffff90e0 0000905c ffff9024 00009018) .*
#------------------------------------------------------------------------------
#------ 00010040: contains PC-relative offset of atf2's .plt entry
#------ 00010044: contains abf2's .plt entry
#------ 00010048: contains PC-relative offset of abf2's .plt entry
#------ 0001004c: contains taf2's .plt entry
#------------------------------------------------------------------------------
- 10040 d88fffff b8900000 7090ffff 50900000 .*
+ 10040 (d88fffff b8900000 7090ffff 50900000|ffff8fd8 000090b8 ffff9070 00009050) .*
#------------------------------------------------------------------------------
#------ 00010050: contains PC-relative offset of taf2's .plt entry
#------ 00010054: contains ttf2's .plt entry
#------ 00010058: contains PC-relative offset of ttf2's .plt entry
#------ 0001005c: contains tbf2's .plt entry
#------------------------------------------------------------------------------
- 10050 0090ffff 34900000 dc8fffff 44900000 .*
+ 10050 (0090ffff 34900000 dc8fffff 44900000|ffff9000 00009034 ffff8fdc 00009044) .*
#------------------------------------------------------------------------------
#------ 00010060: contains PC-relative offset of tbf2's .plt entry
#------ 00010064: contains aaf3
#------ 00010068: contains PC-relative offset of aaf3
#------ 0001006c: contains atf3
#------------------------------------------------------------------------------
- 10060 e48fffff 68910000 0091ffff 20910000 .*
+ 10060 (e48fffff 68910000 0091ffff 20910000|ffff8fe4 00009168 ffff9100 00009120) .*
#------------------------------------------------------------------------------
#------ 00010070: contains PC-relative offset of atf3
#------ 00010074: contains abf3
#------ 00010078: contains PC-relative offset of abf3
#------ 0001007c: contains taf3
#------------------------------------------------------------------------------
- 10070 b090ffff 30910000 b890ffff 5c910000 .*
+ 10070 (b090ffff 30910000 b890ffff 5c910000|ffff90b0 00009130 ffff90b8 0000915c) .*
#------------------------------------------------------------------------------
#------ 00010080: contains PC-relative offset of taf3
#------ 00010084: contains ttf3
#------ 00010088: contains PC-relative offset of ttf3
#------ 0001008c: contains tbf3
#------------------------------------------------------------------------------
- 10080 dc90ffff 40910000 b890ffff 50910000 .*
+ 10080 (dc90ffff 40910000 b890ffff 50910000|ffff90dc 00009140 ffff90b8 00009150) .*
#------------------------------------------------------------------------------
#------ 00010090: contains PC-relative offset of tbf3
#------ 00010094: contains aaf4's .plt entry
#------ 00010098: contains PC-relative offset of aaf4's .plt entry
#------ 0001009c: contains atf4's .plt entry
#------------------------------------------------------------------------------
- 10090 c090ffff 24900000 8c8fffff 9c900000 .*
+ 10090 (c090ffff 24900000 8c8fffff 9c900000|ffff90c0 00009024 ffff8f8c 0000909c) .*
#------------------------------------------------------------------------------
#------ 000100a0: contains PC-relative offset of atf4's .plt entry
#------ 000100a4: contains abf4's .plt entry
#------ 000100a8: contains PC-relative offset of abf4's .plt entry
#------ 000100ac: contains taf4's .plt entry
#------------------------------------------------------------------------------
- 100a0 fc8fffff 6c900000 c48fffff a8900000 .*
+ 100a0 (fc8fffff 6c900000 c48fffff a8900000|ffff8ffc 0000906c ffff8fc4 000090a8) .*
#------------------------------------------------------------------------------
#------ 000100b0: contains PC-relative offset of taf4's .plt entry
#------ 000100b4: contains ttf4's .plt entry
#------ 000100b8: contains PC-relative offset of ttf4's .plt entry
#------ 000100bc: contains tbf4's .plt entry
#------------------------------------------------------------------------------
- 100b0 f88fffff 8c900000 d48fffff 7c900000 .*
+ 100b0 (f88fffff 8c900000 d48fffff 7c900000|ffff8ff8 0000908c ffff8fd4 0000907c) .*
#------------------------------------------------------------------------------
#------ 000100c0: contains PC-relative offset of tbf4's .plt entry
#------------------------------------------------------------------------------
- 100c0 bc8fffff .*
+ 100c0 (bc8fffff|ffff8fbc) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -97,91 +97,91 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: atf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11000 00200100 00000000 00000000 00900000 .*
+ 11000 (00200100 00000000 00000000 00900000|00012000 00000000 00000000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011010: aaf4's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011014: ttf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011018: tbf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 0001101c: taf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11010 00900000 00900000 00900000 00900000 .*
+ 11010 (00900000 00900000 00900000 00900000|00009000 00009000 00009000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011020: aaf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011024: abf4's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011028: tbf4's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 0001102c: ttf4's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11020 00900000 00900000 00900000 00900000 .*
+ 11020 (00900000 00900000 00900000 00900000|00009000 00009000 00009000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011030: atf4's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011034: taf4's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011038: abf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 0001103c: aaf1's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11030 00900000 00900000 00900000 00a00000 .*
+ 11030 (00900000 00900000 00900000 00a00000|00009000 00009000 00009000 0000a000) .*
#------------------------------------------------------------------------------
#------ 00011040: atf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011044: abf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011048: taf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001104c: ttf1's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11040 04a00000 08a00000 0da00000 0fa00000 .*
+ 11040 (04a00000 08a00000 0da00000 0fa00000|0000a004 0000a008 0000a00d 0000a00f) .*
#------------------------------------------------------------------------------
#------ 00011050: tbf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011054: atf3's .igot.plt pointer to 0xa018 [R_ARM_IRELATIVE]
#------ 00011058: abf3's .igot.plt pointer to 0xa01c [R_ARM_IRELATIVE]
#------ 0001105c: ttf3's .igot.plt pointer to 0xa023 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11050 11a00000 18a00000 1ca00000 23a00000 .*
+ 11050 (11a00000 18a00000 1ca00000 23a00000|0000a011 0000a018 0000a01c 0000a023) .*
#------------------------------------------------------------------------------
#------ 00011060: tbf3's .igot.plt pointer to 0xa025 [R_ARM_IRELATIVE]
#------ 00011064: taf3's .igot.plt pointer to 0xa021 [R_ARM_IRELATIVE]
#------ 00011068: aaf3's .igot.plt pointer to 0xa014 [R_ARM_IRELATIVE]
#------ 0001106c: .got entry for foo
#------------------------------------------------------------------------------
- 11060 25a00000 21a00000 14a00000 00000100 .*
+ 11060 (25a00000 21a00000 14a00000 00000100|0000a025 0000a021 0000a014 00010000) .*
#------------------------------------------------------------------------------
#------ 00011070: .got entry for aaf1's .iplt entry
#------ 00011074: .got entry for atf1's .iplt entry
#------ 00011078: .got entry for abf1's .iplt entry
#------ 0001107c: .got entry for taf1's .iplt entry
#------------------------------------------------------------------------------
- 11070 c4900000 d4900000 e4900000 f0900000 .*
+ 11070 (c4900000 d4900000 e4900000 f0900000|000090c4 000090d4 000090e4 000090f0) .*
#------------------------------------------------------------------------------
#------ 00011080: .got entry for ttf1's .iplt entry
#------ 00011084: .got entry for tbf1's .iplt entry
#------ 00011088: .got entry for foo
#------ 0001108c: .got entry for atf2 [R_ARM_GLOB_DAT]
#------------------------------------------------------------------------------
- 11080 00910000 10910000 00000100 00000000 .*
+ 11080 (00910000 10910000 00000100|00009100 00009110 00010000) 00000000 .*
#------------------------------------------------------------------------------
#------ 00011090: .got entry for aaf4 [R_ARM_GLOB_DAT]
#------ 00011094: .got entry for ttf2 [R_ARM_GLOB_DAT]
#------ 00011098: .got entry for tbf2 [R_ARM_GLOB_DAT]
#------ 0001109c: .got entry for atf3
#------------------------------------------------------------------------------
- 11090 00000000 00000000 00000000 20910000 .*
+ 11090 00000000 00000000 00000000 (20910000|00009120) .*
#------------------------------------------------------------------------------
#------ 000110a0: .got entry for abf3
#------ 000110a4: .got entry for taf2 [R_ARM_GLOB_DAT]
#------ 000110a8: .got entry for aaf2 [R_ARM_GLOB_DAT]
#------ 000110ac: .got entry for ttf3
#------------------------------------------------------------------------------
- 110a0 30910000 00000000 00000000 40910000 .*
+ 110a0 (30910000 00000000 00000000 40910000|00009130 00000000 00000000 00009140) .*
#------------------------------------------------------------------------------
#------ 000110b0: .got entry for tbf3
#------ 000110b4: .got entry for taf3
#------ 000110b8: .got entry for abf4 [R_ARM_GLOB_DAT]
#------ 000110bc: .got entry for tbf4 [R_ARM_GLOB_DAT]
#------------------------------------------------------------------------------
- 110b0 50910000 5c910000 00000000 00000000 .*
+ 110b0 (50910000 5c910000|00009150 0000915c) 00000000 00000000 .*
#------------------------------------------------------------------------------
#------ 000110c0: .got entry for ttf4 [R_ARM_GLOB_DAT]
#------ 000110c4: .got entry for aaf3
#------ 000110c8: .got entry for atf4 [R_ARM_GLOB_DAT]
#------ 000110cc: .got entry for taf4 [R_ARM_GLOB_DAT]
#------------------------------------------------------------------------------
- 110c0 00000000 68910000 00000000 00000000 .*
+ 110c0 00000000 (68910000|00009168) 00000000 00000000 .*
#------------------------------------------------------------------------------
#------ 000110d0: .got entry for abf2 [R_ARM_GLOB_DAT]
#------------------------------------------------------------------------------
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-11.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-11.gd
index aea15830..b62524c7 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-11.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-11.gd
@@ -5,7 +5,7 @@ Contents of section \.data:
#------------------------------------------------------------------------------
#------ 00010000: foo
#------------------------------------------------------------------------------
- 10000 44332211 00800000 30800000 .*
+ 10000 (44332211 00800000 30800000|11223344 00008000 00008030) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -13,17 +13,17 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: .got entry for foo
#------------------------------------------------------------------------------
- 11000 00000000 00000000 00000000 00000100 .*
+ 11000 00000000 00000000 00000000 (00000100|00010000) .*
#------------------------------------------------------------------------------
#------ 00011010: .got entry for f1 [R_ARM_IRELATIVE]
#------ 00011014: .got entry for f1t [R_ARM_IRELATIVE]
#------ 00011018: .got entry for foo
#------ 0001101c: .got entry for f2t [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11010 00a00000 0da00000 00000100 0fa00000 .*
+ 11010 (00a00000 0da00000 00000100 0fa00000|0000a000 0000a00d 00010000 0000a00f) .*
#------------------------------------------------------------------------------
#------ 00011020: .got entry for f3 [R_ARM_IRELATIVE]
#------ 00011024: .got entry for f2 [R_ARM_IRELATIVE]
#------ 00011028: .got entry for f3t [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11020 08a00000 04a00000 11a00000 .*
+ 11020 (08a00000 04a00000 11a00000|0000a008 0000a004 0000a011) .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-12.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-12.gd
index 721c3154..7f1c0ef0 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-12.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-12.gd
@@ -8,14 +8,14 @@ Contents of section \.data:
#------ 00010008: f2 [R_ARM_ABS32]
#------ 0001000c: contains f3 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10000 44332211 00a00000 00000000 08a00000 .*
+ 10000 (44332211 00a00000 00000000 08a00000|11223344 0000a000 00000000 0000a008) .*
#------------------------------------------------------------------------------
#------ 00010010: contains f1t [R_ARM_IRELATIVE]
#------ 00010014: f2t [R_ARM_ABS32]
#------ 00010018: contains f3t [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10010 0da00000 00000000 11a00000 80800000 .*
- 10020 80800000 .*
+ 10010 (0da00000 00000000 11a00000 80800000|0000a00d 00000000 0000a011 00008080) .*
+ 10020 (80800000|00008080) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -23,17 +23,17 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: .got entry for foo [R_ARM_RELATIVE]
#------------------------------------------------------------------------------
- 11000 00200100 00000000 00000000 00000100 .*
+ 11000 (00200100 00000000 00000000 00000100|00012000 00000000 00000000 00010000) .*
#------------------------------------------------------------------------------
#------ 00011010: .got entry for f1 [R_ARM_IRELATIVE]
#------ 00011014: .got entry for f1t [R_ARM_IRELATIVE]
#------ 00011018: .got entry for foo [R_ARM_RELATIVE]
#------ 0001101c: .got entry for f2t [R_ARM_GLOB_DAT]
#------------------------------------------------------------------------------
- 11010 00a00000 0da00000 00000100 00000000 .*
+ 11010 (00a00000 0da00000 00000100|0000a000 0000a00d 00010000) 00000000 .*
#------------------------------------------------------------------------------
#------ 00011020: .got entry for f3 [R_ARM_IRELATIVE]
#------ 00011024: .got entry for f2 [R_ARM_GLOB_DAT]
#------ 00011028: .got entry for f3t [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11020 08a00000 00000000 11a00000 .*
+ 11020 (08a00000 00000000 11a00000|0000a008 00000000 0000a011) .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-13.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-13.gd
index 9b5dbcb8..43f8aad2 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-13.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-13.gd
@@ -5,7 +5,7 @@ Contents of section \.data:
#------------------------------------------------------------------------------
#------ 00010000: foo
#------------------------------------------------------------------------------
- 10000 44332211 30800000 30800000 .*
+ 10000 (44332211 30800000 30800000|11223344 00008030 00008030) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -13,17 +13,17 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: .got entry for foo
#------------------------------------------------------------------------------
- 11000 00200100 00000000 00000000 00000100 .*
+ 11000 (00200100 00000000 00000000 00000100|00012000 00000000 00000000 00010000) .*
#------------------------------------------------------------------------------
#------ 00011010: .got entry for f1 [R_ARM_IRELATIVE]
#------ 00011014: .got entry for f1t [R_ARM_IRELATIVE]
#------ 00011018: .got entry for foo
#------ 0001101c: .got entry for f2t [R_ARM_GLOB_DAT]
#------------------------------------------------------------------------------
- 11010 00a00000 09a00000 00000100 00000000 .*
+ 11010 (00a00000 09a00000 00000100 00000000|0000a000 0000a009 00010000 00000000) .*
#------------------------------------------------------------------------------
#------ 00011020: .got entry for f3 [R_ARM_IRELATIVE]
#------ 00011024: .got entry for f2 [R_ARM_GLOB_DAT]
#------ 00011028: .got entry for f3t [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11020 04a00000 00000000 0ba00000 .*
+ 11020 (04a00000 00000000 0ba00000|0000a004 00000000 0000a00b) .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-14.dd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-14.dd
index 861f6877..cbad1c8c 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-14.dd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-14.dd
@@ -4,7 +4,7 @@
Disassembly of section \.plt:
-00009000 <\.plt>:
+00009000 <f2t@plt-0x14>:
9000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <__irel_end\+0xff0>
9008: e08fe00e add lr, pc, lr
@@ -16,12 +16,14 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ f2t's .plt entry
#------------------------------------------------------------------------------
+00009014 <f2t@plt>:
9014: e28fc600 add ip, pc, #0, 12
9018: e28cca07 add ip, ip, #28672 ; 0x7000
901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0
#------------------------------------------------------------------------------
#------ f2's .plt entry
#------------------------------------------------------------------------------
+00009020 <f2@plt>:
9020: e28fc600 add ip, pc, #0, 12
9024: e28cca07 add ip, ip, #28672 ; 0x7000
9028: e5bcffe8 ldr pc, \[ip, #4072\]! ; 0xfe8
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-14.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-14.gd
index c054e6bb..40479ccb 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-14.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-14.gd
@@ -5,7 +5,7 @@ Contents of section \.data:
#------------------------------------------------------------------------------
#------ 00010000: foo
#------------------------------------------------------------------------------
- 10000 44332211 00800000 20800000 .*
+ 10000 (44332211 00800000 20800000|11223344 00008000 00008020) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -13,15 +13,15 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: f2t's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11000 00200100 00000000 00000000 00900000 .*
+ 11000 (00200100 00000000 00000000 00900000|00012000 00000000 00000000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011010: f2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011014: f1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011018: f1t's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001101c: f3's .igot.plt pointer to 0xa004 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11010 00900000 00a00000 09a00000 04a00000 .*
+ 11010 (00900000 00a00000 09a00000 04a00000|00009000 0000a000 0000a009 0000a004) .*
#------------------------------------------------------------------------------
#------ 00011020: f3t's .igot.plt pointer to 0xa00b [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11020 0ba00000 .*
+ 11020 (0ba00000|0000a00b) .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-14.rd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-14.rd
index 59ea29bc..9c440928 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-14.rd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-14.rd
@@ -8,5 +8,5 @@ Relocation section '\.rel\.dyn' at offset 0x8000 contains 4 entries:
Relocation section '\.rel\.plt' at offset 0x8020 contains 2 entries:
Offset Info Type Sym\.Value Sym\. Name
-0001100c ......16 R_ARM_JUMP_SLOT 00009014 f2t
-00011010 ......16 R_ARM_JUMP_SLOT 00009020 f2
+0001100c ......16 R_ARM_JUMP_SLOT 00000000 f2t
+00011010 ......16 R_ARM_JUMP_SLOT 00000000 f2
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-15.dd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-15.dd
index d7648410..f23e8e8a 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-15.dd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-15.dd
@@ -4,7 +4,7 @@
Disassembly of section \.plt:
-00009000 <\.plt>:
+00009000 <f2t@plt-0x14>:
9000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <__irel_end\+0xff0>
9008: e08fe00e add lr, pc, lr
@@ -16,12 +16,14 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ f2t's .plt entry
#------------------------------------------------------------------------------
+00009014 <f2t@plt>:
9014: e28fc600 add ip, pc, #0, 12
9018: e28cca07 add ip, ip, #28672 ; 0x7000
901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0
#------------------------------------------------------------------------------
#------ f2's .plt entry
#------------------------------------------------------------------------------
+00009020 <f2@plt>:
9020: e28fc600 add ip, pc, #0, 12
9024: e28cca07 add ip, ip, #28672 ; 0x7000
9028: e5bcffe8 ldr pc, \[ip, #4072\]! ; 0xfe8
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-15.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-15.gd
index c054e6bb..40479ccb 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-15.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-15.gd
@@ -5,7 +5,7 @@ Contents of section \.data:
#------------------------------------------------------------------------------
#------ 00010000: foo
#------------------------------------------------------------------------------
- 10000 44332211 00800000 20800000 .*
+ 10000 (44332211 00800000 20800000|11223344 00008000 00008020) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -13,15 +13,15 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: f2t's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11000 00200100 00000000 00000000 00900000 .*
+ 11000 (00200100 00000000 00000000 00900000|00012000 00000000 00000000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011010: f2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011014: f1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011018: f1t's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001101c: f3's .igot.plt pointer to 0xa004 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11010 00900000 00a00000 09a00000 04a00000 .*
+ 11010 (00900000 00a00000 09a00000 04a00000|00009000 0000a000 0000a009 0000a004) .*
#------------------------------------------------------------------------------
#------ 00011020: f3t's .igot.plt pointer to 0xa00b [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11020 0ba00000 .*
+ 11020 (0ba00000|0000a00b) .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-16.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-16.gd
index 7c4e8209..b3a19026 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-16.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-16.gd
@@ -5,7 +5,7 @@ Contents of section \.data:
#------------------------------------------------------------------------------
#------ 00010000: foo
#------------------------------------------------------------------------------
- 10000 44332211 00800000 30800000 .*
+ 10000 (44332211 00800000 30800000|11223344 00008000 00008030) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -13,15 +13,15 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: f1's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11000 00200100 00000000 00000000 00a00000 .*
+ 11000 (00200100 00000000 00000000 00a00000|00012000 00000000 00000000 0000a000) .*
#------------------------------------------------------------------------------
#------ 00011010: f1t's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011014: f2t's .igot.plt pointer to 0xa00f [R_ARM_IRELATIVE]
#------ 00011018: f3's .igot.plt pointer to 0xa008 [R_ARM_IRELATIVE]
#------ 0001101c: f2's .igot.plt pointer to 0xa004 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11010 0da00000 0fa00000 08a00000 04a00000 .*
+ 11010 (0da00000 0fa00000 08a00000 04a00000|0000a00d 0000a00f 0000a008 0000a004) .*
#------------------------------------------------------------------------------
#------ 00011020: f3t's .igot.plt pointer to 0xa011 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11020 11a00000 .*
+ 11020 (11a00000|0000a011) .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-17.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-17.gd
index dadfc9ee..41e3adf2 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-17.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-17.gd
@@ -6,5 +6,5 @@ Contents of section \.got:
#------ 0001100c: 0xa001 (appfunc1)
#------ 00011010: 0xa003 (appfunc2)
#------------------------------------------------------------------------------
- 11000 00000000 00000000 00000000 01a00000 .*
- 11010 03a00000 .*
+ 11000 00000000 00000000 00000000 (01a00000|0000a001) .*
+ 11010 (03a00000|0000a003) .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-2.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-2.gd
index 0917a75b..864d902b 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-2.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-2.gd
@@ -5,7 +5,7 @@ Contents of section \.data:
#------------------------------------------------------------------------------
#------ 00010000: foo
#------------------------------------------------------------------------------
- 10000 44332211 .*
+ 10000 (44332211|11223344) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -13,36 +13,36 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: f1's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11000 00000000 00000000 00000000 00a00000 .*
+ 11000 00000000 00000000 00000000 (00a00000|0000a000) .*
#------------------------------------------------------------------------------
#------ 00011010: f2's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011014: f3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011018: f4's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001101c: f7's .igot.plt pointer to 0xa018 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11010 05a00000 08a00000 0da00000 18a00000 .*
+ 11010 (05a00000 08a00000 0da00000 18a00000|0000a005 0000a008 0000a00d 0000a018) .*
#------------------------------------------------------------------------------
#------ 00011020: f5's .igot.plt pointer to 0xa010 [R_ARM_IRELATIVE]
#------ 00011024: f8's .igot.plt pointer to 0xa01d [R_ARM_IRELATIVE]
#------ 00011028: f6's .igot.plt pointer to 0xa015 [R_ARM_IRELATIVE]
#------ 0001102c: .got entry for foo
#------------------------------------------------------------------------------
- 11020 10a00000 1da00000 15a00000 00000100 .*
+ 11020 (10a00000 1da00000 15a00000 00000100|0000a010 0000a01d 0000a015 00010000) .*
#------------------------------------------------------------------------------
#------ 00011030: .got entry for f1's .iplt entry
#------ 00011034: .got entry for f2's .iplt entry
#------ 00011038: .got entry for f3's .iplt entry
#------ 0001103c: .got entry for f4's .iplt entry
#------------------------------------------------------------------------------
- 11030 00900000 0c900000 1c900000 2c900000 .*
+ 11030 (00900000 0c900000 1c900000 2c900000|00009000 0000900c 0000901c 0000902c) .*
#------------------------------------------------------------------------------
#------ 00011040: .got entry for foo
#------ 00011044: .got entry for f7
#------ 00011048: .got entry for f5
#------ 0001104c: .got entry for f8
#------------------------------------------------------------------------------
- 11040 00000100 3c900000 48900000 58900000 .*
+ 11040 (00000100 3c900000 48900000 58900000|00010000 0000903c 00009048 00009058) .*
#------------------------------------------------------------------------------
#------ 00011050: .got entry for f6
#------------------------------------------------------------------------------
- 11050 64900000 .*
+ 11050 (64900000|00009064) .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-3.dd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-3.dd
index a1fb37a8..b267bf1e 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-3.dd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-3.dd
@@ -4,9 +4,9 @@
Disassembly of section \.plt:
-00009000 <\.plt>:
+00009000 <f2@plt-0x14>:
9000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- 9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <f1-0xff0>
+ 9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <f2@plt-0x4>
9008: e08fe00e add lr, pc, lr
900c: e5bef008 ldr pc, \[lr, #8\]!
#------------------------------------------------------------------------------
@@ -16,6 +16,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ f2's .plt entry
#------------------------------------------------------------------------------
+00009014 <f2@plt>:
9014: e28fc600 add ip, pc, #0, 12
9018: e28cca07 add ip, ip, #28672 ; 0x7000
901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0
@@ -71,7 +72,7 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
- a024: ebfffbfd bl 9020 <f1-0xfe0>
+ a024: ebfffbfd bl 9020 <f2@plt\+0xc>
a028: e59f4000 ldr r4, \[pc\] ; a030 <arm\+0x20>
a02c: e59f4000 ldr r4, \[pc\] ; a034 <arm\+0x24>
#------------------------------------------------------------------------------
@@ -85,7 +86,7 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ f2's .plt entry
#------------------------------------------------------------------------------
- a038: ebfffbf5 bl 9014 <f1-0xfec>
+ a038: ebfffbf5 bl 9014 <f2@plt>
a03c: e59f4000 ldr r4, \[pc\] ; a044 <arm\+0x34>
a040: e59f4000 ldr r4, \[pc\] ; a048 <arm\+0x38>
#------------------------------------------------------------------------------
@@ -99,7 +100,7 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ f3's .iplt entry
#------------------------------------------------------------------------------
- a04c: ebfffbf6 bl 902c <f1-0xfd4>
+ a04c: ebfffbf6 bl 902c <f2@plt\+0x18>
a050: e59f4000 ldr r4, \[pc\] ; a058 <arm\+0x48>
a054: e59f4000 ldr r4, \[pc\] ; a05c <arm\+0x4c>
#------------------------------------------------------------------------------
@@ -113,7 +114,7 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ f4's .iplt entry
#------------------------------------------------------------------------------
- a060: ebfffbf4 bl 9038 <f1-0xfc8>
+ a060: ebfffbf4 bl 9038 <f2@plt\+0x24>
a064: e59f4000 ldr r4, \[pc\] ; a06c <arm\+0x5c>
a068: e59f4000 ldr r4, \[pc\] ; a070 <arm\+0x60>
#------------------------------------------------------------------------------
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-3.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-3.gd
index db7fd422..ef6f2df6 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-3.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-3.gd
@@ -8,20 +8,20 @@ Contents of section \.data:
#------ 00010008: contains PC-relative offset of foo
#------ 0001000c: contains f1 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10000 44332211 00000100 f8ffffff 00a00000 .*
+ 10000 (44332211 00000100 f8ffffff 00a00000|11223344 00010000 fffffff8 0000a000) .*
#------------------------------------------------------------------------------
#------ 00010010: contains PC-relative offset of f1's .iplt entry
#------ 00010014: f2 [R_ARM_ABS32]
#------ 00010018: f2 [R_ARM_REL32]
#------ 0001001c: contains f3 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10010 1090ffff 00000000 00000000 08a00000 .*
+ 10010 (1090ffff 00000000 00000000 08a00000|ffff9010 00000000 00000000 0000a008) .*
#------------------------------------------------------------------------------
#------ 00010020: contains PC-relative offset of f3's .iplt entry
#------ 00010024: f4 [R_ARM_ABS32]
#------ 00010028: contains PC-relative offset of f4's .iplt entry
#------------------------------------------------------------------------------
- 10020 0c90ffff 00000000 1090ffff .*
+ 10020 (0c90ffff 00000000 1090ffff|ffff900c 00000000 ffff9010) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -29,17 +29,17 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: f2's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11000 00200100 00000000 00000000 00900000 .*
+ 11000 (00200100 00000000 00000000 00900000|00012000 00000000 00000000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011010: f1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011014: f3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011018: f4's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001101c: .got entry for foo [R_ARM_RELATIVE]
#------------------------------------------------------------------------------
- 11010 00a00000 08a00000 0ca00000 00000100 .*
+ 11010 (00a00000 08a00000 0ca00000 00000100|0000a000 0000a008 0000a00c 00010000) .*
#------------------------------------------------------------------------------
#------ 00011020: .got entry for foo [R_ARM_RELATIVE]
#------ 00011024: .got entry for f2 [R_ARM_GLOB_DAT]
#------ 00011028: .got entry for f4 [R_ARM_GLOB_DAT]
#------------------------------------------------------------------------------
- 11020 00000100 00000000 00000000 .*
+ 11020 (00000100|00010000) 00000000 00000000 .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-4.dd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-4.dd
index f5a4d919..6ce996b2 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-4.dd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-4.dd
@@ -4,9 +4,9 @@
Disassembly of section \.plt:
-00009000 <\.plt>:
+00009000 <atf2@plt-0x14>:
9000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- 9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <aaf1-0xff0>
+ 9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <atf2@plt-0x4>
9008: e08fe00e add lr, pc, lr
900c: e5bef008 ldr pc, \[lr, #8\]!
#------------------------------------------------------------------------------
@@ -16,6 +16,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to atf2's .plt entry
#------------------------------------------------------------------------------
+00009014 <atf2@plt>:
9014: 4778 bx pc
9016: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -27,6 +28,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to ttf2's .plt entry
#------------------------------------------------------------------------------
+00009024 <ttf2@plt>:
9024: 4778 bx pc
9026: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -38,6 +40,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to tbf2's .plt entry
#------------------------------------------------------------------------------
+00009034 <tbf2@plt>:
9034: 4778 bx pc
9036: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -49,18 +52,21 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ taf2's .plt entry
#------------------------------------------------------------------------------
+00009044 <taf2@plt>:
9044: e28fc600 add ip, pc, #0, 12
9048: e28cca07 add ip, ip, #28672 ; 0x7000
904c: e5bcffcc ldr pc, \[ip, #4044\]! ; 0xfcc
#------------------------------------------------------------------------------
#------ aaf2's .plt entry
#------------------------------------------------------------------------------
+00009050 <aaf2@plt>:
9050: e28fc600 add ip, pc, #0, 12
9054: e28cca07 add ip, ip, #28672 ; 0x7000
9058: e5bcffc4 ldr pc, \[ip, #4036\]! ; 0xfc4
#------------------------------------------------------------------------------
#------ thumb entry to abf2's .plt entry
#------------------------------------------------------------------------------
+0000905c <abf2@plt>:
905c: 4778 bx pc
905e: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -337,15 +343,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ aaf1's .iplt entry
#------------------------------------------------------------------------------
- a06c: ebfffbfe bl 906c <aaf1-0xf94>
+ a06c: ebfffbfe bl 906c <abf2@plt\+0x10>
#------------------------------------------------------------------------------
#------ aaf1's .iplt entry
#------------------------------------------------------------------------------
- a070: eafffbfd b 906c <aaf1-0xf94>
+ a070: eafffbfd b 906c <abf2@plt\+0x10>
#------------------------------------------------------------------------------
#------ aaf1's .iplt entry
#------------------------------------------------------------------------------
- a074: 0afffbfc beq 906c <aaf1-0xf94>
+ a074: 0afffbfc beq 906c <abf2@plt\+0x10>
a078: e59f4000 ldr r4, \[pc\] ; a080 <arm\+0x30>
a07c: e59f4000 ldr r4, \[pc\] ; a084 <arm\+0x34>
#------------------------------------------------------------------------------
@@ -359,15 +365,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ taf1's .iplt entry
#------------------------------------------------------------------------------
- a088: ebfffc02 bl 9098 <aaf1-0xf68>
+ a088: ebfffc02 bl 9098 <abf2@plt\+0x3c>
#------------------------------------------------------------------------------
#------ taf1's .iplt entry
#------------------------------------------------------------------------------
- a08c: eafffc01 b 9098 <aaf1-0xf68>
+ a08c: eafffc01 b 9098 <abf2@plt\+0x3c>
#------------------------------------------------------------------------------
#------ taf1's .iplt entry
#------------------------------------------------------------------------------
- a090: 0afffc00 beq 9098 <aaf1-0xf68>
+ a090: 0afffc00 beq 9098 <abf2@plt\+0x3c>
a094: e59f4000 ldr r4, \[pc\] ; a09c <arm\+0x4c>
a098: e59f4000 ldr r4, \[pc\] ; a0a0 <arm\+0x50>
#------------------------------------------------------------------------------
@@ -381,15 +387,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
- a0a4: ebfffbf8 bl 908c <aaf1-0xf74>
+ a0a4: ebfffbf8 bl 908c <abf2@plt\+0x30>
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
- a0a8: eafffbf7 b 908c <aaf1-0xf74>
+ a0a8: eafffbf7 b 908c <abf2@plt\+0x30>
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
- a0ac: 0afffbf6 beq 908c <aaf1-0xf74>
+ a0ac: 0afffbf6 beq 908c <abf2@plt\+0x30>
a0b0: e59f4000 ldr r4, \[pc\] ; a0b8 <arm\+0x68>
a0b4: e59f4000 ldr r4, \[pc\] ; a0bc <arm\+0x6c>
#------------------------------------------------------------------------------
@@ -403,15 +409,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
- a0c0: ebfffbfc bl 90b8 <aaf1-0xf48>
+ a0c0: ebfffbfc bl 90b8 <abf2@plt\+0x5c>
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
- a0c4: eafffbfb b 90b8 <aaf1-0xf48>
+ a0c4: eafffbfb b 90b8 <abf2@plt\+0x5c>
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
- a0c8: 0afffbfa beq 90b8 <aaf1-0xf48>
+ a0c8: 0afffbfa beq 90b8 <abf2@plt\+0x5c>
a0cc: e59f4000 ldr r4, \[pc\] ; a0d4 <arm\+0x84>
a0d0: e59f4000 ldr r4, \[pc\] ; a0d8 <arm\+0x88>
#------------------------------------------------------------------------------
@@ -425,15 +431,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ aaf2's .plt entry
#------------------------------------------------------------------------------
- a0dc: ebfffbdb bl 9050 <aaf1-0xfb0>
+ a0dc: ebfffbdb bl 9050 <aaf2@plt>
#------------------------------------------------------------------------------
#------ aaf2's .plt entry
#------------------------------------------------------------------------------
- a0e0: eafffbda b 9050 <aaf1-0xfb0>
+ a0e0: eafffbda b 9050 <aaf2@plt>
#------------------------------------------------------------------------------
#------ aaf2's .plt entry
#------------------------------------------------------------------------------
- a0e4: 0afffbd9 beq 9050 <aaf1-0xfb0>
+ a0e4: 0afffbd9 beq 9050 <aaf2@plt>
a0e8: e59f4000 ldr r4, \[pc\] ; a0f0 <arm\+0xa0>
a0ec: e59f4000 ldr r4, \[pc\] ; a0f4 <arm\+0xa4>
#------------------------------------------------------------------------------
@@ -447,15 +453,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ taf2's .plt entry
#------------------------------------------------------------------------------
- a0f8: ebfffbd1 bl 9044 <aaf1-0xfbc>
+ a0f8: ebfffbd1 bl 9044 <taf2@plt>
#------------------------------------------------------------------------------
#------ taf2's .plt entry
#------------------------------------------------------------------------------
- a0fc: eafffbd0 b 9044 <aaf1-0xfbc>
+ a0fc: eafffbd0 b 9044 <taf2@plt>
#------------------------------------------------------------------------------
#------ taf2's .plt entry
#------------------------------------------------------------------------------
- a100: 0afffbcf beq 9044 <aaf1-0xfbc>
+ a100: 0afffbcf beq 9044 <taf2@plt>
a104: e59f4000 ldr r4, \[pc\] ; a10c <arm\+0xbc>
a108: e59f4000 ldr r4, \[pc\] ; a110 <arm\+0xc0>
#------------------------------------------------------------------------------
@@ -469,15 +475,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
- a114: ebfffbd1 bl 9060 <aaf1-0xfa0>
+ a114: ebfffbd1 bl 9060 <abf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
- a118: eafffbd0 b 9060 <aaf1-0xfa0>
+ a118: eafffbd0 b 9060 <abf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
- a11c: 0afffbcf beq 9060 <aaf1-0xfa0>
+ a11c: 0afffbcf beq 9060 <abf2@plt\+0x4>
a120: e59f4000 ldr r4, \[pc\] ; a128 <arm\+0xd8>
a124: e59f4000 ldr r4, \[pc\] ; a12c <arm\+0xdc>
#------------------------------------------------------------------------------
@@ -491,15 +497,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
- a130: ebfffbc0 bl 9038 <aaf1-0xfc8>
+ a130: ebfffbc0 bl 9038 <tbf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
- a134: eafffbbf b 9038 <aaf1-0xfc8>
+ a134: eafffbbf b 9038 <tbf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
- a138: 0afffbbe beq 9038 <aaf1-0xfc8>
+ a138: 0afffbbe beq 9038 <tbf2@plt\+0x4>
a13c: e59f4000 ldr r4, \[pc\] ; a144 <arm\+0xf4>
a140: e59f4000 ldr r4, \[pc\] ; a148 <arm\+0xf8>
#------------------------------------------------------------------------------
@@ -513,15 +519,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ aaf3's .iplt entry
#------------------------------------------------------------------------------
- a14c: ebfffbfe bl 914c <aaf1-0xeb4>
+ a14c: ebfffbfe bl 914c <abf2@plt\+0xf0>
#------------------------------------------------------------------------------
#------ aaf3's .iplt entry
#------------------------------------------------------------------------------
- a150: eafffbfd b 914c <aaf1-0xeb4>
+ a150: eafffbfd b 914c <abf2@plt\+0xf0>
#------------------------------------------------------------------------------
#------ aaf3's .iplt entry
#------------------------------------------------------------------------------
- a154: 0afffbfc beq 914c <aaf1-0xeb4>
+ a154: 0afffbfc beq 914c <abf2@plt\+0xf0>
a158: e59f4000 ldr r4, \[pc\] ; a160 <arm\+0x110>
a15c: e59f4000 ldr r4, \[pc\] ; a164 <arm\+0x114>
#------------------------------------------------------------------------------
@@ -535,15 +541,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ taf3's .iplt entry
#------------------------------------------------------------------------------
- a168: ebfffbe8 bl 9110 <aaf1-0xef0>
+ a168: ebfffbe8 bl 9110 <abf2@plt\+0xb4>
#------------------------------------------------------------------------------
#------ taf3's .iplt entry
#------------------------------------------------------------------------------
- a16c: eafffbe7 b 9110 <aaf1-0xef0>
+ a16c: eafffbe7 b 9110 <abf2@plt\+0xb4>
#------------------------------------------------------------------------------
#------ taf3's .iplt entry
#------------------------------------------------------------------------------
- a170: 0afffbe6 beq 9110 <aaf1-0xef0>
+ a170: 0afffbe6 beq 9110 <abf2@plt\+0xb4>
a174: e59f4000 ldr r4, \[pc\] ; a17c <arm\+0x12c>
a178: e59f4000 ldr r4, \[pc\] ; a180 <arm\+0x130>
#------------------------------------------------------------------------------
@@ -557,15 +563,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf3's .iplt entry
#------------------------------------------------------------------------------
- a184: ebfffbd6 bl 90e4 <aaf1-0xf1c>
+ a184: ebfffbd6 bl 90e4 <abf2@plt\+0x88>
#------------------------------------------------------------------------------
#------ abf3's .iplt entry
#------------------------------------------------------------------------------
- a188: eafffbd5 b 90e4 <aaf1-0xf1c>
+ a188: eafffbd5 b 90e4 <abf2@plt\+0x88>
#------------------------------------------------------------------------------
#------ abf3's .iplt entry
#------------------------------------------------------------------------------
- a18c: 0afffbd4 beq 90e4 <aaf1-0xf1c>
+ a18c: 0afffbd4 beq 90e4 <abf2@plt\+0x88>
a190: e59f4000 ldr r4, \[pc\] ; a198 <arm\+0x148>
a194: e59f4000 ldr r4, \[pc\] ; a19c <arm\+0x14c>
#------------------------------------------------------------------------------
@@ -579,15 +585,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf3's .iplt entry
#------------------------------------------------------------------------------
- a1a0: ebfffbd7 bl 9104 <aaf1-0xefc>
+ a1a0: ebfffbd7 bl 9104 <abf2@plt\+0xa8>
#------------------------------------------------------------------------------
#------ tbf3's .iplt entry
#------------------------------------------------------------------------------
- a1a4: eafffbd6 b 9104 <aaf1-0xefc>
+ a1a4: eafffbd6 b 9104 <abf2@plt\+0xa8>
#------------------------------------------------------------------------------
#------ tbf3's .iplt entry
#------------------------------------------------------------------------------
- a1a8: 0afffbd5 beq 9104 <aaf1-0xefc>
+ a1a8: 0afffbd5 beq 9104 <abf2@plt\+0xa8>
a1ac: e59f4000 ldr r4, \[pc\] ; a1b4 <arm\+0x164>
a1b0: e59f4000 ldr r4, \[pc\] ; a1b8 <arm\+0x168>
#------------------------------------------------------------------------------
@@ -601,15 +607,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ aaf4's .iplt entry
#------------------------------------------------------------------------------
- a1bc: ebfffbc0 bl 90c4 <aaf1-0xf3c>
+ a1bc: ebfffbc0 bl 90c4 <abf2@plt\+0x68>
#------------------------------------------------------------------------------
#------ aaf4's .iplt entry
#------------------------------------------------------------------------------
- a1c0: eafffbbf b 90c4 <aaf1-0xf3c>
+ a1c0: eafffbbf b 90c4 <abf2@plt\+0x68>
#------------------------------------------------------------------------------
#------ aaf4's .iplt entry
#------------------------------------------------------------------------------
- a1c4: 0afffbbe beq 90c4 <aaf1-0xf3c>
+ a1c4: 0afffbbe beq 90c4 <abf2@plt\+0x68>
a1c8: e59f4000 ldr r4, \[pc\] ; a1d0 <arm\+0x180>
a1cc: e59f4000 ldr r4, \[pc\] ; a1d4 <arm\+0x184>
#------------------------------------------------------------------------------
@@ -623,15 +629,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ taf4's .iplt entry
#------------------------------------------------------------------------------
- a1d8: ebfffbe2 bl 9168 <aaf1-0xe98>
+ a1d8: ebfffbe2 bl 9168 <abf2@plt\+0x10c>
#------------------------------------------------------------------------------
#------ taf4's .iplt entry
#------------------------------------------------------------------------------
- a1dc: eafffbe1 b 9168 <aaf1-0xe98>
+ a1dc: eafffbe1 b 9168 <abf2@plt\+0x10c>
#------------------------------------------------------------------------------
#------ taf4's .iplt entry
#------------------------------------------------------------------------------
- a1e0: 0afffbe0 beq 9168 <aaf1-0xe98>
+ a1e0: 0afffbe0 beq 9168 <abf2@plt\+0x10c>
a1e4: e59f4000 ldr r4, \[pc\] ; a1ec <arm\+0x19c>
a1e8: e59f4000 ldr r4, \[pc\] ; a1f0 <arm\+0x1a0>
#------------------------------------------------------------------------------
@@ -645,15 +651,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf4's .iplt entry
#------------------------------------------------------------------------------
- a1f4: ebfffbc9 bl 9120 <aaf1-0xee0>
+ a1f4: ebfffbc9 bl 9120 <abf2@plt\+0xc4>
#------------------------------------------------------------------------------
#------ abf4's .iplt entry
#------------------------------------------------------------------------------
- a1f8: eafffbc8 b 9120 <aaf1-0xee0>
+ a1f8: eafffbc8 b 9120 <abf2@plt\+0xc4>
#------------------------------------------------------------------------------
#------ abf4's .iplt entry
#------------------------------------------------------------------------------
- a1fc: 0afffbc7 beq 9120 <aaf1-0xee0>
+ a1fc: 0afffbc7 beq 9120 <abf2@plt\+0xc4>
a200: e59f4000 ldr r4, \[pc\] ; a208 <arm\+0x1b8>
a204: e59f4000 ldr r4, \[pc\] ; a20c <arm\+0x1bc>
#------------------------------------------------------------------------------
@@ -667,15 +673,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf4's .iplt entry
#------------------------------------------------------------------------------
- a210: ebfffbc6 bl 9130 <aaf1-0xed0>
+ a210: ebfffbc6 bl 9130 <abf2@plt\+0xd4>
#------------------------------------------------------------------------------
#------ tbf4's .iplt entry
#------------------------------------------------------------------------------
- a214: eafffbc5 b 9130 <aaf1-0xed0>
+ a214: eafffbc5 b 9130 <abf2@plt\+0xd4>
#------------------------------------------------------------------------------
#------ tbf4's .iplt entry
#------------------------------------------------------------------------------
- a218: 0afffbc4 beq 9130 <aaf1-0xed0>
+ a218: 0afffbc4 beq 9130 <abf2@plt\+0xd4>
a21c: e59f4000 ldr r4, \[pc\] ; a224 <arm\+0x1d4>
a220: e59f4000 ldr r4, \[pc\] ; a228 <arm\+0x1d8>
#------------------------------------------------------------------------------
@@ -704,15 +710,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ atf1's .iplt entry
#------------------------------------------------------------------------------
- a244: f7fe ef1a blx 907c <aaf1-0xf84>
+ a244: f7fe ef1a blx 907c <abf2@plt\+0x20>
#------------------------------------------------------------------------------
#------ thumb entry to atf1's .iplt entry
#------------------------------------------------------------------------------
- a248: f7fe bf16 b\.w 9078 <aaf1-0xf88>
+ a248: f7fe bf16 b\.w 9078 <abf2@plt\+0x1c>
#------------------------------------------------------------------------------
#------ thumb entry to atf1's .iplt entry
#------------------------------------------------------------------------------
- a24c: f43e af14 beq\.w 9078 <aaf1-0xf88>
+ a24c: f43e af14 beq\.w 9078 <abf2@plt\+0x1c>
a250: 4c00 ldr r4, \[pc, #0\] ; \(a254 <_thumb\+0x28>\)
a252: 4c01 ldr r4, \[pc, #4\] ; \(a258 <_thumb\+0x2c>\)
#------------------------------------------------------------------------------
@@ -726,15 +732,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ ttf1's .iplt entry
#------------------------------------------------------------------------------
- a25c: f7fe ef24 blx 90a8 <aaf1-0xf58>
+ a25c: f7fe ef24 blx 90a8 <abf2@plt\+0x4c>
#------------------------------------------------------------------------------
#------ thumb entry to ttf1's .iplt entry
#------------------------------------------------------------------------------
- a260: f7fe bf20 b\.w 90a4 <aaf1-0xf5c>
+ a260: f7fe bf20 b\.w 90a4 <abf2@plt\+0x48>
#------------------------------------------------------------------------------
#------ thumb entry to ttf1's .iplt entry
#------------------------------------------------------------------------------
- a264: f43e af1e beq\.w 90a4 <aaf1-0xf5c>
+ a264: f43e af1e beq\.w 90a4 <abf2@plt\+0x48>
a268: 4c00 ldr r4, \[pc, #0\] ; \(a26c <_thumb\+0x40>\)
a26a: 4c01 ldr r4, \[pc, #4\] ; \(a270 <_thumb\+0x44>\)
#------------------------------------------------------------------------------
@@ -748,15 +754,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
- a274: f7fe ef0a blx 908c <aaf1-0xf74>
+ a274: f7fe ef0a blx 908c <abf2@plt\+0x30>
#------------------------------------------------------------------------------
#------ thumb entry to abf1's .iplt entry
#------------------------------------------------------------------------------
- a278: f7fe bf06 b\.w 9088 <aaf1-0xf78>
+ a278: f7fe bf06 b\.w 9088 <abf2@plt\+0x2c>
#------------------------------------------------------------------------------
#------ thumb entry to abf1's .iplt entry
#------------------------------------------------------------------------------
- a27c: f43e af04 beq\.w 9088 <aaf1-0xf78>
+ a27c: f43e af04 beq\.w 9088 <abf2@plt\+0x2c>
a280: 4c00 ldr r4, \[pc, #0\] ; \(a284 <_thumb\+0x58>\)
a282: 4c01 ldr r4, \[pc, #4\] ; \(a288 <_thumb\+0x5c>\)
#------------------------------------------------------------------------------
@@ -770,15 +776,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
- a28c: f7fe ef14 blx 90b8 <aaf1-0xf48>
+ a28c: f7fe ef14 blx 90b8 <abf2@plt\+0x5c>
#------------------------------------------------------------------------------
#------ thumb entry to tbf1's .iplt entry
#------------------------------------------------------------------------------
- a290: f7fe bf10 b\.w 90b4 <aaf1-0xf4c>
+ a290: f7fe bf10 b\.w 90b4 <abf2@plt\+0x58>
#------------------------------------------------------------------------------
#------ thumb entry to tbf1's .iplt entry
#------------------------------------------------------------------------------
- a294: f43e af0e beq\.w 90b4 <aaf1-0xf4c>
+ a294: f43e af0e beq\.w 90b4 <abf2@plt\+0x58>
a298: 4c00 ldr r4, \[pc, #0\] ; \(a29c <_thumb\+0x70>\)
a29a: 4c01 ldr r4, \[pc, #4\] ; \(a2a0 <_thumb\+0x74>\)
#------------------------------------------------------------------------------
@@ -792,15 +798,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ atf2's .plt entry
#------------------------------------------------------------------------------
- a2a4: f7fe eeb8 blx 9018 <aaf1-0xfe8>
+ a2a4: f7fe eeb8 blx 9018 <atf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to atf2's .plt entry
#------------------------------------------------------------------------------
- a2a8: f7fe beb4 b\.w 9014 <aaf1-0xfec>
+ a2a8: f7fe beb4 b\.w 9014 <atf2@plt>
#------------------------------------------------------------------------------
#------ thumb entry to atf2's .plt entry
#------------------------------------------------------------------------------
- a2ac: f43e aeb2 beq\.w 9014 <aaf1-0xfec>
+ a2ac: f43e aeb2 beq\.w 9014 <atf2@plt>
a2b0: 4c00 ldr r4, \[pc, #0\] ; \(a2b4 <_thumb\+0x88>\)
a2b2: 4c01 ldr r4, \[pc, #4\] ; \(a2b8 <_thumb\+0x8c>\)
#------------------------------------------------------------------------------
@@ -814,15 +820,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ ttf2's .plt entry
#------------------------------------------------------------------------------
- a2bc: f7fe eeb4 blx 9028 <aaf1-0xfd8>
+ a2bc: f7fe eeb4 blx 9028 <ttf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to ttf2's .plt entry
#------------------------------------------------------------------------------
- a2c0: f7fe beb0 b\.w 9024 <aaf1-0xfdc>
+ a2c0: f7fe beb0 b\.w 9024 <ttf2@plt>
#------------------------------------------------------------------------------
#------ thumb entry to ttf2's .plt entry
#------------------------------------------------------------------------------
- a2c4: f43e aeae beq\.w 9024 <aaf1-0xfdc>
+ a2c4: f43e aeae beq\.w 9024 <ttf2@plt>
a2c8: 4c00 ldr r4, \[pc, #0\] ; \(a2cc <_thumb\+0xa0>\)
a2ca: 4c01 ldr r4, \[pc, #4\] ; \(a2d0 <_thumb\+0xa4>\)
#------------------------------------------------------------------------------
@@ -836,15 +842,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
- a2d4: f7fe eec4 blx 9060 <aaf1-0xfa0>
+ a2d4: f7fe eec4 blx 9060 <abf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to abf2's .plt entry
#------------------------------------------------------------------------------
- a2d8: f7fe bec0 b\.w 905c <aaf1-0xfa4>
+ a2d8: f7fe bec0 b\.w 905c <abf2@plt>
#------------------------------------------------------------------------------
#------ thumb entry to abf2's .plt entry
#------------------------------------------------------------------------------
- a2dc: f43e aebe beq\.w 905c <aaf1-0xfa4>
+ a2dc: f43e aebe beq\.w 905c <abf2@plt>
a2e0: 4c00 ldr r4, \[pc, #0\] ; \(a2e4 <_thumb\+0xb8>\)
a2e2: 4c01 ldr r4, \[pc, #4\] ; \(a2e8 <_thumb\+0xbc>\)
#------------------------------------------------------------------------------
@@ -858,15 +864,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
- a2ec: f7fe eea4 blx 9038 <aaf1-0xfc8>
+ a2ec: f7fe eea4 blx 9038 <tbf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to tbf2's .plt entry
#------------------------------------------------------------------------------
- a2f0: f7fe bea0 b\.w 9034 <aaf1-0xfcc>
+ a2f0: f7fe bea0 b\.w 9034 <tbf2@plt>
#------------------------------------------------------------------------------
#------ thumb entry to tbf2's .plt entry
#------------------------------------------------------------------------------
- a2f4: f43e ae9e beq\.w 9034 <aaf1-0xfcc>
+ a2f4: f43e ae9e beq\.w 9034 <tbf2@plt>
a2f8: 4c00 ldr r4, \[pc, #0\] ; \(a2fc <_thumb\+0xd0>\)
a2fa: 4c01 ldr r4, \[pc, #4\] ; \(a300 <_thumb\+0xd4>\)
#------------------------------------------------------------------------------
@@ -880,15 +886,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ atf3's .iplt entry
#------------------------------------------------------------------------------
- a304: f7fe eee6 blx 90d4 <aaf1-0xf2c>
+ a304: f7fe eee6 blx 90d4 <abf2@plt\+0x78>
#------------------------------------------------------------------------------
#------ thumb entry to atf3's .iplt entry
#------------------------------------------------------------------------------
- a308: f7fe bee2 b\.w 90d0 <aaf1-0xf30>
+ a308: f7fe bee2 b\.w 90d0 <abf2@plt\+0x74>
#------------------------------------------------------------------------------
#------ thumb entry to atf3's .iplt entry
#------------------------------------------------------------------------------
- a30c: f43e aee0 beq\.w 90d0 <aaf1-0xf30>
+ a30c: f43e aee0 beq\.w 90d0 <abf2@plt\+0x74>
a310: 4c00 ldr r4, \[pc, #0\] ; \(a314 <_thumb\+0xe8>\)
a312: 4c01 ldr r4, \[pc, #4\] ; \(a318 <_thumb\+0xec>\)
#------------------------------------------------------------------------------
@@ -902,15 +908,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ ttf3's .iplt entry
#------------------------------------------------------------------------------
- a31c: f7fe eeea blx 90f4 <aaf1-0xf0c>
+ a31c: f7fe eeea blx 90f4 <abf2@plt\+0x98>
#------------------------------------------------------------------------------
#------ thumb entry to ttf3's .iplt entry
#------------------------------------------------------------------------------
- a320: f7fe bee6 b\.w 90f0 <aaf1-0xf10>
+ a320: f7fe bee6 b\.w 90f0 <abf2@plt\+0x94>
#------------------------------------------------------------------------------
#------ thumb entry to ttf3's .iplt entry
#------------------------------------------------------------------------------
- a324: f43e aee4 beq\.w 90f0 <aaf1-0xf10>
+ a324: f43e aee4 beq\.w 90f0 <abf2@plt\+0x94>
a328: 4c00 ldr r4, \[pc, #0\] ; \(a32c <_thumb\+0x100>\)
a32a: 4c01 ldr r4, \[pc, #4\] ; \(a330 <_thumb\+0x104>\)
#------------------------------------------------------------------------------
@@ -924,15 +930,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf3's .iplt entry
#------------------------------------------------------------------------------
- a334: f7fe eed6 blx 90e4 <aaf1-0xf1c>
+ a334: f7fe eed6 blx 90e4 <abf2@plt\+0x88>
#------------------------------------------------------------------------------
#------ thumb entry to abf3's .iplt entry
#------------------------------------------------------------------------------
- a338: f7fe bed2 b\.w 90e0 <aaf1-0xf20>
+ a338: f7fe bed2 b\.w 90e0 <abf2@plt\+0x84>
#------------------------------------------------------------------------------
#------ thumb entry to abf3's .iplt entry
#------------------------------------------------------------------------------
- a33c: f43e aed0 beq\.w 90e0 <aaf1-0xf20>
+ a33c: f43e aed0 beq\.w 90e0 <abf2@plt\+0x84>
a340: 4c00 ldr r4, \[pc, #0\] ; \(a344 <_thumb\+0x118>\)
a342: 4c01 ldr r4, \[pc, #4\] ; \(a348 <_thumb\+0x11c>\)
#------------------------------------------------------------------------------
@@ -946,15 +952,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf3's .iplt entry
#------------------------------------------------------------------------------
- a34c: f7fe eeda blx 9104 <aaf1-0xefc>
+ a34c: f7fe eeda blx 9104 <abf2@plt\+0xa8>
#------------------------------------------------------------------------------
#------ thumb entry to tbf3's .iplt entry
#------------------------------------------------------------------------------
- a350: f7fe bed6 b\.w 9100 <aaf1-0xf00>
+ a350: f7fe bed6 b\.w 9100 <abf2@plt\+0xa4>
#------------------------------------------------------------------------------
#------ thumb entry to tbf3's .iplt entry
#------------------------------------------------------------------------------
- a354: f43e aed4 beq\.w 9100 <aaf1-0xf00>
+ a354: f43e aed4 beq\.w 9100 <abf2@plt\+0xa4>
a358: 4c00 ldr r4, \[pc, #0\] ; \(a35c <_thumb\+0x130>\)
a35a: 4c01 ldr r4, \[pc, #4\] ; \(a360 <_thumb\+0x134>\)
#------------------------------------------------------------------------------
@@ -968,15 +974,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ atf4's .iplt entry
#------------------------------------------------------------------------------
- a364: f7fe eefa blx 915c <aaf1-0xea4>
+ a364: f7fe eefa blx 915c <abf2@plt\+0x100>
#------------------------------------------------------------------------------
#------ thumb entry to atf4's .iplt entry
#------------------------------------------------------------------------------
- a368: f7fe bef6 b\.w 9158 <aaf1-0xea8>
+ a368: f7fe bef6 b\.w 9158 <abf2@plt\+0xfc>
#------------------------------------------------------------------------------
#------ thumb entry to atf4's .iplt entry
#------------------------------------------------------------------------------
- a36c: f43e aef4 beq\.w 9158 <aaf1-0xea8>
+ a36c: f43e aef4 beq\.w 9158 <abf2@plt\+0xfc>
a370: 4c00 ldr r4, \[pc, #0\] ; \(a374 <_thumb\+0x148>\)
a372: 4c01 ldr r4, \[pc, #4\] ; \(a378 <_thumb\+0x14c>\)
#------------------------------------------------------------------------------
@@ -990,15 +996,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ ttf4's .iplt entry
#------------------------------------------------------------------------------
- a37c: f7fe eee0 blx 9140 <aaf1-0xec0>
+ a37c: f7fe eee0 blx 9140 <abf2@plt\+0xe4>
#------------------------------------------------------------------------------
#------ thumb entry to ttf4's .iplt entry
#------------------------------------------------------------------------------
- a380: f7fe bedc b\.w 913c <aaf1-0xec4>
+ a380: f7fe bedc b\.w 913c <abf2@plt\+0xe0>
#------------------------------------------------------------------------------
#------ thumb entry to ttf4's .iplt entry
#------------------------------------------------------------------------------
- a384: f43e aeda beq\.w 913c <aaf1-0xec4>
+ a384: f43e aeda beq\.w 913c <abf2@plt\+0xe0>
a388: 4c00 ldr r4, \[pc, #0\] ; \(a38c <_thumb\+0x160>\)
a38a: 4c01 ldr r4, \[pc, #4\] ; \(a390 <_thumb\+0x164>\)
#------------------------------------------------------------------------------
@@ -1012,15 +1018,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf4's .iplt entry
#------------------------------------------------------------------------------
- a394: f7fe eec4 blx 9120 <aaf1-0xee0>
+ a394: f7fe eec4 blx 9120 <abf2@plt\+0xc4>
#------------------------------------------------------------------------------
#------ thumb entry to abf4's .iplt entry
#------------------------------------------------------------------------------
- a398: f7fe bec0 b\.w 911c <aaf1-0xee4>
+ a398: f7fe bec0 b\.w 911c <abf2@plt\+0xc0>
#------------------------------------------------------------------------------
#------ thumb entry to abf4's .iplt entry
#------------------------------------------------------------------------------
- a39c: f43e aebe beq\.w 911c <aaf1-0xee4>
+ a39c: f43e aebe beq\.w 911c <abf2@plt\+0xc0>
a3a0: 4c00 ldr r4, \[pc, #0\] ; \(a3a4 <_thumb\+0x178>\)
a3a2: 4c01 ldr r4, \[pc, #4\] ; \(a3a8 <_thumb\+0x17c>\)
#------------------------------------------------------------------------------
@@ -1034,15 +1040,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf4's .iplt entry
#------------------------------------------------------------------------------
- a3ac: f7fe eec0 blx 9130 <aaf1-0xed0>
+ a3ac: f7fe eec0 blx 9130 <abf2@plt\+0xd4>
#------------------------------------------------------------------------------
#------ thumb entry to tbf4's .iplt entry
#------------------------------------------------------------------------------
- a3b0: f7fe bebc b\.w 912c <aaf1-0xed4>
+ a3b0: f7fe bebc b\.w 912c <abf2@plt\+0xd0>
#------------------------------------------------------------------------------
#------ thumb entry to tbf4's .iplt entry
#------------------------------------------------------------------------------
- a3b4: f43e aeba beq\.w 912c <aaf1-0xed4>
+ a3b4: f43e aeba beq\.w 912c <abf2@plt\+0xd0>
a3b8: 4c00 ldr r4, \[pc, #0\] ; \(a3bc <_thumb\+0x190>\)
a3ba: 4c01 ldr r4, \[pc, #4\] ; \(a3c0 <_thumb\+0x194>\)
#------------------------------------------------------------------------------
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-4.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-4.gd
index f768c687..bb7a8d68 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-4.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-4.gd
@@ -8,28 +8,28 @@ Contents of section \.data:
#------ 00010008: contains PC-relative offset of aaf1's .iplt entry
#------ 0001000c: contains atf1 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10000 44332211 00a00000 6490ffff 04a00000 .*
+ 10000 (44332211 00a00000 6490ffff 04a00000|11223344 0000a000 ffff9064 0000a004) .*
#------------------------------------------------------------------------------
#------ 00010010: contains PC-relative offset of atf1's .iplt entry
#------ 00010014: contains abf1 [R_ARM_IRELATIVE]
#------ 00010018: contains PC-relative offset of abf1's .iplt entry
#------ 0001001c: contains taf1 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10010 6c90ffff 08a00000 7490ffff 0da00000 .*
+ 10010 (6c90ffff 08a00000 7490ffff 0da00000|ffff906c 0000a008 ffff9074 0000a00d) .*
#------------------------------------------------------------------------------
#------ 00010020: contains PC-relative offset of taf1's .iplt entry
#------ 00010024: contains ttf1 [R_ARM_IRELATIVE]
#------ 00010028: contains PC-relative offset of ttf1's .iplt entry
#------ 0001002c: contains tbf1 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10020 7890ffff 0fa00000 8090ffff 11a00000 .*
+ 10020 (7890ffff 0fa00000 8090ffff 11a00000|ffff9078 0000a00f ffff9080 0000a011) .*
#------------------------------------------------------------------------------
#------ 00010030: contains PC-relative offset of tbf1's .iplt entry
#------ 00010034: aaf2 [R_ARM_ABS32]
#------ 00010038: aaf2 [R_ARM_REL32]
#------ 0001003c: atf2 [R_ARM_ABS32]
#------------------------------------------------------------------------------
- 10030 8890ffff 00000000 00000000 00000000 .*
+ 10030 (8890ffff|ffff9088) 00000000 00000000 00000000 .*
#------------------------------------------------------------------------------
#------ 00010040: atf2 [R_ARM_REL32]
#------ 00010044: abf2 [R_ARM_ABS32]
@@ -50,46 +50,46 @@ Contents of section \.data:
#------ 00010068: contains PC-relative offset of aaf3's .iplt entry
#------ 0001006c: contains atf3 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10060 00000000 28a00000 e490ffff 2ca00000 .*
+ 10060 00000000 (28a00000 e490ffff 2ca00000|0000a028 ffff90e4 0000a02c) .*
#------------------------------------------------------------------------------
#------ 00010070: contains PC-relative offset of atf3's .iplt entry
#------ 00010074: contains abf3 [R_ARM_IRELATIVE]
#------ 00010078: contains PC-relative offset of abf3's .iplt entry
#------ 0001007c: contains taf3 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10070 6490ffff 30a00000 6c90ffff 35a00000 .*
+ 10070 (6490ffff 30a00000 6c90ffff 35a00000|ffff9064 0000a030 ffff906c 0000a035) .*
#------------------------------------------------------------------------------
#------ 00010080: contains PC-relative offset of taf3's .iplt entry
#------ 00010084: contains ttf3 [R_ARM_IRELATIVE]
#------ 00010088: contains PC-relative offset of ttf3's .iplt entry
#------ 0001008c: contains tbf3 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10080 9090ffff 37a00000 6c90ffff 39a00000 .*
+ 10080 (9090ffff 37a00000 6c90ffff 39a00000|ffff9090 0000a037 ffff906c 0000a039) .*
#------------------------------------------------------------------------------
#------ 00010090: contains PC-relative offset of tbf3's .iplt entry
#------ 00010094: aaf4 [R_ARM_ABS32]
#------ 00010098: contains PC-relative offset of aaf4's .iplt entry
#------ 0001009c: atf4 [R_ARM_ABS32]
#------------------------------------------------------------------------------
- 10090 7490ffff 00000000 2c90ffff 00000000 .*
+ 10090 (7490ffff 00000000 2c90ffff|ffff9074 00000000 ffff902c) 00000000 .*
#------------------------------------------------------------------------------
#------ 000100a0: contains PC-relative offset of atf4's .iplt entry
#------ 000100a4: abf4 [R_ARM_ABS32]
#------ 000100a8: contains PC-relative offset of abf4's .iplt entry
#------ 000100ac: taf4 [R_ARM_ABS32]
#------------------------------------------------------------------------------
- 100a0 bc90ffff 00000000 7890ffff 00000000 .*
+ 100a0 (bc90ffff 00000000 7890ffff|ffff90bc 00000000 ffff9078) 00000000 .*
#------------------------------------------------------------------------------
#------ 000100b0: contains PC-relative offset of taf4's .iplt entry
#------ 000100b4: ttf4 [R_ARM_ABS32]
#------ 000100b8: contains PC-relative offset of ttf4's .iplt entry
#------ 000100bc: tbf4 [R_ARM_ABS32]
#------------------------------------------------------------------------------
- 100b0 b890ffff 00000000 8890ffff 00000000 .*
+ 100b0 (b890ffff 00000000 8890ffff|ffff90b8 00000000 ffff9088) 00000000 .*
#------------------------------------------------------------------------------
#------ 000100c0: contains PC-relative offset of tbf4's .iplt entry
#------------------------------------------------------------------------------
- 100c0 7090ffff .*
+ 100c0 (7090ffff|ffff9070) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -97,56 +97,56 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: atf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11000 00200100 00000000 00000000 00900000 .*
+ 11000 (00200100 00000000 00000000 00900000|00012000 00000000 00000000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011010: ttf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011014: tbf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011018: taf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 0001101c: aaf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11010 00900000 00900000 00900000 00900000 .*
+ 11010 (00900000 00900000 00900000 00900000|00009000 00009000 00009000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011020: abf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011024: aaf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011028: atf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001102c: abf1's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11020 00900000 00a00000 04a00000 08a00000 .*
+ 11020 (00900000 00a00000 04a00000 08a00000|00009000 0000a000 0000a004 0000a008) .*
#------------------------------------------------------------------------------
#------ 00011030: taf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011034: ttf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011038: tbf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001103c: aaf4's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11030 0da00000 0fa00000 11a00000 3ca00000 .*
+ 11030 (0da00000 0fa00000 11a00000 3ca00000|0000a00d 0000a00f 0000a011 0000a03c) .*
#------------------------------------------------------------------------------
#------ 00011040: atf3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011044: abf3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011048: ttf3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001104c: tbf3's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11040 2ca00000 30a00000 37a00000 39a00000 .*
+ 11040 (2ca00000 30a00000 37a00000 39a00000|0000a02c 0000a030 0000a037 0000a039) .*
#------------------------------------------------------------------------------
#------ 00011050: taf3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011054: abf4's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011058: tbf4's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001105c: ttf4's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11050 35a00000 44a00000 4da00000 4ba00000 .*
+ 11050 (35a00000 44a00000 4da00000 4ba00000|0000a035 0000a044 0000a04d 0000a04b) .*
#------------------------------------------------------------------------------
#------ 00011060: aaf3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011064: atf4's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011068: taf4's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001106c: .got entry for foo [R_ARM_RELATIVE]
#------------------------------------------------------------------------------
- 11060 28a00000 40a00000 49a00000 00000100 .*
+ 11060 (28a00000 40a00000 49a00000 00000100|0000a028 0000a040 0000a049 00010000) .*
#------------------------------------------------------------------------------
#------ 00011070: .got entry for foo [R_ARM_RELATIVE]
#------ 00011074: .got entry for atf2 [R_ARM_GLOB_DAT]
#------ 00011078: .got entry for aaf4 [R_ARM_GLOB_DAT]
#------ 0001107c: .got entry for ttf2 [R_ARM_GLOB_DAT]
#------------------------------------------------------------------------------
- 11070 00000100 00000000 00000000 00000000 .*
+ 11070 (00000100|00010000) 00000000 00000000 00000000 .*
#------------------------------------------------------------------------------
#------ 00011080: .got entry for tbf2 [R_ARM_GLOB_DAT]
#------ 00011084: .got entry for taf2 [R_ARM_GLOB_DAT]
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-5.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-5.gd
index 8cd69df5..fba15123 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-5.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-5.gd
@@ -5,7 +5,7 @@ Contents of section \.data:
#------------------------------------------------------------------------------
#------ 00010000: foo
#------------------------------------------------------------------------------
- 10000 44332211 00800000 18800000 .*
+ 10000 (44332211 00800000 18800000|11223344 00008000 00008018) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -13,11 +13,11 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: f1's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11000 00000000 00000000 00000000 00a00000 .*
+ 11000 00000000 00000000 00000000 (00a00000|0000a000) .*
#------------------------------------------------------------------------------
#------ 00011010: f3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011014: f2's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011018: .got entry for foo
#------ 0001101c: .got entry for foo
#------------------------------------------------------------------------------
- 11010 08a00000 04a00000 00000100 00000100 .*
+ 11010 (08a00000 04a00000 00000100 00000100|0000a008 0000a004 00010000 00010000) .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-6.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-6.gd
index 45fd9142..649a57b9 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-6.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-6.gd
@@ -5,7 +5,7 @@ Contents of section \.data:
#------------------------------------------------------------------------------
#------ 00010000: foo
#------------------------------------------------------------------------------
- 10000 44332211 00800000 20800000 .*
+ 10000 (44332211 00800000 20800000|11223344 00008000 00008020) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -13,15 +13,15 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: f3's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11000 00000000 00000000 00000000 08a00000 .*
+ 11000 00000000 00000000 00000000 (08a00000|0000a008) .*
#------------------------------------------------------------------------------
#------ 00011010: f2's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011014: f4's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011018: f1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001101c: .got entry for foo
#------------------------------------------------------------------------------
- 11010 05a00000 0da00000 00a00000 00000100 .*
+ 11010 (05a00000 0da00000 00a00000 00000100|0000a005 0000a00d 0000a000 00010000) .*
#------------------------------------------------------------------------------
#------ 00011020: .got entry for foo
#------------------------------------------------------------------------------
- 11020 00000100 .*
+ 11020 (00000100|00010000) .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-7.dd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-7.dd
index e9a96814..f82fd376 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-7.dd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-7.dd
@@ -4,9 +4,9 @@
Disassembly of section \.plt:
-00009000 <\.plt>:
+00009000 <f2@plt-0x14>:
9000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- 9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <f1-0xff0>
+ 9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <f2@plt-0x4>
9008: e08fe00e add lr, pc, lr
900c: e5bef008 ldr pc, \[lr, #8\]!
#------------------------------------------------------------------------------
@@ -16,12 +16,14 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ f2's .plt entry
#------------------------------------------------------------------------------
+00009014 <f2@plt>:
9014: e28fc600 add ip, pc, #0, 12
9018: e28cca07 add ip, ip, #28672 ; 0x7000
901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0
#------------------------------------------------------------------------------
#------ f4's .plt entry
#------------------------------------------------------------------------------
+00009020 <f4@plt>:
9020: e28fc600 add ip, pc, #0, 12
9024: e28cca07 add ip, ip, #28672 ; 0x7000
9028: e5bcffe8 ldr pc, \[ip, #4072\]! ; 0xfe8
@@ -65,7 +67,7 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
- a01c: ebfffc02 bl 902c <f1-0xfd4>
+ a01c: ebfffc02 bl 902c <f4@plt\+0xc>
a020: e59f4000 ldr r4, \[pc\] ; a028 <arm\+0x20>
a024: e59f4000 ldr r4, \[pc\] ; a02c <arm\+0x24>
#------------------------------------------------------------------------------
@@ -79,7 +81,7 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ f2's .plt entry
#------------------------------------------------------------------------------
- a030: ebfffbf7 bl 9014 <f1-0xfec>
+ a030: ebfffbf7 bl 9014 <f2@plt>
a034: e59f4000 ldr r4, \[pc\] ; a03c <arm\+0x34>
a038: e59f4000 ldr r4, \[pc\] ; a040 <arm\+0x38>
#------------------------------------------------------------------------------
@@ -93,7 +95,7 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ f3's .iplt entry
#------------------------------------------------------------------------------
- a044: ebfffbfb bl 9038 <f1-0xfc8>
+ a044: ebfffbfb bl 9038 <f4@plt\+0x18>
a048: e59f4000 ldr r4, \[pc\] ; a050 <arm\+0x48>
a04c: e59f4000 ldr r4, \[pc\] ; a054 <arm\+0x4c>
#------------------------------------------------------------------------------
@@ -107,7 +109,7 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ f4's .plt entry
#------------------------------------------------------------------------------
- a058: ebfffbf0 bl 9020 <f1-0xfe0>
+ a058: ebfffbf0 bl 9020 <f4@plt>
a05c: e59f4000 ldr r4, \[pc\] ; a064 <arm\+0x5c>
a060: e59f4000 ldr r4, \[pc\] ; a068 <arm\+0x60>
#------------------------------------------------------------------------------
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-7.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-7.gd
index a116aafe..3251c459 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-7.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-7.gd
@@ -8,20 +8,20 @@ Contents of section \.data:
#------ 00010008: contains PC-relative offset of foo
#------ 0001000c: contains f1 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10000 44332211 00000100 f8ffffff 00a00000 .*
+ 10000 (44332211 00000100 f8ffffff 00a00000|11223344 00010000 fffffff8 0000a000) .*
#------------------------------------------------------------------------------
#------ 00010010: contains PC-relative offset of f1's .iplt entry
#------ 00010014: f2 [R_ARM_ABS32]
#------ 00010018: f2 [R_ARM_REL32]
#------ 0001001c: contains f3 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10010 1c90ffff 00000000 00000000 04a00000 .*
+ 10010 (1c90ffff 00000000 00000000 04a00000|ffff901c 00000000 00000000 0000a004) .*
#------------------------------------------------------------------------------
#------ 00010020: contains PC-relative offset of f3's .iplt entry
#------ 00010024: f4 [R_ARM_ABS32]
#------ 00010028: f4 [R_ARM_REL32]
#------------------------------------------------------------------------------
- 10020 1890ffff 00000000 00000000 .*
+ 10020 (1890ffff|ffff9018) 00000000 00000000 .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -29,17 +29,17 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: f2's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11000 00200100 00000000 00000000 00900000 .*
+ 11000 (00200100 00000000 00000000 00900000|00012000 00000000 00000000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011010: f4's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011014: f1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011018: f3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001101c: .got entry for foo [R_ARM_RELATIVE]
#------------------------------------------------------------------------------
- 11010 00900000 00a00000 04a00000 00000100 .*
+ 11010 (00900000 00a00000 04a00000 00000100|00009000 0000a000 0000a004 00010000) .*
#------------------------------------------------------------------------------
#------ 00011020: .got entry for foo [R_ARM_RELATIVE]
#------ 00011024: .got entry for f2 [R_ARM_GLOB_DAT]
#------ 00011028: .got entry for f4 [R_ARM_GLOB_DAT]
#------------------------------------------------------------------------------
- 11020 00000100 00000000 00000000 .*
+ 11020 (00000100|00010000) 00000000 00000000 .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-8.dd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-8.dd
index 5b255e2e..3cca17cf 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-8.dd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-8.dd
@@ -4,9 +4,9 @@
Disassembly of section \.plt:
-00009000 <\.plt>:
+00009000 <atf2@plt-0x14>:
9000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- 9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <aaf1-0xff0>
+ 9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <atf2@plt-0x4>
9008: e08fe00e add lr, pc, lr
900c: e5bef008 ldr pc, \[lr, #8\]!
#------------------------------------------------------------------------------
@@ -16,6 +16,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to atf2's .plt entry
#------------------------------------------------------------------------------
+00009014 <atf2@plt>:
9014: 4778 bx pc
9016: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -27,12 +28,14 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ aaf4's .plt entry
#------------------------------------------------------------------------------
+00009024 <aaf4@plt>:
9024: e28fc600 add ip, pc, #0, 12
9028: e28cca07 add ip, ip, #28672 ; 0x7000
902c: e5bcffe4 ldr pc, \[ip, #4068\]! ; 0xfe4
#------------------------------------------------------------------------------
#------ thumb entry to ttf2's .plt entry
#------------------------------------------------------------------------------
+00009030 <ttf2@plt>:
9030: 4778 bx pc
9032: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -44,6 +47,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to tbf2's .plt entry
#------------------------------------------------------------------------------
+00009040 <tbf2@plt>:
9040: 4778 bx pc
9042: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -55,18 +59,21 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ taf2's .plt entry
#------------------------------------------------------------------------------
+00009050 <taf2@plt>:
9050: e28fc600 add ip, pc, #0, 12
9054: e28cca07 add ip, ip, #28672 ; 0x7000
9058: e5bcffc4 ldr pc, \[ip, #4036\]! ; 0xfc4
#------------------------------------------------------------------------------
#------ aaf2's .plt entry
#------------------------------------------------------------------------------
+0000905c <aaf2@plt>:
905c: e28fc600 add ip, pc, #0, 12
9060: e28cca07 add ip, ip, #28672 ; 0x7000
9064: e5bcffbc ldr pc, \[ip, #4028\]! ; 0xfbc
#------------------------------------------------------------------------------
#------ thumb entry to abf4's .plt entry
#------------------------------------------------------------------------------
+00009068 <abf4@plt>:
9068: 4778 bx pc
906a: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -78,6 +85,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to tbf4's .plt entry
#------------------------------------------------------------------------------
+00009078 <tbf4@plt>:
9078: 4778 bx pc
907a: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -89,6 +97,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to ttf4's .plt entry
#------------------------------------------------------------------------------
+00009088 <ttf4@plt>:
9088: 4778 bx pc
908a: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -100,6 +109,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ thumb entry to atf4's .plt entry
#------------------------------------------------------------------------------
+00009098 <atf4@plt>:
9098: 4778 bx pc
909a: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -111,12 +121,14 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ taf4's .plt entry
#------------------------------------------------------------------------------
+000090a8 <taf4@plt>:
90a8: e28fc600 add ip, pc, #0, 12
90ac: e28cca07 add ip, ip, #28672 ; 0x7000
90b0: e5bcff84 ldr pc, \[ip, #3972\]! ; 0xf84
#------------------------------------------------------------------------------
#------ thumb entry to abf2's .plt entry
#------------------------------------------------------------------------------
+000090b4 <abf2@plt>:
90b4: 4778 bx pc
90b6: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
@@ -299,15 +311,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ aaf1's .iplt entry
#------------------------------------------------------------------------------
- a044: ebfffc1e bl 90c4 <aaf1-0xf3c>
+ a044: ebfffc1e bl 90c4 <abf2@plt\+0x10>
#------------------------------------------------------------------------------
#------ aaf1's .iplt entry
#------------------------------------------------------------------------------
- a048: eafffc1d b 90c4 <aaf1-0xf3c>
+ a048: eafffc1d b 90c4 <abf2@plt\+0x10>
#------------------------------------------------------------------------------
#------ aaf1's .iplt entry
#------------------------------------------------------------------------------
- a04c: 0afffc1c beq 90c4 <aaf1-0xf3c>
+ a04c: 0afffc1c beq 90c4 <abf2@plt\+0x10>
a050: e59f4000 ldr r4, \[pc\] ; a058 <arm\+0x30>
a054: e59f4000 ldr r4, \[pc\] ; a05c <arm\+0x34>
#------------------------------------------------------------------------------
@@ -321,15 +333,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ taf1's .iplt entry
#------------------------------------------------------------------------------
- a060: ebfffc22 bl 90f0 <aaf1-0xf10>
+ a060: ebfffc22 bl 90f0 <abf2@plt\+0x3c>
#------------------------------------------------------------------------------
#------ taf1's .iplt entry
#------------------------------------------------------------------------------
- a064: eafffc21 b 90f0 <aaf1-0xf10>
+ a064: eafffc21 b 90f0 <abf2@plt\+0x3c>
#------------------------------------------------------------------------------
#------ taf1's .iplt entry
#------------------------------------------------------------------------------
- a068: 0afffc20 beq 90f0 <aaf1-0xf10>
+ a068: 0afffc20 beq 90f0 <abf2@plt\+0x3c>
a06c: e59f4000 ldr r4, \[pc\] ; a074 <arm\+0x4c>
a070: e59f4000 ldr r4, \[pc\] ; a078 <arm\+0x50>
#------------------------------------------------------------------------------
@@ -343,15 +355,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
- a07c: ebfffc18 bl 90e4 <aaf1-0xf1c>
+ a07c: ebfffc18 bl 90e4 <abf2@plt\+0x30>
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
- a080: eafffc17 b 90e4 <aaf1-0xf1c>
+ a080: eafffc17 b 90e4 <abf2@plt\+0x30>
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
- a084: 0afffc16 beq 90e4 <aaf1-0xf1c>
+ a084: 0afffc16 beq 90e4 <abf2@plt\+0x30>
a088: e59f4000 ldr r4, \[pc\] ; a090 <arm\+0x68>
a08c: e59f4000 ldr r4, \[pc\] ; a094 <arm\+0x6c>
#------------------------------------------------------------------------------
@@ -365,15 +377,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
- a098: ebfffc1c bl 9110 <aaf1-0xef0>
+ a098: ebfffc1c bl 9110 <abf2@plt\+0x5c>
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
- a09c: eafffc1b b 9110 <aaf1-0xef0>
+ a09c: eafffc1b b 9110 <abf2@plt\+0x5c>
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
- a0a0: 0afffc1a beq 9110 <aaf1-0xef0>
+ a0a0: 0afffc1a beq 9110 <abf2@plt\+0x5c>
a0a4: e59f4000 ldr r4, \[pc\] ; a0ac <arm\+0x84>
a0a8: e59f4000 ldr r4, \[pc\] ; a0b0 <arm\+0x88>
#------------------------------------------------------------------------------
@@ -387,15 +399,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ aaf2's .plt entry
#------------------------------------------------------------------------------
- a0b4: ebfffbe8 bl 905c <aaf1-0xfa4>
+ a0b4: ebfffbe8 bl 905c <aaf2@plt>
#------------------------------------------------------------------------------
#------ aaf2's .plt entry
#------------------------------------------------------------------------------
- a0b8: eafffbe7 b 905c <aaf1-0xfa4>
+ a0b8: eafffbe7 b 905c <aaf2@plt>
#------------------------------------------------------------------------------
#------ aaf2's .plt entry
#------------------------------------------------------------------------------
- a0bc: 0afffbe6 beq 905c <aaf1-0xfa4>
+ a0bc: 0afffbe6 beq 905c <aaf2@plt>
a0c0: e59f4000 ldr r4, \[pc\] ; a0c8 <arm\+0xa0>
a0c4: e59f4000 ldr r4, \[pc\] ; a0cc <arm\+0xa4>
#------------------------------------------------------------------------------
@@ -409,15 +421,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ taf2's .plt entry
#------------------------------------------------------------------------------
- a0d0: ebfffbde bl 9050 <aaf1-0xfb0>
+ a0d0: ebfffbde bl 9050 <taf2@plt>
#------------------------------------------------------------------------------
#------ taf2's .plt entry
#------------------------------------------------------------------------------
- a0d4: eafffbdd b 9050 <aaf1-0xfb0>
+ a0d4: eafffbdd b 9050 <taf2@plt>
#------------------------------------------------------------------------------
#------ taf2's .plt entry
#------------------------------------------------------------------------------
- a0d8: 0afffbdc beq 9050 <aaf1-0xfb0>
+ a0d8: 0afffbdc beq 9050 <taf2@plt>
a0dc: e59f4000 ldr r4, \[pc\] ; a0e4 <arm\+0xbc>
a0e0: e59f4000 ldr r4, \[pc\] ; a0e8 <arm\+0xc0>
#------------------------------------------------------------------------------
@@ -431,15 +443,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
- a0ec: ebfffbf1 bl 90b8 <aaf1-0xf48>
+ a0ec: ebfffbf1 bl 90b8 <abf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
- a0f0: eafffbf0 b 90b8 <aaf1-0xf48>
+ a0f0: eafffbf0 b 90b8 <abf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
- a0f4: 0afffbef beq 90b8 <aaf1-0xf48>
+ a0f4: 0afffbef beq 90b8 <abf2@plt\+0x4>
a0f8: e59f4000 ldr r4, \[pc\] ; a100 <arm\+0xd8>
a0fc: e59f4000 ldr r4, \[pc\] ; a104 <arm\+0xdc>
#------------------------------------------------------------------------------
@@ -453,15 +465,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
- a108: ebfffbcd bl 9044 <aaf1-0xfbc>
+ a108: ebfffbcd bl 9044 <tbf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
- a10c: eafffbcc b 9044 <aaf1-0xfbc>
+ a10c: eafffbcc b 9044 <tbf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
- a110: 0afffbcb beq 9044 <aaf1-0xfbc>
+ a110: 0afffbcb beq 9044 <tbf2@plt\+0x4>
a114: e59f4000 ldr r4, \[pc\] ; a11c <arm\+0xf4>
a118: e59f4000 ldr r4, \[pc\] ; a120 <arm\+0xf8>
#------------------------------------------------------------------------------
@@ -475,15 +487,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ aaf3's .iplt entry
#------------------------------------------------------------------------------
- a124: ebfffc0f bl 9168 <aaf1-0xe98>
+ a124: ebfffc0f bl 9168 <abf2@plt\+0xb4>
#------------------------------------------------------------------------------
#------ aaf3's .iplt entry
#------------------------------------------------------------------------------
- a128: eafffc0e b 9168 <aaf1-0xe98>
+ a128: eafffc0e b 9168 <abf2@plt\+0xb4>
#------------------------------------------------------------------------------
#------ aaf3's .iplt entry
#------------------------------------------------------------------------------
- a12c: 0afffc0d beq 9168 <aaf1-0xe98>
+ a12c: 0afffc0d beq 9168 <abf2@plt\+0xb4>
a130: e59f4000 ldr r4, \[pc\] ; a138 <arm\+0x110>
a134: e59f4000 ldr r4, \[pc\] ; a13c <arm\+0x114>
#------------------------------------------------------------------------------
@@ -497,15 +509,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ taf3's .iplt entry
#------------------------------------------------------------------------------
- a140: ebfffc05 bl 915c <aaf1-0xea4>
+ a140: ebfffc05 bl 915c <abf2@plt\+0xa8>
#------------------------------------------------------------------------------
#------ taf3's .iplt entry
#------------------------------------------------------------------------------
- a144: eafffc04 b 915c <aaf1-0xea4>
+ a144: eafffc04 b 915c <abf2@plt\+0xa8>
#------------------------------------------------------------------------------
#------ taf3's .iplt entry
#------------------------------------------------------------------------------
- a148: 0afffc03 beq 915c <aaf1-0xea4>
+ a148: 0afffc03 beq 915c <abf2@plt\+0xa8>
a14c: e59f4000 ldr r4, \[pc\] ; a154 <arm\+0x12c>
a150: e59f4000 ldr r4, \[pc\] ; a158 <arm\+0x130>
#------------------------------------------------------------------------------
@@ -519,15 +531,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf3's .iplt entry
#------------------------------------------------------------------------------
- a15c: ebfffbf3 bl 9130 <aaf1-0xed0>
+ a15c: ebfffbf3 bl 9130 <abf2@plt\+0x7c>
#------------------------------------------------------------------------------
#------ abf3's .iplt entry
#------------------------------------------------------------------------------
- a160: eafffbf2 b 9130 <aaf1-0xed0>
+ a160: eafffbf2 b 9130 <abf2@plt\+0x7c>
#------------------------------------------------------------------------------
#------ abf3's .iplt entry
#------------------------------------------------------------------------------
- a164: 0afffbf1 beq 9130 <aaf1-0xed0>
+ a164: 0afffbf1 beq 9130 <abf2@plt\+0x7c>
a168: e59f4000 ldr r4, \[pc\] ; a170 <arm\+0x148>
a16c: e59f4000 ldr r4, \[pc\] ; a174 <arm\+0x14c>
#------------------------------------------------------------------------------
@@ -541,15 +553,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf3's .iplt entry
#------------------------------------------------------------------------------
- a178: ebfffbf4 bl 9150 <aaf1-0xeb0>
+ a178: ebfffbf4 bl 9150 <abf2@plt\+0x9c>
#------------------------------------------------------------------------------
#------ tbf3's .iplt entry
#------------------------------------------------------------------------------
- a17c: eafffbf3 b 9150 <aaf1-0xeb0>
+ a17c: eafffbf3 b 9150 <abf2@plt\+0x9c>
#------------------------------------------------------------------------------
#------ tbf3's .iplt entry
#------------------------------------------------------------------------------
- a180: 0afffbf2 beq 9150 <aaf1-0xeb0>
+ a180: 0afffbf2 beq 9150 <abf2@plt\+0x9c>
a184: e59f4000 ldr r4, \[pc\] ; a18c <arm\+0x164>
a188: e59f4000 ldr r4, \[pc\] ; a190 <arm\+0x168>
#------------------------------------------------------------------------------
@@ -563,15 +575,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ aaf4's .plt entry
#------------------------------------------------------------------------------
- a194: ebfffba2 bl 9024 <aaf1-0xfdc>
+ a194: ebfffba2 bl 9024 <aaf4@plt>
#------------------------------------------------------------------------------
#------ aaf4's .plt entry
#------------------------------------------------------------------------------
- a198: eafffba1 b 9024 <aaf1-0xfdc>
+ a198: eafffba1 b 9024 <aaf4@plt>
#------------------------------------------------------------------------------
#------ aaf4's .plt entry
#------------------------------------------------------------------------------
- a19c: 0afffba0 beq 9024 <aaf1-0xfdc>
+ a19c: 0afffba0 beq 9024 <aaf4@plt>
a1a0: e59f4000 ldr r4, \[pc\] ; a1a8 <arm\+0x180>
a1a4: e59f4000 ldr r4, \[pc\] ; a1ac <arm\+0x184>
#------------------------------------------------------------------------------
@@ -585,15 +597,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ taf4's .plt entry
#------------------------------------------------------------------------------
- a1b0: ebfffbbc bl 90a8 <aaf1-0xf58>
+ a1b0: ebfffbbc bl 90a8 <taf4@plt>
#------------------------------------------------------------------------------
#------ taf4's .plt entry
#------------------------------------------------------------------------------
- a1b4: eafffbbb b 90a8 <aaf1-0xf58>
+ a1b4: eafffbbb b 90a8 <taf4@plt>
#------------------------------------------------------------------------------
#------ taf4's .plt entry
#------------------------------------------------------------------------------
- a1b8: 0afffbba beq 90a8 <aaf1-0xf58>
+ a1b8: 0afffbba beq 90a8 <taf4@plt>
a1bc: e59f4000 ldr r4, \[pc\] ; a1c4 <arm\+0x19c>
a1c0: e59f4000 ldr r4, \[pc\] ; a1c8 <arm\+0x1a0>
#------------------------------------------------------------------------------
@@ -607,15 +619,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf4's .plt entry
#------------------------------------------------------------------------------
- a1cc: ebfffba6 bl 906c <aaf1-0xf94>
+ a1cc: ebfffba6 bl 906c <abf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ abf4's .plt entry
#------------------------------------------------------------------------------
- a1d0: eafffba5 b 906c <aaf1-0xf94>
+ a1d0: eafffba5 b 906c <abf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ abf4's .plt entry
#------------------------------------------------------------------------------
- a1d4: 0afffba4 beq 906c <aaf1-0xf94>
+ a1d4: 0afffba4 beq 906c <abf4@plt\+0x4>
a1d8: e59f4000 ldr r4, \[pc\] ; a1e0 <arm\+0x1b8>
a1dc: e59f4000 ldr r4, \[pc\] ; a1e4 <arm\+0x1bc>
#------------------------------------------------------------------------------
@@ -629,15 +641,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf4's .plt entry
#------------------------------------------------------------------------------
- a1e8: ebfffba3 bl 907c <aaf1-0xf84>
+ a1e8: ebfffba3 bl 907c <tbf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ tbf4's .plt entry
#------------------------------------------------------------------------------
- a1ec: eafffba2 b 907c <aaf1-0xf84>
+ a1ec: eafffba2 b 907c <tbf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ tbf4's .plt entry
#------------------------------------------------------------------------------
- a1f0: 0afffba1 beq 907c <aaf1-0xf84>
+ a1f0: 0afffba1 beq 907c <tbf4@plt\+0x4>
a1f4: e59f4000 ldr r4, \[pc\] ; a1fc <arm\+0x1d4>
a1f8: e59f4000 ldr r4, \[pc\] ; a200 <arm\+0x1d8>
#------------------------------------------------------------------------------
@@ -666,15 +678,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ atf1's .iplt entry
#------------------------------------------------------------------------------
- a21c: f7fe ef5a blx 90d4 <aaf1-0xf2c>
+ a21c: f7fe ef5a blx 90d4 <abf2@plt\+0x20>
#------------------------------------------------------------------------------
#------ thumb entry to atf1's .iplt entry
#------------------------------------------------------------------------------
- a220: f7fe bf56 b\.w 90d0 <aaf1-0xf30>
+ a220: f7fe bf56 b\.w 90d0 <abf2@plt\+0x1c>
#------------------------------------------------------------------------------
#------ thumb entry to atf1's .iplt entry
#------------------------------------------------------------------------------
- a224: f43e af54 beq\.w 90d0 <aaf1-0xf30>
+ a224: f43e af54 beq\.w 90d0 <abf2@plt\+0x1c>
a228: 4c00 ldr r4, \[pc, #0\] ; \(a22c <_thumb\+0x28>\)
a22a: 4c01 ldr r4, \[pc, #4\] ; \(a230 <_thumb\+0x2c>\)
#------------------------------------------------------------------------------
@@ -688,15 +700,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ ttf1's .iplt entry
#------------------------------------------------------------------------------
- a234: f7fe ef64 blx 9100 <aaf1-0xf00>
+ a234: f7fe ef64 blx 9100 <abf2@plt\+0x4c>
#------------------------------------------------------------------------------
#------ thumb entry to ttf1's .iplt entry
#------------------------------------------------------------------------------
- a238: f7fe bf60 b\.w 90fc <aaf1-0xf04>
+ a238: f7fe bf60 b\.w 90fc <abf2@plt\+0x48>
#------------------------------------------------------------------------------
#------ thumb entry to ttf1's .iplt entry
#------------------------------------------------------------------------------
- a23c: f43e af5e beq\.w 90fc <aaf1-0xf04>
+ a23c: f43e af5e beq\.w 90fc <abf2@plt\+0x48>
a240: 4c00 ldr r4, \[pc, #0\] ; \(a244 <_thumb\+0x40>\)
a242: 4c01 ldr r4, \[pc, #4\] ; \(a248 <_thumb\+0x44>\)
#------------------------------------------------------------------------------
@@ -710,15 +722,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
- a24c: f7fe ef4a blx 90e4 <aaf1-0xf1c>
+ a24c: f7fe ef4a blx 90e4 <abf2@plt\+0x30>
#------------------------------------------------------------------------------
#------ thumb entry to abf1's .iplt entry
#------------------------------------------------------------------------------
- a250: f7fe bf46 b\.w 90e0 <aaf1-0xf20>
+ a250: f7fe bf46 b\.w 90e0 <abf2@plt\+0x2c>
#------------------------------------------------------------------------------
#------ thumb entry to abf1's .iplt entry
#------------------------------------------------------------------------------
- a254: f43e af44 beq\.w 90e0 <aaf1-0xf20>
+ a254: f43e af44 beq\.w 90e0 <abf2@plt\+0x2c>
a258: 4c00 ldr r4, \[pc, #0\] ; \(a25c <_thumb\+0x58>\)
a25a: 4c01 ldr r4, \[pc, #4\] ; \(a260 <_thumb\+0x5c>\)
#------------------------------------------------------------------------------
@@ -732,15 +744,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
- a264: f7fe ef54 blx 9110 <aaf1-0xef0>
+ a264: f7fe ef54 blx 9110 <abf2@plt\+0x5c>
#------------------------------------------------------------------------------
#------ thumb entry to tbf1's .iplt entry
#------------------------------------------------------------------------------
- a268: f7fe bf50 b\.w 910c <aaf1-0xef4>
+ a268: f7fe bf50 b\.w 910c <abf2@plt\+0x58>
#------------------------------------------------------------------------------
#------ thumb entry to tbf1's .iplt entry
#------------------------------------------------------------------------------
- a26c: f43e af4e beq\.w 910c <aaf1-0xef4>
+ a26c: f43e af4e beq\.w 910c <abf2@plt\+0x58>
a270: 4c00 ldr r4, \[pc, #0\] ; \(a274 <_thumb\+0x70>\)
a272: 4c01 ldr r4, \[pc, #4\] ; \(a278 <_thumb\+0x74>\)
#------------------------------------------------------------------------------
@@ -754,15 +766,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ atf2's .plt entry
#------------------------------------------------------------------------------
- a27c: f7fe eecc blx 9018 <aaf1-0xfe8>
+ a27c: f7fe eecc blx 9018 <atf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to atf2's .plt entry
#------------------------------------------------------------------------------
- a280: f7fe bec8 b\.w 9014 <aaf1-0xfec>
+ a280: f7fe bec8 b\.w 9014 <atf2@plt>
#------------------------------------------------------------------------------
#------ thumb entry to atf2's .plt entry
#------------------------------------------------------------------------------
- a284: f43e aec6 beq\.w 9014 <aaf1-0xfec>
+ a284: f43e aec6 beq\.w 9014 <atf2@plt>
a288: 4c00 ldr r4, \[pc, #0\] ; \(a28c <_thumb\+0x88>\)
a28a: 4c01 ldr r4, \[pc, #4\] ; \(a290 <_thumb\+0x8c>\)
#------------------------------------------------------------------------------
@@ -776,15 +788,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ ttf2's .plt entry
#------------------------------------------------------------------------------
- a294: f7fe eece blx 9034 <aaf1-0xfcc>
+ a294: f7fe eece blx 9034 <ttf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to ttf2's .plt entry
#------------------------------------------------------------------------------
- a298: f7fe beca b\.w 9030 <aaf1-0xfd0>
+ a298: f7fe beca b\.w 9030 <ttf2@plt>
#------------------------------------------------------------------------------
#------ thumb entry to ttf2's .plt entry
#------------------------------------------------------------------------------
- a29c: f43e aec8 beq\.w 9030 <aaf1-0xfd0>
+ a29c: f43e aec8 beq\.w 9030 <ttf2@plt>
a2a0: 4c00 ldr r4, \[pc, #0\] ; \(a2a4 <_thumb\+0xa0>\)
a2a2: 4c01 ldr r4, \[pc, #4\] ; \(a2a8 <_thumb\+0xa4>\)
#------------------------------------------------------------------------------
@@ -798,15 +810,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
- a2ac: f7fe ef04 blx 90b8 <aaf1-0xf48>
+ a2ac: f7fe ef04 blx 90b8 <abf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to abf2's .plt entry
#------------------------------------------------------------------------------
- a2b0: f7fe bf00 b\.w 90b4 <aaf1-0xf4c>
+ a2b0: f7fe bf00 b\.w 90b4 <abf2@plt>
#------------------------------------------------------------------------------
#------ thumb entry to abf2's .plt entry
#------------------------------------------------------------------------------
- a2b4: f43e aefe beq\.w 90b4 <aaf1-0xf4c>
+ a2b4: f43e aefe beq\.w 90b4 <abf2@plt>
a2b8: 4c00 ldr r4, \[pc, #0\] ; \(a2bc <_thumb\+0xb8>\)
a2ba: 4c01 ldr r4, \[pc, #4\] ; \(a2c0 <_thumb\+0xbc>\)
#------------------------------------------------------------------------------
@@ -820,15 +832,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
- a2c4: f7fe eebe blx 9044 <aaf1-0xfbc>
+ a2c4: f7fe eebe blx 9044 <tbf2@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to tbf2's .plt entry
#------------------------------------------------------------------------------
- a2c8: f7fe beba b\.w 9040 <aaf1-0xfc0>
+ a2c8: f7fe beba b\.w 9040 <tbf2@plt>
#------------------------------------------------------------------------------
#------ thumb entry to tbf2's .plt entry
#------------------------------------------------------------------------------
- a2cc: f43e aeb8 beq\.w 9040 <aaf1-0xfc0>
+ a2cc: f43e aeb8 beq\.w 9040 <tbf2@plt>
a2d0: 4c00 ldr r4, \[pc, #0\] ; \(a2d4 <_thumb\+0xd0>\)
a2d2: 4c01 ldr r4, \[pc, #4\] ; \(a2d8 <_thumb\+0xd4>\)
#------------------------------------------------------------------------------
@@ -842,15 +854,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ atf3's .iplt entry
#------------------------------------------------------------------------------
- a2dc: f7fe ef20 blx 9120 <aaf1-0xee0>
+ a2dc: f7fe ef20 blx 9120 <abf2@plt\+0x6c>
#------------------------------------------------------------------------------
#------ thumb entry to atf3's .iplt entry
#------------------------------------------------------------------------------
- a2e0: f7fe bf1c b\.w 911c <aaf1-0xee4>
+ a2e0: f7fe bf1c b\.w 911c <abf2@plt\+0x68>
#------------------------------------------------------------------------------
#------ thumb entry to atf3's .iplt entry
#------------------------------------------------------------------------------
- a2e4: f43e af1a beq\.w 911c <aaf1-0xee4>
+ a2e4: f43e af1a beq\.w 911c <abf2@plt\+0x68>
a2e8: 4c00 ldr r4, \[pc, #0\] ; \(a2ec <_thumb\+0xe8>\)
a2ea: 4c01 ldr r4, \[pc, #4\] ; \(a2f0 <_thumb\+0xec>\)
#------------------------------------------------------------------------------
@@ -864,15 +876,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ ttf3's .iplt entry
#------------------------------------------------------------------------------
- a2f4: f7fe ef24 blx 9140 <aaf1-0xec0>
+ a2f4: f7fe ef24 blx 9140 <abf2@plt\+0x8c>
#------------------------------------------------------------------------------
#------ thumb entry to ttf3's .iplt entry
#------------------------------------------------------------------------------
- a2f8: f7fe bf20 b\.w 913c <aaf1-0xec4>
+ a2f8: f7fe bf20 b\.w 913c <abf2@plt\+0x88>
#------------------------------------------------------------------------------
#------ thumb entry to ttf3's .iplt entry
#------------------------------------------------------------------------------
- a2fc: f43e af1e beq\.w 913c <aaf1-0xec4>
+ a2fc: f43e af1e beq\.w 913c <abf2@plt\+0x88>
a300: 4c00 ldr r4, \[pc, #0\] ; \(a304 <_thumb\+0x100>\)
a302: 4c01 ldr r4, \[pc, #4\] ; \(a308 <_thumb\+0x104>\)
#------------------------------------------------------------------------------
@@ -886,15 +898,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf3's .iplt entry
#------------------------------------------------------------------------------
- a30c: f7fe ef10 blx 9130 <aaf1-0xed0>
+ a30c: f7fe ef10 blx 9130 <abf2@plt\+0x7c>
#------------------------------------------------------------------------------
#------ thumb entry to abf3's .iplt entry
#------------------------------------------------------------------------------
- a310: f7fe bf0c b\.w 912c <aaf1-0xed4>
+ a310: f7fe bf0c b\.w 912c <abf2@plt\+0x78>
#------------------------------------------------------------------------------
#------ thumb entry to abf3's .iplt entry
#------------------------------------------------------------------------------
- a314: f43e af0a beq\.w 912c <aaf1-0xed4>
+ a314: f43e af0a beq\.w 912c <abf2@plt\+0x78>
a318: 4c00 ldr r4, \[pc, #0\] ; \(a31c <_thumb\+0x118>\)
a31a: 4c01 ldr r4, \[pc, #4\] ; \(a320 <_thumb\+0x11c>\)
#------------------------------------------------------------------------------
@@ -908,15 +920,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf3's .iplt entry
#------------------------------------------------------------------------------
- a324: f7fe ef14 blx 9150 <aaf1-0xeb0>
+ a324: f7fe ef14 blx 9150 <abf2@plt\+0x9c>
#------------------------------------------------------------------------------
#------ thumb entry to tbf3's .iplt entry
#------------------------------------------------------------------------------
- a328: f7fe bf10 b\.w 914c <aaf1-0xeb4>
+ a328: f7fe bf10 b\.w 914c <abf2@plt\+0x98>
#------------------------------------------------------------------------------
#------ thumb entry to tbf3's .iplt entry
#------------------------------------------------------------------------------
- a32c: f43e af0e beq\.w 914c <aaf1-0xeb4>
+ a32c: f43e af0e beq\.w 914c <abf2@plt\+0x98>
a330: 4c00 ldr r4, \[pc, #0\] ; \(a334 <_thumb\+0x130>\)
a332: 4c01 ldr r4, \[pc, #4\] ; \(a338 <_thumb\+0x134>\)
#------------------------------------------------------------------------------
@@ -930,15 +942,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ atf4's .plt entry
#------------------------------------------------------------------------------
- a33c: f7fe eeae blx 909c <aaf1-0xf64>
+ a33c: f7fe eeae blx 909c <atf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to atf4's .plt entry
#------------------------------------------------------------------------------
- a340: f7fe beaa b\.w 9098 <aaf1-0xf68>
+ a340: f7fe beaa b\.w 9098 <atf4@plt>
#------------------------------------------------------------------------------
#------ thumb entry to atf4's .plt entry
#------------------------------------------------------------------------------
- a344: f43e aea8 beq\.w 9098 <aaf1-0xf68>
+ a344: f43e aea8 beq\.w 9098 <atf4@plt>
a348: 4c00 ldr r4, \[pc, #0\] ; \(a34c <_thumb\+0x148>\)
a34a: 4c01 ldr r4, \[pc, #4\] ; \(a350 <_thumb\+0x14c>\)
#------------------------------------------------------------------------------
@@ -952,15 +964,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ ttf4's .plt entry
#------------------------------------------------------------------------------
- a354: f7fe ee9a blx 908c <aaf1-0xf74>
+ a354: f7fe ee9a blx 908c <ttf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to ttf4's .plt entry
#------------------------------------------------------------------------------
- a358: f7fe be96 b\.w 9088 <aaf1-0xf78>
+ a358: f7fe be96 b\.w 9088 <ttf4@plt>
#------------------------------------------------------------------------------
#------ thumb entry to ttf4's .plt entry
#------------------------------------------------------------------------------
- a35c: f43e ae94 beq\.w 9088 <aaf1-0xf78>
+ a35c: f43e ae94 beq\.w 9088 <ttf4@plt>
a360: 4c00 ldr r4, \[pc, #0\] ; \(a364 <_thumb\+0x160>\)
a362: 4c01 ldr r4, \[pc, #4\] ; \(a368 <_thumb\+0x164>\)
#------------------------------------------------------------------------------
@@ -974,15 +986,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ abf4's .plt entry
#------------------------------------------------------------------------------
- a36c: f7fe ee7e blx 906c <aaf1-0xf94>
+ a36c: f7fe ee7e blx 906c <abf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to abf4's .plt entry
#------------------------------------------------------------------------------
- a370: f7fe be7a b\.w 9068 <aaf1-0xf98>
+ a370: f7fe be7a b\.w 9068 <abf4@plt>
#------------------------------------------------------------------------------
#------ thumb entry to abf4's .plt entry
#------------------------------------------------------------------------------
- a374: f43e ae78 beq\.w 9068 <aaf1-0xf98>
+ a374: f43e ae78 beq\.w 9068 <abf4@plt>
a378: 4c00 ldr r4, \[pc, #0\] ; \(a37c <_thumb\+0x178>\)
a37a: 4c01 ldr r4, \[pc, #4\] ; \(a380 <_thumb\+0x17c>\)
#------------------------------------------------------------------------------
@@ -996,15 +1008,15 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ tbf4's .plt entry
#------------------------------------------------------------------------------
- a384: f7fe ee7a blx 907c <aaf1-0xf84>
+ a384: f7fe ee7a blx 907c <tbf4@plt\+0x4>
#------------------------------------------------------------------------------
#------ thumb entry to tbf4's .plt entry
#------------------------------------------------------------------------------
- a388: f7fe be76 b\.w 9078 <aaf1-0xf88>
+ a388: f7fe be76 b\.w 9078 <tbf4@plt>
#------------------------------------------------------------------------------
#------ thumb entry to tbf4's .plt entry
#------------------------------------------------------------------------------
- a38c: f43e ae74 beq\.w 9078 <aaf1-0xf88>
+ a38c: f43e ae74 beq\.w 9078 <tbf4@plt>
a390: 4c00 ldr r4, \[pc, #0\] ; \(a394 <_thumb\+0x190>\)
a392: 4c01 ldr r4, \[pc, #4\] ; \(a398 <_thumb\+0x194>\)
#------------------------------------------------------------------------------
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-8.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-8.gd
index 7efefa06..356f0422 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-8.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-8.gd
@@ -8,28 +8,28 @@ Contents of section \.data:
#------ 00010008: contains PC-relative offset of aaf1's .iplt entry
#------ 0001000c: contains atf1 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10000 44332211 00a00000 bc90ffff 04a00000 .*
+ 10000 (44332211 00a00000 bc90ffff 04a00000|11223344 0000a000 ffff90bc 0000a004) .*
#------------------------------------------------------------------------------
#------ 00010010: contains PC-relative offset of atf1's .iplt entry
#------ 00010014: contains abf1 [R_ARM_IRELATIVE]
#------ 00010018: contains PC-relative offset of abf1's .iplt entry
#------ 0001001c: contains taf1 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10010 c490ffff 08a00000 cc90ffff 0da00000 .*
+ 10010 (c490ffff 08a00000 cc90ffff 0da00000|ffff90c4 0000a008 ffff90cc 0000a00d) .*
#------------------------------------------------------------------------------
#------ 00010020: contains PC-relative offset of taf1's .iplt entry
#------ 00010024: contains ttf1 [R_ARM_IRELATIVE]
#------ 00010028: contains PC-relative offset of ttf1's .iplt entry
#------ 0001002c: contains tbf1 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10020 d090ffff 0fa00000 d890ffff 11a00000 .*
+ 10020 (d090ffff 0fa00000 d890ffff 11a00000|ffff90d0 0000a00f ffff90d8 0000a011) .*
#------------------------------------------------------------------------------
#------ 00010030: contains PC-relative offset of tbf1's .iplt entry
#------ 00010034: aaf2 [R_ARM_ABS32]
#------ 00010038: aaf2 [R_ARM_REL32]
#------ 0001003c: atf2 [R_ARM_ABS32]
#------------------------------------------------------------------------------
- 10030 e090ffff 00000000 00000000 00000000 .*
+ 10030 (e090ffff|ffff90e0) 00000000 00000000 00000000 .*
#------------------------------------------------------------------------------
#------ 00010040: atf2 [R_ARM_REL32]
#------ 00010044: abf2 [R_ARM_ABS32]
@@ -50,28 +50,28 @@ Contents of section \.data:
#------ 00010068: contains PC-relative offset of aaf3's .iplt entry
#------ 0001006c: contains atf3 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10060 00000000 14a00000 0091ffff 18a00000 .*
+ 10060 00000000 (14a00000 0091ffff 18a00000|0000a014 ffff9100 0000a018) .*
#------------------------------------------------------------------------------
#------ 00010070: contains PC-relative offset of atf3's .iplt entry
#------ 00010074: contains abf3 [R_ARM_IRELATIVE]
#------ 00010078: contains PC-relative offset of abf3's .iplt entry
#------ 0001007c: contains taf3 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10070 b090ffff 1ca00000 b890ffff 21a00000 .*
+ 10070 (b090ffff 1ca00000 b890ffff 21a00000|ffff90b0 0000a01c ffff90b8 0000a021) .*
#------------------------------------------------------------------------------
#------ 00010080: contains PC-relative offset of taf3's .iplt entry
#------ 00010084: contains ttf3 [R_ARM_IRELATIVE]
#------ 00010088: contains PC-relative offset of ttf3's .iplt entry
#------ 0001008c: contains tbf3 [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 10080 dc90ffff 23a00000 b890ffff 25a00000 .*
+ 10080 (dc90ffff 23a00000 b890ffff 25a00000|ffff90dc 0000a023 ffff90b8 0000a025) .*
#------------------------------------------------------------------------------
#------ 00010090: contains PC-relative offset of tbf3's .iplt entry
#------ 00010094: aaf4 [R_ARM_ABS32]
#------ 00010098: aaf4 [R_ARM_REL32]
#------ 0001009c: atf4 [R_ARM_ABS32]
#------------------------------------------------------------------------------
- 10090 c090ffff 00000000 00000000 00000000 .*
+ 10090 (c090ffff|ffff90c0) 00000000 00000000 00000000 .*
#------------------------------------------------------------------------------
#------ 000100a0: atf4 [R_ARM_REL32]
#------ 000100a4: abf4 [R_ARM_ABS32]
@@ -97,56 +97,56 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: atf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11000 00200100 00000000 00000000 00900000 .*
+ 11000 (00200100 00000000 00000000 00900000|00012000 00000000 00000000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011010: aaf4's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011014: ttf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011018: tbf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 0001101c: taf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11010 00900000 00900000 00900000 00900000 .*
+ 11010 (00900000 00900000 00900000 00900000|00009000 00009000 00009000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011020: aaf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011024: abf4's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011028: tbf4's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 0001102c: ttf4's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11020 00900000 00900000 00900000 00900000 .*
+ 11020 (00900000 00900000 00900000 00900000|00009000 00009000 00009000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011030: atf4's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011034: taf4's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 00011038: abf2's .got.plt entry [R_ARM_JUMP_SLOT]
#------ 0001103c: aaf1's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11030 00900000 00900000 00900000 00a00000 .*
+ 11030 (00900000 00900000 00900000 00a00000|00009000 00009000 00009000 0000a000) .*
#------------------------------------------------------------------------------
#------ 00011040: atf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011044: abf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011048: taf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001104c: ttf1's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11040 04a00000 08a00000 0da00000 0fa00000 .*
+ 11040 (04a00000 08a00000 0da00000 0fa00000|0000a004 0000a008 0000a00d 0000a00f) .*
#------------------------------------------------------------------------------
#------ 00011050: tbf1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011054: atf3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011058: abf3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001105c: ttf3's .igot.plt entry [R_ARM_IRELATIVE]
#------------------------------------------------------------------------------
- 11050 11a00000 18a00000 1ca00000 23a00000 .*
+ 11050 (11a00000 18a00000 1ca00000 23a00000|0000a011 0000a018 0000a01c 0000a023) .*
#------------------------------------------------------------------------------
#------ 00011060: tbf3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011064: taf3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011068: aaf3's .igot.plt entry [R_ARM_IRELATIVE]
#------ 0001106c: .got entry for foo [R_ARM_RELATIVE]
#------------------------------------------------------------------------------
- 11060 25a00000 21a00000 14a00000 00000100 .*
+ 11060 (25a00000 21a00000 14a00000 00000100|0000a025 0000a021 0000a014 00010000) .*
#------------------------------------------------------------------------------
#------ 00011070: .got entry for foo [R_ARM_RELATIVE]
#------ 00011074: .got entry for atf2 [R_ARM_GLOB_DAT]
#------ 00011078: .got entry for aaf4 [R_ARM_GLOB_DAT]
#------ 0001107c: .got entry for ttf2 [R_ARM_GLOB_DAT]
#------------------------------------------------------------------------------
- 11070 00000100 00000000 00000000 00000000 .*
+ 11070 (00000100|00010000) 00000000 00000000 00000000 .*
#------------------------------------------------------------------------------
#------ 00011080: .got entry for tbf2 [R_ARM_GLOB_DAT]
#------ 00011084: .got entry for taf2 [R_ARM_GLOB_DAT]
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-9.dd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-9.dd
index 36139d9c..af7ec4b0 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-9.dd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-9.dd
@@ -4,9 +4,9 @@
Disassembly of section \.plt:
-00009000 <\.plt>:
+00009000 <f2@plt-0x14>:
9000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- 9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <f3-0x1c>
+ 9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <f2@plt-0x4>
9008: e08fe00e add lr, pc, lr
900c: e5bef008 ldr pc, \[lr, #8\]!
#------------------------------------------------------------------------------
@@ -16,6 +16,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
#------ f2's .plt entry
#------------------------------------------------------------------------------
+00009014 <f2@plt>:
9014: e28fc600 add ip, pc, #0, 12
9018: e28cca07 add ip, ip, #28672 ; 0x7000
901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0
@@ -71,7 +72,7 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
- a034: ebfffbf9 bl 9020 <f3-0xc>
+ a034: ebfffbf9 bl 9020 <f2@plt\+0xc>
a038: e59f400c ldr r4, \[pc, #12\] ; a04c <_start\+0x44>
a03c: e59f400c ldr r4, \[pc, #12\] ; a050 <_start\+0x48>
a040: e59f400c ldr r4, \[pc, #12\] ; a054 <_start\+0x4c>
@@ -100,7 +101,7 @@ Disassembly of section \.text:
#------------------------------------------------------------------------------
#------ f2's .plt entry
#------------------------------------------------------------------------------
- a060: ebfffbeb bl 9014 <f3-0x18>
+ a060: ebfffbeb bl 9014 <f2@plt>
a064: e59f400c ldr r4, \[pc, #12\] ; a078 <_start\+0x70>
a068: e59f400c ldr r4, \[pc, #12\] ; a07c <_start\+0x74>
a06c: e59f400c ldr r4, \[pc, #12\] ; a080 <_start\+0x78>
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-9.gd b/binutils-2.25/ld/testsuite/ld-arm/ifunc-9.gd
index 6f220d1c..54cd830f 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/ifunc-9.gd
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-9.gd
@@ -5,7 +5,7 @@ Contents of section \.data:
#------------------------------------------------------------------------------
#------ 00010000: foo
#------------------------------------------------------------------------------
- 10000 44332211 .*
+ 10000 (44332211|11223344) .*
Contents of section \.got:
#------------------------------------------------------------------------------
#------ 00011000: .got.plt
@@ -13,17 +13,17 @@ Contents of section \.got:
#------ 00011008: reserved .got.plt entry
#------ 0001100c: f2's .got.plt entry [R_ARM_JUMP_SLOT]
#------------------------------------------------------------------------------
- 11000 00200100 00000000 00000000 00900000 .*
+ 11000 (00200100 00000000 00000000 00900000|00012000 00000000 00000000 00009000) .*
#------------------------------------------------------------------------------
#------ 00011010: f1's .igot.plt entry [R_ARM_IRELATIVE]
#------ 00011014: f3's .igot.plt pointer to 0xa004 [R_ARM_IRELATIVE]
#------ 00011018: .got entry for foo
#------ 0001101c: .got entry for f1's .iplt entry
#------------------------------------------------------------------------------
- 11010 00a00000 04a00000 00000100 20900000 .*
+ 11010 (00a00000 04a00000 00000100 20900000|0000a000 0000a004 00010000 00009020) .*
#------------------------------------------------------------------------------
#------ 00011020: .got entry for foo
#------ 00011024: .got entry for f3
#------ 00011028: .got entry for f2 [R_ARM_GLOB_DAT]
#------------------------------------------------------------------------------
- 11020 00000100 2c900000 00000000 .*
+ 11020 (00000100 2c900000|00010000 0000902c) 00000000 .*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-gdesc.r b/binutils-2.25/ld/testsuite/ld-arm/ifunc-gdesc.r
new file mode 100644
index 00000000..20f5ccc3
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-gdesc.r
@@ -0,0 +1,6 @@
+tmpdir/ifunc-gdesc.so: file format elf32-(big|little)arm
+DYNAMIC RELOCATION RECORDS
+OFFSET TYPE VALUE
+0001025c R_ARM_IRELATIVE \*ABS\*
+00010248 R_ARM_TLS_DESC \*ABS\*
+00010250 R_ARM_TLS_DESC \*ABS\*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-gdesc.s b/binutils-2.25/ld/testsuite/ld-arm/ifunc-gdesc.s
new file mode 100644
index 00000000..a07a5d51
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-gdesc.s
@@ -0,0 +1,29 @@
+
+ .arm
+
+foo:
+ bl ifunc1(PLT)
+ ldr r0,1f
+2: bl loc1(tlscall)
+ nop
+1: .word loc1(tlsdesc) + (. - 2b)
+
+ ldr r0,1f
+2: bl loc2(tlscall)
+ nop
+1: .word loc2(tlsdesc) + (. - 2b)
+
+ .type ifunc1,%gnu_indirect_function
+ .global ifunc1
+ifunc1:
+ mov pc,lr
+ .size ifunc1,.-ifunc1
+
+
+ .section .tdata,"awT",%progbits
+ .space 8
+ .type loc1, %object
+loc1: .space 4
+ .type loc2, %object
+loc2: .space 4
+
diff --git a/binutils-2.25/ld/testsuite/ld-arm/ifunc-gdesc.ver b/binutils-2.25/ld/testsuite/ld-arm/ifunc-gdesc.ver
new file mode 100644
index 00000000..a82ffc4e
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/ifunc-gdesc.ver
@@ -0,0 +1,4 @@
+{
+global: foo;
+local: *;
+}; \ No newline at end of file
diff --git a/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-long-backward.d b/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-long-backward.d
new file mode 100644
index 00000000..ee0709ad
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-long-backward.d
@@ -0,0 +1,24 @@
+
+.*: file format.*
+
+
+Disassembly of section destsect:
+
+00008002 <[^>]*>:
+ 8002: f7ff fffe bl 8002 <dest>
+
+Disassembly of section .text:
+
+001080.. <[^>]*>:
+ 1080..: f040 8002 bne.w 108008 <__dest_veneer>
+ 1080..: 0000 movs r0, r0
+ ...
+
+001080.. <[^>]*>:
+ 1080..: b401 push {r0}
+ 1080..: 4802 ldr r0, \[pc, #8\] ; \(108014 <__dest_veneer\+0xc>\)
+ 1080..: 4684 mov ip, r0
+ 1080..: bc01 pop {r0}
+ 1080..: 4760 bx ip
+ 1080..: bf00 nop
+ 1080..: 00008003 .word 0x00008003
diff --git a/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-long.d b/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-long.d
new file mode 100644
index 00000000..276a24e4
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-long.d
@@ -0,0 +1,24 @@
+
+.*: file format.*
+
+
+Disassembly of section destsect:
+
+00108004 <[^>]*>:
+ 108004: f7ff fffe bl 108004 <dest>
+
+Disassembly of section .text:
+
+000080.. <[^>]*>:
+ 80..: (8002f040|f0408002) .word 0x(8002f040|f0408002)
+ 80..: 0000 movs r0, r0
+ ...
+
+000080.. <[^>]*>:
+ 80..: b401 push {r0}
+ 80..: 4802 ldr r0, \[pc, #8\] ; \(80.. <__dest_veneer\+0xc>\)
+ 80..: 4684 mov ip, r0
+ 80..: bc01 pop {r0}
+ 80..: 4760 bx ip
+ 80..: bf00 nop
+ 80..: 00108005 .word 0x00108005
diff --git a/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-short-backward.d b/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-short-backward.d
new file mode 100644
index 00000000..d05425b1
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-short-backward.d
@@ -0,0 +1,13 @@
+
+.*: file format.*
+
+
+Disassembly of section destsect:
+
+00008004 <[^>]*>:
+ 8004: f7ff fffe bl 8004 <dest>
+
+Disassembly of section .text:
+
+001080.. <_start>:
+ 1080..: f440 8000 bne.w 8004 <dest>
diff --git a/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-short.d b/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-short.d
new file mode 100644
index 00000000..08c22122
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond-short.d
@@ -0,0 +1,13 @@
+
+.*: file format.*
+
+
+Disassembly of section destsect:
+
+00108002 <[^>]*>:
+ 108002: f7ff fffe bl 108002 <dest>
+
+Disassembly of section .text:
+
+000080.. <[^>]*>:
+ 80..: f07f afff bne.w 108002 <dest>
diff --git a/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond.s b/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond.s
new file mode 100644
index 00000000..83f969cd
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-cond.s
@@ -0,0 +1,12 @@
+ .text
+ .syntax unified
+ .thumb_func
+ .global _start
+ .type _start,%function
+_start:
+ bne dest
+
+ .section destsect, "x"
+ .thumb_func
+dest:
+ bl dest
diff --git a/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-long.d b/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-long.d
index c69e6883..6bd5652d 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-long.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/jump-reloc-veneers-long.d
@@ -10,7 +10,7 @@ Disassembly of section destsect:
Disassembly of section .text:
000080.. <[^>]*>:
- 80..: b802f000 .word 0xb802f000
+ 80..: (b802f000|f000b802) .word 0x(b802f000|f000b802)
80..: 00000000 andeq r0, r0, r0
000080.. <[^>]*>:
diff --git a/binutils-2.25/ld/testsuite/ld-arm/long-plt-format.d b/binutils-2.25/ld/testsuite/ld-arm/long-plt-format.d
new file mode 100644
index 00000000..b0a1abc2
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/long-plt-format.d
@@ -0,0 +1,16 @@
+.*: file format elf32-.*
+
+
+Disassembly of section .plt:
+
+.* <foo@plt-0x14>:
+ .*: .*
+ .*: .*
+ .*: .*
+ .*: .*
+ .*: .* .word .*
+.* <foo@plt>:
+ .*: .* add ip, pc, #-268435456 ; 0xf0000000
+ .*: .* add ip, ip, #0, 12
+ .*: .* add ip, ip, #0, 20
+ .*: .* ldr pc, [ip, #[0-9]*]! ; 0x.*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/long-plt-format.s b/binutils-2.25/ld/testsuite/ld-arm/long-plt-format.s
new file mode 100644
index 00000000..bb0c3a22
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/long-plt-format.s
@@ -0,0 +1,7 @@
+ .globl _start
+ .type _start,%function
+ .globl foo
+_start:
+ bl foo(PLT)
+ .size _start,.-_start
+
diff --git a/binutils-2.25/ld/testsuite/ld-arm/mixed-app-v5.d b/binutils-2.25/ld/testsuite/ld-arm/mixed-app-v5.d
index 82013f38..1091a800 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/mixed-app-v5.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/mixed-app-v5.d
@@ -1,20 +1,22 @@
tmpdir/mixed-app-v5: file format elf32-(little|big)arm
-architecture: armv4t, flags 0x00000112:
+architecture: arm.*, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x.*
Disassembly of section .plt:
-.* <.plt>:
+.* <lib_func2@plt-0x14>:
.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- .*: e59fe004 ldr lr, \[pc, #4\] ; .* <_start-0x28>
+ .*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func2@plt-0x4>
.*: e08fe00e add lr, pc, lr
.*: e5bef008 ldr pc, \[lr, #8\]!
.*: .*
+.* <lib_func2@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
+.* <lib_func1@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
@@ -48,7 +50,7 @@ Disassembly of section .text:
.* <app_tfunc>:
.*: b500 push {lr}
- .*: f7ff efc. blx .* <_start-0x..>
+ .*: f7ff efc. blx .* <lib_func2@plt>
.*: bd00 pop {pc}
.*: 4770 bx lr
.*: 46c0 nop ; \(mov r8, r8\)
diff --git a/binutils-2.25/ld/testsuite/ld-arm/mixed-app.d b/binutils-2.25/ld/testsuite/ld-arm/mixed-app.d
index 4de8e57c..5fdd9f42 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/mixed-app.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/mixed-app.d
@@ -1,22 +1,24 @@
tmpdir/mixed-app: file format elf32-(little|big)arm
-architecture: armv4t, flags 0x00000112:
+architecture: arm.*, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x.*
Disassembly of section .plt:
-.* <.plt>:
+.* <lib_func2@plt-0x14>:
.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- .*: e59fe004 ldr lr, \[pc, #4\] ; .* <_start-0x28>
+ .*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func2@plt-0x4>
.*: e08fe00e add lr, pc, lr
.*: e5bef008 ldr pc, \[lr, #8\]!
.*: .*
+.* <lib_func2@plt>:
.*: 4778 bx pc
.*: 46c0 nop ; \(mov r8, r8\)
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
+.* <lib_func1@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
@@ -50,7 +52,7 @@ Disassembly of section .text:
.* <app_tfunc>:
.*: b500 push {lr}
- .*: f7ff ffc. bl .* <_start-0x..>
+ .*: f7ff ffc. bl .* <lib_func2@plt>
.*: bd00 pop {pc}
.*: 4770 bx lr
.*: 46c0 nop ; \(mov r8, r8\)
diff --git a/binutils-2.25/ld/testsuite/ld-arm/mixed-lib.d b/binutils-2.25/ld/testsuite/ld-arm/mixed-lib.d
index d3a9ff96..29d29e98 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/mixed-lib.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/mixed-lib.d
@@ -1,17 +1,18 @@
tmpdir/mixed-lib.so: file format elf32-(little|big)arm
-architecture: armv4t, flags 0x00000150:
+architecture: arm.*, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x.*
Disassembly of section .plt:
-.* <.plt>:
+.* <app_func2@plt-0x14>:
.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
- .*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func1-0x.*>
+ .*: e59fe004 ldr lr, \[pc, #4\] ; .* <app_func2@plt-0x4>
.*: e08fe00e add lr, pc, lr
.*: e5bef008 ldr pc, \[lr, #8\]!
.*: .*
+.* <app_func2@plt>:
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
@@ -20,7 +21,7 @@ Disassembly of section .text:
.* <lib_func1>:
.*: e1a0c00d mov ip, sp
.*: e92dd800 push {fp, ip, lr, pc}
- .*: ebfffff. bl .* <lib_func1-0x..?>
+ .*: ebfffff. bl .* <app_func2@plt>
.*: e89d6800 ldm sp, {fp, sp, lr}
.*: e12fff1e bx lr
.*: e1a00000 nop ; \(mov r0, r0\)
diff --git a/binutils-2.25/ld/testsuite/ld-arm/pcrel-shared.rd b/binutils-2.25/ld/testsuite/ld-arm/pcrel-shared.rd
new file mode 100644
index 00000000..f371664b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/pcrel-shared.rd
@@ -0,0 +1,16 @@
+Dynamic section at offset 0x[0-9a-f]+ contains \d+ entries:
+\s+Tag\s+Type\s+Name/Value
+\s*0x[0-9a-f]+ \(HASH\).*
+\s*0x[0-9a-f]+ \(STRTAB\).*
+\s*0x[0-9a-f]+ \(SYMTAB\).*
+\s*0x[0-9a-f]+ \(STRSZ\).*
+\s*0x[0-9a-f]+ \(SYMENT\).*
+# Specifically want *not* to see here:
+# (REL)
+# (RELSZ)
+# (RELENT)
+# (TEXTREL)
+#...
+\s*0x[0-9a-f]+ \(NULL\).*
+
+There are no relocations in this file\.
diff --git a/binutils-2.25/ld/testsuite/ld-arm/pcrel-shared.s b/binutils-2.25/ld/testsuite/ld-arm/pcrel-shared.s
new file mode 100644
index 00000000..a2ad0b23
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-arm/pcrel-shared.s
@@ -0,0 +1,25 @@
+# This tests PR ld/17277, wherein ld -shared for cross-section PC-relative
+# relocs (other than plain R_ARM_REL32, as in data) produce bogus dynamic
+# relocs and TEXTREL markers.
+
+ .syntax unified
+ .arm
+ .arch armv7-a
+
+ .text
+ .globl foo
+ .type foo,%function
+foo: movw r0, #:lower16:symbol - 1f - 8
+ movt r0, #:upper16:symbol - 1f - 8
+1: add r0, pc
+ @ And now a case with a local symbol.
+ movw r0, #:lower16:3f - 2f - 8
+ movt r0, #:upper16:3f - 2f - 8
+2: add r0, pc
+ bx lr
+
+.data
+ .globl symbol
+ .hidden symbol
+symbol: .long 23
+3: .long 17
diff --git a/binutils-2.25/ld/testsuite/ld-arm/reloc-boundaries.d b/binutils-2.25/ld/testsuite/ld-arm/reloc-boundaries.d
index 4bfaf0a5..e71c5aee 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/reloc-boundaries.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/reloc-boundaries.d
@@ -2,5 +2,5 @@
[^:]*: file format elf32-(little|big)arm.*
Contents of section .text:
- [0-9a-f]+ 80ff0080 ffff ......
+ [0-9a-f]+ (80ff0080|80ff8000) ffff ......
#...
diff --git a/binutils-2.25/ld/testsuite/ld-arm/script-type.sym b/binutils-2.25/ld/testsuite/ld-arm/script-type.sym
index 4b54dd63..1623c03d 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/script-type.sym
+++ b/binutils-2.25/ld/testsuite/ld-arm/script-type.sym
@@ -9,7 +9,6 @@ Symbol table '.symtab' contains [0-9]+ entries:
.* 0+10 +0 NOTYPE +LOCAL +DEFAULT +1 \$d
.* 0+14 +0 NOTYPE +LOCAL +DEFAULT +1 \$a
.* 0+20 +0 NOTYPE +LOCAL +DEFAULT +1 \$t
-.* 0+ +0 FILE +LOCAL +DEFAULT +ABS .*
.* 0+10 +0 OBJECT +GLOBAL DEFAULT +1 bar_o
.* 0+21 +0 FUNC +GLOBAL DEFAULT +1 bar_t
.* 0+ +0 FUNC +GLOBAL DEFAULT +1 foo_a
diff --git a/binutils-2.25/ld/testsuite/ld-arm/thumb2-bl-undefweak.d b/binutils-2.25/ld/testsuite/ld-arm/thumb2-bl-undefweak.d
index 5c286bee..c501aa2c 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/thumb2-bl-undefweak.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/thumb2-bl-undefweak.d
@@ -6,4 +6,4 @@
Disassembly of section .text:
.* <foo>:
- +[0-9a-f]+: .... .... bl. [0-9a-f]+ <foo-0x[0-9a-f]+>
+ +[0-9a-f]+: .... .... bl. [0-9a-f]+ <bar@plt>
diff --git a/binutils-2.25/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d b/binutils-2.25/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d
index a6907f5e..806f66c6 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d
@@ -6,4 +6,4 @@
Disassembly of section .text:
.* <foo>:
- +[0-9a-f]+: ........ bl [0-9a-f]+ <foo-0x[0-9a-f]+>
+ +[0-9a-f]+: ........ bl [0-9a-f]+ <bar@plt>
diff --git a/binutils-2.25/ld/testsuite/ld-arm/tls-app.d b/binutils-2.25/ld/testsuite/ld-arm/tls-app.d
index a88ca7f8..de0cbab9 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/tls-app.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/tls-app.d
@@ -1,6 +1,6 @@
.*: file format elf32-.*arm.*
-architecture: armv4, flags 0x00000112:
+architecture: arm.*, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x000081c8
diff --git a/binutils-2.25/ld/testsuite/ld-arm/tls-descrelax-be32.d b/binutils-2.25/ld/testsuite/ld-arm/tls-descrelax-be32.d
index c1c7fcdc..096723d8 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/tls-descrelax-be32.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/tls-descrelax-be32.d
@@ -1,5 +1,5 @@
.*: file format elf32-.*
-architecture: armv5te, flags 0x[0-9a-f]+:
+architecture: arm.*, flags 0x[0-9a-f]+:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x[0-9a-f]+
diff --git a/binutils-2.25/ld/testsuite/ld-arm/tls-descrelax.d b/binutils-2.25/ld/testsuite/ld-arm/tls-descrelax.d
index 97cbe003..c15c6ee9 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/tls-descrelax.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/tls-descrelax.d
@@ -1,5 +1,5 @@
.*: file format elf32-.*
-architecture: armv5t, flags 0x[0-9a-f]+:
+architecture: arm.*, flags 0x[0-9a-f]+:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x[0-9a-f]+
diff --git a/binutils-2.25/ld/testsuite/ld-arm/tls-descseq.d b/binutils-2.25/ld/testsuite/ld-arm/tls-descseq.d
index d39a891d..85e8150e 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/tls-descseq.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/tls-descseq.d
@@ -1,6 +1,6 @@
tmpdir/tls-lib2inline.so: file format elf32-.*arm
-architecture: armv5t, flags 0x[0-9a-f]+:
+architecture: arm.*, flags 0x[0-9a-f]+:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x[0-9a-f]+
diff --git a/binutils-2.25/ld/testsuite/ld-arm/tls-gdesc-got.d b/binutils-2.25/ld/testsuite/ld-arm/tls-gdesc-got.d
index 4d7777a3..8f64e417 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/tls-gdesc-got.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/tls-gdesc-got.d
@@ -1,6 +1,6 @@
.*/tls-lib2-got.so: file format elf32-.*arm.*
-architecture: armv4, flags 0x00000150:
+architecture: arm.*, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x000082.0
diff --git a/binutils-2.25/ld/testsuite/ld-arm/tls-gdesc.d b/binutils-2.25/ld/testsuite/ld-arm/tls-gdesc.d
index 43ad7066..84ba48f7 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/tls-gdesc.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/tls-gdesc.d
@@ -1,6 +1,6 @@
tmpdir/tls-lib2.so: file format elf32-.*arm
-architecture: armv.t, flags 0x[0-9a-f]+:
+architecture: arm.*, flags 0x[0-9a-f]+:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x[0-9a-f]+
diff --git a/binutils-2.25/ld/testsuite/ld-arm/tls-gdierelax.d b/binutils-2.25/ld/testsuite/ld-arm/tls-gdierelax.d
index bb450ab6..6f79c809 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/tls-gdierelax.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/tls-gdierelax.d
@@ -1,6 +1,6 @@
tmpdir/tls-app-rel-ie: file format elf32-.*arm.*
-architecture: armv5t, flags 0x[0-9a-f]+:
+architecture: arm.*, flags 0x[0-9a-f]+:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x[0-9a-f]+
diff --git a/binutils-2.25/ld/testsuite/ld-arm/tls-gdierelax2.d b/binutils-2.25/ld/testsuite/ld-arm/tls-gdierelax2.d
index 3a800944..565f191e 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/tls-gdierelax2.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/tls-gdierelax2.d
@@ -1,6 +1,6 @@
tmpdir/tls-app-rel-ie2: file format elf32-.*arm.*
-architecture: armv5t, flags 0x[0-9a-f]+:
+architecture: arm.*, flags 0x[0-9a-f]+:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x[0-9a-f]+
@@ -11,13 +11,13 @@ Disassembly of section .text:
[0-9a-f]+: e59f0004 ldr r0, \[pc, #4\] ; .*
[0-9a-f]+: e79f0000 ldr r0, \[pc, r0\]
[0-9a-f]+: e1a00000 nop ; .*
- [0-9a-f]+: 00008098 .word 0x00008098
- [0-9a-f]+: 0000809c .word 0x0000809c
+ [0-9a-f]+: 000080a0 .word 0x000080a0
+ [0-9a-f]+: 000080a4 .word 0x000080a4
[0-9a-f]+ <bar>:
[0-9a-f]+: 4801 ldr r0, \[pc, #4\] ; .*
[0-9a-f]+: 4478 add r0, pc
[0-9a-f]+: 6800 ldr r0, \[r0, #0\]
[0-9a-f]+: 46c0 nop ; .*
- [0-9a-f]+: 0000808a .word 0x0000808a
- [0-9a-f]+: 0000808c .word 0x0000808c
+ [0-9a-f]+: 00008092 .word 0x00008092
+ [0-9a-f]+: 00008094 .word 0x00008094
diff --git a/binutils-2.25/ld/testsuite/ld-arm/tls-gdlerelax.d b/binutils-2.25/ld/testsuite/ld-arm/tls-gdlerelax.d
index 02bddada..da3891e7 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/tls-gdlerelax.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/tls-gdlerelax.d
@@ -1,6 +1,6 @@
tmpdir/tls-app-rel-le: file format elf32-.*arm.*
-architecture: armv5t, flags 0x[0-9a-f]+:
+architecture: arm.*, flags 0x[0-9a-f]+:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x[0-9a-f]+
diff --git a/binutils-2.25/ld/testsuite/ld-arm/tls-lib-loc.d b/binutils-2.25/ld/testsuite/ld-arm/tls-lib-loc.d
index 8dc4d713..27789b4a 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/tls-lib-loc.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/tls-lib-loc.d
@@ -1,6 +1,6 @@
.*: file format elf32-.*arm
-architecture: armv5t, flags 0x00000150:
+architecture: arm.*, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x.*
diff --git a/binutils-2.25/ld/testsuite/ld-arm/tls-lib.d b/binutils-2.25/ld/testsuite/ld-arm/tls-lib.d
index a299fbac..e72267fc 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/tls-lib.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/tls-lib.d
@@ -1,6 +1,6 @@
.*: file format elf32-.*arm.*
-architecture: armv4, flags 0x00000150:
+architecture: arm.*, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x.*
@@ -10,6 +10,6 @@ Disassembly of section .text:
.*: e1a00000 nop ; \(mov r0, r0\)
.*: e1a00000 nop ; \(mov r0, r0\)
.*: e1a0f00e mov pc, lr
- .*: 00008098 .word 0x00008098
- .*: 0000808c .word 0x0000808c
+ .*: 00010098 .word 0x00010098
+ .*: 0001008c .word 0x0001008c
.*: 00000004 .word 0x00000004
diff --git a/binutils-2.25/ld/testsuite/ld-arm/tls-thumb1.d b/binutils-2.25/ld/testsuite/ld-arm/tls-thumb1.d
index 86c59a4f..731afa9b 100644
--- a/binutils-2.25/ld/testsuite/ld-arm/tls-thumb1.d
+++ b/binutils-2.25/ld/testsuite/ld-arm/tls-thumb1.d
@@ -1,5 +1,5 @@
.*: file format elf32-.*arm
-architecture: armv4t, flags 0x00000150:
+architecture: arm.*, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x.*
diff --git a/binutils-2.25/ld/testsuite/ld-auto-import/auto-import.exp b/binutils-2.25/ld/testsuite/ld-auto-import/auto-import.exp
index f9a26e1a..21fad173 100644
--- a/binutils-2.25/ld/testsuite/ld-auto-import/auto-import.exp
+++ b/binutils-2.25/ld/testsuite/ld-auto-import/auto-import.exp
@@ -1,6 +1,5 @@
# Expect script for ld-auto-import tests
-# Copyright 2002, 2005, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-avr/avr.exp b/binutils-2.25/ld/testsuite/ld-avr/avr.exp
new file mode 100644
index 00000000..d196d963
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-avr/avr.exp
@@ -0,0 +1,31 @@
+# Copyright 2014
+# Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+
+#
+# Some AVR tests
+#
+
+if {![istarget avr-*-*]} {
+ return
+}
+
+set avr_test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
+foreach avr_test $avr_test_list {
+ verbose [file rootname $avr_test]
+ run_dump_test [file rootname $avr_test]
+}
+
diff --git a/binutils-2.25/ld/testsuite/ld-avr/norelax_diff.d b/binutils-2.25/ld/testsuite/ld-avr/norelax_diff.d
new file mode 100644
index 00000000..1891d6e9
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-avr/norelax_diff.d
@@ -0,0 +1,13 @@
+#name: AVR No change in behavior without relaxation
+#as: -mmcu=avrxmega2
+#ld: -mavrxmega2
+#source: relax.s
+#objdump: -s
+#target: avr-*-*
+
+.*: file format elf32-avr
+
+Contents of section .text:
+ 0000 0c940000 .*
+Contents of section .data:
+ 802000 0400 .*
diff --git a/binutils-2.25/ld/testsuite/ld-avr/relax.s b/binutils-2.25/ld/testsuite/ld-avr/relax.s
new file mode 100644
index 00000000..fbb7baec
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-avr/relax.s
@@ -0,0 +1,12 @@
+ .file "relax.s"
+.section .text,"ax",@progbits
+main:
+L1:
+ jmp L1
+L2:
+.global x
+ .section .data
+ .type x, @object
+ .size x, 2
+x:
+ .word L2 - L1
diff --git a/binutils-2.25/ld/testsuite/ld-avr/relax_diff.d b/binutils-2.25/ld/testsuite/ld-avr/relax_diff.d
new file mode 100644
index 00000000..b84df81e
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-avr/relax_diff.d
@@ -0,0 +1,14 @@
+#name: AVR Account for relaxation in label differences
+#as: -mmcu=avrxmega2 -mlink-relax
+#ld: -mavrxmega2 --relax
+#source: relax.s
+#objdump: -s
+#target: avr-*-*
+
+.*: file format elf32-avr
+
+Contents of section .text:
+ 0000 ffcf .*
+Contents of section .data:
+ 802000 0200 .*
+
diff --git a/binutils-2.25/ld/testsuite/ld-bootstrap/bootstrap.exp b/binutils-2.25/ld/testsuite/ld-bootstrap/bootstrap.exp
index 1893873e..bbd4fd87 100644
--- a/binutils-2.25/ld/testsuite/ld-bootstrap/bootstrap.exp
+++ b/binutils-2.25/ld/testsuite/ld-bootstrap/bootstrap.exp
@@ -1,6 +1,5 @@
# Expect script for LD Bootstrap Tests
-# Copyright 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2004,
-# 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+# Copyright (C) 1993-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -49,9 +48,13 @@ if [check_plugin_api_available] {
# order to test -r. Then link the result into an executable, ld1, to
# really test -r. Use ld1 to link a fresh ld, ld2. Use ld2 to link a
# new ld, ld3. ld2 and ld3 should be identical.
+set test_flags {"" "strip" "--static" "--traditional-format"
+ "--no-keep-memory" "--relax"}
+if { [istarget "powerpc-*-*"] } {
+ lappend test_flags "--ppc476-workaround"
+}
-foreach flags {"" "strip" "--static" "--traditional-format"
- "--no-keep-memory" "--relax"} {
+foreach flags $test_flags {
set do_strip "no"
if {"$flags" == "strip"} {
set testname "bootstrap with $flags"
@@ -69,6 +72,10 @@ foreach flags {"" "strip" "--static" "--traditional-format"
set partial_flags ""
}
+ if { $partial_flags == "--ppc476-workaround" } {
+ append partial_flags " -T $srcdir/$subdir/ppc476.t"
+ }
+
# This test can only be run if we have the ld build directory,
# since we need the object files.
if {$ld != "$objdir/ld-new"} {
@@ -115,7 +122,9 @@ foreach flags {"" "strip" "--static" "--traditional-format"
# Plugin support requires linking with libdl.
if { $plugins == "yes" } {
- set extralibs "$extralibs -ldl"
+ if { ![istarget "*-*-freebsd*"]} {
+ set extralibs "$extralibs -ldl"
+ }
}
# On Irix 5, linking with --static only works if all the files are
diff --git a/binutils-2.25/ld/testsuite/ld-bootstrap/ppc476.t b/binutils-2.25/ld/testsuite/ld-bootstrap/ppc476.t
new file mode 100644
index 00000000..46ab8a7c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-bootstrap/ppc476.t
@@ -0,0 +1,7 @@
+SECTIONS
+{
+ .text : ALIGN (4096)
+ {
+ *(.text .text.* .gnu.linkonce.t*)
+ }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-cdtest/cdtest.exp b/binutils-2.25/ld/testsuite/ld-cdtest/cdtest.exp
index a25b4377..858c58bd 100644
--- a/binutils-2.25/ld/testsuite/ld-cdtest/cdtest.exp
+++ b/binutils-2.25/ld/testsuite/ld-cdtest/cdtest.exp
@@ -1,6 +1,5 @@
# Expect script for LD cdtest Tests
-# Copyright 1993, 1994, 1995, 1997, 2001, 2004, 2005, 2007
-# Free Software Foundation, Inc.
+# Copyright (C) 1993-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-checks/checks.exp b/binutils-2.25/ld/testsuite/ld-checks/checks.exp
index af281d08..a3f3d254 100644
--- a/binutils-2.25/ld/testsuite/ld-checks/checks.exp
+++ b/binutils-2.25/ld/testsuite/ld-checks/checks.exp
@@ -1,5 +1,5 @@
# Expect script for LD section checks tests
-# Copyright 1999, 2001, 2003, 2005, 2007, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-cris/cris.exp b/binutils-2.25/ld/testsuite/ld-cris/cris.exp
index ebe4bffe..4b737c6d 100644
--- a/binutils-2.25/ld/testsuite/ld-cris/cris.exp
+++ b/binutils-2.25/ld/testsuite/ld-cris/cris.exp
@@ -1,5 +1,5 @@
# Expect script for ld-cris tests
-# Copyright 2002, 2005, 2007, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-cris/tls-e-tpoffcomm1.d b/binutils-2.25/ld/testsuite/ld-cris/tls-e-tpoffcomm1.d
index b1f39ec9..4fc067eb 100644
--- a/binutils-2.25/ld/testsuite/ld-cris/tls-e-tpoffcomm1.d
+++ b/binutils-2.25/ld/testsuite/ld-cris/tls-e-tpoffcomm1.d
@@ -27,7 +27,6 @@ SYMBOL TABLE:
0+82084 l d \.tbss 0+ \.tbss
0+ l df \*ABS\* 0+ .*
0+80078 l F \.text 0+c do_test
-0+ l df \*ABS\* 0+ .*
0+80074 g \.text 0+ _start
0+82084 g \.text 0+ __bss_start
0+ g \.tbss 0+4 foo
diff --git a/binutils-2.25/ld/testsuite/ld-crx/crx.exp b/binutils-2.25/ld/testsuite/ld-crx/crx.exp
index 4136ebee..5b31a6b9 100644
--- a/binutils-2.25/ld/testsuite/ld-crx/crx.exp
+++ b/binutils-2.25/ld/testsuite/ld-crx/crx.exp
@@ -1,5 +1,5 @@
# Expect script for ld-crx tests
-# Copyright 2004, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-cygwin/exe-export.exp b/binutils-2.25/ld/testsuite/ld-cygwin/exe-export.exp
index 05eeb7e9..d81ec65f 100644
--- a/binutils-2.25/ld/testsuite/ld-cygwin/exe-export.exp
+++ b/binutils-2.25/ld/testsuite/ld-cygwin/exe-export.exp
@@ -1,6 +1,5 @@
# Expect script for export table in executables tests
-# Copyright 2003, 2005, 2007, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-d10v/d10v.exp b/binutils-2.25/ld/testsuite/ld-d10v/d10v.exp
index 3d65ce07..395f4a05 100644
--- a/binutils-2.25/ld/testsuite/ld-d10v/d10v.exp
+++ b/binutils-2.25/ld/testsuite/ld-d10v/d10v.exp
@@ -1,5 +1,5 @@
# Expect script for ld-d10v tests
-# Copyright 2002, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-discard/discard.exp b/binutils-2.25/ld/testsuite/ld-discard/discard.exp
index 4fd4c438..7fe2d006 100644
--- a/binutils-2.25/ld/testsuite/ld-discard/discard.exp
+++ b/binutils-2.25/ld/testsuite/ld-discard/discard.exp
@@ -1,5 +1,5 @@
# Expect script for ld discard tests
-# Copyright 2001, 2002, 2005, 2007, 2010, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-discard/extern.d b/binutils-2.25/ld/testsuite/ld-discard/extern.d
index bb596d5c..089becab 100644
--- a/binutils-2.25/ld/testsuite/ld-discard/extern.d
+++ b/binutils-2.25/ld/testsuite/ld-discard/extern.d
@@ -2,7 +2,7 @@
#ld: -T discard.ld
#error: .*data.* referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump0.o
#objdump: -p
-#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
#xfail: m68hc12-*-* m6812-*-*
#pass
# The expected warning used to start with "`data' referenced..." but
diff --git a/binutils-2.25/ld/testsuite/ld-discard/start.d b/binutils-2.25/ld/testsuite/ld-discard/start.d
index 06207ee4..50c55741 100644
--- a/binutils-2.25/ld/testsuite/ld-discard/start.d
+++ b/binutils-2.25/ld/testsuite/ld-discard/start.d
@@ -3,6 +3,6 @@
#ld: -T discard.ld
#error: `data' referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump1.o
#objdump: -p
-#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
#xfail: m68hc12-*-* m6812-*-*
#pass
diff --git a/binutils-2.25/ld/testsuite/ld-discard/static.d b/binutils-2.25/ld/testsuite/ld-discard/static.d
index b001d72b..7335ae55 100644
--- a/binutils-2.25/ld/testsuite/ld-discard/static.d
+++ b/binutils-2.25/ld/testsuite/ld-discard/static.d
@@ -2,6 +2,6 @@
#ld: -T discard.ld
#error: `(\.data\.exit|data)' referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump0.o
#objdump: -p
-#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
#xfail: m68hc12-*-* m6812-*-*
#pass
diff --git a/binutils-2.25/ld/testsuite/ld-elf/audit.exp b/binutils-2.25/ld/testsuite/ld-elf/audit.exp
index 407c61af..3b058685 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/audit.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/audit.exp
@@ -1,5 +1,5 @@
# Expect script for various ELF tests.
-# Copyright 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elf/binutils.exp b/binutils-2.25/ld/testsuite/ld-elf/binutils.exp
index 01015125..4ade8cb8 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/binutils.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/binutils.exp
@@ -1,5 +1,5 @@
# Expect script for binutils tests
-# Copyright 2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -79,6 +79,30 @@ proc binutils_test { prog_name ld_options test {test_name ""}} {
return
}
+ if [string match "*-z relro*" $ld_options] {
+ # Check if GNU_RELRO segment is generated.
+ set got [remote_exec host "grep GNU_RELRO tmpdir/$test.exp"]
+ if { ![string match "*GNU_RELRO*" $got] } then {
+ set got [remote_exec host "cat tmpdir/$test.exp"]
+ if { [string match "*.data.rel.ro*" $got]
+ || [string match "*.dynamic*" $got]
+ || [string match "*.got*" $got]
+ || [string match "*.eh_frame*" $got]
+ || [string match "*.gcc_except_table*" $got]
+ || [string match "*.exception_ranges*" $got]
+ || [string match "*.ctors*" $got]
+ || [string match "*.dtors*" $got]
+ || [string match "*.tdata*" $got]
+ || [string match "*.preinit_array*" $got]
+ || [string match "*.init_array*" $got]
+ || [string match "*.fini_array*" $got] } then {
+ # Fail if GNU_RELRO segment isn't generated, but should.
+ fail "$test_name"
+ return
+ }
+ }
+ }
+
send_log "$prog tmpdir/$test\n"
set got [remote_exec host "$prog tmpdir/$test"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
diff --git a/binutils-2.25/ld/testsuite/ld-elf/comm-data.exp b/binutils-2.25/ld/testsuite/ld-elf/comm-data.exp
index 71613c52..2706bce4 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/comm-data.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/comm-data.exp
@@ -1,6 +1,6 @@
# Expect script for common symbol override.
#
-# Copyright 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elf/compress.exp b/binutils-2.25/ld/testsuite/ld-elf/compress.exp
index 55269eed..6bfc0401 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/compress.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/compress.exp
@@ -1,5 +1,5 @@
# Expect script for ELF compressed debug section tests.
-# Copyright 2010 Free Software Foundation, Inc.
+# Copyright (C) 2010-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elf/compress1.s b/binutils-2.25/ld/testsuite/ld-elf/compress1.s
index 8ef0a150..f75c7bea 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/compress1.s
+++ b/binutils-2.25/ld/testsuite/ld-elf/compress1.s
@@ -1,6 +1,6 @@
/* This testcase is derived from a similar test in GDB.
- Copyright 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/binutils-2.25/ld/testsuite/ld-elf/dwarf.exp b/binutils-2.25/ld/testsuite/ld-elf/dwarf.exp
index c3132360..4ec26f16 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/dwarf.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/dwarf.exp
@@ -1,5 +1,5 @@
# Expect script for various DWARF tests.
-# Copyright 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elf/dynamic-1.c b/binutils-2.25/ld/testsuite/ld-elf/dynamic-1.c
new file mode 100644
index 00000000..439ffd1c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/dynamic-1.c
@@ -0,0 +1,10 @@
+void
+dynamic ()
+{
+}
+
+int
+main ()
+{
+ return 0;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/dynamic-1.rd b/binutils-2.25/ld/testsuite/ld-elf/dynamic-1.rd
new file mode 100644
index 00000000..2c2f23b0
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/dynamic-1.rd
@@ -0,0 +1,5 @@
+Symbol table '\.dynsym' contains [0-9]+ entries:
+ +Num: +Value +Size Type +Bind +Vis +Ndx Name
+#...
+ +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ +_?dynamic
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-elf/dynamic-1.syms b/binutils-2.25/ld/testsuite/ld-elf/dynamic-1.syms
new file mode 100644
index 00000000..c9517f88
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/dynamic-1.syms
@@ -0,0 +1,3 @@
+{
+ dynamic;
+};
diff --git a/binutils-2.25/ld/testsuite/ld-elf/eh-frame-hdr.d b/binutils-2.25/ld/testsuite/ld-elf/eh-frame-hdr.d
index 1122cba4..45a890d8 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/eh-frame-hdr.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/eh-frame-hdr.d
@@ -2,7 +2,7 @@
#ld: -e _start --eh-frame-hdr
#objdump: -hw
#target: cfi
-#xfail: avr*-*-*
+#xfail: avr*-*-* or1k-*-*
# avr doesn't support shared libraries.
#...
[0-9] .eh_frame_hdr 0*[12][048c] .*
diff --git a/binutils-2.25/ld/testsuite/ld-elf/eh-group.exp b/binutils-2.25/ld/testsuite/ld-elf/eh-group.exp
index 6fe70583..e0b8f000 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/eh-group.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/eh-group.exp
@@ -1,5 +1,5 @@
# Expect script for .eh_frame entries to a removed section.
-# Copyright 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elf/eh1.d b/binutils-2.25/ld/testsuite/ld-elf/eh1.d
index bdf84cc2..f6841dc7 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/eh1.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/eh1.d
@@ -23,11 +23,11 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
-0+0018 0+001c 0+001c FDE cie=0+0000 pc=0+400078..0+400078
- DW_CFA_advance_loc: 0 to 0+400078
+0+0018 0+001c 0+001c FDE cie=0+0000 pc=0+400078\.\.0+400090
+ DW_CFA_advance_loc: 8 to 0+400080
DW_CFA_def_cfa_offset: 16
DW_CFA_offset: r6 \(rbp\) at cfa-16
- DW_CFA_advance_loc: 0 to 0+400078
+ DW_CFA_advance_loc: 8 to 0+400088
DW_CFA_def_cfa_register: r6 \(rbp\)
0+0038 ZERO terminator
diff --git a/binutils-2.25/ld/testsuite/ld-elf/eh1.s b/binutils-2.25/ld/testsuite/ld-elf/eh1.s
index a6052096..73d715f3 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/eh1.s
+++ b/binutils-2.25/ld/testsuite/ld-elf/eh1.s
@@ -3,8 +3,11 @@
.type _start, %function
_start:
.LFB2:
+ .space 8
.LCFI0:
+ .space 8
.LCFI1:
+ .space 8
.LFE2:
.size _start, .-_start
.section .eh_frame,"a",%progbits
diff --git a/binutils-2.25/ld/testsuite/ld-elf/eh2.d b/binutils-2.25/ld/testsuite/ld-elf/eh2.d
index 65ad4480..cb75a2da 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/eh2.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/eh2.d
@@ -23,11 +23,11 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
-0+0018 0+001c 0+001c FDE cie=0+0000 pc=0+400078..0+400078
- DW_CFA_advance_loc: 0 to 0+400078
+0+0018 0+001c 0+001c FDE cie=0+0000 pc=0+400078\.\.0+400090
+ DW_CFA_advance_loc: 8 to 0+400080
DW_CFA_def_cfa_offset: 16
DW_CFA_offset: r6 \(rbp\) at cfa-16
- DW_CFA_advance_loc: 0 to 0+400078
+ DW_CFA_advance_loc: 8 to 0+400088
DW_CFA_def_cfa_register: r6 \(rbp\)
0+0038 ZERO terminator
diff --git a/binutils-2.25/ld/testsuite/ld-elf/eh3.d b/binutils-2.25/ld/testsuite/ld-elf/eh3.d
index 2d322ddd..6ac584a6 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/eh3.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/eh3.d
@@ -23,11 +23,11 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
-0+0018 0+001c 0+001c FDE cie=0+0000 pc=0+400078..0+400078
- DW_CFA_advance_loc: 0 to 0+400078
+0+0018 0+001c 0+001c FDE cie=0+0000 pc=0+400078\.\.0+400090
+ DW_CFA_advance_loc: 8 to 0+400080
DW_CFA_def_cfa_offset: 16
DW_CFA_offset: r6 \(rbp\) at cfa-16
- DW_CFA_advance_loc: 0 to 0+400078
+ DW_CFA_advance_loc: 8 to 0+400088
DW_CFA_def_cfa_register: r6 \(rbp\)
0+0038 ZERO terminator
diff --git a/binutils-2.25/ld/testsuite/ld-elf/eh3.s b/binutils-2.25/ld/testsuite/ld-elf/eh3.s
index 24bd90d2..e293c386 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/eh3.s
+++ b/binutils-2.25/ld/testsuite/ld-elf/eh3.s
@@ -3,8 +3,11 @@
.type _start, %function
_start:
.LFB2:
+ .space 8
.LCFI0:
+ .space 8
.LCFI1:
+ .space 8
.LFE2:
.size _start, .-_start
.section .eh_frame,"a",%progbits
diff --git a/binutils-2.25/ld/testsuite/ld-elf/eh5.d b/binutils-2.25/ld/testsuite/ld-elf/eh5.d
index 9fea1177..29dcdf9a 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/eh5.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/eh5.d
@@ -22,7 +22,7 @@ Contents of the .eh_frame section:
#...
0+001[48] 0+0014 0+001[8c] FDE cie=0+0000 pc=.*
DW_CFA_advance_loc: 4 to .*
- DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_def_cfa: r0(.*) ofs 16
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -39,14 +39,14 @@ Contents of the .eh_frame section:
0+004[48] 0+0014 0+001c FDE cie=0+00(2c|30) pc=.*
DW_CFA_advance_loc: 4 to .*
- DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_def_cfa: r0(.*) ofs 16
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
0+00(5c|60) 0+0014 0+006[04] FDE cie=0+0000 pc=.*
DW_CFA_advance_loc: 4 to .*
- DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_def_cfa: r0(.*) ofs 16
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -67,7 +67,7 @@ Contents of the .eh_frame section:
Augmentation data: (ef be ad de 00 00 00 00|00 00 00 00 de ad be ef)
DW_CFA_advance_loc: 4 to .*
- DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_def_cfa: r0(.*) ofs 16
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -80,7 +80,7 @@ Contents of the .eh_frame section:
Return address column: .*
Augmentation data: (0b|1b)
- DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_def_cfa: r0(.*) ofs 16
#...
0+00(c4|d0) 0+001[04] 0+001[8c] FDE cie=0+00b[08] pc=.*
DW_CFA_nop
@@ -99,7 +99,7 @@ Contents of the .eh_frame section:
0+0(0f|10)0 0+0014 0+001c FDE cie=0+00[de]8 pc=.*
DW_CFA_advance_loc: 4 to .*
- DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_def_cfa: r0(.*) ofs 16
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -125,28 +125,28 @@ Contents of the .eh_frame section:
Augmentation data: (ef be ad de 00 00 00 00|00 00 00 00 de ad be ef)
DW_CFA_advance_loc: 4 to .*
- DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_def_cfa: r0(.*) ofs 16
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
0+01(58|70) 0+0014 0+01(5c|74) FDE cie=0+0000 pc=.*
DW_CFA_advance_loc: 4 to .*
- DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_def_cfa: r0(.*) ofs 16
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
#...
0+01(70|88) 0+0014 0+0(01c|148|15c) FDE cie=0+0(02c|030|170) pc=.*
DW_CFA_advance_loc: 4 to .*
- DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_def_cfa: r0(.*) ofs 16
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
0+01(88|a0) 0+0014 0+01(8c|a4) FDE cie=0+0000 pc=.*
DW_CFA_advance_loc: 4 to .*
- DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_def_cfa: r0(.*) ofs 16
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -155,7 +155,7 @@ Contents of the .eh_frame section:
Augmentation data: (ef be ad de 00 00 00 00|00 00 00 00 de ad be ef)
DW_CFA_advance_loc: 4 to .*
- DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_def_cfa: r0(.*) ofs 16
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-missing.d b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-missing.d
new file mode 100644
index 00000000..5c2090fe
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-missing.d
@@ -0,0 +1,4 @@
+#source: ehdr_start-strongref.s
+#ld: -e _start -T ehdr_start-missing.t
+#error: .*: undefined reference to `__ehdr_start'
+#target: *-*-linux* *-*-gnu* *-*-nacl*
diff --git a/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-missing.t b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-missing.t
new file mode 100644
index 00000000..a4daf066
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-missing.t
@@ -0,0 +1,8 @@
+SECTIONS
+{
+ . = 0x10000000;
+ .text : { *(.text) }
+
+ . = 0x20000000;
+ .rodata : { *(.rodata) }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-shared.d b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-shared.d
new file mode 100644
index 00000000..c17516a1
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-shared.d
@@ -0,0 +1,9 @@
+#source: ehdr_start.s
+#ld: -e _start -shared
+#nm: -n
+#target: *-*-linux* *-*-gnu* *-*-nacl*
+#xfail: cris*-*-* frv-*-*
+
+#...
+[0-9a-f]*000 [Adrt] __ehdr_start
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-strongref.s b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-strongref.s
new file mode 100644
index 00000000..39375070
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-strongref.s
@@ -0,0 +1,9 @@
+ .text
+ .globl _start
+_start:
+ .space 16
+
+ .section .rodata,"a"
+ .globl foo
+foo:
+ .dc.a __ehdr_start
diff --git a/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-userdef.d b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-userdef.d
new file mode 100644
index 00000000..b58ae3fa
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-userdef.d
@@ -0,0 +1,11 @@
+#source: ehdr_start-strongref.s
+#ld: -e _start -T ehdr_start-userdef.t
+#readelf: -Ws
+#target: *-*-linux* *-*-gnu* *-*-nacl*
+#xfail: frv-*-*
+
+#...
+Symbol table '\.symtab' contains [0-9]+ entries:
+#...
+ *[0-9]+: 0*12345678 +0 +NOTYPE +GLOBAL +DEFAULT +ABS +__ehdr_start
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-userdef.t b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-userdef.t
new file mode 100644
index 00000000..6ef1de74
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-userdef.t
@@ -0,0 +1,10 @@
+SECTIONS
+{
+ . = 0x10000000;
+ .text : { *(.text) }
+
+ __ehdr_start = 0x12345678;
+
+ . = 0x20000000;
+ .rodata : { *(.rodata) }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-weak.d b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-weak.d
new file mode 100644
index 00000000..24ae34cd
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start-weak.d
@@ -0,0 +1,9 @@
+#source: ehdr_start.s
+#ld: -e _start -T ehdr_start-missing.t
+#nm: -n
+#target: *-*-linux* *-*-gnu* *-*-nacl*
+#xfail: frv-*-*
+
+#...
+\s+[wU] __ehdr_start
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-elf/ehdr_start.d b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start.d
index 52e5b548..d538b66d 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/ehdr_start.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/ehdr_start.d
@@ -2,6 +2,7 @@
#ld: -e _start
#nm: -n
#target: *-*-linux* *-*-gnu* *-*-nacl*
+#xfail: frv-*-*
#...
[0-9a-f]*000 [Adrt] __ehdr_start
diff --git a/binutils-2.25/ld/testsuite/ld-elf/elf.exp b/binutils-2.25/ld/testsuite/ld-elf/elf.exp
index 236e15bb..839c9314 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/elf.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/elf.exp
@@ -1,6 +1,5 @@
# Expect script for various ELF tests.
-# Copyright 2002, 2003, 2005, 2007, 2009, 2010, 2011, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -78,13 +77,12 @@ if { ![istarget hppa64*-hpux*] } {
}
}
-# Run a test to check linking a shared library with a broken linker
-# script that accidentally marks dynamic sections as notes. The
-# resulting executable is not expected to work, but the linker
-# should not seg-fault whilst creating the binary.
-#
-# Only run the test on targets thats support creating shared libraries.
+# Only run these tests on targets thats support creating shared libraries.
if { [check_shared_lib_support] } then {
+ # Run a test to check linking a shared library with a broken linker
+ # script that accidentally marks dynamic sections as notes. The
+ # resulting executable is not expected to work, but the linker
+ # should not seg-fault whilst creating the binary.
setup_xfail "tic6x-*-*"
run_ld_link_tests {
{"Build shared library for next test"
@@ -94,6 +92,21 @@ if { [check_shared_lib_support] } then {
{ { ld "note-3.l" } }
"a.out" }
}
+ setup_xfail "tic6x-*-*"
+ run_ld_link_tests {
+ {"Build pr17068.so"
+ "-shared" "" ""
+ {pr17068d.s} {} "pr17068.so"}
+ {"Build pr17068a.a"
+ "" "" ""
+ {pr17068a.s pr17068c.s pr17068ez.s} {} "pr17068a.a"}
+ {"Build pr17068b.a"
+ "" "" ""
+ {pr17068b.s pr17068e.s} {} "pr17068b.a"}
+ {"pr17068 link --as-needed lib in group"
+ "--as-needed" "--start-group tmpdir/pr17068a.a tmpdir/pr17068.so tmpdir/pr17068b.a --end-group" ""
+ {start.s pr17068.s} {} "pr17068"}
+ }
}
set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
diff --git a/binutils-2.25/ld/testsuite/ld-elf/exclude.exp b/binutils-2.25/ld/testsuite/ld-elf/exclude.exp
index 28a34ab5..db5b7672 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/exclude.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/exclude.exp
@@ -1,5 +1,5 @@
# Expect script for --exclude-libs tests
-# Copyright 2004, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elf/export-class.exp b/binutils-2.25/ld/testsuite/ld-elf/export-class.exp
index 38c635c9..cc43ef02 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/export-class.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/export-class.exp
@@ -1,6 +1,6 @@
# Expect script for symbol export classes.
#
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elf/frame.exp b/binutils-2.25/ld/testsuite/ld-elf/frame.exp
index b9307d4f..0f34d72a 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/frame.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/frame.exp
@@ -1,5 +1,5 @@
# Expect script for frame section tests
-# Copyright 2004, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elf/group.ld b/binutils-2.25/ld/testsuite/ld-elf/group.ld
index 123ab26d..f8e50c37 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/group.ld
+++ b/binutils-2.25/ld/testsuite/ld-elf/group.ld
@@ -2,5 +2,5 @@ SECTIONS
{
. = 0x1000;
.text : { *(.text) *(.rodata.brlt) }
- /DISCARD/ : { *(.dropme) *(.reginfo) }
+ /DISCARD/ : { *(.dropme) *(.reginfo) *(.MIPS.abiflags) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/group1.d b/binutils-2.25/ld/testsuite/ld-elf/group1.d
index 6ee74cb4..ff675352 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/group1.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/group1.d
@@ -2,7 +2,7 @@
#source: group1b.s
#ld: -T group.ld
#readelf: -s
-#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
# generic linker targets don't comply with all symbol merging rules
Symbol table '.symtab' contains .* entries:
diff --git a/binutils-2.25/ld/testsuite/ld-elf/group3b.d b/binutils-2.25/ld/testsuite/ld-elf/group3b.d
index 1b8a2a2d..5182f3df 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/group3b.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/group3b.d
@@ -2,7 +2,7 @@
#source: group3a.s
#ld: -T group.ld
#readelf: -s
-#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
# generic linker targets don't comply with all symbol merging rules
Symbol table '.symtab' contains .* entries:
diff --git a/binutils-2.25/ld/testsuite/ld-elf/group8a.d b/binutils-2.25/ld/testsuite/ld-elf/group8a.d
index bad41230..f645256b 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/group8a.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/group8a.d
@@ -1,7 +1,7 @@
#source: group8.s
#ld: -r --gc-sections --entry foo
#readelf: -g --wide
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
#notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
#xfail: cr16-*-* crx-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
diff --git a/binutils-2.25/ld/testsuite/ld-elf/group8b.d b/binutils-2.25/ld/testsuite/ld-elf/group8b.d
index fb371986..2ce6b1aa 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/group8b.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/group8b.d
@@ -1,7 +1,7 @@
#source: group8.s
#ld: -r --gc-sections --entry bar
#readelf: -g --wide
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
#notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
#xfail: cr16-*-* crx-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
diff --git a/binutils-2.25/ld/testsuite/ld-elf/group9a.d b/binutils-2.25/ld/testsuite/ld-elf/group9a.d
index fd04c480..62215a5c 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/group9a.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/group9a.d
@@ -1,7 +1,7 @@
#source: group9.s
#ld: -r --gc-sections --entry foo
#readelf: -g --wide
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
#notarget: alpha-*-* hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
#xfail: cr16-*-* crx-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
diff --git a/binutils-2.25/ld/testsuite/ld-elf/group9b.d b/binutils-2.25/ld/testsuite/ld-elf/group9b.d
index 3f19fd6e..c4600d8a 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/group9b.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/group9b.d
@@ -1,7 +1,7 @@
#source: group9.s
#ld: -r --gc-sections --entry bar
#readelf: -g --wide
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
#notarget: alpha-*-* hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
#xfail: cr16-*-* crx-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
diff --git a/binutils-2.25/ld/testsuite/ld-elf/indirect.exp b/binutils-2.25/ld/testsuite/ld-elf/indirect.exp
index d5d3abc5..15ab9296 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/indirect.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/indirect.exp
@@ -1,5 +1,5 @@
# Expect script for various indirect symbol tests.
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/binutils-2.25/ld/testsuite/ld-elf/linkinfo1.s b/binutils-2.25/ld/testsuite/ld-elf/linkinfo1.s
new file mode 100644
index 00000000..dadda31c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/linkinfo1.s
@@ -0,0 +1,2 @@
+ .text
+ call foo@PLT
diff --git a/binutils-2.25/ld/testsuite/ld-elf/linkinfo1a.d b/binutils-2.25/ld/testsuite/ld-elf/linkinfo1a.d
new file mode 100644
index 00000000..8c6fb71c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/linkinfo1a.d
@@ -0,0 +1,8 @@
+#source: linkinfo1.s
+#ld: -shared
+#readelf: -SW
+#target: x86_64-* i?86-*
+
+#...
+ \[[ 0-9]+\] \.rel[a]?\.plt[ \t]+REL[A]?[ \t][ \t0-9a-f]+AI[ \t0-9a-f]+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-elf/linkinfo1b.d b/binutils-2.25/ld/testsuite/ld-elf/linkinfo1b.d
new file mode 100644
index 00000000..cc3aaed1
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/linkinfo1b.d
@@ -0,0 +1,9 @@
+#source: linkinfo1.s
+#ld: -shared
+#objcopy_linked_file: --strip-debug
+#readelf: -SW
+#target: x86_64-* i?86-*
+
+#...
+ \[[ 0-9]+\] \.rel[a]?\.plt[ \t]+REL[A]?[ \t][ \t0-9a-f]+AI[ \t0-9a-f]+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-elf/linkonce2.d b/binutils-2.25/ld/testsuite/ld-elf/linkonce2.d
index 0cbb3ad6..edc135fa 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/linkonce2.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/linkonce2.d
@@ -2,7 +2,7 @@
#source: linkonce1b.s
#ld: -emit-relocs
#objdump: -r
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
# generic elf targets don't emit relocs
.*: file format .*
diff --git a/binutils-2.25/ld/testsuite/ld-elf/merge.d b/binutils-2.25/ld/testsuite/ld-elf/merge.d
index c50de103..450ee07f 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/merge.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/merge.d
@@ -4,7 +4,7 @@
#xfail: "arc-*-*" "avr-*-*" "bfin-*-*" "cr16-*-*" "cris*-*-*" "crx-*-*" "d10v-*-*" "d30v-*-*"
#xfail: "dlx-*-*" "fr30-*-*" "frv-*-*" "hppa*64*-*-*" "h8300-*-*" "score-*-*"
#xfail: "i370-*-*" "i860-*-*" "i960-*-*" "ip2k-*-*" "iq2000-*-*" "lm32-*-*"
-#xfail: "mcore-*-*" "mn102*-*-*" "mips*-*-*" "ms1-*-*" "mep-*-*"
+#xfail: "mcore-*-*" "mn102*-*-*" "ms1-*-*" "mep-*-*"
#xfail: "or32-*-*" "pj-*-*" "sparc*-*-*" "tic6x-*-*" "vax-*-*" "xstormy16-*-*"
#xfail: "xtensa*-*-*" "metag-*-*"
diff --git a/binutils-2.25/ld/testsuite/ld-elf/merge2.d b/binutils-2.25/ld/testsuite/ld-elf/merge2.d
index 47706218..f7a18d66 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/merge2.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/merge2.d
@@ -2,7 +2,7 @@
#ld: -T merge.ld
#objdump: -s
#xfail: "arc-*-*" "d30v-*-*" "dlx-*-*" "hppa64-*-*"
-#xfail: "i960-*-*" "ip2k-*-*" "or32-*-*" "pj-*-*"
+#xfail: "i960-*-*" "ip2k-*-*" "pj-*-*"
.*: file format .*elf.*
diff --git a/binutils-2.25/ld/testsuite/ld-elf/needed2.ver b/binutils-2.25/ld/testsuite/ld-elf/needed2.ver
new file mode 100644
index 00000000..a68b3d92
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/needed2.ver
@@ -0,0 +1,4 @@
+BLAFOO {
+ global: pam_end;
+ local: *;
+};
diff --git a/binutils-2.25/ld/testsuite/ld-elf/needed2a.c b/binutils-2.25/ld/testsuite/ld-elf/needed2a.c
new file mode 100644
index 00000000..538cb22c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/needed2a.c
@@ -0,0 +1,5 @@
+extern void pam_end (void);
+void dumpme (void)
+{
+ pam_end ();
+}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/needed2b.c b/binutils-2.25/ld/testsuite/ld-elf/needed2b.c
new file mode 100644
index 00000000..50c25882
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/needed2b.c
@@ -0,0 +1,2 @@
+extern void pam_end (void);
+void pam_end (void) {}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/needed2c.c b/binutils-2.25/ld/testsuite/ld-elf/needed2c.c
new file mode 100644
index 00000000..e43b0d55
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/needed2c.c
@@ -0,0 +1,6 @@
+extern void dumpme (void);
+int main (void)
+{
+ dumpme();
+ return 0;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/needed3.c b/binutils-2.25/ld/testsuite/ld-elf/needed3.c
new file mode 100644
index 00000000..cbb9d564
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/needed3.c
@@ -0,0 +1,8 @@
+extern void foo (void);
+
+int
+main ()
+{
+ foo ();
+ return 0;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/orphan-region.d b/binutils-2.25/ld/testsuite/ld-elf/orphan-region.d
index bf653567..481d8227 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/orphan-region.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/orphan-region.d
@@ -2,7 +2,7 @@
#ld: -T orphan-region.ld -N -z stack-size=0
#readelf: -S -l --wide
#xfail: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
-#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* or32-*-* pj*-*-*
+#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
#xfail: spu-*-* hppa*64*-*-* *-*-nacl*
# if not using elf32.em, you don't get fancy orphan handling
# spu twiddles LOAD range, hppa64 adds PHDR, nacl splits to two segments
diff --git a/binutils-2.25/ld/testsuite/ld-elf/orphan-region.ld b/binutils-2.25/ld/testsuite/ld-elf/orphan-region.ld
index b7dfdba2..2abf8bcb 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/orphan-region.ld
+++ b/binutils-2.25/ld/testsuite/ld-elf/orphan-region.ld
@@ -7,5 +7,5 @@ SECTIONS
{
.text : ALIGN (4) { *(.text) } > region
.rodata : ALIGN (4) { *(.rodata) } > region
- /DISCARD/ : { *(.reginfo) *(.trampolines) }
+ /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) *(.trampolines) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/orphan.d b/binutils-2.25/ld/testsuite/ld-elf/orphan.d
index 7955c8b6..630e5960 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/orphan.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/orphan.d
@@ -2,7 +2,7 @@
#ld: -T orphan.ld
#readelf: -S --wide
#xfail: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
-#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* or32-*-* pj*-*-*
+#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
# if not using elf32.em, you don't get fancy orphan handling
#...
diff --git a/binutils-2.25/ld/testsuite/ld-elf/orphan.ld b/binutils-2.25/ld/testsuite/ld-elf/orphan.ld
index d23222b4..44eb7eb2 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/orphan.ld
+++ b/binutils-2.25/ld/testsuite/ld-elf/orphan.ld
@@ -4,5 +4,5 @@ SECTIONS
.data : { *(.data) }
.bss : { *(.bss) *(COMMON) }
.note : { *(.note) }
- /DISCARD/ : { *(.reginfo) *(.trampolines) }
+ /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) *(.trampolines) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/orphan3.d b/binutils-2.25/ld/testsuite/ld-elf/orphan3.d
index ea600d32..dbaaa437 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/orphan3.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/orphan3.d
@@ -8,7 +8,7 @@
#readelf: -S --wide
#xfail: "arc-*-*" "d30v-*-*" "dlx-*-*" "fr30-*-*" "frv-*-elf"
#xfail: "i860-*-*" "i960-*-*" "iq2000-*-*" "mn10200-*-*" "msp430-*-*" "mt-*-*"
-#xfail: "or32-*-*" "pj-*-*"
+#xfail: "pj-*-*"
#xfail: "xstormy16-*-*"
#...
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr12851.d b/binutils-2.25/ld/testsuite/ld-elf/pr12851.d
index fb61c5ab..8aa48e94 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/pr12851.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr12851.d
@@ -2,7 +2,7 @@
#source: start.s
#ld: --gc-sections
#readelf: -s --wide
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
#notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr12975.d b/binutils-2.25/ld/testsuite/ld-elf/pr12975.d
index b361cc2f..11ace1fc 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/pr12975.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr12975.d
@@ -1,7 +1,7 @@
#ld: --gc-sections -shared -version-script pr12975.t
#readelf: -s --wide
#target: *-*-linux* *-*-gnu*
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
#notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr13177.d b/binutils-2.25/ld/testsuite/ld-elf/pr13177.d
index e56e8652..a009988a 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/pr13177.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr13177.d
@@ -2,7 +2,7 @@
#ld: --gc-sections -shared
#readelf: -s -D --wide
#target: *-*-linux* *-*-gnu*
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
#notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr13195.d b/binutils-2.25/ld/testsuite/ld-elf/pr13195.d
index 796102b9..6b39f2d8 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/pr13195.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr13195.d
@@ -1,7 +1,7 @@
#ld: --gc-sections -shared -version-script pr13195.t
#readelf: -s --wide -D
#target: *-*-linux* *-*-gnu*
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
#notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr16322.d b/binutils-2.25/ld/testsuite/ld-elf/pr16322.d
new file mode 100644
index 00000000..40a7975c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr16322.d
@@ -0,0 +1,7 @@
+#ld: -shared -z relro
+#readelf: -l --wide
+#target: *-*-linux-gnu *-*-gnu* *-*-nacl*
+
+#...
+ GNU_RELRO .*
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr16322.s b/binutils-2.25/ld/testsuite/ld-elf/pr16322.s
new file mode 100644
index 00000000..c95817ae
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr16322.s
@@ -0,0 +1,6 @@
+ .globl p1
+ .section .data.rel.ro,"aw",%progbits
+ .p2align 5
+ .type p1, %object
+p1:
+ .dc.a f1
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr16498a.d b/binutils-2.25/ld/testsuite/ld-elf/pr16498a.d
new file mode 100644
index 00000000..436bf971
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr16498a.d
@@ -0,0 +1,9 @@
+#ld: -shared -T pr16498a.t
+#readelf: -l --wide
+#target: *-*-linux* *-*-gnu* *-*-nacl*
+
+#...
+ TLS .*
+#...
+[ ]+[0-9]+[ ]+.tdata .tbss[ ]*
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr16498a.s b/binutils-2.25/ld/testsuite/ld-elf/pr16498a.s
new file mode 100644
index 00000000..be503a28
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr16498a.s
@@ -0,0 +1,23 @@
+ .globl data
+ .data
+ .p2align 5
+ .type data, %object
+ .size data, 120
+data:
+ .long 1
+ .zero 116
+ .globl foo
+ .section .tbss,"awT",%nobits
+ .p2align 2
+ .type foo, %object
+ .size foo, 4
+foo:
+ .zero 4
+ .globl bar
+ .section .tdata,"awT",%progbits
+ .p2align 4
+ .type bar, %object
+ .size bar, 80
+bar:
+ .long 1
+ .zero 76
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr16498a.t b/binutils-2.25/ld/testsuite/ld-elf/pr16498a.t
new file mode 100644
index 00000000..928724fa
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr16498a.t
@@ -0,0 +1,6 @@
+SECTIONS
+{
+ .tdata : { *(.tdata) }
+ .data : { *(.data)
+ }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr16498b.d b/binutils-2.25/ld/testsuite/ld-elf/pr16498b.d
new file mode 100644
index 00000000..c70c2393
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr16498b.d
@@ -0,0 +1,10 @@
+#source: pr16498a.s
+#ld: -shared -T pr16498b.t
+#readelf: -l --wide
+#target: *-*-linux* *-*-gnu* *-*-nacl*
+
+#...
+ TLS .*
+#...
+[ ]+[0-9]+[ ]+tls_data_init .tbss[ ]*
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr16498b.t b/binutils-2.25/ld/testsuite/ld-elf/pr16498b.t
new file mode 100644
index 00000000..b88f9b8e
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr16498b.t
@@ -0,0 +1,6 @@
+SECTIONS
+{
+ tls_data_init : { *(.tdata) }
+ .data : { *(.data)
+ }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr17068.s b/binutils-2.25/ld/testsuite/ld-elf/pr17068.s
new file mode 100644
index 00000000..9675ab4a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr17068.s
@@ -0,0 +1,2 @@
+ .data
+ .dc.a a
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr17068a.s b/binutils-2.25/ld/testsuite/ld-elf/pr17068a.s
new file mode 100644
index 00000000..552697c9
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr17068a.s
@@ -0,0 +1,4 @@
+ .data
+ .globl a
+a:
+ .dc.a b
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr17068b.s b/binutils-2.25/ld/testsuite/ld-elf/pr17068b.s
new file mode 100644
index 00000000..aa536f20
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr17068b.s
@@ -0,0 +1,4 @@
+ .data
+ .globl b
+b:
+ .dc.a c
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr17068c.s b/binutils-2.25/ld/testsuite/ld-elf/pr17068c.s
new file mode 100644
index 00000000..1d78f6d5
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr17068c.s
@@ -0,0 +1,4 @@
+ .data
+ .globl c
+c:
+ .dc.a d
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr17068d.s b/binutils-2.25/ld/testsuite/ld-elf/pr17068d.s
new file mode 100644
index 00000000..6165128a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr17068d.s
@@ -0,0 +1,6 @@
+ .data
+ .globl d
+ .type d,%object
+d:
+ .dc.a e
+ .size d,.-d
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr17068e.s b/binutils-2.25/ld/testsuite/ld-elf/pr17068e.s
new file mode 100644
index 00000000..095eb89e
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr17068e.s
@@ -0,0 +1,3 @@
+ .data
+ .globl e
+e:
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr17068ez.s b/binutils-2.25/ld/testsuite/ld-elf/pr17068ez.s
new file mode 100644
index 00000000..70e040d4
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr17068ez.s
@@ -0,0 +1,4 @@
+ .data
+ .globl e
+e:
+ .dc.a z
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr2404.out b/binutils-2.25/ld/testsuite/ld-elf/pr2404.out
new file mode 100644
index 00000000..d1aa5fe6
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr2404.out
@@ -0,0 +1,4 @@
+times: -1
+times: 20
+time: 0
+time: 10
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr2404a.c b/binutils-2.25/ld/testsuite/ld-elf/pr2404a.c
new file mode 100644
index 00000000..4b2b5a94
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr2404a.c
@@ -0,0 +1,10 @@
+#include <time.h>
+#include <sys/times.h>
+
+int
+bar (void)
+{
+ struct tms buf;
+ clock_t ticks = times (&buf);
+ return ticks == 0 && time (NULL) == 0;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr2404b.c b/binutils-2.25/ld/testsuite/ld-elf/pr2404b.c
new file mode 100644
index 00000000..5f0f7b4c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr2404b.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+
+extern int bar (void);
+
+int times = -1;
+int time;
+
+int
+main ()
+{
+ printf ("times: %d\n", times);
+ times = 20;
+ printf ("times: %d\n", times);
+
+ printf ("time: %d\n", time);
+ time = 10;
+ printf ("time: %d\n", time);
+ bar ();
+
+ return 0;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/pr349.d b/binutils-2.25/ld/testsuite/ld-elf/pr349.d
index 48e32569..f2a577f1 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/pr349.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/pr349.d
@@ -3,7 +3,7 @@
#ld: -r
#readelf: -S
#xfail: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
-#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* or32-*-* pj*-*-*
+#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
# if not using elf32.em, you don't get fancy section handling
#...
diff --git a/binutils-2.25/ld/testsuite/ld-elf/provide-hidden.exp b/binutils-2.25/ld/testsuite/ld-elf/provide-hidden.exp
index 7246d110..8bf5fdc2 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/provide-hidden.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/provide-hidden.exp
@@ -1,6 +1,6 @@
# Expect script for the PROVIDE_HIDDEN linker script command.
#
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright (C) 2013-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elf/rdynamic-1.c b/binutils-2.25/ld/testsuite/ld-elf/rdynamic-1.c
new file mode 100644
index 00000000..7c9d1ab0
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/rdynamic-1.c
@@ -0,0 +1,10 @@
+void
+rdynamic ()
+{
+}
+
+int
+main ()
+{
+ return 0;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/rdynamic-1.rd b/binutils-2.25/ld/testsuite/ld-elf/rdynamic-1.rd
new file mode 100644
index 00000000..dbf36021
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-elf/rdynamic-1.rd
@@ -0,0 +1,5 @@
+Symbol table '\.dynsym' contains [0-9]+ entries:
+ +Num: +Value +Size Type +Bind +Vis +Ndx Name
+#...
+ +[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ +_?rdynamic
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-elf/sec-to-seg.exp b/binutils-2.25/ld/testsuite/ld-elf/sec-to-seg.exp
index c9630551..612dd0c4 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/sec-to-seg.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/sec-to-seg.exp
@@ -1,6 +1,6 @@
# Test the assigment of sections to segments.
#
-# Copyright 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/testsuite/ld-elf/sec64k.exp b/binutils-2.25/ld/testsuite/ld-elf/sec64k.exp
index 7c9f2929..68216921 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/sec64k.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/sec64k.exp
@@ -1,6 +1,5 @@
# Expect script for tests for >64k sections
-# Copyright 2002, 2003, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -35,7 +34,7 @@ if { [istarget "arc-*-*"]
|| [istarget "dlx-*-*"]
|| [istarget "i960-*-*"]
|| [istarget "msp430*-*-*"]
- || [istarget "or32-*-*"]
+ || [istarget "or1k*-*-*"]
|| [istarget "pj*-*-*"]
|| [istarget "m32r-*-*"] } {
return
diff --git a/binutils-2.25/ld/testsuite/ld-elf/shared.exp b/binutils-2.25/ld/testsuite/ld-elf/shared.exp
index 56c724f4..b55856a2 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/shared.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/shared.exp
@@ -1,6 +1,5 @@
# Expect script for various ELF tests.
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -38,6 +37,11 @@ if { [which $CC] == 0 } {
return
}
+# Add -ldl to extralibs if needed
+if { ![istarget *-*-freebsd*]} {
+ set extralibs "-ldl"
+}
+
set build_tests {
{"Build libfoo.so"
"-shared" "-fPIC"
@@ -206,6 +210,42 @@ set build_tests {
{"Build librel.so"
"-shared" "-fPIC"
{rel.c} {} "librel.so"}
+ {"Build libneeded2a.so"
+ "-shared" "-fPIC"
+ {needed2a.c} {} "libneeded2a.so"}
+ {"Build libneeded2b.so"
+ "-shared -Wl,--version-script,needed2.ver" "-fPIC"
+ {needed2b.c} {} "libneeded2b.so"}
+ {"Build libneeded2c.o"
+ "-r -nostdlib" ""
+ {needed2c.c} {} "libneeded2c.o"}
+ {"Build needed2"
+ "tmpdir/libneeded2c.o -Wl,--as-needed tmpdir/libneeded2a.so tmpdir/libneeded2b.so" ""
+ {dummy.c} {} "needed2"}
+ {"Build libneeded3a.so"
+ "-shared -Wl,--no-add-needed" "-fPIC"
+ {needed1a.c} {} "libneeded3a.so"}
+ {"Build libneeded3b.so"
+ "-shared -Wl,--no-as-needed,--add-needed -Ltmpdir -lneeded1b" "-fPIC"
+ {dummy.c} {} "libneeded3b.so"}
+ {"Build needed3.o"
+ "-r -nostdlib" ""
+ {needed3.c} {} "libneeded3.so"}
+ {"Build needed3"
+ "tmpdir/needed3.o -Wl,--as-needed -Ltmpdir -lneeded3a -lneeded3b -lneeded1b" ""
+ {dummy.c} {} "needed3"}
+ {"Build libpr2404a.so"
+ "-shared" "-fPIC"
+ {pr2404a.c} {} "libpr2404a.so"}
+ {"Build libpr2404b.a"
+ "" ""
+ {pr2404b.c} {} "libpr2404b.a"}
+ {"Build rdynamic-1"
+ "-rdynamic -Wl,--gc-sections" "-ffunction-sections"
+ {rdynamic-1.c} {{readelf {-s} rdynamic-1.rd}} "rdynamic-1"}
+ {"Build dynamic-1"
+ "-Wl,--dynamic-list,dynamic-1.syms -Wl,--gc-sections" "-ffunction-sections"
+ {dynamic-1.c} {{readelf {-s} dynamic-1.rd}} "dynamic-1"}
}
run_cc_link_tests $build_tests
@@ -252,10 +292,10 @@ set run_tests {
"tmpdir/libbarhfoov.so tmpdir/libfoov.so" ""
{main.c} "hidden" "hidden.out"}
{"Run dl1a with --dynamic-list=dl1.list and dlopen on libdl1.so"
- "--dynamic-list=dl1.list -ldl" ""
+ "--dynamic-list=dl1.list $extralibs" ""
{dl1main.c} "dl1a" "dl1.out"}
{"Run dl1b with --dynamic-list-data and dlopen on libdl1.so"
- "--dynamic-list-data -ldl" ""
+ "--dynamic-list-data $extralibs" ""
{dl1main.c} "dl1b" "dl1.out"}
{"Run with libdl2a.so"
"tmpdir/libdl2a.so" ""
@@ -285,37 +325,37 @@ set run_tests {
"tmpdir/libdl4f.so" ""
{dl4main.c} "dl4f" "dl4a.out"}
{"Run dl6a1 with --dynamic-list-data and dlopen on libdl6a.so"
- "--dynamic-list-data -ldl" ""
+ "--dynamic-list-data $extralibs" ""
{dl6amain.c} "dl6a1" "dl6a.out"}
{"Run dl6a2 with -Bsymbolic-functions and dlopen on libdl6a.so"
- "-Bsymbolic-functions -ldl" ""
+ "-Bsymbolic-functions $extralibs" ""
{dl6amain.c} "dl6a2" "dl6b.out"}
{"Run dl6a3 with -Bsymbolic and dlopen on libdl6a.so"
- "-Bsymbolic -ldl" ""
+ "-Bsymbolic $extralibs" ""
{dl6amain.c} "dl6a3" "dl6b.out"}
{"Run dl6a4 with -Bsymbolic --dynamic-list-data and dlopen on libdl6a.so"
- "-Bsymbolic --dynamic-list-data -ldl" ""
+ "-Bsymbolic --dynamic-list-data $extralibs" ""
{dl6amain.c} "dl6a4" "dl6a.out"}
{"Run dl6a5 with -Bsymbolic-functions --dynamic-list-cpp-new and dlopen on libdl6a.so"
- "-Bsymbolic-functions --dynamic-list-cpp-new -ldl" ""
+ "-Bsymbolic-functions --dynamic-list-cpp-new $extralibs" ""
{dl6amain.c} "dl6a5" "dl6b.out"}
{"Run dl6a6 with --dynamic-list-cpp-new -Bsymbolic-functions and dlopen on libdl6a.so"
- "--dynamic-list-cpp-new -Bsymbolic-functions -ldl" ""
+ "--dynamic-list-cpp-new -Bsymbolic-functions $extralibs" ""
{dl6amain.c} "dl6a6" "dl6b.out"}
{"Run dl6a7 with --dynamic-list-data -Bsymbolic and dlopen on libdl6a.so"
- "--dynamic-list-data -Bsymbolic -ldl" ""
+ "--dynamic-list-data -Bsymbolic $extralibs" ""
{dl6amain.c} "dl6a7" "dl6a.out"}
{"Run dl6b1 with --dynamic-list-data and dlopen on libdl6b.so"
- "--dynamic-list-data -ldl" ""
+ "--dynamic-list-data $extralibs" ""
{dl6bmain.c} "dl6b1" "dl6a.out"}
{"Run dl6b2 with dlopen on libdl6b.so"
- "-ldl" ""
+ "$extralibs" ""
{dl6bmain.c} "dl6b2" "dl6b.out"}
{"Run dl6c1 with --dynamic-list-data and dlopen on libdl6c.so"
- "--dynamic-list-data -ldl" ""
+ "--dynamic-list-data $extralibs" ""
{dl6cmain.c} "dl6c1" "dl6b.out"}
{"Run dl6d1 with --dynamic-list-data and dlopen on libdl6d.so"
- "--dynamic-list-data -ldl" ""
+ "--dynamic-list-data $extralibs" ""
{dl6dmain.c} "dl6d1" "dl6b.out"}
{"Run with libdata1.so"
"tmpdir/libdata1.so" ""
@@ -353,6 +393,9 @@ set run_tests {
{"Run relmain"
"--no-as-needed -rpath=tmpdir -Ltmpdir -lrel" ""
{relmain.c} "relmain" "relmain.out"}
+ {"Run pr2404"
+ "tmpdir/pr2404b.o tmpdir/libpr2404a.so" ""
+ {dummy.c} "pr2404" "pr2404.out"}
}
# NetBSD ELF systems do not currently support the .*_array sections.
@@ -360,28 +403,28 @@ run_ld_link_exec_tests [list "*-*-netbsdelf*"] $run_tests
# Check --no-add-needed and --no-copy-dt-needed-entries
set testname "--no-add-needed"
-set exec_output [run_host_cmd "$CC" "$gcc_gas_flag $gcc_ld_flag tmpdir/libneeded1c.o -Wl,--no-add-needed,-rpath-link=tmpdir -Ltmpdir -lneeded1a"]
+set exec_output [run_host_cmd "$CC" "tmpdir/libneeded1c.o -Wl,--no-add-needed,-rpath-link=tmpdir -Ltmpdir -lneeded1a"]
if { [ regexp "tmpdir/libneeded1b.so: .*: DSO missing" $exec_output ] } {
pass $testname
} {
fail $testname
}
set testname "--no-copy-dt-needed-entries"
-set exec_output [run_host_cmd "$CC" "$gcc_gas_flag $gcc_ld_flag tmpdir/libneeded1c.o -Wl,--no-copy-dt-needed-entries,-rpath-link=tmpdir -Ltmpdir -lneeded1a"]
+set exec_output [run_host_cmd "$CC" "tmpdir/libneeded1c.o -Wl,--no-copy-dt-needed-entries,-rpath-link=tmpdir -Ltmpdir -lneeded1a"]
if { [ regexp "tmpdir/libneeded1b.so: .*: DSO missing" $exec_output ] } {
pass $testname
} {
fail $testname
}
set testname "--no-add-needed -shared"
-set exec_output [run_host_cmd "$CC" "$gcc_gas_flag $gcc_ld_flag -shared tmpdir/libneeded1pic.o -Wl,--no-add-needed,-z,defs -Ltmpdir -lneeded1a"]
+set exec_output [run_host_cmd "$CC" "-shared tmpdir/libneeded1pic.o -Wl,--no-add-needed,-z,defs -Ltmpdir -lneeded1a"]
if { [ regexp "undefined reference to `bar'" $exec_output ] } {
pass $testname
} {
fail $testname
}
set testname "--no-copy-dt-needed-entries -shared"
-set exec_output [run_host_cmd "$CC" "$gcc_gas_flag $gcc_ld_flag -shared tmpdir/libneeded1pic.o -Wl,--no-copy-dt-needed-entries,-z,defs -Ltmpdir -lneeded1a"]
+set exec_output [run_host_cmd "$CC" "-shared tmpdir/libneeded1pic.o -Wl,--no-copy-dt-needed-entries,-z,defs -Ltmpdir -lneeded1a"]
if { [ regexp "undefined reference to `bar'" $exec_output ] } {
pass $testname
} {
@@ -432,3 +475,29 @@ set run_cxx_tests {
run_cc_link_tests $build_cxx_tests
run_ld_link_exec_tests [] $run_cxx_tests
+
+if { [istarget *-*-linux*]
+ || [istarget *-*-nacl*]
+ || [istarget *-*-gnu*] } {
+ run_cc_link_tests [list \
+ [list \
+ "Build libpr2404b.a with PIE" \
+ "" \
+ "-fPIE" \
+ { pr2404b.c } \
+ {} \
+ "libpr2404b.a" \
+ ] \
+ ]
+ run_ld_link_exec_tests [] [list \
+ [list \
+ "Run pr2404 with PIE" \
+ "-pie tmpdir/pr2404b.o tmpdir/libpr2404a.so" \
+ "" \
+ { dummy.c } \
+ "pr2404pie" \
+ "pr2404.out" \
+ "-fPIE" \
+ ] \
+ ]
+}
diff --git a/binutils-2.25/ld/testsuite/ld-elf/tls_common.exp b/binutils-2.25/ld/testsuite/ld-elf/tls_common.exp
index fee40316..48a833f2 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/tls_common.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/tls_common.exp
@@ -1,5 +1,5 @@
# Expect script for .tls_common tests
-# Copyright 2006, 2007, 2010, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elf/warn1.d b/binutils-2.25/ld/testsuite/ld-elf/warn1.d
index 3ef5032e..b22b64fd 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/warn1.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/warn1.d
@@ -5,7 +5,7 @@
#warning: ^[^\\n]*\): warning: witty one-liner$
#readelf: -s
#notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
-#xfail: "arc-*-*" "d30v-*-*" "dlx-*-*" "i960-*-*" "or32-*-*" "pj-*-*"
+#xfail: "arc-*-*" "d30v-*-*" "dlx-*-*" "i960-*-*" "pj-*-*"
# Check that warnings are generated for the .gnu.warning.SYMBOL
# construct and that the symbol still appears as expected.
diff --git a/binutils-2.25/ld/testsuite/ld-elf/warn2.d b/binutils-2.25/ld/testsuite/ld-elf/warn2.d
index 95b7ef49..ee7220e1 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/warn2.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/warn2.d
@@ -6,7 +6,7 @@
#readelf: -s
#notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
#xfail: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
-#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* or32-*-* pj*-*-*
+#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
# if not using elf32.em, you don't get fancy section handling
# Check that warnings are generated for the symbols in .gnu.warning
diff --git a/binutils-2.25/ld/testsuite/ld-elf/warn3.d b/binutils-2.25/ld/testsuite/ld-elf/warn3.d
index 53dee189..dc245403 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/warn3.d
+++ b/binutils-2.25/ld/testsuite/ld-elf/warn3.d
@@ -3,7 +3,7 @@
#warning: .*: warning: badsym warning$
#readelf: -s
#notarget: hppa64*-hpux*
-#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-*
+#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
# generic linker targets don't support .gnu.warning sections.
# Check that warnings are generated for the symbols in .gnu.warning
diff --git a/binutils-2.25/ld/testsuite/ld-elf/wrap.exp b/binutils-2.25/ld/testsuite/ld-elf/wrap.exp
index 70e433d9..3bf05885 100644
--- a/binutils-2.25/ld/testsuite/ld-elf/wrap.exp
+++ b/binutils-2.25/ld/testsuite/ld-elf/wrap.exp
@@ -1,5 +1,5 @@
# Expect script for wrap ELF tests.
-# Copyright 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elfcomm/elfcomm.exp b/binutils-2.25/ld/testsuite/ld-elfcomm/elfcomm.exp
index c5c75391..ce2ff34d 100644
--- a/binutils-2.25/ld/testsuite/ld-elfcomm/elfcomm.exp
+++ b/binutils-2.25/ld/testsuite/ld-elfcomm/elfcomm.exp
@@ -1,6 +1,5 @@
# Expect script for common symbol tests
-# Copyright 2003, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elfvers/vers.exp b/binutils-2.25/ld/testsuite/ld-elfvers/vers.exp
index d1eedb76..45a004b0 100644
--- a/binutils-2.25/ld/testsuite/ld-elfvers/vers.exp
+++ b/binutils-2.25/ld/testsuite/ld-elfvers/vers.exp
@@ -1,6 +1,5 @@
# Expect script for ld-version tests
-# Copyright 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-# 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -774,8 +773,9 @@ proc build_exec { test source execname flags solibname verexp versymexp symexp }
}
if { [istarget x86_64-*-linux*] \
+ || [istarget arm*-*-*] \
|| ( [istarget mips*-*-linux*] && [at_least_gcc_version 4 3] ) } {
- # x86_64 and newer MIPS toolchains do not like non-pic shared libraries
+ # x86_64, ARM and newer MIPS toolchains do not like non-pic shared libraries
set pic "yes"
} else {
set pic "no"
diff --git a/binutils-2.25/ld/testsuite/ld-elfvers/vers24.rd b/binutils-2.25/ld/testsuite/ld-elfvers/vers24.rd
index 42e81e42..fb464f9f 100644
--- a/binutils-2.25/ld/testsuite/ld-elfvers/vers24.rd
+++ b/binutils-2.25/ld/testsuite/ld-elfvers/vers24.rd
@@ -7,9 +7,9 @@ Symbol table '.dynsym' contains [0-9]+ entries:
# And ensure the dynamic symbol table contains at least x@VERS.0
# and foo@@VERS.0 symbols
#...
- +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ _?foo@)@VERS\.0
+ +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT .* [0-9]+ _?foo@)@VERS\.0
#...
- +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ _?foo@)@VERS\.0
+ +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT .* [0-9]+ _?foo@)@VERS\.0
#...
Symbol table '.symtab' contains [0-9]+ entries:
#pass
diff --git a/binutils-2.25/ld/testsuite/ld-elfvsb/elf-offset.ld b/binutils-2.25/ld/testsuite/ld-elfvsb/elf-offset.ld
index 7c648247..cd90bcc9 100644
--- a/binutils-2.25/ld/testsuite/ld-elfvsb/elf-offset.ld
+++ b/binutils-2.25/ld/testsuite/ld-elfvsb/elf-offset.ld
@@ -131,7 +131,7 @@ SECTIONS
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections. */
- . = ALIGN(32 / 8);
+ . = ALIGN(. != 0 ? 32 / 8 : 1);
}
. = ALIGN(32 / 8);
_end = . ;
diff --git a/binutils-2.25/ld/testsuite/ld-elfvsb/elfvsb.exp b/binutils-2.25/ld/testsuite/ld-elfvsb/elfvsb.exp
index 3a04501e..05771467 100644
--- a/binutils-2.25/ld/testsuite/ld-elfvsb/elfvsb.exp
+++ b/binutils-2.25/ld/testsuite/ld-elfvsb/elfvsb.exp
@@ -1,6 +1,5 @@
# Expect script for ld-visibility tests
-# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 2000-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-elfweak/elfweak.exp b/binutils-2.25/ld/testsuite/ld-elfweak/elfweak.exp
index 3a274659..5da23d79 100644
--- a/binutils-2.25/ld/testsuite/ld-elfweak/elfweak.exp
+++ b/binutils-2.25/ld/testsuite/ld-elfweak/elfweak.exp
@@ -1,6 +1,5 @@
# Expect script for ld-weak tests
-# Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2010, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -71,17 +70,6 @@ set SOBJDUMP_FLAGS --syms
set shared "--shared -Wl,--no-as-needed"
-# <http://www.gnu.org/software/hurd/open_issues/binutils.html#weak>
-proc setup_xfail_gnu_hurd {} {
- global target_triplet
- # Be cautious to not XFAIL for *-*-linux-gnu*, *-*-kfreebsd-gnu*, etc.
- switch -regexp $target_triplet {
- ^\[^-\]*-\[^-\]*-gnu.*$ {
- setup_xfail "*-*-*"
- }
- }
-}
-
#
# objdump_symstuff
# Dump non-dynamic symbol stuff and make sure that it is sane.
@@ -468,9 +456,7 @@ build_lib "ELF DSO weak func first DSO" libfoo "foo.o libbar.so" dsow.dsym
build_lib "ELF DSO weak func last DSO" libfoo "libbar.so foo.o" dsow.dsym
build_exec "ELF weak func first" foo "main.o bar.o" "" strong "" strong.sym
build_exec "ELF weak func last" foo "bar.o main.o" "" strong "" strong.sym
-setup_xfail_gnu_hurd
build_exec "ELF weak func first DSO" foo "main.o libbar.so" "-Wl,-rpath,.,--no-as-needed" weak weak.dsym ""
-setup_xfail_gnu_hurd
build_exec "ELF weak func last DSO" foo "libbar.so main.o" "-Wl,-rpath,.,--no-as-needed" weak weak.dsym ""
build_lib "ELF DSO weak data first" libfoo "bar1a.o foo1a.o" dsodata.dsym
@@ -483,13 +469,9 @@ build_exec "ELF weak data first" foo "main1.o bar1a.o foo1a.o" "" strongdata ""
build_exec "ELF weak data last" foo "foo1a.o main1.o bar1a.o" "" strongdata "" strongdata.sym
build_exec "ELF weak data first common" foo "main1.o bar1a.o foo1b.o" "" strongdata "" strongcomm.sym
build_exec "ELF weak data last common" foo "foo1b.o main1.o bar1a.o" "" strongdata "" strongcomm.sym
-setup_xfail_gnu_hurd
build_exec "ELF weak data first DSO" foo "main1.o libbar1a.so libfoo1a.so" "-Wl,-rpath,.,--no-as-needed" weakdata weakdata.dsym ""
-setup_xfail_gnu_hurd
build_exec "ELF weak data last DSO" foo "libfoo1a.so main1.o libbar1a.so" "-Wl,-rpath,.,--no-as-needed" weakdata weakdata.dsym ""
-setup_xfail_gnu_hurd
build_exec "ELF weak data first DSO common" foo "main1.o libbar1a.so libfoo1b.so" "-Wl,-rpath,.,--no-as-needed" weakdata weakdata.dsym ""
-setup_xfail_gnu_hurd
build_exec "ELF weak data last DSO common" foo "libfoo1b.so main1.o libbar1a.so" "-Wl,-rpath,.,--no-as-needed" weakdata weakdata.dsym ""
if ![ld_compile "$CC $CFLAGS $picflag" $srcdir/$subdir/size_foo.c $tmpdir/size_foo.o] {
diff --git a/binutils-2.25/ld/testsuite/ld-fastcall/fastcall.exp b/binutils-2.25/ld/testsuite/ld-fastcall/fastcall.exp
index f0ee316f..bdc1eda6 100644
--- a/binutils-2.25/ld/testsuite/ld-fastcall/fastcall.exp
+++ b/binutils-2.25/ld/testsuite/ld-fastcall/fastcall.exp
@@ -1,5 +1,5 @@
# Test that the linker can handle fastcall symbols correctly.
-# Copyright 2002, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-frv/fdpic.exp b/binutils-2.25/ld/testsuite/ld-frv/fdpic.exp
index 90da0d34..21e8f6da 100644
--- a/binutils-2.25/ld/testsuite/ld-frv/fdpic.exp
+++ b/binutils-2.25/ld/testsuite/ld-frv/fdpic.exp
@@ -1,5 +1,5 @@
# Expect script for FRV FDPIC linker tests
-# Copyright 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-frv/frv-elf.exp b/binutils-2.25/ld/testsuite/ld-frv/frv-elf.exp
index 961e0ded..37dfa4fc 100644
--- a/binutils-2.25/ld/testsuite/ld-frv/frv-elf.exp
+++ b/binutils-2.25/ld/testsuite/ld-frv/frv-elf.exp
@@ -1,5 +1,5 @@
# Expect script for FRV specific linker tests
-# Copyright (C) 2007 Free Software Foundation
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-frv/tls.exp b/binutils-2.25/ld/testsuite/ld-frv/tls.exp
index 1266be7f..630d0f44 100644
--- a/binutils-2.25/ld/testsuite/ld-frv/tls.exp
+++ b/binutils-2.25/ld/testsuite/ld-frv/tls.exp
@@ -1,5 +1,5 @@
# Expect script for FRV FDPIC TLS linker tests
-# Copyright 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-gc/gc.exp b/binutils-2.25/ld/testsuite/ld-gc/gc.exp
index ddbbd519..bb30a510 100644
--- a/binutils-2.25/ld/testsuite/ld-gc/gc.exp
+++ b/binutils-2.25/ld/testsuite/ld-gc/gc.exp
@@ -1,6 +1,5 @@
# Expect script for ld-gc tests
-# Copyright 2008, 2009, 2010, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 2008-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-h8300/h8300.exp b/binutils-2.25/ld/testsuite/ld-h8300/h8300.exp
index 240c7c3e..f047d2f4 100644
--- a/binutils-2.25/ld/testsuite/ld-h8300/h8300.exp
+++ b/binutils-2.25/ld/testsuite/ld-h8300/h8300.exp
@@ -1,5 +1,5 @@
# Expect script for ld-h8300 tests
-# Copyright 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-i386/export-class.exp b/binutils-2.25/ld/testsuite/ld-i386/export-class.exp
index 98524a32..7f24a790 100644
--- a/binutils-2.25/ld/testsuite/ld-i386/export-class.exp
+++ b/binutils-2.25/ld/testsuite/ld-i386/export-class.exp
@@ -1,6 +1,6 @@
# Expect script for symbol export classes, i386 variation.
#
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-i386/i386.exp b/binutils-2.25/ld/testsuite/ld-i386/i386.exp
index 26673819..30be98a3 100644
--- a/binutils-2.25/ld/testsuite/ld-i386/i386.exp
+++ b/binutils-2.25/ld/testsuite/ld-i386/i386.exp
@@ -1,6 +1,5 @@
# Expect script for ld-i386 tests
-# Copyright (C) 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2012
-# Free Software Foundation
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -184,6 +183,14 @@ set i386tests {
{"TLS IE->LE transition" "-melf_i386" ""
"--32" {tlsie1.s}
{{objdump -dwr tlsie1.dd}} "tlsie1"}
+ {"PR ld/17313 (1)" "-melf_i386" ""
+ "--32" {zero.s} {} ""}
+ {"PR ld/17313 (2)" "-melf_i386 -shared --just-symbols=tmpdir/zero.o" ""
+ "--32" {lea1.s} {} "libpr17313.so"}
+ {"PR ld/17306 (1)" "-melf_i386" ""
+ "--32" {pr17306b.s} {} ""}
+ {"PR ld/17306 (2)" "-melf_i386 -shared -Bsymbolic --just-symbols=tmpdir/pr17306b.o" ""
+ "--32" {pr17306a.s} {} "libpr17306.so"}
}
# So as to avoid rewriting every last test case here in a nacl variant,
@@ -255,3 +262,4 @@ run_dump_test "compressed1"
run_dump_test "pr12627"
run_dump_test "pr13302"
run_dump_test "pr14215"
+run_dump_test "pr17057"
diff --git a/binutils-2.25/ld/testsuite/ld-i386/pr17057.d b/binutils-2.25/ld/testsuite/ld-i386/pr17057.d
new file mode 100644
index 00000000..29cc676a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-i386/pr17057.d
@@ -0,0 +1,9 @@
+#name: PR ld/17057
+#as: --32
+#ld: -shared -melf_i386
+#readelf: -r --wide
+
+Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 2 entries:
+ Offset Info Type Sym. Value Symbol's Name
+[0-9a-f ]+R_386_JUMP_SLOT +0+ +foo
+[0-9a-f ]+R_386_TLS_DESC +0+ +my_tls
diff --git a/binutils-2.25/ld/testsuite/ld-i386/pr17057.s b/binutils-2.25/ld/testsuite/ld-i386/pr17057.s
new file mode 100644
index 00000000..a4e00eca
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-i386/pr17057.s
@@ -0,0 +1,3 @@
+ .text
+ leal my_tls@TLSDESC(%ebx), %eax
+ call foo@PLT
diff --git a/binutils-2.25/ld/testsuite/ld-i386/pr17306a.s b/binutils-2.25/ld/testsuite/ld-i386/pr17306a.s
new file mode 100644
index 00000000..fe2d49c7
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-i386/pr17306a.s
@@ -0,0 +1,9 @@
+ .data
+ .globl foo
+foo:
+ .long -1
+ .text
+ .globl _start
+ .type _start, @function
+_start:
+ pushl foo@GOT(%ebx)
diff --git a/binutils-2.25/ld/testsuite/ld-i386/pr17306b.s b/binutils-2.25/ld/testsuite/ld-i386/pr17306b.s
new file mode 100644
index 00000000..2f84e522
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-i386/pr17306b.s
@@ -0,0 +1,2 @@
+ .text
+ movl foo@GOT(%ebx), %eax
diff --git a/binutils-2.25/ld/testsuite/ld-ia64/error1.d b/binutils-2.25/ld/testsuite/ld-ia64/error1.d
new file mode 100644
index 00000000..82142b6a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ia64/error1.d
@@ -0,0 +1,7 @@
+#source: error1.s
+#ld: -unresolved-symbols=ignore-all
+#readelf: -s
+
+#...
+[ ]+[0-9]+:[ ]+[0]+[ ]+0[ ]+NOTYPE[ ]+GLOBAL DEFAULT[ ]+UND[ ]+foo
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-ia64/error1.s b/binutils-2.25/ld/testsuite/ld-ia64/error1.s
new file mode 100644
index 00000000..fd48eaea
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ia64/error1.s
@@ -0,0 +1,30 @@
+ .explicit
+ .pred.safe_across_calls p1-p5,p16-p63
+ .text
+ .align 16
+ .global _start#
+ .proc _start#
+_start:
+ .prologue 12, 32
+ .mii
+ .save ar.pfs, r33
+ alloc r33 = ar.pfs, 0, 3, 0, 0
+ .save rp, r32
+ mov r32 = b0
+ mov r34 = r1
+ .body
+ ;;
+ .bbb
+ nop 0
+ nop 0
+ br.call.sptk.many b0 = foo#
+ ;;
+ .mmi
+ nop 0
+ mov r1 = r34
+ mov b0 = r32
+ .mib
+ nop 0
+ mov ar.pfs = r33
+ br.ret.sptk.many b0
+ .endp _start#
diff --git a/binutils-2.25/ld/testsuite/ld-ia64/error2.d b/binutils-2.25/ld/testsuite/ld-ia64/error2.d
new file mode 100644
index 00000000..764ba66d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ia64/error2.d
@@ -0,0 +1,7 @@
+#source: error1.s
+#ld: -pie -unresolved-symbols=ignore-all
+#readelf: -s
+
+#...
+[ ]+[0-9]+:[ ]+[0]+[ ]+0[ ]+NOTYPE[ ]+GLOBAL DEFAULT[ ]+UND[ ]+foo
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-ia64/error3.d b/binutils-2.25/ld/testsuite/ld-ia64/error3.d
new file mode 100644
index 00000000..e14d451b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ia64/error3.d
@@ -0,0 +1,7 @@
+#source: error1.s
+#ld: -pie -shared
+#readelf: -s
+
+#...
+[ ]+[0-9]+:[ ]+[0]+[ ]+0[ ]+NOTYPE[ ]+GLOBAL DEFAULT[ ]+UND[ ]+foo
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-ia64/ia64.exp b/binutils-2.25/ld/testsuite/ld-ia64/ia64.exp
index 1f658acc..490bffaf 100644
--- a/binutils-2.25/ld/testsuite/ld-ia64/ia64.exp
+++ b/binutils-2.25/ld/testsuite/ld-ia64/ia64.exp
@@ -1,5 +1,5 @@
# Expect script for ld-ia64 tests
-# Copyright (C) 2002, 2003, 2005, 2007 Free Software Foundation
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-ia64/line.exp b/binutils-2.25/ld/testsuite/ld-ia64/line.exp
index 2ebc7d6b..ab750ae2 100644
--- a/binutils-2.25/ld/testsuite/ld-ia64/line.exp
+++ b/binutils-2.25/ld/testsuite/ld-ia64/line.exp
@@ -1,6 +1,6 @@
# Test that the linker reports undefined symbol line number correctly.
#
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-ifunc/binutils.exp b/binutils-2.25/ld/testsuite/ld-ifunc/binutils.exp
index e035421d..91d4a8a5 100644
--- a/binutils-2.25/ld/testsuite/ld-ifunc/binutils.exp
+++ b/binutils-2.25/ld/testsuite/ld-ifunc/binutils.exp
@@ -1,5 +1,5 @@
# Expect script for binutils tests
-# Copyright 2009, 2010, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-ifunc/dummy.c b/binutils-2.25/ld/testsuite/ld-ifunc/dummy.c
new file mode 100644
index 00000000..5c032873
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ifunc/dummy.c
@@ -0,0 +1 @@
+/* An empty file. */
diff --git a/binutils-2.25/ld/testsuite/ld-ifunc/ifunc.exp b/binutils-2.25/ld/testsuite/ld-ifunc/ifunc.exp
index 1d64efcd..3faced1b 100644
--- a/binutils-2.25/ld/testsuite/ld-ifunc/ifunc.exp
+++ b/binutils-2.25/ld/testsuite/ld-ifunc/ifunc.exp
@@ -1,6 +1,6 @@
# Expect script for linker support of IFUNC symbols and relocations.
#
-# Copyright 2009, 2010, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of the GNU Binutils.
@@ -98,8 +98,9 @@ proc contains_ifunc_symbol { binary_file } {
# Look for a line like this:
# 58: 0000000000400600 30 IFUNC GLOBAL DEFAULT 12 library_func2
+ # with perhaps some other info between the visibility and section
- if { ![regexp ".*\[ \]*IFUNC\[ \]+GLOBAL\[ \]+DEFAULT\[ \]+\[UND0-9\]+\[ \]+library_func2\n" [file_contents readelf.out]] } {
+ if { ![regexp ".*\[ \]*IFUNC\[ \]+GLOBAL\[ \]+DEFAULT .* \[UND0-9\]+\[ \]+library_func2\n" [file_contents readelf.out]] } {
return 0
}
@@ -348,6 +349,42 @@ if { $verbose < 1 } {
remote_file host delete "tmpdir/static_nonifunc_prog"
}
+run_cc_link_tests [list \
+ [list \
+ "Build libpr16467a.so" \
+ "-shared -Wl,--version-script=pr16467a.map" \
+ "-fPIC" \
+ { pr16467a.c } \
+ {} \
+ "libpr16467a.so" \
+ ] \
+ [list \
+ "Build libpr16467b.a" \
+ "" \
+ "-fPIC" \
+ { pr16467b.c } \
+ {} \
+ "libpr16467b.a" \
+ ] \
+ [list \
+ "Build libpr16467b.so" \
+ "-shared tmpdir/pr16467b.o tmpdir/libpr16467a.so \
+ -Wl,--version-script=pr16467b.map" \
+ "-fPIC" \
+ { dummy.c } \
+ {} \
+ "libpr16467b.so" \
+ ] \
+ [list \
+ "Build libpr16467c.a" \
+ "" \
+ "" \
+ { pr16467c.c } \
+ {} \
+ "libpr16467c.a" \
+ ] \
+]
+
run_ld_link_exec_tests [] [list \
[list \
"Common symbol override ifunc test 1a" \
@@ -367,6 +404,15 @@ run_ld_link_exec_tests [] [list \
"ifunc-common-1.out" \
"-g" \
] \
+ [list \
+ "Run pr16467" \
+ "tmpdir/pr16467c.o tmpdir/libpr16467b.so tmpdir/libpr16467a.so" \
+ "" \
+ { dummy.c } \
+ "pr16467" \
+ "pr16467.out" \
+ "" \
+ ] \
]
set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
diff --git a/binutils-2.25/ld/testsuite/ld-ifunc/pr16467.out b/binutils-2.25/ld/testsuite/ld-ifunc/pr16467.out
new file mode 100644
index 00000000..d86bac9d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ifunc/pr16467.out
@@ -0,0 +1 @@
+OK
diff --git a/binutils-2.25/ld/testsuite/ld-ifunc/pr16467a.c b/binutils-2.25/ld/testsuite/ld-ifunc/pr16467a.c
new file mode 100644
index 00000000..ae3f084c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ifunc/pr16467a.c
@@ -0,0 +1,5 @@
+const char *
+sd_get_seats(void)
+{
+ return "OK";
+}
diff --git a/binutils-2.25/ld/testsuite/ld-ifunc/pr16467a.map b/binutils-2.25/ld/testsuite/ld-ifunc/pr16467a.map
new file mode 100644
index 00000000..d677f376
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ifunc/pr16467a.map
@@ -0,0 +1,4 @@
+LIBSYSTEMD_209 {
+global:
+ sd_get_seats;
+};
diff --git a/binutils-2.25/ld/testsuite/ld-ifunc/pr16467b.c b/binutils-2.25/ld/testsuite/ld-ifunc/pr16467b.c
new file mode 100644
index 00000000..264f6cff
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ifunc/pr16467b.c
@@ -0,0 +1,7 @@
+void new_sd_get_seats(void);
+__asm__(".symver new_sd_get_seats,sd_get_seats@LIBSYSTEMD_209");
+void (*resolve_sd_get_seats(void)) (void) __asm__ ("sd_get_seats");
+void (*resolve_sd_get_seats(void)) (void) {
+ return new_sd_get_seats;
+}
+__asm__(".type sd_get_seats, %gnu_indirect_function");
diff --git a/binutils-2.25/ld/testsuite/ld-ifunc/pr16467b.map b/binutils-2.25/ld/testsuite/ld-ifunc/pr16467b.map
new file mode 100644
index 00000000..1f263de1
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ifunc/pr16467b.map
@@ -0,0 +1,4 @@
+LIBSYSTEMD_208 {
+global:
+ sd_get_seats;
+};
diff --git a/binutils-2.25/ld/testsuite/ld-ifunc/pr16467c.c b/binutils-2.25/ld/testsuite/ld-ifunc/pr16467c.c
new file mode 100644
index 00000000..e2a901c5
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ifunc/pr16467c.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+const char* sd_get_seats(void);
+
+int
+main (int argc, char **argv)
+{
+ printf("%s\n", sd_get_seats());
+ return 0;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-ifunc/pr17154-i386.d b/binutils-2.25/ld/testsuite/ld-ifunc/pr17154-i386.d
new file mode 100644
index 00000000..e5262239
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ifunc/pr17154-i386.d
@@ -0,0 +1,47 @@
+#source: pr17154-x86.s
+#ld: -m elf_i386 -shared
+#as: --32
+#objdump: -dw
+#target: x86_64-*-* i?86-*-*
+
+#...
+0+1d0 <\*ABS\*@plt-0x10>:
+[ ]*[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\)
+[ ]*[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\)
+[ ]*[a-f0-9]+: 00 00 add %al,\(%eax\)
+ ...
+
+0+1e0 <\*ABS\*@plt>:
+[ ]*[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\)
+[ ]*[a-f0-9]+: 68 18 00 00 00 push \$0x18
+[ ]*[a-f0-9]+: e9 e0 ff ff ff jmp 1d0 <\*ABS\*@plt-0x10>
+
+0+1f0 <func1@plt>:
+[ ]*[a-f0-9]+: ff a3 10 00 00 00 jmp \*0x10\(%ebx\)
+[ ]*[a-f0-9]+: 68 00 00 00 00 push \$0x0
+[ ]*[a-f0-9]+: e9 d0 ff ff ff jmp 1d0 <\*ABS\*@plt-0x10>
+
+0+200 <func2@plt>:
+[ ]*[a-f0-9]+: ff a3 14 00 00 00 jmp \*0x14\(%ebx\)
+[ ]*[a-f0-9]+: 68 08 00 00 00 push \$0x8
+[ ]*[a-f0-9]+: e9 c0 ff ff ff jmp 1d0 <\*ABS\*@plt-0x10>
+
+0+210 <\*ABS\*@plt>:
+[ ]*[a-f0-9]+: ff a3 18 00 00 00 jmp \*0x18\(%ebx\)
+[ ]*[a-f0-9]+: 68 10 00 00 00 push \$0x10
+[ ]*[a-f0-9]+: e9 b0 ff ff ff jmp 1d0 <\*ABS\*@plt-0x10>
+
+Disassembly of section .text:
+
+0+220 <resolve1>:
+[ ]*[a-f0-9]+: e8 cb ff ff ff call 1f0 <func1@plt>
+
+0+225 <g1>:
+[ ]*[a-f0-9]+: e9 e6 ff ff ff jmp 210 <\*ABS\*@plt>
+
+0+22a <resolve2>:
+[ ]*[a-f0-9]+: e8 d1 ff ff ff call 200 <func2@plt>
+
+0+22f <g2>:
+[ ]*[a-f0-9]+: e9 ac ff ff ff jmp 1e0 <\*ABS\*@plt>
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-ifunc/pr17154-x86-64.d b/binutils-2.25/ld/testsuite/ld-ifunc/pr17154-x86-64.d
new file mode 100644
index 00000000..0dbc547f
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ifunc/pr17154-x86-64.d
@@ -0,0 +1,46 @@
+#source: pr17154-x86.s
+#as: --64
+#ld: -shared -melf_x86_64
+#objdump: -dw
+#target: x86_64-*-*
+
+#...
+0+2d0 <\*ABS\*\+0x32a@plt-0x10>:
+[ ]*[a-f0-9]+: ff 35 5a 01 20 00 pushq 0x20015a\(%rip\) # 200430 <_GLOBAL_OFFSET_TABLE_\+0x8>
+[ ]*[a-f0-9]+: ff 25 5c 01 20 00 jmpq \*0x20015c\(%rip\) # 200438 <_GLOBAL_OFFSET_TABLE_\+0x10>
+[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\)
+
+0+2e0 <\*ABS\*\+0x32a@plt>:
+[ ]*[a-f0-9]+: ff 25 5a 01 20 00 jmpq \*0x20015a\(%rip\) # 200440 <_GLOBAL_OFFSET_TABLE_\+0x18>
+[ ]*[a-f0-9]+: 68 03 00 00 00 pushq \$0x3
+[ ]*[a-f0-9]+: e9 e0 ff ff ff jmpq 2d0 <\*ABS\*\+0x32a@plt-0x10>
+
+0+2f0 <func1@plt>:
+[ ]*[a-f0-9]+: ff 25 52 01 20 00 jmpq \*0x200152\(%rip\) # 200448 <_GLOBAL_OFFSET_TABLE_\+0x20>
+[ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0
+[ ]*[a-f0-9]+: e9 d0 ff ff ff jmpq 2d0 <\*ABS\*\+0x32a@plt-0x10>
+
+0+300 <func2@plt>:
+[ ]*[a-f0-9]+: ff 25 4a 01 20 00 jmpq \*0x20014a\(%rip\) # 200450 <_GLOBAL_OFFSET_TABLE_\+0x28>
+[ ]*[a-f0-9]+: 68 01 00 00 00 pushq \$0x1
+[ ]*[a-f0-9]+: e9 c0 ff ff ff jmpq 2d0 <\*ABS\*\+0x32a@plt-0x10>
+
+0+310 <\*ABS\*\+0x320@plt>:
+[ ]*[a-f0-9]+: ff 25 42 01 20 00 jmpq \*0x200142\(%rip\) # 200458 <_GLOBAL_OFFSET_TABLE_\+0x30>
+[ ]*[a-f0-9]+: 68 02 00 00 00 pushq \$0x2
+[ ]*[a-f0-9]+: e9 b0 ff ff ff jmpq 2d0 <\*ABS\*\+0x32a@plt-0x10>
+
+Disassembly of section .text:
+
+0+320 <resolve1>:
+[ ]*[a-f0-9]+: e8 cb ff ff ff callq 2f0 <func1@plt>
+
+0+325 <g1>:
+[ ]*[a-f0-9]+: e9 e6 ff ff ff jmpq 310 <\*ABS\*\+0x320@plt>
+
+0+32a <resolve2>:
+[ ]*[a-f0-9]+: e8 d1 ff ff ff callq 300 <func2@plt>
+
+0+32f <g2>:
+[ ]*[a-f0-9]+: e9 ac ff ff ff jmpq 2e0 <\*ABS\*\+0x32a@plt>
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-ifunc/pr17154-x86.s b/binutils-2.25/ld/testsuite/ld-ifunc/pr17154-x86.s
new file mode 100644
index 00000000..86470a2b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-ifunc/pr17154-x86.s
@@ -0,0 +1,28 @@
+ .text
+ .globl fct1
+ .type fct1, @gnu_indirect_function
+ .set fct1,resolve1
+ .hidden int_fct1
+ .globl int_fct1
+ .set int_fct1,fct1
+ .type resolve1, @function
+resolve1:
+ call func1@PLT
+ .globl g1
+ .type g1, @function
+g1:
+ jmp int_fct1@PLT
+
+ .globl fct2
+ .type fct2, @gnu_indirect_function
+ .set fct2,resolve2
+ .hidden int_fct2
+ .globl int_fct2
+ .set int_fct2,fct2
+ .type resolve2, @function
+resolve2:
+ call func2@PLT
+ .globl g2
+ .type g2, @function
+g2:
+ jmp int_fct2@PLT
diff --git a/binutils-2.25/ld/testsuite/ld-libs/libs.exp b/binutils-2.25/ld/testsuite/ld-libs/libs.exp
index 96d98501..d0675859 100644
--- a/binutils-2.25/ld/testsuite/ld-libs/libs.exp
+++ b/binutils-2.25/ld/testsuite/ld-libs/libs.exp
@@ -1,5 +1,5 @@
# Expect script for the linker's -l command line option
-# Copyright (C) 2007 Free Software Foundation
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-linkonce/linkonce.exp b/binutils-2.25/ld/testsuite/ld-linkonce/linkonce.exp
index 02111148..b811db19 100644
--- a/binutils-2.25/ld/testsuite/ld-linkonce/linkonce.exp
+++ b/binutils-2.25/ld/testsuite/ld-linkonce/linkonce.exp
@@ -1,5 +1,5 @@
# Expect script for ld linkonce tests
-# Copyright 2001, 2002, 2005, 2007, 2010, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-m68hc11/m68hc11.exp b/binutils-2.25/ld/testsuite/ld-m68hc11/m68hc11.exp
index d673bc02..3f022164 100644
--- a/binutils-2.25/ld/testsuite/ld-m68hc11/m68hc11.exp
+++ b/binutils-2.25/ld/testsuite/ld-m68hc11/m68hc11.exp
@@ -1,5 +1,5 @@
# Expect script for run_dump_test based ld-m68hc11 tests.
-# Copyright 2002, 2005, 2007, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-m68k/m68k-got.exp b/binutils-2.25/ld/testsuite/ld-m68k/m68k-got.exp
index fbd98bce..992e14f0 100644
--- a/binutils-2.25/ld/testsuite/ld-m68k/m68k-got.exp
+++ b/binutils-2.25/ld/testsuite/ld-m68k/m68k-got.exp
@@ -1,5 +1,5 @@
# Expect script for run_dump_test based ld-m68k GOT tests.
-# Copyright 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-m68k/m68k.exp b/binutils-2.25/ld/testsuite/ld-m68k/m68k.exp
index 69174363..05a6728a 100644
--- a/binutils-2.25/ld/testsuite/ld-m68k/m68k.exp
+++ b/binutils-2.25/ld/testsuite/ld-m68k/m68k.exp
@@ -1,5 +1,5 @@
# Expect script for run_dump_test based ld-m68k tests.
-# Copyright 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-mep/mep.exp b/binutils-2.25/ld/testsuite/ld-mep/mep.exp
index 3c54f8ff..cf8f1590 100644
--- a/binutils-2.25/ld/testsuite/ld-mep/mep.exp
+++ b/binutils-2.25/ld/testsuite/ld-mep/mep.exp
@@ -1,5 +1,5 @@
# Expect script for ld-mep tests
-# Copyright 2002, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-metag/metag.exp b/binutils-2.25/ld/testsuite/ld-metag/metag.exp
index b817e106..5b1df3be 100644
--- a/binutils-2.25/ld/testsuite/ld-metag/metag.exp
+++ b/binutils-2.25/ld/testsuite/ld-metag/metag.exp
@@ -1,6 +1,6 @@
# Expect script for ld-metag tests
#
-# Copyright (C) 2013 Free Software Foundation, Inc.
+# Copyright (C) 2013-2014 Free Software Foundation, Inc.
# Contributed by Imagination Technologies Ltd.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip1-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip1-ph.d
new file mode 100644
index 00000000..2d437b30
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip1-ph.d
@@ -0,0 +1,13 @@
+#source: jr.s -mips32r2 -mfp32 RUN_OBJCOPY
+#objcopy_objects: -R .MIPS.abiflags
+#ld: -e 0
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+#...
+!0x70000003.*
+#...
+private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
+
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip10-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip10-ph.d
new file mode 100644
index 00000000..ea403aff
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip10-ph.d
@@ -0,0 +1,27 @@
+#source: jr.s -mips32r6
+#source: jr.s -mips32r6 RUN_OBJCOPY
+#ld: -e 0
+#objcopy_objects: -R .MIPS.abiflags
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 90001400: \[abi=O32\] \[mips32r6\] \[nan2008\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r6
+GPR size: 32
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
+
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip2-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip2-ph.d
new file mode 100644
index 00000000..373aa078
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip2-ph.d
@@ -0,0 +1,27 @@
+#source: jr.s -mips32r2 -mfpxx
+#source: jr.s -march=octeon -mfp64 RUN_OBJCOPY
+#ld: -e 0
+#objcopy_objects: -R .MIPS.abiflags
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 808b1100: \[abi=O32\] \[mips64r2\] \[32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS64r2
+GPR size: 32
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: Cavium Networks Octeon
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
+
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip3-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip3-ph.d
new file mode 100644
index 00000000..98a3c408
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip3-ph.d
@@ -0,0 +1,27 @@
+#source: jr.s -march=octeon -mfp64 RUN_OBJCOPY
+#source: jr.s -mips32r2 -mfpxx
+#ld: -e 0
+#objcopy_objects: -R .MIPS.abiflags
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 808b1100: \[abi=O32\] \[mips64r2\] \[32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS64r2
+GPR size: 32
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: Cavium Networks Octeon
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
+
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip4-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip4-ph.d
new file mode 100644
index 00000000..62f9fb95
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip4-ph.d
@@ -0,0 +1,31 @@
+#source: jr.s -march=octeon -mfp64 -mdmx RUN_OBJCOPY
+#source: jr.s -mips32r2 -mfpxx
+#source: jr.s -mips32r2 -mfp64 -mno-odd-spreg -mmsa
+#source: jr.s -mips2 -mfpxx -mips16 RUN_OBJCOPY
+#ld: -e 0
+#objcopy_objects: -R .MIPS.abiflags
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 8c8b1100: \[abi=O32\] \[mips64r2\] \[mdmx\] \[mips16\] \[32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS64r2
+GPR size: 32
+CPR1 size: 128
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: Cavium Networks Octeon
+ASEs:
+ MDMX ASE
+ MSA ASE
+ MIPS16 ASE
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
+
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip5-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip5-ph.d
new file mode 100644
index 00000000..9381d46a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip5-ph.d
@@ -0,0 +1,31 @@
+#source: jr.s -mips32r2 -mfpxx
+#source: jr.s -mips32r2 -mfp64 -mmsa
+#source: jr.s -march=octeon -mfp64 -mdmx RUN_OBJCOPY
+#source: jr.s -mips2 -mips16 -mfpxx RUN_OBJCOPY
+#ld: -e 0
+#objcopy_objects: -R .MIPS.abiflags
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 8c8b1100: \[abi=O32\] \[mips64r2\] \[mdmx\] \[mips16\] \[32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS64r2
+GPR size: 32
+CPR1 size: 128
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: Cavium Networks Octeon
+ASEs:
+ MDMX ASE
+ MSA ASE
+ MIPS16 ASE
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
+
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip6-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip6-ph.d
new file mode 100644
index 00000000..ef4c9ca6
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip6-ph.d
@@ -0,0 +1,27 @@
+#source: jr.s -mips32r3 RUN_OBJCOPY
+#source: jr.s -mips32r2
+#ld: -e 0
+#objcopy_objects: -R .MIPS.abiflags
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r2
+GPR size: 32
+CPR1 size: 32
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
+
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip7-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip7-ph.d
new file mode 100644
index 00000000..9cb73c9e
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip7-ph.d
@@ -0,0 +1,27 @@
+#source: jr.s -mips32r3
+#source: jr.s -mips32r2 RUN_OBJCOPY
+#ld: -e 0
+#objcopy_objects: -R .MIPS.abiflags
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r3
+GPR size: 32
+CPR1 size: 32
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
+
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip8-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip8-ph.d
new file mode 100644
index 00000000..b2e1d5f1
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip8-ph.d
@@ -0,0 +1,27 @@
+#source: jr.s -mips32r2 -mfpxx
+#source: jr.s -mips32r2 -mfp64 RUN_OBJCOPY
+#ld: -e 0
+#objcopy_objects: -R .gnu.attributes
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r2
+GPR size: 32
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
+
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip9-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip9-ph.d
new file mode 100644
index 00000000..72979270
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/abiflags-strip9-ph.d
@@ -0,0 +1,27 @@
+#source: jr.s -mips32r2 -mfpxx
+#source: jr.s -mips32r2 -mfp64 -mno-odd-spreg RUN_OBJCOPY
+#ld: -e 0
+#objcopy_objects: -R .gnu.attributes
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r2
+GPR size: 32
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float compat \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
+
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-0-n32-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-0-n32-ph.d
new file mode 100644
index 00000000..0fb6988f
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-0-n32-ph.d
@@ -0,0 +1,26 @@
+#source: attr-gnu-4-0.s -mips3 -n32 -EB
+#ld: -melf32btsmipn32 -e 0
+#objdump: -p
+
+[^:]*: file format elf32-ntradbigmips
+
+Program Header:
+0x70000003 off 0x000000.. vaddr 0x100000.. paddr 0x100000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+ LOAD off 0x00000000 vaddr 0x10000000 paddr 0x10000000 align 2\*\*16
+ filesz 0x000000.. memsz 0x000000.. flags r--
+private flags = 20000020: \[abi=N32\] \[mips3\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS3
+GPR size: 64
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard or soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-0-n64-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-0-n64-ph.d
new file mode 100644
index 00000000..f2760252
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-0-n64-ph.d
@@ -0,0 +1,25 @@
+#source: attr-gnu-4-0.s -mips3 -64 -EB
+#ld: -melf64btsmip -e 0
+#objdump: -p
+
+[^:]*: file format elf64-tradbigmips
+
+Program Header:
+0x70000003 off 0x00000000000000b0 vaddr 0x00000001200000b0 paddr 0x00000001200000b0 align 2\*\*3
+ filesz 0x0000000000000018 memsz 0x0000000000000018 flags r--
+ LOAD off 0x0000000000000000 vaddr 0x0000000120000000 paddr 0x0000000120000000 align 2\*\*16
+ filesz 0x00000000000000.. memsz 0x00000000000000.. flags r--
+private flags = 20000000: \[abi=64\] \[mips3\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS3
+GPR size: 64
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard or soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-0-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-0-ph.d
new file mode 100644
index 00000000..c3127d33
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-0-ph.d
@@ -0,0 +1,24 @@
+#source: attr-gnu-4-0.s -mips32r2
+#ld: -e 0
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: .*
+GPR size: 32
+CPR1 size: 32
+CPR2 size: 0
+FP ABI: Hard or soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-00.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-00.d
index 32bc3195..d86eda43 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-00.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-00.d
@@ -2,5 +2,16 @@
#source: attr-gnu-4-0.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard or soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d
index 7a5c7a1c..ffc16c32 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d
@@ -2,8 +2,20 @@
#source: attr-gnu-4-1.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-02.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-02.d
index f29d5d55..3d1a2eba 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-02.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-02.d
@@ -2,8 +2,20 @@
#source: attr-gnu-4-2.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Hard float \(single precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(single precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-03.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-03.d
index e571e131..116b6f15 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-03.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-03.d
@@ -1,9 +1,22 @@
#source: attr-gnu-4-0.s
+#as: -msoft-float
#source: attr-gnu-4-3.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Soft float
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-04.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-04.d
index f8dee5cd..628daee4 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-04.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-04.d
@@ -1,9 +1,5 @@
#source: attr-gnu-4-0.s
-#source: attr-gnu-4-4.s
+#source: attr-gnu-4-4.s -W
#ld: -r
-#readelf: -A
-#target: mips*-*-*
-
-Attribute Section: gnu
-File Attributes
- Tag_GNU_MIPS_ABI_FP: Hard float \(MIPS32r2 64-bit FPU\)
+#error: \A[^\n]*: [^\n]* linking -mfp64 module with previous -mfp32 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-05.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-05.d
index 6856df0e..65101693 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-05.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-05.d
@@ -1,9 +1,21 @@
-#source: attr-gnu-4-0.s
+#source: attr-gnu-4-0.s -mips32r2
#source: attr-gnu-4-5.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
- Tag_GNU_MIPS_ABI_FP: \?\?\? \(5\)
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, Any FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: 32
+CPR1 size: 32
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, Any FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-06.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-06.d
new file mode 100644
index 00000000..1a3c3a85
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-06.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-0.s -mips32r2
+#source: attr-gnu-4-6.s
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: 32
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-07.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-07.d
new file mode 100644
index 00000000..f98afbdf
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-07.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-0.s -mips32r2
+#source: attr-gnu-4-7.s
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float compat \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: 32
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float compat \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-08.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-08.d
new file mode 100644
index 00000000..3ce25cd6
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-08.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-0.s
+#source: attr-gnu-4-8.s -W
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: \?\?\? \(8\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: \?\?\? \(8\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-1-n32-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-1-n32-ph.d
new file mode 100644
index 00000000..d83c8597
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-1-n32-ph.d
@@ -0,0 +1,26 @@
+#source: empty.s -mips3 -n32 -EB
+#ld: -melf32btsmipn32 -e 0
+#objdump: -p
+
+[^:]*: file format elf32-ntradbigmips
+
+Program Header:
+0x70000003 off 0x000000.. vaddr 0x100000.. paddr 0x100000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+ LOAD off 0x00000000 vaddr 0x10000000 paddr 0x10000000 align 2\*\*16
+ filesz 0x000000.. memsz 0x000000.. flags r--
+private flags = 20000020: \[abi=N32\] \[mips3\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS3
+GPR size: 64
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-1-n64-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-1-n64-ph.d
new file mode 100644
index 00000000..157f3e65
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-1-n64-ph.d
@@ -0,0 +1,25 @@
+#source: empty.s -mips3 -64 -EB
+#ld: -melf64btsmip -e 0
+#objdump: -p
+
+[^:]*: file format elf64-tradbigmips
+
+Program Header:
+0x70000003 off 0x00000000000000b0 vaddr 0x00000001200000b0 paddr 0x00000001200000b0 align 2\*\*3
+ filesz 0x0000000000000018 memsz 0x0000000000000018 flags r--
+ LOAD off 0x0000000000000000 vaddr 0x0000000120000000 paddr 0x0000000120000000 align 2\*\*16
+ filesz 0x00000000000000.. memsz 0x00000000000000.. flags r--
+private flags = 20000000: \[abi=64\] \[mips3\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS3
+GPR size: 64
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-1-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-1-ph.d
new file mode 100644
index 00000000..dc1e5c77
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-1-ph.d
@@ -0,0 +1,24 @@
+#source: empty.s -mips32r2 -mfp32
+#ld: -e 0
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r2
+GPR size: 32
+CPR1 size: 32
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d
index 76619639..2775e4d4 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d
@@ -1,9 +1,42 @@
#source: attr-gnu-4-1.s
#source: attr-gnu-4-0.s
#ld: -r
-#readelf: -A
-#target: mips*-*-*
+#readelf: -hA
+
+ELF Header:
+ Magic: .*
+ Class: ELF32
+ Data: 2's complement,.*
+ Version: 1 \(current\)
+ OS/ABI: UNIX - System V
+ ABI Version: 0
+ Type: REL \(Relocatable file\)
+ Machine: MIPS R3000
+ Version: 0x1
+ Entry point address: 0x0
+ Start of program headers: 0 \(bytes into file\)
+ Start of section headers: ... \(bytes into file\)
+ Flags: .*
+ Size of this header: 52 \(bytes\)
+ Size of program headers: 0 \(bytes\)
+ Number of program headers: 0
+ Size of section headers: 40 \(bytes\)
+ Number of section headers: 11
+ Section header string table index: 8
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d
index f70306b2..f456096c 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d
@@ -2,8 +2,20 @@
#source: attr-gnu-4-1.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-12.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-12.d
index c0eace6c..b1b07601 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-12.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-12.d
@@ -2,4 +2,3 @@
#source: attr-gnu-4-2.s
#ld: -r
#warning: Warning: .* uses -mdouble-float \(set by .*\), .* uses -msingle-float
-#target: mips*-*-*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-13.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-13.d
index cb30f7aa..c9bf544f 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-13.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-13.d
@@ -2,4 +2,3 @@
#source: attr-gnu-4-3.s
#ld: -r
#warning: Warning: .* uses -mhard-float \(set by .*\), .* uses -msoft-float
-#target: mips*-*-*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-14.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-14.d
index bde387bb..58cfd245 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-14.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-14.d
@@ -1,5 +1,6 @@
#source: attr-gnu-4-1.s
-#source: attr-gnu-4-4.s
+#source: attr-gnu-4-4.s -W
#ld: -r
-#warning: Warning: .* uses -mdouble-float \(set by .*\), .* uses -mips32r2 -mfp64
-#target: mips*-*-*
+#error: \A[^\n]*: Warning: .* uses -mdouble-float \(set by .*\), .* uses -mips32r2 -mfp64 \(12 callee-saved\)\n
+#error: [^\n]*: [^\n]* linking -mfp64 module with previous -mfp32 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-15.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-15.d
index b19645f1..0f88cc2b 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-15.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-15.d
@@ -1,10 +1,21 @@
-#source: attr-gnu-4-1.s
+#source: attr-gnu-4-1.s -mips32r2
#source: attr-gnu-4-5.s
#ld: -r
#readelf: -A
-#warning: Warning: .* uses -mdouble-float \(set by .*\), .* uses unknown floating point ABI 5
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: 32
+CPR1 size: 32
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-16.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-16.d
new file mode 100644
index 00000000..73a6fd88
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-16.d
@@ -0,0 +1,22 @@
+#source: attr-gnu-4-1.s -mips32r2
+#source: attr-gnu-4-6.s
+#ld: -r
+#readelf: -A
+#warning: Warning: .* uses -mdouble-float \(set by .*\), .* uses -mgp32 -mfp64
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-17.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-17.d
new file mode 100644
index 00000000..68c9617b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-17.d
@@ -0,0 +1,22 @@
+#source: attr-gnu-4-1.s -mips32r2
+#source: attr-gnu-4-7.s
+#ld: -r
+#readelf: -A
+#warning: Warning: .* uses -mdouble-float \(set by .*\), .* uses -mgp32 -mfp64 -mno-odd-spreg
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-18.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-18.d
new file mode 100644
index 00000000..f911f569
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-18.d
@@ -0,0 +1,22 @@
+#source: attr-gnu-4-1.s
+#source: attr-gnu-4-8.s -W
+#ld: -r
+#readelf: -A
+#warning: Warning: .* uses -mdouble-float \(set by .*\), .* uses unknown floating point ABI 8
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2-n32-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2-n32-ph.d
new file mode 100644
index 00000000..5a048048
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2-n32-ph.d
@@ -0,0 +1,26 @@
+#source: empty.s -mips3 -n32 -msingle-float -EB
+#ld: -melf32btsmipn32 -e 0
+#objdump: -p
+
+[^:]*: file format elf32-ntradbigmips
+
+Program Header:
+0x70000003 off 0x000000.. vaddr 0x100000.. paddr 0x100000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+ LOAD off 0x00000000 vaddr 0x10000000 paddr 0x10000000 align 2\*\*16
+ filesz 0x000000.. memsz 0x000000.. flags r--
+private flags = 20000020: \[abi=N32\] \[mips3\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS3
+GPR size: 64
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float \(single precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2-n64-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2-n64-ph.d
new file mode 100644
index 00000000..88b4ff9e
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2-n64-ph.d
@@ -0,0 +1,25 @@
+#source: empty.s -mips3 -64 -msingle-float -EB
+#ld: -melf64btsmip -e 0
+#objdump: -p
+
+[^:]*: file format elf64-tradbigmips
+
+Program Header:
+0x70000003 off 0x00000000000000b0 vaddr 0x00000001200000b0 paddr 0x00000001200000b0 align 2\*\*3
+ filesz 0x0000000000000018 memsz 0x0000000000000018 flags r--
+ LOAD off 0x0000000000000000 vaddr 0x0000000120000000 paddr 0x0000000120000000 align 2\*\*16
+ filesz 0x00000000000000.. memsz 0x00000000000000.. flags r--
+private flags = 20000000: \[abi=64\] \[mips3\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS3
+GPR size: 64
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float \(single precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2-ph.d
new file mode 100644
index 00000000..0010520b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2-ph.d
@@ -0,0 +1,24 @@
+#source: empty.s -mips32r2 -msingle-float
+#ld: -e 0
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r2
+GPR size: 32
+CPR1 size: 32
+CPR2 size: 0
+FP ABI: Hard float \(single precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2.s b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2.s
index 54ebf4ed..4021bed2 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2.s
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-2.s
@@ -1 +1,2 @@
+.module singlefloat
.gnu_attribute 4,2
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-20.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-20.d
index 3620069e..1cedafa9 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-20.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-20.d
@@ -2,8 +2,20 @@
#source: attr-gnu-4-0.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Hard float \(single precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(single precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-21.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-21.d
index 68a006f7..0081c720 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-21.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-21.d
@@ -2,4 +2,3 @@
#source: attr-gnu-4-1.s
#ld: -r
#warning: Warning: .* uses -msingle-float \(set by .*\), .* uses -mdouble-float
-#target: mips*-*-*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-22.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-22.d
index 63edea9f..4478fd2a 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-22.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-22.d
@@ -2,8 +2,20 @@
#source: attr-gnu-4-2.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Hard float \(single precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(single precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-23.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-23.d
index e16226f9..0b8a6fc4 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-23.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-23.d
@@ -2,4 +2,3 @@
#source: attr-gnu-4-3.s
#ld: -r
#warning: Warning: .* uses -mhard-float \(set by .*\), .* uses -msoft-float
-#target: mips*-*-*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-24.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-24.d
index c31bb643..e48e5bbf 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-24.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-24.d
@@ -1,5 +1,6 @@
#source: attr-gnu-4-2.s
-#source: attr-gnu-4-4.s
+#source: attr-gnu-4-4.s -W
#ld: -r
-#warning: Warning: .* uses -msingle-float \(set by .*\), .* uses -mips32r2 -mfp64
-#target: mips*-*-*
+#error: \A[^\n]*: Warning: .* uses -msingle-float \(set by .*\), .* uses -mips32r2 -mfp64 \(12 callee-saved\)\n
+#error: [^\n]*: [^\n]* linking -mfp64 module with previous -mfp32 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-25.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-25.d
index b5456ab4..c32f5b48 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-25.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-25.d
@@ -1,10 +1,22 @@
-#source: attr-gnu-4-2.s
+#source: attr-gnu-4-2.s -mips32r2
#source: attr-gnu-4-5.s
#ld: -r
#readelf: -A
-#warning: Warning: .* uses -msingle-float \(set by .*\), .* uses unknown floating point ABI 5
-#target: mips*-*-*
+#warning: Warning: .* uses -msingle-float \(set by .*\), .* uses -mfpxx
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Hard float \(single precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(single precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-26.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-26.d
new file mode 100644
index 00000000..43fe4cb8
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-26.d
@@ -0,0 +1,22 @@
+#source: attr-gnu-4-2.s -mips32r2
+#source: attr-gnu-4-6.s
+#ld: -r
+#readelf: -A
+#warning: Warning: .* uses -msingle-float \(set by .*\), .* uses -mgp32 -mfp64
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(single precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(single precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-27.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-27.d
new file mode 100644
index 00000000..9af8eac6
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-27.d
@@ -0,0 +1,22 @@
+#source: attr-gnu-4-2.s -mips32r2
+#source: attr-gnu-4-7.s
+#ld: -r
+#readelf: -A
+#warning: Warning: .* uses -msingle-float \(set by .*\), .* uses -mgp32 -mfp64 -mno-odd-spreg
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(single precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(single precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-28.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-28.d
new file mode 100644
index 00000000..f6e1ea40
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-28.d
@@ -0,0 +1,22 @@
+#source: attr-gnu-4-2.s
+#source: attr-gnu-4-8.s -W
+#ld: -r
+#readelf: -A
+#warning: Warning: .* uses -msingle-float \(set by .*\), .* uses unknown floating point ABI 8
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(single precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(single precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3-n32-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3-n32-ph.d
new file mode 100644
index 00000000..5a048048
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3-n32-ph.d
@@ -0,0 +1,26 @@
+#source: empty.s -mips3 -n32 -msingle-float -EB
+#ld: -melf32btsmipn32 -e 0
+#objdump: -p
+
+[^:]*: file format elf32-ntradbigmips
+
+Program Header:
+0x70000003 off 0x000000.. vaddr 0x100000.. paddr 0x100000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+ LOAD off 0x00000000 vaddr 0x10000000 paddr 0x10000000 align 2\*\*16
+ filesz 0x000000.. memsz 0x000000.. flags r--
+private flags = 20000020: \[abi=N32\] \[mips3\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS3
+GPR size: 64
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float \(single precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3-n64-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3-n64-ph.d
new file mode 100644
index 00000000..3731dc4a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3-n64-ph.d
@@ -0,0 +1,25 @@
+#source: empty.s -mips3 -64 -msoft-float -EB
+#ld: -melf64btsmip -e 0
+#objdump: -p
+
+[^:]*: file format elf64-tradbigmips
+
+Program Header:
+0x70000003 off 0x00000000000000b0 vaddr 0x00000001200000b0 paddr 0x00000001200000b0 align 2\*\*3
+ filesz 0x0000000000000018 memsz 0x0000000000000018 flags r--
+ LOAD off 0x0000000000000000 vaddr 0x0000000120000000 paddr 0x0000000120000000 align 2\*\*16
+ filesz 0x00000000000000.. memsz 0x00000000000000.. flags r--
+private flags = 20000000: \[abi=64\] \[mips3\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS3
+GPR size: 64
+CPR1 size: 0
+CPR2 size: 0
+FP ABI: Soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3-ph.d
new file mode 100644
index 00000000..6aa35d69
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3-ph.d
@@ -0,0 +1,24 @@
+#source: empty.s -mips32r2 -msoft-float
+#ld: -e 0
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r2
+GPR size: 32
+CPR1 size: 0
+CPR2 size: 0
+FP ABI: Soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3.s b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3.s
index 32e5f5d1..0ba0b80d 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3.s
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-3.s
@@ -1 +1,2 @@
+.module softfloat
.gnu_attribute 4,3
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-30.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-30.d
index cdc108ea..5dedc078 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-30.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-30.d
@@ -2,8 +2,20 @@
#source: attr-gnu-4-0.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Soft float
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-31.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-31.d
index b749e828..4fcf76f9 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-31.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-31.d
@@ -2,4 +2,3 @@
#source: attr-gnu-4-1.s
#ld: -r
#warning: Warning: .* uses -msoft-float \(set by .*\), .* uses -mhard-float
-#target: mips*-*-*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-32.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-32.d
index d0fd7bc1..0d663c23 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-32.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-32.d
@@ -2,4 +2,3 @@
#source: attr-gnu-4-2.s
#ld: -r
#warning: Warning: .* uses -msoft-float \(set by .*\), .* uses -mhard-float
-#target: mips*-*-*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-33.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-33.d
index 39eebb34..2dcd25bd 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-33.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-33.d
@@ -2,8 +2,20 @@
#source: attr-gnu-4-3.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Soft float
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-34.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-34.d
index be245238..314515ab 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-34.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-34.d
@@ -1,5 +1,6 @@
#source: attr-gnu-4-3.s
-#source: attr-gnu-4-4.s
+#source: attr-gnu-4-4.s -W
#ld: -r
-#warning: Warning: .* uses -msoft-float \(set by .*\), .* uses -mhard-float
-#target: mips*-*-*
+#error: \A[^\n]*: Warning: .* uses -msoft-float \(set by .*\), .* uses -mhard-float\n
+#error: [^\n]*: [^\n]* linking -mfp64 module with previous -mfp32 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-35.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-35.d
index bcb1e023..131f44bb 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-35.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-35.d
@@ -1,10 +1,22 @@
-#source: attr-gnu-4-3.s
+#source: attr-gnu-4-3.s -mips32r2
#source: attr-gnu-4-5.s
#ld: -r
#readelf: -A
-#warning: Warning: .* uses -msoft-float \(set by .*\), .* uses unknown floating point ABI 5
-#target: mips*-*-*
+#warning: Warning: .* uses -msoft-float \(set by .*\), .* uses -mhard-float
Attribute Section: gnu
File Attributes
Tag_GNU_MIPS_ABI_FP: Soft float
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-36.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-36.d
new file mode 100644
index 00000000..27626966
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-36.d
@@ -0,0 +1,22 @@
+#source: attr-gnu-4-3.s -mips32r2
+#source: attr-gnu-4-6.s
+#ld: -r
+#readelf: -A
+#warning: Warning: .* uses -msoft-float \(set by .*\), .* uses -mhard-float
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Soft float
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-37.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-37.d
new file mode 100644
index 00000000..06f37c5d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-37.d
@@ -0,0 +1,22 @@
+#source: attr-gnu-4-3.s -mips32r2
+#source: attr-gnu-4-7.s
+#ld: -r
+#readelf: -A
+#warning: Warning: .* uses -msoft-float \(set by .*\), .* uses -mhard-float
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Soft float
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-38.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-38.d
new file mode 100644
index 00000000..014c52dc
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-38.d
@@ -0,0 +1,22 @@
+#source: attr-gnu-4-3.s
+#source: attr-gnu-4-8.s -W
+#ld: -r
+#readelf: -A
+#warning: Warning: .* uses -msoft-float \(set by .*\), .* uses unknown floating point ABI 8
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Soft float
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Soft float
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-4-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-4-ph.d
new file mode 100644
index 00000000..3f0a1f68
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-4-ph.d
@@ -0,0 +1,24 @@
+#source: attr-gnu-4-4.s -mips32r2 -W
+#ld: -e 0
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 70001200: \[abi=O32\] \[mips32r2\] \[old fp64\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r2
+GPR size: 32
+CPR1 size: 32
+CPR2 size: 0
+FP ABI: Hard float \(MIPS32r2 64-bit FPU 12 callee-saved\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d
index 27d45714..6aa22b99 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d
@@ -1,9 +1,5 @@
-#source: attr-gnu-4-4.s
+#source: attr-gnu-4-4.s -W
#source: attr-gnu-4-0.s
#ld: -r
-#readelf: -A
-#target: mips*-*-*
-
-Attribute Section: gnu
-File Attributes
- Tag_GNU_MIPS_ABI_FP: Hard float \(MIPS32r2 64-bit FPU\)
+#error: \A[^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d
index b652983a..7c61365a 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d
@@ -1,5 +1,6 @@
-#source: attr-gnu-4-4.s
+#source: attr-gnu-4-4.s -W
#source: attr-gnu-4-1.s
#ld: -r
-#warning: Warning: .* uses -mips32r2 -mfp64 \(set by .*\), .* uses -mdouble-float
-#target: mips*-*-*
+#error: \A[^\n]*: Warning: .* uses -mips32r2 -mfp64 \(12 callee-saved\) \(set by .*\), .* uses -mdouble-float\n
+#error: [^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-42.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-42.d
index a1b79ea9..dad0421a 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-42.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-42.d
@@ -1,5 +1,6 @@
-#source: attr-gnu-4-4.s
+#source: attr-gnu-4-4.s -W
#source: attr-gnu-4-2.s
#ld: -r
-#warning: Warning: .* uses -mips32r2 -mfp64 \(set by .*\), .* uses -msingle-float
-#target: mips*-*-*
+#error: \A[^\n]*: Warning: .* uses -mips32r2 -mfp64 \(12 callee-saved\) \(set by .*\), .* uses -msingle-float\n
+#error: [^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-43.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-43.d
index 23f40c6a..f30c18ee 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-43.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-43.d
@@ -1,5 +1,6 @@
-#source: attr-gnu-4-4.s
+#source: attr-gnu-4-4.s -W
#source: attr-gnu-4-3.s
#ld: -r
-#warning: Warning: .* uses -mhard-float \(set by .*\), .* uses -msoft-float
-#target: mips*-*-*
+#error: \A[^\n]*: Warning: .* uses -mhard-float \(set by .*\), .* uses -msoft-float\n
+#error: [^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-44.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-44.d
index 68b03a0f..2599a902 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-44.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-44.d
@@ -1,9 +1,21 @@
-#source: attr-gnu-4-4.s
-#source: attr-gnu-4-4.s
+#source: attr-gnu-4-4.s -W
+#source: attr-gnu-4-4.s -W
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
- Tag_GNU_MIPS_ABI_FP: Hard float \(MIPS32r2 64-bit FPU\)
+ Tag_GNU_MIPS_ABI_FP: Hard float \(MIPS32r2 64-bit FPU 12 callee-saved\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(MIPS32r2 64-bit FPU 12 callee-saved\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-45.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-45.d
index 0d1b0796..c8716e3b 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-45.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-45.d
@@ -1,10 +1,6 @@
-#source: attr-gnu-4-4.s
+#source: attr-gnu-4-4.s -W -mips32r2
#source: attr-gnu-4-5.s
#ld: -r
-#readelf: -A
-#warning: Warning: .* uses -mips32r2 -mfp64 \(set by .*\), .* uses unknown floating point ABI 5
-#target: mips*-*-*
-
-Attribute Section: gnu
-File Attributes
- Tag_GNU_MIPS_ABI_FP: Hard float \(MIPS32r2 64-bit FPU\)
+#error: \A[^\n]*: Warning: .* uses -mips32r2 -mfp64 \(12 callee-saved\) \(set by .*\), .* uses -mfpxx\n
+#error: [^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-46.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-46.d
new file mode 100644
index 00000000..9fa1b015
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-46.d
@@ -0,0 +1,6 @@
+#source: attr-gnu-4-4.s -W -mips32r2
+#source: attr-gnu-4-6.s
+#ld: -r
+#error: \A[^\n]*: Warning: .* uses -mips32r2 -mfp64 \(12 callee-saved\) \(set by .*\), .* uses -mgp32 -mfp64\n
+#error: [^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-47.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-47.d
new file mode 100644
index 00000000..acb736b5
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-47.d
@@ -0,0 +1,6 @@
+#source: attr-gnu-4-4.s -W -mips32r2
+#source: attr-gnu-4-7.s
+#ld: -r
+#error: \A[^\n]*: Warning: .* uses -mips32r2 -mfp64 \(12 callee-saved\) \(set by .*\), .* uses -mgp32 -mfp64 -mno-odd-spreg\n
+#error: [^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-48.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-48.d
new file mode 100644
index 00000000..cb4dcb6d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-48.d
@@ -0,0 +1,6 @@
+#source: attr-gnu-4-4.s -W
+#source: attr-gnu-4-8.s -W
+#ld: -r
+#error: \A[^\n]*: Warning: .* uses -mips32r2 -mfp64 \(12 callee-saved\) \(set by .*\), .* uses unknown floating point ABI 8\n
+#error: [^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-5-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-5-ph.d
new file mode 100644
index 00000000..1b5616c1
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-5-ph.d
@@ -0,0 +1,24 @@
+#source: empty.s -mips32r2 -mfpxx
+#ld: -e 0
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r2
+GPR size: 32
+CPR1 size: 32
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, Any FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-5.s b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-5.s
index b21ec3ba..06f6c6f7 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-5.s
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-5.s
@@ -1 +1,3 @@
+.module mips32r2
+.module fp=xx
.gnu_attribute 4,5
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-50.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-50.d
new file mode 100644
index 00000000..651277dc
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-50.d
@@ -0,0 +1,41 @@
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-0.s -mips32r2
+#ld: -r
+#readelf: -hA
+
+ELF Header:
+ Magic: .*
+ Class: ELF32
+ Data: 2's complement,.*
+ Version: 1 \(current\)
+ OS/ABI: UNIX - System V
+ ABI Version: 0
+ Type: REL \(Relocatable file\)
+ Machine: MIPS R3000
+ Version: 0x1
+ Entry point address: 0x0
+ Start of program headers: 0 \(bytes into file\)
+ Start of section headers: ... \(bytes into file\)
+ Flags: 0x70001000, o32, mips32r2
+ Size of this header: 52 \(bytes\)
+ Size of program headers: 0 \(bytes\)
+ Number of program headers: 0
+ Size of section headers: 40 \(bytes\)
+ Number of section headers: 11
+ Section header string table index: 8
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, Any FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, Any FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-51.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-51.d
index e183d541..81dc1a91 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-51.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-51.d
@@ -1,5 +1,21 @@
#source: attr-gnu-4-5.s
-#source: attr-gnu-4-1.s
+#source: attr-gnu-4-1.s -mips32r2
#ld: -r
-#warning: Warning: .* uses unknown floating point ABI 5 \(set by .*\), .* uses -mdouble-float
-#target: mips*-*-*
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-52.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-52.d
new file mode 100644
index 00000000..4ea60335
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-52.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-2.s -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mfpxx \(set by .*\), .* uses -msingle-float
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-53.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-53.d
new file mode 100644
index 00000000..4fbe58d5
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-53.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-3.s -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mhard-float \(set by .*\), .* uses -msoft-float
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-54.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-54.d
new file mode 100644
index 00000000..04155af8
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-54.d
@@ -0,0 +1,6 @@
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-4.s -W -mips32r2
+#ld: -r
+#error: \A[^\n]*: Warning: .* uses -mfpxx \(set by .*\), .* uses -mips32r2 -mfp64 \(12 callee-saved\)\n
+#error: [^\n]*: [^\n]* linking -mfp64 module with previous -mfp32 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-55.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-55.d
new file mode 100644
index 00000000..af6d42d5
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-55.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-5.s
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, Any FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, Any FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-56.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-56.d
new file mode 100644
index 00000000..d1b72094
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-56.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-6.s
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-57.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-57.d
new file mode 100644
index 00000000..73ba8d32
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-57.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-7.s
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float compat \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float compat \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-58.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-58.d
new file mode 100644
index 00000000..77470c83
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-58.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-8.s -W -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mfpxx \(set by .*\), .* uses unknown floating point ABI 8
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-6-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-6-ph.d
new file mode 100644
index 00000000..42545c86
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-6-ph.d
@@ -0,0 +1,24 @@
+#source: empty.s -mips32r2 -mfp64
+#ld: -e 0
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r2
+GPR size: 32
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-6.s b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-6.s
new file mode 100644
index 00000000..adcff8aa
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-6.s
@@ -0,0 +1,4 @@
+.module mips32r2
+.module gp=32
+.module fp=64
+.gnu_attribute 4,6
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-60.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-60.d
new file mode 100644
index 00000000..80977a86
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-60.d
@@ -0,0 +1,41 @@
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-0.s -mips32r2
+#ld: -r
+#readelf: -hA
+
+ELF Header:
+ Magic: .*
+ Class: ELF32
+ Data: 2's complement,.*
+ Version: 1 \(current\)
+ OS/ABI: UNIX - System V
+ ABI Version: 3
+ Type: REL \(Relocatable file\)
+ Machine: MIPS R3000
+ Version: 0x1
+ Entry point address: 0x0
+ Start of program headers: 0 \(bytes into file\)
+ Start of section headers: ... \(bytes into file\)
+ Flags: 0x70001000, o32, mips32r2
+ Size of this header: 52 \(bytes\)
+ Size of program headers: 0 \(bytes\)
+ Number of program headers: 0
+ Size of section headers: 40 \(bytes\)
+ Number of section headers: 11
+ Section header string table index: 8
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-61.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-61.d
new file mode 100644
index 00000000..45055168
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-61.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-1.s -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mgp32 -mfp64 \(set by .*\), .* uses -mdouble-float
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-62.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-62.d
new file mode 100644
index 00000000..9aa789da
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-62.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-2.s -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mgp32 -mfp64 \(set by .*\), .* uses -msingle-float
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-63.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-63.d
new file mode 100644
index 00000000..4f9f737a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-63.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-3.s -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mhard-float \(set by .*\), .* uses -msoft-float
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-64.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-64.d
new file mode 100644
index 00000000..98a3b34b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-64.d
@@ -0,0 +1,6 @@
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-4.s -W -mips32r2
+#ld: -r
+#error: \A[^\n]*: Warning: .* uses -mgp32 -mfp64 \(set by .*\), .* uses -mips32r2 -mfp64 \(12 callee-saved\)\n
+#error: [^\n]*: [^\n]* linking -mfp64 module with previous -mfp32 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-65.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-65.d
new file mode 100644
index 00000000..ecf02d3b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-65.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-5.s
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-66.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-66.d
new file mode 100644
index 00000000..cdccc0a5
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-66.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-6.s
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-67.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-67.d
new file mode 100644
index 00000000..8306b2ec
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-67.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-7.s
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-68.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-68.d
new file mode 100644
index 00000000..f696dee1
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-68.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-8.s -W -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mgp32 -mfp64 \(set by .*\), .* uses unknown floating point ABI 8
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-7-ph.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-7-ph.d
new file mode 100644
index 00000000..ac4a0a89
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-7-ph.d
@@ -0,0 +1,24 @@
+#source: empty.s -mips32r2 -mfp64 -mno-odd-spreg
+#ld: -e 0
+#objdump: -p
+
+[^:]*: file format elf32-.*
+
+Program Header:
+0x70000003 off 0x0000.... vaddr 0x004000.. paddr 0x004000.. align 2\*\*3
+ filesz 0x00000018 memsz 0x00000018 flags r--
+#...
+private flags = 70001000: \[abi=O32\] \[mips32r2\] \[not 32bitmode\]
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS32r2
+GPR size: 32
+CPR1 size: 64
+CPR2 size: 0
+FP ABI: Hard float compat \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-7.s b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-7.s
new file mode 100644
index 00000000..e79d50bf
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-7.s
@@ -0,0 +1,5 @@
+.module mips32r2
+.module gp=32
+.module fp=64
+.module nooddspreg
+.gnu_attribute 4,7
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-70.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-70.d
new file mode 100644
index 00000000..3cd32504
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-70.d
@@ -0,0 +1,41 @@
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-0.s -mips32r2
+#ld: -r
+#readelf: -hA
+
+ELF Header:
+ Magic: .*
+ Class: ELF32
+ Data: 2's complement,.*
+ Version: 1 \(current\)
+ OS/ABI: UNIX - System V
+ ABI Version: 3
+ Type: REL \(Relocatable file\)
+ Machine: MIPS R3000
+ Version: 0x1
+ Entry point address: 0x0
+ Start of program headers: 0 \(bytes into file\)
+ Start of section headers: ... \(bytes into file\)
+ Flags: 0x70001000, o32, mips32r2
+ Size of this header: 52 \(bytes\)
+ Size of program headers: 0 \(bytes\)
+ Number of program headers: 0
+ Size of section headers: 40 \(bytes\)
+ Number of section headers: 11
+ Section header string table index: 8
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float compat \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float compat \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-71.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-71.d
new file mode 100644
index 00000000..d2d8b60d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-71.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-1.s -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mgp32 -mfp64 -mno-odd-spreg \(set by .*\), .* uses -mdouble-float
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-72.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-72.d
new file mode 100644
index 00000000..4ede98f7
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-72.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-2.s -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mgp32 -mfp64 -mno-odd-spreg \(set by .*\), .* uses -msingle-float
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-73.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-73.d
new file mode 100644
index 00000000..cb878398
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-73.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-3.s -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mhard-float \(set by .*\), .* uses -msoft-float
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-74.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-74.d
new file mode 100644
index 00000000..90eeaff1
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-74.d
@@ -0,0 +1,6 @@
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-4.s -W -mips32r2
+#ld: -r
+#error: \A[^\n]*: Warning: .* uses -mgp32 -mfp64 -mno-odd-spreg \(set by .*\), .* uses -mips32r2 -mfp64 \(12 callee-saved\)\n
+#error: [^\n]*: [^\n]* linking -mfp64 module with previous -mfp32 modules\n
+#error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-75.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-75.d
new file mode 100644
index 00000000..83116580
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-75.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-5.s
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float compat \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float compat \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-76.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-76.d
new file mode 100644
index 00000000..47c7894b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-76.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-6.s
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-77.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-77.d
new file mode 100644
index 00000000..4c93528c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-77.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-7.s
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float compat \(32-bit CPU, 64-bit FPU\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float compat \(32-bit CPU, 64-bit FPU\)
+ISA Extension: None
+ASEs:
+ None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-78.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-78.d
new file mode 100644
index 00000000..1a9012d4
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-78.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-8.s -W -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mgp32 -mfp64 -mno-odd-spreg \(set by .*\), .* uses unknown floating point ABI 8
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-8.s b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-8.s
new file mode 100644
index 00000000..79f64f90
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-8.s
@@ -0,0 +1 @@
+.gnu_attribute 4,8
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-81.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-81.d
new file mode 100644
index 00000000..fd449152
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-4-81.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-8.s -W
+#source: attr-gnu-4-1.s
+#ld: -r
+#warning: Warning: .* uses unknown floating point ABI 8 \(set by .*\), .* uses -mdouble-float
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d
index 5ee34a12..2f8e5f09 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d
@@ -2,5 +2,8 @@
#source: attr-gnu-8-0.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d
index 2d44dfe8..e2cda334 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d
@@ -2,8 +2,9 @@
#source: attr-gnu-8-1.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
Tag_GNU_MIPS_ABI_MSA: 128-bit MSA
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d
index e873d44e..54b196fa 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d
@@ -2,8 +2,9 @@
#source: attr-gnu-8-2.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
Tag_GNU_MIPS_ABI_MSA: \?\?\? \(2\)
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d
index f0e91259..f7c512be 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d
@@ -2,8 +2,9 @@
#source: attr-gnu-8-0.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
Tag_GNU_MIPS_ABI_MSA: 128-bit MSA
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d
index 50d518fb..be87af4b 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d
@@ -2,8 +2,9 @@
#source: attr-gnu-8-1.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
Tag_GNU_MIPS_ABI_MSA: 128-bit MSA
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-12.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-12.d
index b5392f33..10249d0e 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-12.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-12.d
@@ -2,4 +2,3 @@
#source: attr-gnu-8-2.s
#ld: -r
#warning: Warning: .* uses -mmsa \(set by .*\), .* uses unknown MSA ABI 2
-#target: mips*-*-*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d
index 268d6704..05f4da06 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d
@@ -2,8 +2,9 @@
#source: attr-gnu-8-0.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
Tag_GNU_MIPS_ABI_MSA: \?\?\? \(2\)
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-21.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-21.d
index 0222f03d..b8f0e7c3 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-21.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-21.d
@@ -2,4 +2,3 @@
#source: attr-gnu-8-1.s
#ld: -r
#warning: Warning: .* uses unknown MSA ABI 2 \(set by .*\), .* uses -mmsa
-#target: mips*-*-*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d
index b781150f..908ce4f0 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d
@@ -2,8 +2,9 @@
#source: attr-gnu-8-2.s
#ld: -r
#readelf: -A
-#target: mips*-*-*
Attribute Section: gnu
File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
Tag_GNU_MIPS_ABI_MSA: \?\?\? \(2\)
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/comm-data.exp b/binutils-2.25/ld/testsuite/ld-mips-elf/comm-data.exp
index 2b6fa836..76f1c391 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/comm-data.exp
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/comm-data.exp
@@ -1,6 +1,6 @@
# Expect script for common symbol override, MIPS variation.
#
-# Copyright 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/compressed-plt-1.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/compressed-plt-1.ld
index 9f15af91..0108d0f2 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/compressed-plt-1.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/compressed-plt-1.ld
@@ -35,4 +35,6 @@ SECTIONS
.got : { *(.got) }
. = ALIGN(0x1000);
.rld_map : { *(.rld_map) }
+
+ /DISCARD/ : { *(.MIPS.abiflags) *(.gnu.attributes) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/dyn-sec64.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/dyn-sec64.ld
index 4c6353a1..c7af3f4b 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/dyn-sec64.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/dyn-sec64.ld
@@ -20,4 +20,6 @@ SECTIONS
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
.got : { *(.got) }
.data : { *(.data) }
+
+ /DISCARD/ : { *(.MIPS.abiflags) *(.gnu.attributes) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame1-n32.d b/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame1-n32.d
index 0542ebd6..eafd0228 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame1-n32.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame1-n32.d
@@ -4,7 +4,7 @@
#as: -march=from-abi -EB -n32 --defsym alignment=2 --defsym fill=0x40
#readelf: --relocs -wf
#ld: -shared -melf32btsmipn32 -Teh-frame1.ld
-#warning: fde encoding in.*prevents \.eh_frame_hdr table being created.
+#warning: FDE encoding in.*prevents \.eh_frame_hdr table being created.
Relocation section '\.rel\.dyn' .*:
*Offset .*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame1-n64.d b/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame1-n64.d
index 2a7aa305..cdc43bcf 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame1-n64.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame1-n64.d
@@ -4,7 +4,7 @@
#as: -march=from-abi -EB -64 --defsym alignment=3 --defsym fill=0x40
#readelf: --relocs -wf
#ld: -shared -melf64btsmip -Teh-frame1.ld
-#warning: fde encoding in.*prevents \.eh_frame_hdr table being created.
+#warning: FDE encoding in.*prevents \.eh_frame_hdr table being created.
Relocation section '\.rel\.dyn' .*:
*Offset .*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame2-n32.d b/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame2-n32.d
index cda44097..528be875 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame2-n32.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame2-n32.d
@@ -4,7 +4,7 @@
#as: -march=from-abi -EB -n32 --defsym alignment=2 --defsym fill=0
#readelf: --relocs -wf
#ld: -shared -melf32btsmipn32 -Teh-frame1.ld
-#warning: fde encoding in.*prevents \.eh_frame_hdr table being created.
+#warning: FDE encoding in.*prevents \.eh_frame_hdr table being created.
Relocation section '\.rel\.dyn' .*:
*Offset .*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame2-n64.d b/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame2-n64.d
index 05ba94f1..add403e4 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame2-n64.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/eh-frame2-n64.d
@@ -4,7 +4,7 @@
#as: -march=from-abi -EB -64 --defsym alignment=3 --defsym fill=0
#readelf: --relocs -wf
#ld: -shared -melf64btsmip -Teh-frame1.ld
-#warning: fde encoding in.*prevents \.eh_frame_hdr table being created.
+#warning: FDE encoding in.*prevents \.eh_frame_hdr table being created.
Relocation section '\.rel\.dyn' .*:
*Offset .*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/ehdr_start-2.nd b/binutils-2.25/ld/testsuite/ld-mips-elf/ehdr_start-2.nd
index 986c2a26..0a6c06e9 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/ehdr_start-2.nd
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/ehdr_start-2.nd
@@ -1,4 +1,4 @@
Symbol table '\.symtab' contains [0-9]+ entries:
#...
- *[0-9]+: 0*23400000 +0 (?:NOTYPE|OBJECT) +LOCAL +DEFAULT +[0-9]+ __ehdr_start
+ *[0-9]+: 0*23400000 +0 (?:NOTYPE|OBJECT) +GLOBAL +DEFAULT +[0-9]+ __ehdr_start
#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n32-embed.d b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n32-embed.d
index d492998b..58f23edd 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n32-embed.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n32-embed.d
@@ -1,6 +1,7 @@
#name: MIPS ELF got reloc n32
#as: -march=from-abi -EB -n32 -KPIC
-#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s
+#objcopy_objects: -R .MIPS.abiflags
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s RUN_OBJCOPY
#ld:
#objdump: -D --show-raw-insn
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d
index 535a538e..174153dd 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d
@@ -1,6 +1,7 @@
#name: MIPS ELF got reloc n32
#as: -march=from-abi -EB -n32 -KPIC
-#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s
+#objcopy_objects: -R .MIPS.abiflags -K __start
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s RUN_OBJCOPY
#ld:
#objdump: -D --show-raw-insn
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64-embed.d b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64-embed.d
index f2719f07..c55900f8 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64-embed.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64-embed.d
@@ -1,6 +1,7 @@
#name: MIPS ELF got reloc n64
#as: -march=from-abi -EB -64 -KPIC
-#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
+#objcopy_objects: -R .MIPS.abiflags
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s RUN_OBJCOPY
#ld:
#objdump: -D --show-raw-insn
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d
index c1c33264..8e2822db 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d
@@ -1,6 +1,7 @@
#name: MIPS ELF got reloc n64
#as: -march=from-abi -EB -64 -KPIC
-#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
+#objcopy_objects: -R .MIPS.abiflags
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s RUN_OBJCOPY
#ld:
#objdump: -D --show-raw-insn
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d
index 55dd7ae6..492f76eb 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d
@@ -1,6 +1,7 @@
#name: MIPS ELF got reloc n64
#as: -march=from-abi -EB -64 -KPIC
-#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
+#objcopy_objects: -R .MIPS.abiflags
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s RUN_OBJCOPY
#ld:
#objdump: -D --show-raw-insn
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d
index 1d0c045d..d6c2e85d 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d
@@ -1,6 +1,7 @@
#name: MIPS ELF xgot reloc n32
#as: -march=from-abi -EB -n32 -KPIC -xgot
-#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s
+#objcopy_objects: -R .MIPS.abiflags -K __start
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s RUN_OBJCOPY
#ld:
#objdump: -D --show-raw-insn
@@ -18,382 +19,382 @@ Disassembly of section \.text:
10000074 <fn>:
10000074: 3c050000 lui a1,0x0
10000078: 00bc2821 addu a1,a1,gp
-1000007c: 8ca58018 lw a1,-32744\(a1\)
+1000007c: 8ca58038 lw a1,-32712\(a1\)
10000080: 3c050000 lui a1,0x0
10000084: 00bc2821 addu a1,a1,gp
-10000088: 8ca58018 lw a1,-32744\(a1\)
+10000088: 8ca58038 lw a1,-32712\(a1\)
1000008c: 24a5000c addiu a1,a1,12
10000090: 3c050000 lui a1,0x0
10000094: 00bc2821 addu a1,a1,gp
-10000098: 8ca58018 lw a1,-32744\(a1\)
+10000098: 8ca58038 lw a1,-32712\(a1\)
1000009c: 3c010001 lui at,0x1
100000a0: 3421e240 ori at,at,0xe240
100000a4: 00a12821 addu a1,a1,at
100000a8: 3c050000 lui a1,0x0
100000ac: 00bc2821 addu a1,a1,gp
-100000b0: 8ca58018 lw a1,-32744\(a1\)
+100000b0: 8ca58038 lw a1,-32712\(a1\)
100000b4: 00b12821 addu a1,a1,s1
100000b8: 3c050000 lui a1,0x0
100000bc: 00bc2821 addu a1,a1,gp
-100000c0: 8ca58018 lw a1,-32744\(a1\)
+100000c0: 8ca58038 lw a1,-32712\(a1\)
100000c4: 24a5000c addiu a1,a1,12
100000c8: 00b12821 addu a1,a1,s1
100000cc: 3c050000 lui a1,0x0
100000d0: 00bc2821 addu a1,a1,gp
-100000d4: 8ca58018 lw a1,-32744\(a1\)
+100000d4: 8ca58038 lw a1,-32712\(a1\)
100000d8: 3c010001 lui at,0x1
100000dc: 3421e240 ori at,at,0xe240
100000e0: 00a12821 addu a1,a1,at
100000e4: 00b12821 addu a1,a1,s1
100000e8: 3c050000 lui a1,0x0
100000ec: 00bc2821 addu a1,a1,gp
-100000f0: 8ca58018 lw a1,-32744\(a1\)
+100000f0: 8ca58038 lw a1,-32712\(a1\)
100000f4: 8ca50000 lw a1,0\(a1\)
100000f8: 3c050000 lui a1,0x0
100000fc: 00bc2821 addu a1,a1,gp
-10000100: 8ca58018 lw a1,-32744\(a1\)
+10000100: 8ca58038 lw a1,-32712\(a1\)
10000104: 8ca5000c lw a1,12\(a1\)
10000108: 3c050000 lui a1,0x0
1000010c: 00bc2821 addu a1,a1,gp
-10000110: 8ca58018 lw a1,-32744\(a1\)
+10000110: 8ca58038 lw a1,-32712\(a1\)
10000114: 00b12821 addu a1,a1,s1
10000118: 8ca50000 lw a1,0\(a1\)
1000011c: 3c050000 lui a1,0x0
10000120: 00bc2821 addu a1,a1,gp
-10000124: 8ca58018 lw a1,-32744\(a1\)
+10000124: 8ca58038 lw a1,-32712\(a1\)
10000128: 00b12821 addu a1,a1,s1
1000012c: 8ca5000c lw a1,12\(a1\)
10000130: 3c010000 lui at,0x0
10000134: 003c0821 addu at,at,gp
-10000138: 8c218018 lw at,-32744\(at\)
+10000138: 8c218038 lw at,-32712\(at\)
1000013c: 00250821 addu at,at,a1
10000140: 8c250022 lw a1,34\(at\)
10000144: 3c010000 lui at,0x0
10000148: 003c0821 addu at,at,gp
-1000014c: 8c218018 lw at,-32744\(at\)
+1000014c: 8c218038 lw at,-32712\(at\)
10000150: 00250821 addu at,at,a1
10000154: ac250038 sw a1,56\(at\)
10000158: 3c010000 lui at,0x0
1000015c: 003c0821 addu at,at,gp
-10000160: 8c218018 lw at,-32744\(at\)
+10000160: 8c218038 lw at,-32712\(at\)
10000164: 88250000 lwl a1,0\(at\)
10000168: 98250003 lwr a1,3\(at\)
1000016c: 3c010000 lui at,0x0
10000170: 003c0821 addu at,at,gp
-10000174: 8c218018 lw at,-32744\(at\)
+10000174: 8c218038 lw at,-32712\(at\)
10000178: 2421000c addiu at,at,12
1000017c: 88250000 lwl a1,0\(at\)
10000180: 98250003 lwr a1,3\(at\)
10000184: 3c010000 lui at,0x0
10000188: 003c0821 addu at,at,gp
-1000018c: 8c218018 lw at,-32744\(at\)
+1000018c: 8c218038 lw at,-32712\(at\)
10000190: 00310821 addu at,at,s1
10000194: 88250000 lwl a1,0\(at\)
10000198: 98250003 lwr a1,3\(at\)
1000019c: 3c010000 lui at,0x0
100001a0: 003c0821 addu at,at,gp
-100001a4: 8c218018 lw at,-32744\(at\)
+100001a4: 8c218038 lw at,-32712\(at\)
100001a8: 2421000c addiu at,at,12
100001ac: 00310821 addu at,at,s1
100001b0: 88250000 lwl a1,0\(at\)
100001b4: 98250003 lwr a1,3\(at\)
100001b8: 3c010000 lui at,0x0
100001bc: 003c0821 addu at,at,gp
-100001c0: 8c218018 lw at,-32744\(at\)
+100001c0: 8c218038 lw at,-32712\(at\)
100001c4: 24210022 addiu at,at,34
100001c8: 00250821 addu at,at,a1
100001cc: 88250000 lwl a1,0\(at\)
100001d0: 98250003 lwr a1,3\(at\)
100001d4: 3c010000 lui at,0x0
100001d8: 003c0821 addu at,at,gp
-100001dc: 8c218018 lw at,-32744\(at\)
+100001dc: 8c218038 lw at,-32712\(at\)
100001e0: 24210038 addiu at,at,56
100001e4: 00250821 addu at,at,a1
100001e8: a8250000 swl a1,0\(at\)
100001ec: b8250003 swr a1,3\(at\)
-100001f0: 8f85801c lw a1,-32740\(gp\)
+100001f0: 8f858018 lw a1,-32744\(gp\)
100001f4: 24a506b8 addiu a1,a1,1720
-100001f8: 8f85801c lw a1,-32740\(gp\)
+100001f8: 8f858018 lw a1,-32744\(gp\)
100001fc: 24a506c4 addiu a1,a1,1732
-10000200: 8f858020 lw a1,-32736\(gp\)
+10000200: 8f85801c lw a1,-32740\(gp\)
10000204: 24a5e8f8 addiu a1,a1,-5896
-10000208: 8f85801c lw a1,-32740\(gp\)
+10000208: 8f858018 lw a1,-32744\(gp\)
1000020c: 24a506b8 addiu a1,a1,1720
10000210: 00b12821 addu a1,a1,s1
-10000214: 8f85801c lw a1,-32740\(gp\)
+10000214: 8f858018 lw a1,-32744\(gp\)
10000218: 24a506c4 addiu a1,a1,1732
1000021c: 00b12821 addu a1,a1,s1
-10000220: 8f858020 lw a1,-32736\(gp\)
+10000220: 8f85801c lw a1,-32740\(gp\)
10000224: 24a5e8f8 addiu a1,a1,-5896
10000228: 00b12821 addu a1,a1,s1
-1000022c: 8f85801c lw a1,-32740\(gp\)
+1000022c: 8f858018 lw a1,-32744\(gp\)
10000230: 8ca506b8 lw a1,1720\(a1\)
-10000234: 8f85801c lw a1,-32740\(gp\)
+10000234: 8f858018 lw a1,-32744\(gp\)
10000238: 8ca506c4 lw a1,1732\(a1\)
-1000023c: 8f85801c lw a1,-32740\(gp\)
+1000023c: 8f858018 lw a1,-32744\(gp\)
10000240: 00b12821 addu a1,a1,s1
10000244: 8ca506b8 lw a1,1720\(a1\)
-10000248: 8f85801c lw a1,-32740\(gp\)
+10000248: 8f858018 lw a1,-32744\(gp\)
1000024c: 00b12821 addu a1,a1,s1
10000250: 8ca506c4 lw a1,1732\(a1\)
-10000254: 8f81801c lw at,-32740\(gp\)
+10000254: 8f818018 lw at,-32744\(gp\)
10000258: 00250821 addu at,at,a1
1000025c: 8c2506da lw a1,1754\(at\)
-10000260: 8f81801c lw at,-32740\(gp\)
+10000260: 8f818018 lw at,-32744\(gp\)
10000264: 00250821 addu at,at,a1
10000268: ac2506f0 sw a1,1776\(at\)
-1000026c: 8f81801c lw at,-32740\(gp\)
+1000026c: 8f818018 lw at,-32744\(gp\)
10000270: 242106b8 addiu at,at,1720
10000274: 88250000 lwl a1,0\(at\)
10000278: 98250003 lwr a1,3\(at\)
-1000027c: 8f81801c lw at,-32740\(gp\)
+1000027c: 8f818018 lw at,-32744\(gp\)
10000280: 242106c4 addiu at,at,1732
10000284: 88250000 lwl a1,0\(at\)
10000288: 98250003 lwr a1,3\(at\)
-1000028c: 8f81801c lw at,-32740\(gp\)
+1000028c: 8f818018 lw at,-32744\(gp\)
10000290: 242106b8 addiu at,at,1720
10000294: 00310821 addu at,at,s1
10000298: 88250000 lwl a1,0\(at\)
1000029c: 98250003 lwr a1,3\(at\)
-100002a0: 8f81801c lw at,-32740\(gp\)
+100002a0: 8f818018 lw at,-32744\(gp\)
100002a4: 242106c4 addiu at,at,1732
100002a8: 00310821 addu at,at,s1
100002ac: 88250000 lwl a1,0\(at\)
100002b0: 98250003 lwr a1,3\(at\)
-100002b4: 8f81801c lw at,-32740\(gp\)
+100002b4: 8f818018 lw at,-32744\(gp\)
100002b8: 242106da addiu at,at,1754
100002bc: 00250821 addu at,at,a1
100002c0: 88250000 lwl a1,0\(at\)
100002c4: 98250003 lwr a1,3\(at\)
-100002c8: 8f81801c lw at,-32740\(gp\)
+100002c8: 8f818018 lw at,-32744\(gp\)
100002cc: 242106f0 addiu at,at,1776
100002d0: 00250821 addu at,at,a1
100002d4: a8250000 swl a1,0\(at\)
100002d8: b8250003 swr a1,3\(at\)
100002dc: 3c050000 lui a1,0x0
100002e0: 00bc2821 addu a1,a1,gp
-100002e4: 8ca58024 lw a1,-32732\(a1\)
-100002e8: 8f858028 lw a1,-32728\(gp\)
+100002e4: 8ca58034 lw a1,-32716\(a1\)
+100002e8: 8f858020 lw a1,-32736\(gp\)
100002ec: 24a50074 addiu a1,a1,116
100002f0: 3c190000 lui t9,0x0
100002f4: 033cc821 addu t9,t9,gp
-100002f8: 8f398024 lw t9,-32732\(t9\)
-100002fc: 8f998028 lw t9,-32728\(gp\)
+100002f8: 8f398034 lw t9,-32716\(t9\)
+100002fc: 8f998020 lw t9,-32736\(gp\)
10000300: 27390074 addiu t9,t9,116
10000304: 3c190000 lui t9,0x0
10000308: 033cc821 addu t9,t9,gp
-1000030c: 8f398024 lw t9,-32732\(t9\)
+1000030c: 8f398034 lw t9,-32716\(t9\)
10000310: 0411ff58 bal 10000074 <fn>
10000314: 00000000 nop
-10000318: 8f998028 lw t9,-32728\(gp\)
+10000318: 8f998020 lw t9,-32736\(gp\)
1000031c: 27390074 addiu t9,t9,116
10000320: 0411ff54 bal 10000074 <fn>
10000324: 00000000 nop
10000328: 3c050000 lui a1,0x0
1000032c: 00bc2821 addu a1,a1,gp
-10000330: 8ca5802c lw a1,-32724\(a1\)
+10000330: 8ca58030 lw a1,-32720\(a1\)
10000334: 3c050000 lui a1,0x0
10000338: 00bc2821 addu a1,a1,gp
-1000033c: 8ca5802c lw a1,-32724\(a1\)
+1000033c: 8ca58030 lw a1,-32720\(a1\)
10000340: 24a5000c addiu a1,a1,12
10000344: 3c050000 lui a1,0x0
10000348: 00bc2821 addu a1,a1,gp
-1000034c: 8ca5802c lw a1,-32724\(a1\)
+1000034c: 8ca58030 lw a1,-32720\(a1\)
10000350: 3c010001 lui at,0x1
10000354: 3421e240 ori at,at,0xe240
10000358: 00a12821 addu a1,a1,at
1000035c: 3c050000 lui a1,0x0
10000360: 00bc2821 addu a1,a1,gp
-10000364: 8ca5802c lw a1,-32724\(a1\)
+10000364: 8ca58030 lw a1,-32720\(a1\)
10000368: 00b12821 addu a1,a1,s1
1000036c: 3c050000 lui a1,0x0
10000370: 00bc2821 addu a1,a1,gp
-10000374: 8ca5802c lw a1,-32724\(a1\)
+10000374: 8ca58030 lw a1,-32720\(a1\)
10000378: 24a5000c addiu a1,a1,12
1000037c: 00b12821 addu a1,a1,s1
10000380: 3c050000 lui a1,0x0
10000384: 00bc2821 addu a1,a1,gp
-10000388: 8ca5802c lw a1,-32724\(a1\)
+10000388: 8ca58030 lw a1,-32720\(a1\)
1000038c: 3c010001 lui at,0x1
10000390: 3421e240 ori at,at,0xe240
10000394: 00a12821 addu a1,a1,at
10000398: 00b12821 addu a1,a1,s1
1000039c: 3c050000 lui a1,0x0
100003a0: 00bc2821 addu a1,a1,gp
-100003a4: 8ca5802c lw a1,-32724\(a1\)
+100003a4: 8ca58030 lw a1,-32720\(a1\)
100003a8: 8ca50000 lw a1,0\(a1\)
100003ac: 3c050000 lui a1,0x0
100003b0: 00bc2821 addu a1,a1,gp
-100003b4: 8ca5802c lw a1,-32724\(a1\)
+100003b4: 8ca58030 lw a1,-32720\(a1\)
100003b8: 8ca5000c lw a1,12\(a1\)
100003bc: 3c050000 lui a1,0x0
100003c0: 00bc2821 addu a1,a1,gp
-100003c4: 8ca5802c lw a1,-32724\(a1\)
+100003c4: 8ca58030 lw a1,-32720\(a1\)
100003c8: 00b12821 addu a1,a1,s1
100003cc: 8ca50000 lw a1,0\(a1\)
100003d0: 3c050000 lui a1,0x0
100003d4: 00bc2821 addu a1,a1,gp
-100003d8: 8ca5802c lw a1,-32724\(a1\)
+100003d8: 8ca58030 lw a1,-32720\(a1\)
100003dc: 00b12821 addu a1,a1,s1
100003e0: 8ca5000c lw a1,12\(a1\)
100003e4: 3c010000 lui at,0x0
100003e8: 003c0821 addu at,at,gp
-100003ec: 8c21802c lw at,-32724\(at\)
+100003ec: 8c218030 lw at,-32720\(at\)
100003f0: 00250821 addu at,at,a1
100003f4: 8c250022 lw a1,34\(at\)
100003f8: 3c010000 lui at,0x0
100003fc: 003c0821 addu at,at,gp
-10000400: 8c21802c lw at,-32724\(at\)
+10000400: 8c218030 lw at,-32720\(at\)
10000404: 00250821 addu at,at,a1
10000408: ac250038 sw a1,56\(at\)
1000040c: 3c010000 lui at,0x0
10000410: 003c0821 addu at,at,gp
-10000414: 8c21802c lw at,-32724\(at\)
+10000414: 8c218030 lw at,-32720\(at\)
10000418: 88250000 lwl a1,0\(at\)
1000041c: 98250003 lwr a1,3\(at\)
10000420: 3c010000 lui at,0x0
10000424: 003c0821 addu at,at,gp
-10000428: 8c21802c lw at,-32724\(at\)
+10000428: 8c218030 lw at,-32720\(at\)
1000042c: 2421000c addiu at,at,12
10000430: 88250000 lwl a1,0\(at\)
10000434: 98250003 lwr a1,3\(at\)
10000438: 3c010000 lui at,0x0
1000043c: 003c0821 addu at,at,gp
-10000440: 8c21802c lw at,-32724\(at\)
+10000440: 8c218030 lw at,-32720\(at\)
10000444: 00310821 addu at,at,s1
10000448: 88250000 lwl a1,0\(at\)
1000044c: 98250003 lwr a1,3\(at\)
10000450: 3c010000 lui at,0x0
10000454: 003c0821 addu at,at,gp
-10000458: 8c21802c lw at,-32724\(at\)
+10000458: 8c218030 lw at,-32720\(at\)
1000045c: 2421000c addiu at,at,12
10000460: 00310821 addu at,at,s1
10000464: 88250000 lwl a1,0\(at\)
10000468: 98250003 lwr a1,3\(at\)
1000046c: 3c010000 lui at,0x0
10000470: 003c0821 addu at,at,gp
-10000474: 8c21802c lw at,-32724\(at\)
+10000474: 8c218030 lw at,-32720\(at\)
10000478: 24210022 addiu at,at,34
1000047c: 00250821 addu at,at,a1
10000480: 88250000 lwl a1,0\(at\)
10000484: 98250003 lwr a1,3\(at\)
10000488: 3c010000 lui at,0x0
1000048c: 003c0821 addu at,at,gp
-10000490: 8c21802c lw at,-32724\(at\)
+10000490: 8c218030 lw at,-32720\(at\)
10000494: 24210038 addiu at,at,56
10000498: 00250821 addu at,at,a1
1000049c: a8250000 swl a1,0\(at\)
100004a0: b8250003 swr a1,3\(at\)
-100004a4: 8f85801c lw a1,-32740\(gp\)
+100004a4: 8f858018 lw a1,-32744\(gp\)
100004a8: 24a50730 addiu a1,a1,1840
-100004ac: 8f85801c lw a1,-32740\(gp\)
+100004ac: 8f858018 lw a1,-32744\(gp\)
100004b0: 24a5073c addiu a1,a1,1852
-100004b4: 8f858020 lw a1,-32736\(gp\)
+100004b4: 8f85801c lw a1,-32740\(gp\)
100004b8: 24a5e970 addiu a1,a1,-5776
-100004bc: 8f85801c lw a1,-32740\(gp\)
+100004bc: 8f858018 lw a1,-32744\(gp\)
100004c0: 24a50730 addiu a1,a1,1840
100004c4: 00b12821 addu a1,a1,s1
-100004c8: 8f85801c lw a1,-32740\(gp\)
+100004c8: 8f858018 lw a1,-32744\(gp\)
100004cc: 24a5073c addiu a1,a1,1852
100004d0: 00b12821 addu a1,a1,s1
-100004d4: 8f858020 lw a1,-32736\(gp\)
+100004d4: 8f85801c lw a1,-32740\(gp\)
100004d8: 24a5e970 addiu a1,a1,-5776
100004dc: 00b12821 addu a1,a1,s1
-100004e0: 8f85801c lw a1,-32740\(gp\)
+100004e0: 8f858018 lw a1,-32744\(gp\)
100004e4: 8ca50730 lw a1,1840\(a1\)
-100004e8: 8f85801c lw a1,-32740\(gp\)
+100004e8: 8f858018 lw a1,-32744\(gp\)
100004ec: 8ca5073c lw a1,1852\(a1\)
-100004f0: 8f85801c lw a1,-32740\(gp\)
+100004f0: 8f858018 lw a1,-32744\(gp\)
100004f4: 00b12821 addu a1,a1,s1
100004f8: 8ca50730 lw a1,1840\(a1\)
-100004fc: 8f85801c lw a1,-32740\(gp\)
+100004fc: 8f858018 lw a1,-32744\(gp\)
10000500: 00b12821 addu a1,a1,s1
10000504: 8ca5073c lw a1,1852\(a1\)
-10000508: 8f81801c lw at,-32740\(gp\)
+10000508: 8f818018 lw at,-32744\(gp\)
1000050c: 00250821 addu at,at,a1
10000510: 8c250752 lw a1,1874\(at\)
-10000514: 8f81801c lw at,-32740\(gp\)
+10000514: 8f818018 lw at,-32744\(gp\)
10000518: 00250821 addu at,at,a1
1000051c: ac250768 sw a1,1896\(at\)
-10000520: 8f81801c lw at,-32740\(gp\)
+10000520: 8f818018 lw at,-32744\(gp\)
10000524: 24210730 addiu at,at,1840
10000528: 88250000 lwl a1,0\(at\)
1000052c: 98250003 lwr a1,3\(at\)
-10000530: 8f81801c lw at,-32740\(gp\)
+10000530: 8f818018 lw at,-32744\(gp\)
10000534: 2421073c addiu at,at,1852
10000538: 88250000 lwl a1,0\(at\)
1000053c: 98250003 lwr a1,3\(at\)
-10000540: 8f81801c lw at,-32740\(gp\)
+10000540: 8f818018 lw at,-32744\(gp\)
10000544: 24210730 addiu at,at,1840
10000548: 00310821 addu at,at,s1
1000054c: 88250000 lwl a1,0\(at\)
10000550: 98250003 lwr a1,3\(at\)
-10000554: 8f81801c lw at,-32740\(gp\)
+10000554: 8f818018 lw at,-32744\(gp\)
10000558: 2421073c addiu at,at,1852
1000055c: 00310821 addu at,at,s1
10000560: 88250000 lwl a1,0\(at\)
10000564: 98250003 lwr a1,3\(at\)
-10000568: 8f81801c lw at,-32740\(gp\)
+10000568: 8f818018 lw at,-32744\(gp\)
1000056c: 24210752 addiu at,at,1874
10000570: 00250821 addu at,at,a1
10000574: 88250000 lwl a1,0\(at\)
10000578: 98250003 lwr a1,3\(at\)
-1000057c: 8f81801c lw at,-32740\(gp\)
+1000057c: 8f818018 lw at,-32744\(gp\)
10000580: 24210768 addiu at,at,1896
10000584: 00250821 addu at,at,a1
10000588: a8250000 swl a1,0\(at\)
1000058c: b8250003 swr a1,3\(at\)
10000590: 3c050000 lui a1,0x0
10000594: 00bc2821 addu a1,a1,gp
-10000598: 8ca58030 lw a1,-32720\(a1\)
-1000059c: 8f858028 lw a1,-32728\(gp\)
+10000598: 8ca5802c lw a1,-32724\(a1\)
+1000059c: 8f858020 lw a1,-32736\(gp\)
100005a0: 24a50674 addiu a1,a1,1652
100005a4: 3c190000 lui t9,0x0
100005a8: 033cc821 addu t9,t9,gp
-100005ac: 8f398030 lw t9,-32720\(t9\)
-100005b0: 8f998028 lw t9,-32728\(gp\)
+100005ac: 8f39802c lw t9,-32724\(t9\)
+100005b0: 8f998020 lw t9,-32736\(gp\)
100005b4: 27390674 addiu t9,t9,1652
100005b8: 3c190000 lui t9,0x0
100005bc: 033cc821 addu t9,t9,gp
-100005c0: 8f398030 lw t9,-32720\(t9\)
+100005c0: 8f39802c lw t9,-32724\(t9\)
100005c4: 0411002b bal 10000674 <fn2>
100005c8: 00000000 nop
-100005cc: 8f998028 lw t9,-32728\(gp\)
+100005cc: 8f998020 lw t9,-32736\(gp\)
100005d0: 27390674 addiu t9,t9,1652
100005d4: 04110027 bal 10000674 <fn2>
100005d8: 00000000 nop
100005dc: 3c050000 lui a1,0x0
100005e0: 00bc2821 addu a1,a1,gp
-100005e4: 8ca58018 lw a1,-32744\(a1\)
+100005e4: 8ca58038 lw a1,-32712\(a1\)
100005e8: 1000fea2 b 10000074 <fn>
100005ec: 00000000 nop
100005f0: 3c050000 lui a1,0x0
100005f4: 00bc2821 addu a1,a1,gp
-100005f8: 8ca5802c lw a1,-32724\(a1\)
+100005f8: 8ca58030 lw a1,-32720\(a1\)
100005fc: 8ca50000 lw a1,0\(a1\)
10000600: 1000001c b 10000674 <fn2>
10000604: 00000000 nop
-10000608: 8f85801c lw a1,-32740\(gp\)
+10000608: 8f858018 lw a1,-32744\(gp\)
1000060c: 24a506b8 addiu a1,a1,1720
10000610: 1000fe98 b 10000074 <fn>
10000614: 00000000 nop
-10000618: 8f85801c lw a1,-32740\(gp\)
+10000618: 8f858018 lw a1,-32744\(gp\)
1000061c: 24a5073c addiu a1,a1,1852
10000620: 10000014 b 10000674 <fn2>
10000624: 00000000 nop
-10000628: 8f858020 lw a1,-32736\(gp\)
+10000628: 8f85801c lw a1,-32740\(gp\)
1000062c: 24a5e8f8 addiu a1,a1,-5896
10000630: 1000fe90 b 10000074 <fn>
10000634: 00000000 nop
-10000638: 8f85801c lw a1,-32740\(gp\)
+10000638: 8f858018 lw a1,-32744\(gp\)
1000063c: 8ca50730 lw a1,1840\(a1\)
10000640: 1000000c b 10000674 <fn2>
10000644: 00000000 nop
-10000648: 8f85801c lw a1,-32740\(gp\)
+10000648: 8f858018 lw a1,-32744\(gp\)
1000064c: 8ca506c4 lw a1,1732\(a1\)
10000650: 1000fe88 b 10000074 <fn>
10000654: 00000000 nop
-10000658: 8f81801c lw at,-32740\(gp\)
+10000658: 8f818018 lw at,-32744\(gp\)
1000065c: 00250821 addu at,at,a1
10000660: 8c250752 lw a1,1874\(at\)
10000664: 10000003 b 10000674 <fn2>
@@ -422,13 +423,13 @@ Disassembly of section \.got:
10010770 <_GLOBAL_OFFSET_TABLE_>:
10010770: 00000000 .*
10010774: 80000000 .*
-10010778: 100106b8 .*
-1001077c: 10010000 .*
-10010780: 10030000 .*
-10010784: 10000074 .*
-10010788: 10000000 .*
-1001078c: 10010730 .*
-10010790: 10000674 .*
-10010794: 00000000 .*
-10010798: 00000000 .*
+10010778: 10010000 .*
+1001077c: 10030000 .*
+10010780: 10000000 .*
+10010784: 00000000 .*
+10010788: 00000000 .*
+1001078c: 10000674 .*
+10010790: 10010730 .*
+10010794: 10000074 .*
+10010798: 100106b8 .*
#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d
index 4e105aa0..b202e926 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d
@@ -1,6 +1,7 @@
#name: MIPS ELF xgot reloc n32
#as: -march=from-abi -EB -n32 -KPIC -xgot
-#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s
+#objcopy_objects: -R .MIPS.abiflags -K __start
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s RUN_OBJCOPY
#ld:
#objdump: -D --show-raw-insn
@@ -18,382 +19,382 @@ Disassembly of section \.text:
100000b0 <fn>:
100000b0: 3c050000 lui a1,0x0
100000b4: 00bc2821 addu a1,a1,gp
-100000b8: 8ca58018 lw a1,-32744\(a1\)
+100000b8: 8ca58038 lw a1,-32712\(a1\)
100000bc: 3c050000 lui a1,0x0
100000c0: 00bc2821 addu a1,a1,gp
-100000c4: 8ca58018 lw a1,-32744\(a1\)
+100000c4: 8ca58038 lw a1,-32712\(a1\)
100000c8: 24a5000c addiu a1,a1,12
100000cc: 3c050000 lui a1,0x0
100000d0: 00bc2821 addu a1,a1,gp
-100000d4: 8ca58018 lw a1,-32744\(a1\)
+100000d4: 8ca58038 lw a1,-32712\(a1\)
100000d8: 3c010001 lui at,0x1
100000dc: 3421e240 ori at,at,0xe240
100000e0: 00a12821 addu a1,a1,at
100000e4: 3c050000 lui a1,0x0
100000e8: 00bc2821 addu a1,a1,gp
-100000ec: 8ca58018 lw a1,-32744\(a1\)
+100000ec: 8ca58038 lw a1,-32712\(a1\)
100000f0: 00b12821 addu a1,a1,s1
100000f4: 3c050000 lui a1,0x0
100000f8: 00bc2821 addu a1,a1,gp
-100000fc: 8ca58018 lw a1,-32744\(a1\)
+100000fc: 8ca58038 lw a1,-32712\(a1\)
10000100: 24a5000c addiu a1,a1,12
10000104: 00b12821 addu a1,a1,s1
10000108: 3c050000 lui a1,0x0
1000010c: 00bc2821 addu a1,a1,gp
-10000110: 8ca58018 lw a1,-32744\(a1\)
+10000110: 8ca58038 lw a1,-32712\(a1\)
10000114: 3c010001 lui at,0x1
10000118: 3421e240 ori at,at,0xe240
1000011c: 00a12821 addu a1,a1,at
10000120: 00b12821 addu a1,a1,s1
10000124: 3c050000 lui a1,0x0
10000128: 00bc2821 addu a1,a1,gp
-1000012c: 8ca58018 lw a1,-32744\(a1\)
+1000012c: 8ca58038 lw a1,-32712\(a1\)
10000130: 8ca50000 lw a1,0\(a1\)
10000134: 3c050000 lui a1,0x0
10000138: 00bc2821 addu a1,a1,gp
-1000013c: 8ca58018 lw a1,-32744\(a1\)
+1000013c: 8ca58038 lw a1,-32712\(a1\)
10000140: 8ca5000c lw a1,12\(a1\)
10000144: 3c050000 lui a1,0x0
10000148: 00bc2821 addu a1,a1,gp
-1000014c: 8ca58018 lw a1,-32744\(a1\)
+1000014c: 8ca58038 lw a1,-32712\(a1\)
10000150: 00b12821 addu a1,a1,s1
10000154: 8ca50000 lw a1,0\(a1\)
10000158: 3c050000 lui a1,0x0
1000015c: 00bc2821 addu a1,a1,gp
-10000160: 8ca58018 lw a1,-32744\(a1\)
+10000160: 8ca58038 lw a1,-32712\(a1\)
10000164: 00b12821 addu a1,a1,s1
10000168: 8ca5000c lw a1,12\(a1\)
1000016c: 3c010000 lui at,0x0
10000170: 003c0821 addu at,at,gp
-10000174: 8c218018 lw at,-32744\(at\)
+10000174: 8c218038 lw at,-32712\(at\)
10000178: 00250821 addu at,at,a1
1000017c: 8c250022 lw a1,34\(at\)
10000180: 3c010000 lui at,0x0
10000184: 003c0821 addu at,at,gp
-10000188: 8c218018 lw at,-32744\(at\)
+10000188: 8c218038 lw at,-32712\(at\)
1000018c: 00250821 addu at,at,a1
10000190: ac250038 sw a1,56\(at\)
10000194: 3c010000 lui at,0x0
10000198: 003c0821 addu at,at,gp
-1000019c: 8c218018 lw at,-32744\(at\)
+1000019c: 8c218038 lw at,-32712\(at\)
100001a0: 88250000 lwl a1,0\(at\)
100001a4: 98250003 lwr a1,3\(at\)
100001a8: 3c010000 lui at,0x0
100001ac: 003c0821 addu at,at,gp
-100001b0: 8c218018 lw at,-32744\(at\)
+100001b0: 8c218038 lw at,-32712\(at\)
100001b4: 2421000c addiu at,at,12
100001b8: 88250000 lwl a1,0\(at\)
100001bc: 98250003 lwr a1,3\(at\)
100001c0: 3c010000 lui at,0x0
100001c4: 003c0821 addu at,at,gp
-100001c8: 8c218018 lw at,-32744\(at\)
+100001c8: 8c218038 lw at,-32712\(at\)
100001cc: 00310821 addu at,at,s1
100001d0: 88250000 lwl a1,0\(at\)
100001d4: 98250003 lwr a1,3\(at\)
100001d8: 3c010000 lui at,0x0
100001dc: 003c0821 addu at,at,gp
-100001e0: 8c218018 lw at,-32744\(at\)
+100001e0: 8c218038 lw at,-32712\(at\)
100001e4: 2421000c addiu at,at,12
100001e8: 00310821 addu at,at,s1
100001ec: 88250000 lwl a1,0\(at\)
100001f0: 98250003 lwr a1,3\(at\)
100001f4: 3c010000 lui at,0x0
100001f8: 003c0821 addu at,at,gp
-100001fc: 8c218018 lw at,-32744\(at\)
+100001fc: 8c218038 lw at,-32712\(at\)
10000200: 24210022 addiu at,at,34
10000204: 00250821 addu at,at,a1
10000208: 88250000 lwl a1,0\(at\)
1000020c: 98250003 lwr a1,3\(at\)
10000210: 3c010000 lui at,0x0
10000214: 003c0821 addu at,at,gp
-10000218: 8c218018 lw at,-32744\(at\)
+10000218: 8c218038 lw at,-32712\(at\)
1000021c: 24210038 addiu at,at,56
10000220: 00250821 addu at,at,a1
10000224: a8250000 swl a1,0\(at\)
10000228: b8250003 swr a1,3\(at\)
-1000022c: 8f85801c lw a1,-32740\(gp\)
+1000022c: 8f858018 lw a1,-32744\(gp\)
10000230: 24a506fc addiu a1,a1,1788
-10000234: 8f85801c lw a1,-32740\(gp\)
+10000234: 8f858018 lw a1,-32744\(gp\)
10000238: 24a50708 addiu a1,a1,1800
-1000023c: 8f858020 lw a1,-32736\(gp\)
+1000023c: 8f85801c lw a1,-32740\(gp\)
10000240: 24a5e93c addiu a1,a1,-5828
-10000244: 8f85801c lw a1,-32740\(gp\)
+10000244: 8f858018 lw a1,-32744\(gp\)
10000248: 24a506fc addiu a1,a1,1788
1000024c: 00b12821 addu a1,a1,s1
-10000250: 8f85801c lw a1,-32740\(gp\)
+10000250: 8f858018 lw a1,-32744\(gp\)
10000254: 24a50708 addiu a1,a1,1800
10000258: 00b12821 addu a1,a1,s1
-1000025c: 8f858020 lw a1,-32736\(gp\)
+1000025c: 8f85801c lw a1,-32740\(gp\)
10000260: 24a5e93c addiu a1,a1,-5828
10000264: 00b12821 addu a1,a1,s1
-10000268: 8f85801c lw a1,-32740\(gp\)
+10000268: 8f858018 lw a1,-32744\(gp\)
1000026c: 8ca506fc lw a1,1788\(a1\)
-10000270: 8f85801c lw a1,-32740\(gp\)
+10000270: 8f858018 lw a1,-32744\(gp\)
10000274: 8ca50708 lw a1,1800\(a1\)
-10000278: 8f85801c lw a1,-32740\(gp\)
+10000278: 8f858018 lw a1,-32744\(gp\)
1000027c: 00b12821 addu a1,a1,s1
10000280: 8ca506fc lw a1,1788\(a1\)
-10000284: 8f85801c lw a1,-32740\(gp\)
+10000284: 8f858018 lw a1,-32744\(gp\)
10000288: 00b12821 addu a1,a1,s1
1000028c: 8ca50708 lw a1,1800\(a1\)
-10000290: 8f81801c lw at,-32740\(gp\)
+10000290: 8f818018 lw at,-32744\(gp\)
10000294: 00250821 addu at,at,a1
10000298: 8c25071e lw a1,1822\(at\)
-1000029c: 8f81801c lw at,-32740\(gp\)
+1000029c: 8f818018 lw at,-32744\(gp\)
100002a0: 00250821 addu at,at,a1
100002a4: ac250734 sw a1,1844\(at\)
-100002a8: 8f81801c lw at,-32740\(gp\)
+100002a8: 8f818018 lw at,-32744\(gp\)
100002ac: 242106fc addiu at,at,1788
100002b0: 88250000 lwl a1,0\(at\)
100002b4: 98250003 lwr a1,3\(at\)
-100002b8: 8f81801c lw at,-32740\(gp\)
+100002b8: 8f818018 lw at,-32744\(gp\)
100002bc: 24210708 addiu at,at,1800
100002c0: 88250000 lwl a1,0\(at\)
100002c4: 98250003 lwr a1,3\(at\)
-100002c8: 8f81801c lw at,-32740\(gp\)
+100002c8: 8f818018 lw at,-32744\(gp\)
100002cc: 242106fc addiu at,at,1788
100002d0: 00310821 addu at,at,s1
100002d4: 88250000 lwl a1,0\(at\)
100002d8: 98250003 lwr a1,3\(at\)
-100002dc: 8f81801c lw at,-32740\(gp\)
+100002dc: 8f818018 lw at,-32744\(gp\)
100002e0: 24210708 addiu at,at,1800
100002e4: 00310821 addu at,at,s1
100002e8: 88250000 lwl a1,0\(at\)
100002ec: 98250003 lwr a1,3\(at\)
-100002f0: 8f81801c lw at,-32740\(gp\)
+100002f0: 8f818018 lw at,-32744\(gp\)
100002f4: 2421071e addiu at,at,1822
100002f8: 00250821 addu at,at,a1
100002fc: 88250000 lwl a1,0\(at\)
10000300: 98250003 lwr a1,3\(at\)
-10000304: 8f81801c lw at,-32740\(gp\)
+10000304: 8f818018 lw at,-32744\(gp\)
10000308: 24210734 addiu at,at,1844
1000030c: 00250821 addu at,at,a1
10000310: a8250000 swl a1,0\(at\)
10000314: b8250003 swr a1,3\(at\)
10000318: 3c050000 lui a1,0x0
1000031c: 00bc2821 addu a1,a1,gp
-10000320: 8ca58024 lw a1,-32732\(a1\)
-10000324: 8f858028 lw a1,-32728\(gp\)
+10000320: 8ca58034 lw a1,-32716\(a1\)
+10000324: 8f858020 lw a1,-32736\(gp\)
10000328: 24a500b0 addiu a1,a1,176
1000032c: 3c190000 lui t9,0x0
10000330: 033cc821 addu t9,t9,gp
-10000334: 8f398024 lw t9,-32732\(t9\)
-10000338: 8f998028 lw t9,-32728\(gp\)
+10000334: 8f398034 lw t9,-32716\(t9\)
+10000338: 8f998020 lw t9,-32736\(gp\)
1000033c: 273900b0 addiu t9,t9,176
10000340: 3c190000 lui t9,0x0
10000344: 033cc821 addu t9,t9,gp
-10000348: 8f398024 lw t9,-32732\(t9\)
+10000348: 8f398034 lw t9,-32716\(t9\)
1000034c: 0411ff58 bal 100000b0 <fn>
10000350: 00000000 nop
-10000354: 8f998028 lw t9,-32728\(gp\)
+10000354: 8f998020 lw t9,-32736\(gp\)
10000358: 273900b0 addiu t9,t9,176
1000035c: 0411ff54 bal 100000b0 <fn>
10000360: 00000000 nop
10000364: 3c050000 lui a1,0x0
10000368: 00bc2821 addu a1,a1,gp
-1000036c: 8ca5802c lw a1,-32724\(a1\)
+1000036c: 8ca58030 lw a1,-32720\(a1\)
10000370: 3c050000 lui a1,0x0
10000374: 00bc2821 addu a1,a1,gp
-10000378: 8ca5802c lw a1,-32724\(a1\)
+10000378: 8ca58030 lw a1,-32720\(a1\)
1000037c: 24a5000c addiu a1,a1,12
10000380: 3c050000 lui a1,0x0
10000384: 00bc2821 addu a1,a1,gp
-10000388: 8ca5802c lw a1,-32724\(a1\)
+10000388: 8ca58030 lw a1,-32720\(a1\)
1000038c: 3c010001 lui at,0x1
10000390: 3421e240 ori at,at,0xe240
10000394: 00a12821 addu a1,a1,at
10000398: 3c050000 lui a1,0x0
1000039c: 00bc2821 addu a1,a1,gp
-100003a0: 8ca5802c lw a1,-32724\(a1\)
+100003a0: 8ca58030 lw a1,-32720\(a1\)
100003a4: 00b12821 addu a1,a1,s1
100003a8: 3c050000 lui a1,0x0
100003ac: 00bc2821 addu a1,a1,gp
-100003b0: 8ca5802c lw a1,-32724\(a1\)
+100003b0: 8ca58030 lw a1,-32720\(a1\)
100003b4: 24a5000c addiu a1,a1,12
100003b8: 00b12821 addu a1,a1,s1
100003bc: 3c050000 lui a1,0x0
100003c0: 00bc2821 addu a1,a1,gp
-100003c4: 8ca5802c lw a1,-32724\(a1\)
+100003c4: 8ca58030 lw a1,-32720\(a1\)
100003c8: 3c010001 lui at,0x1
100003cc: 3421e240 ori at,at,0xe240
100003d0: 00a12821 addu a1,a1,at
100003d4: 00b12821 addu a1,a1,s1
100003d8: 3c050000 lui a1,0x0
100003dc: 00bc2821 addu a1,a1,gp
-100003e0: 8ca5802c lw a1,-32724\(a1\)
+100003e0: 8ca58030 lw a1,-32720\(a1\)
100003e4: 8ca50000 lw a1,0\(a1\)
100003e8: 3c050000 lui a1,0x0
100003ec: 00bc2821 addu a1,a1,gp
-100003f0: 8ca5802c lw a1,-32724\(a1\)
+100003f0: 8ca58030 lw a1,-32720\(a1\)
100003f4: 8ca5000c lw a1,12\(a1\)
100003f8: 3c050000 lui a1,0x0
100003fc: 00bc2821 addu a1,a1,gp
-10000400: 8ca5802c lw a1,-32724\(a1\)
+10000400: 8ca58030 lw a1,-32720\(a1\)
10000404: 00b12821 addu a1,a1,s1
10000408: 8ca50000 lw a1,0\(a1\)
1000040c: 3c050000 lui a1,0x0
10000410: 00bc2821 addu a1,a1,gp
-10000414: 8ca5802c lw a1,-32724\(a1\)
+10000414: 8ca58030 lw a1,-32720\(a1\)
10000418: 00b12821 addu a1,a1,s1
1000041c: 8ca5000c lw a1,12\(a1\)
10000420: 3c010000 lui at,0x0
10000424: 003c0821 addu at,at,gp
-10000428: 8c21802c lw at,-32724\(at\)
+10000428: 8c218030 lw at,-32720\(at\)
1000042c: 00250821 addu at,at,a1
10000430: 8c250022 lw a1,34\(at\)
10000434: 3c010000 lui at,0x0
10000438: 003c0821 addu at,at,gp
-1000043c: 8c21802c lw at,-32724\(at\)
+1000043c: 8c218030 lw at,-32720\(at\)
10000440: 00250821 addu at,at,a1
10000444: ac250038 sw a1,56\(at\)
10000448: 3c010000 lui at,0x0
1000044c: 003c0821 addu at,at,gp
-10000450: 8c21802c lw at,-32724\(at\)
+10000450: 8c218030 lw at,-32720\(at\)
10000454: 88250000 lwl a1,0\(at\)
10000458: 98250003 lwr a1,3\(at\)
1000045c: 3c010000 lui at,0x0
10000460: 003c0821 addu at,at,gp
-10000464: 8c21802c lw at,-32724\(at\)
+10000464: 8c218030 lw at,-32720\(at\)
10000468: 2421000c addiu at,at,12
1000046c: 88250000 lwl a1,0\(at\)
10000470: 98250003 lwr a1,3\(at\)
10000474: 3c010000 lui at,0x0
10000478: 003c0821 addu at,at,gp
-1000047c: 8c21802c lw at,-32724\(at\)
+1000047c: 8c218030 lw at,-32720\(at\)
10000480: 00310821 addu at,at,s1
10000484: 88250000 lwl a1,0\(at\)
10000488: 98250003 lwr a1,3\(at\)
1000048c: 3c010000 lui at,0x0
10000490: 003c0821 addu at,at,gp
-10000494: 8c21802c lw at,-32724\(at\)
+10000494: 8c218030 lw at,-32720\(at\)
10000498: 2421000c addiu at,at,12
1000049c: 00310821 addu at,at,s1
100004a0: 88250000 lwl a1,0\(at\)
100004a4: 98250003 lwr a1,3\(at\)
100004a8: 3c010000 lui at,0x0
100004ac: 003c0821 addu at,at,gp
-100004b0: 8c21802c lw at,-32724\(at\)
+100004b0: 8c218030 lw at,-32720\(at\)
100004b4: 24210022 addiu at,at,34
100004b8: 00250821 addu at,at,a1
100004bc: 88250000 lwl a1,0\(at\)
100004c0: 98250003 lwr a1,3\(at\)
100004c4: 3c010000 lui at,0x0
100004c8: 003c0821 addu at,at,gp
-100004cc: 8c21802c lw at,-32724\(at\)
+100004cc: 8c218030 lw at,-32720\(at\)
100004d0: 24210038 addiu at,at,56
100004d4: 00250821 addu at,at,a1
100004d8: a8250000 swl a1,0\(at\)
100004dc: b8250003 swr a1,3\(at\)
-100004e0: 8f85801c lw a1,-32740\(gp\)
+100004e0: 8f858018 lw a1,-32744\(gp\)
100004e4: 24a50774 addiu a1,a1,1908
-100004e8: 8f85801c lw a1,-32740\(gp\)
+100004e8: 8f858018 lw a1,-32744\(gp\)
100004ec: 24a50780 addiu a1,a1,1920
-100004f0: 8f858020 lw a1,-32736\(gp\)
+100004f0: 8f85801c lw a1,-32740\(gp\)
100004f4: 24a5e9b4 addiu a1,a1,-5708
-100004f8: 8f85801c lw a1,-32740\(gp\)
+100004f8: 8f858018 lw a1,-32744\(gp\)
100004fc: 24a50774 addiu a1,a1,1908
10000500: 00b12821 addu a1,a1,s1
-10000504: 8f85801c lw a1,-32740\(gp\)
+10000504: 8f858018 lw a1,-32744\(gp\)
10000508: 24a50780 addiu a1,a1,1920
1000050c: 00b12821 addu a1,a1,s1
-10000510: 8f858020 lw a1,-32736\(gp\)
+10000510: 8f85801c lw a1,-32740\(gp\)
10000514: 24a5e9b4 addiu a1,a1,-5708
10000518: 00b12821 addu a1,a1,s1
-1000051c: 8f85801c lw a1,-32740\(gp\)
+1000051c: 8f858018 lw a1,-32744\(gp\)
10000520: 8ca50774 lw a1,1908\(a1\)
-10000524: 8f85801c lw a1,-32740\(gp\)
+10000524: 8f858018 lw a1,-32744\(gp\)
10000528: 8ca50780 lw a1,1920\(a1\)
-1000052c: 8f85801c lw a1,-32740\(gp\)
+1000052c: 8f858018 lw a1,-32744\(gp\)
10000530: 00b12821 addu a1,a1,s1
10000534: 8ca50774 lw a1,1908\(a1\)
-10000538: 8f85801c lw a1,-32740\(gp\)
+10000538: 8f858018 lw a1,-32744\(gp\)
1000053c: 00b12821 addu a1,a1,s1
10000540: 8ca50780 lw a1,1920\(a1\)
-10000544: 8f81801c lw at,-32740\(gp\)
+10000544: 8f818018 lw at,-32744\(gp\)
10000548: 00250821 addu at,at,a1
1000054c: 8c250796 lw a1,1942\(at\)
-10000550: 8f81801c lw at,-32740\(gp\)
+10000550: 8f818018 lw at,-32744\(gp\)
10000554: 00250821 addu at,at,a1
10000558: ac2507ac sw a1,1964\(at\)
-1000055c: 8f81801c lw at,-32740\(gp\)
+1000055c: 8f818018 lw at,-32744\(gp\)
10000560: 24210774 addiu at,at,1908
10000564: 88250000 lwl a1,0\(at\)
10000568: 98250003 lwr a1,3\(at\)
-1000056c: 8f81801c lw at,-32740\(gp\)
+1000056c: 8f818018 lw at,-32744\(gp\)
10000570: 24210780 addiu at,at,1920
10000574: 88250000 lwl a1,0\(at\)
10000578: 98250003 lwr a1,3\(at\)
-1000057c: 8f81801c lw at,-32740\(gp\)
+1000057c: 8f818018 lw at,-32744\(gp\)
10000580: 24210774 addiu at,at,1908
10000584: 00310821 addu at,at,s1
10000588: 88250000 lwl a1,0\(at\)
1000058c: 98250003 lwr a1,3\(at\)
-10000590: 8f81801c lw at,-32740\(gp\)
+10000590: 8f818018 lw at,-32744\(gp\)
10000594: 24210780 addiu at,at,1920
10000598: 00310821 addu at,at,s1
1000059c: 88250000 lwl a1,0\(at\)
100005a0: 98250003 lwr a1,3\(at\)
-100005a4: 8f81801c lw at,-32740\(gp\)
+100005a4: 8f818018 lw at,-32744\(gp\)
100005a8: 24210796 addiu at,at,1942
100005ac: 00250821 addu at,at,a1
100005b0: 88250000 lwl a1,0\(at\)
100005b4: 98250003 lwr a1,3\(at\)
-100005b8: 8f81801c lw at,-32740\(gp\)
+100005b8: 8f818018 lw at,-32744\(gp\)
100005bc: 242107ac addiu at,at,1964
100005c0: 00250821 addu at,at,a1
100005c4: a8250000 swl a1,0\(at\)
100005c8: b8250003 swr a1,3\(at\)
100005cc: 3c050000 lui a1,0x0
100005d0: 00bc2821 addu a1,a1,gp
-100005d4: 8ca58030 lw a1,-32720\(a1\)
-100005d8: 8f858028 lw a1,-32728\(gp\)
+100005d4: 8ca5802c lw a1,-32724\(a1\)
+100005d8: 8f858020 lw a1,-32736\(gp\)
100005dc: 24a506b0 addiu a1,a1,1712
100005e0: 3c190000 lui t9,0x0
100005e4: 033cc821 addu t9,t9,gp
-100005e8: 8f398030 lw t9,-32720\(t9\)
-100005ec: 8f998028 lw t9,-32728\(gp\)
+100005e8: 8f39802c lw t9,-32724\(t9\)
+100005ec: 8f998020 lw t9,-32736\(gp\)
100005f0: 273906b0 addiu t9,t9,1712
100005f4: 3c190000 lui t9,0x0
100005f8: 033cc821 addu t9,t9,gp
-100005fc: 8f398030 lw t9,-32720\(t9\)
+100005fc: 8f39802c lw t9,-32724\(t9\)
10000600: 0411002b bal 100006b0 <fn2>
10000604: 00000000 nop
-10000608: 8f998028 lw t9,-32728\(gp\)
+10000608: 8f998020 lw t9,-32736\(gp\)
1000060c: 273906b0 addiu t9,t9,1712
10000610: 04110027 bal 100006b0 <fn2>
10000614: 00000000 nop
10000618: 3c050000 lui a1,0x0
1000061c: 00bc2821 addu a1,a1,gp
-10000620: 8ca58018 lw a1,-32744\(a1\)
+10000620: 8ca58038 lw a1,-32712\(a1\)
10000624: 1000fea2 b 100000b0 <fn>
10000628: 00000000 nop
1000062c: 3c050000 lui a1,0x0
10000630: 00bc2821 addu a1,a1,gp
-10000634: 8ca5802c lw a1,-32724\(a1\)
+10000634: 8ca58030 lw a1,-32720\(a1\)
10000638: 8ca50000 lw a1,0\(a1\)
1000063c: 1000001c b 100006b0 <fn2>
10000640: 00000000 nop
-10000644: 8f85801c lw a1,-32740\(gp\)
+10000644: 8f858018 lw a1,-32744\(gp\)
10000648: 24a506fc addiu a1,a1,1788
1000064c: 1000fe98 b 100000b0 <fn>
10000650: 00000000 nop
-10000654: 8f85801c lw a1,-32740\(gp\)
+10000654: 8f858018 lw a1,-32744\(gp\)
10000658: 24a50780 addiu a1,a1,1920
1000065c: 10000014 b 100006b0 <fn2>
10000660: 00000000 nop
-10000664: 8f858020 lw a1,-32736\(gp\)
+10000664: 8f85801c lw a1,-32740\(gp\)
10000668: 24a5e93c addiu a1,a1,-5828
1000066c: 1000fe90 b 100000b0 <fn>
10000670: 00000000 nop
-10000674: 8f85801c lw a1,-32740\(gp\)
+10000674: 8f858018 lw a1,-32744\(gp\)
10000678: 8ca50774 lw a1,1908\(a1\)
1000067c: 1000000c b 100006b0 <fn2>
10000680: 00000000 nop
-10000684: 8f85801c lw a1,-32740\(gp\)
+10000684: 8f858018 lw a1,-32744\(gp\)
10000688: 8ca50708 lw a1,1800\(a1\)
1000068c: 1000fe88 b 100000b0 <fn>
10000690: 00000000 nop
-10000694: 8f81801c lw at,-32740\(gp\)
+10000694: 8f818018 lw at,-32744\(gp\)
10000698: 00250821 addu at,at,a1
1000069c: 8c250796 lw a1,1942\(at\)
100006a0: 10000003 b 100006b0 <fn2>
@@ -422,13 +423,13 @@ Disassembly of section \.got:
100107b0 <_GLOBAL_OFFSET_TABLE_>:
100107b0: 00000000 .*
100107b4: 80000000 .*
-100107b8: 100106fc .*
-100107bc: 10010000 .*
-100107c0: 10030000 .*
-100107c4: 100000b0 .*
-100107c8: 10000000 .*
-100107cc: 10010774 .*
-100107d0: 100006b0 .*
-100107d4: 00000000 .*
-100107d8: 00000000 .*
+100107b8: 10010000 .*
+100107bc: 10030000 .*
+100107c0: 10000000 .*
+100107c4: 00000000 .*
+100107c8: 00000000 .*
+100107cc: 100006b0 .*
+100107d0: 10010774 .*
+100107d4: 100000b0 .*
+100107d8: 100106fc .*
#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d
index 6da691c5..bdacf78b 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d
@@ -1,6 +1,7 @@
#name: MIPS ELF xgot reloc n64
#as: -march=from-abi -EB -64 -KPIC -xgot
-#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
+#objcopy_objects: -R .MIPS.abiflags -K __start
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s RUN_OBJCOPY
#ld:
#objdump: -D --show-raw-insn
@@ -21,382 +22,382 @@ Disassembly of section \.text:
00000001200000b0 <fn>:
1200000b0: 3c050000 lui a1,0x0
1200000b4: 00bc282d daddu a1,a1,gp
- 1200000b8: dca58020 ld a1,-32736\(a1\)
+ 1200000b8: dca58060 ld a1,-32672\(a1\)
1200000bc: 3c050000 lui a1,0x0
1200000c0: 00bc282d daddu a1,a1,gp
- 1200000c4: dca58020 ld a1,-32736\(a1\)
+ 1200000c4: dca58060 ld a1,-32672\(a1\)
1200000c8: 64a5000c daddiu a1,a1,12
1200000cc: 3c050000 lui a1,0x0
1200000d0: 00bc282d daddu a1,a1,gp
- 1200000d4: dca58020 ld a1,-32736\(a1\)
+ 1200000d4: dca58060 ld a1,-32672\(a1\)
1200000d8: 3c010001 lui at,0x1
1200000dc: 3421e240 ori at,at,0xe240
1200000e0: 00a1282d daddu a1,a1,at
1200000e4: 3c050000 lui a1,0x0
1200000e8: 00bc282d daddu a1,a1,gp
- 1200000ec: dca58020 ld a1,-32736\(a1\)
+ 1200000ec: dca58060 ld a1,-32672\(a1\)
1200000f0: 00b1282d daddu a1,a1,s1
1200000f4: 3c050000 lui a1,0x0
1200000f8: 00bc282d daddu a1,a1,gp
- 1200000fc: dca58020 ld a1,-32736\(a1\)
+ 1200000fc: dca58060 ld a1,-32672\(a1\)
120000100: 64a5000c daddiu a1,a1,12
120000104: 00b1282d daddu a1,a1,s1
120000108: 3c050000 lui a1,0x0
12000010c: 00bc282d daddu a1,a1,gp
- 120000110: dca58020 ld a1,-32736\(a1\)
+ 120000110: dca58060 ld a1,-32672\(a1\)
120000114: 3c010001 lui at,0x1
120000118: 3421e240 ori at,at,0xe240
12000011c: 00a1282d daddu a1,a1,at
120000120: 00b1282d daddu a1,a1,s1
120000124: 3c050000 lui a1,0x0
120000128: 00bc282d daddu a1,a1,gp
- 12000012c: dca58020 ld a1,-32736\(a1\)
+ 12000012c: dca58060 ld a1,-32672\(a1\)
120000130: dca50000 ld a1,0\(a1\)
120000134: 3c050000 lui a1,0x0
120000138: 00bc282d daddu a1,a1,gp
- 12000013c: dca58020 ld a1,-32736\(a1\)
+ 12000013c: dca58060 ld a1,-32672\(a1\)
120000140: dca5000c ld a1,12\(a1\)
120000144: 3c050000 lui a1,0x0
120000148: 00bc282d daddu a1,a1,gp
- 12000014c: dca58020 ld a1,-32736\(a1\)
+ 12000014c: dca58060 ld a1,-32672\(a1\)
120000150: 00b1282d daddu a1,a1,s1
120000154: dca50000 ld a1,0\(a1\)
120000158: 3c050000 lui a1,0x0
12000015c: 00bc282d daddu a1,a1,gp
- 120000160: dca58020 ld a1,-32736\(a1\)
+ 120000160: dca58060 ld a1,-32672\(a1\)
120000164: 00b1282d daddu a1,a1,s1
120000168: dca5000c ld a1,12\(a1\)
12000016c: 3c010000 lui at,0x0
120000170: 003c082d daddu at,at,gp
- 120000174: dc218020 ld at,-32736\(at\)
+ 120000174: dc218060 ld at,-32672\(at\)
120000178: 0025082d daddu at,at,a1
12000017c: dc250022 ld a1,34\(at\)
120000180: 3c010000 lui at,0x0
120000184: 003c082d daddu at,at,gp
- 120000188: dc218020 ld at,-32736\(at\)
+ 120000188: dc218060 ld at,-32672\(at\)
12000018c: 0025082d daddu at,at,a1
120000190: fc250038 sd a1,56\(at\)
120000194: 3c010000 lui at,0x0
120000198: 003c082d daddu at,at,gp
- 12000019c: dc218020 ld at,-32736\(at\)
+ 12000019c: dc218060 ld at,-32672\(at\)
1200001a0: 88250000 lwl a1,0\(at\)
1200001a4: 98250003 lwr a1,3\(at\)
1200001a8: 3c010000 lui at,0x0
1200001ac: 003c082d daddu at,at,gp
- 1200001b0: dc218020 ld at,-32736\(at\)
+ 1200001b0: dc218060 ld at,-32672\(at\)
1200001b4: 6421000c daddiu at,at,12
1200001b8: 88250000 lwl a1,0\(at\)
1200001bc: 98250003 lwr a1,3\(at\)
1200001c0: 3c010000 lui at,0x0
1200001c4: 003c082d daddu at,at,gp
- 1200001c8: dc218020 ld at,-32736\(at\)
+ 1200001c8: dc218060 ld at,-32672\(at\)
1200001cc: 0031082d daddu at,at,s1
1200001d0: 88250000 lwl a1,0\(at\)
1200001d4: 98250003 lwr a1,3\(at\)
1200001d8: 3c010000 lui at,0x0
1200001dc: 003c082d daddu at,at,gp
- 1200001e0: dc218020 ld at,-32736\(at\)
+ 1200001e0: dc218060 ld at,-32672\(at\)
1200001e4: 6421000c daddiu at,at,12
1200001e8: 0031082d daddu at,at,s1
1200001ec: 88250000 lwl a1,0\(at\)
1200001f0: 98250003 lwr a1,3\(at\)
1200001f4: 3c010000 lui at,0x0
1200001f8: 003c082d daddu at,at,gp
- 1200001fc: dc218020 ld at,-32736\(at\)
+ 1200001fc: dc218060 ld at,-32672\(at\)
120000200: 64210022 daddiu at,at,34
120000204: 0025082d daddu at,at,a1
120000208: 88250000 lwl a1,0\(at\)
12000020c: 98250003 lwr a1,3\(at\)
120000210: 3c010000 lui at,0x0
120000214: 003c082d daddu at,at,gp
- 120000218: dc218020 ld at,-32736\(at\)
+ 120000218: dc218060 ld at,-32672\(at\)
12000021c: 64210038 daddiu at,at,56
120000220: 0025082d daddu at,at,a1
120000224: a8250000 swl a1,0\(at\)
120000228: b8250003 swr a1,3\(at\)
- 12000022c: df858028 ld a1,-32728\(gp\)
+ 12000022c: df858020 ld a1,-32736\(gp\)
120000230: 64a506f4 daddiu a1,a1,1780
- 120000234: df858028 ld a1,-32728\(gp\)
+ 120000234: df858020 ld a1,-32736\(gp\)
120000238: 64a50700 daddiu a1,a1,1792
- 12000023c: df858030 ld a1,-32720\(gp\)
+ 12000023c: df858028 ld a1,-32728\(gp\)
120000240: 64a5e934 daddiu a1,a1,-5836
- 120000244: df858028 ld a1,-32728\(gp\)
+ 120000244: df858020 ld a1,-32736\(gp\)
120000248: 64a506f4 daddiu a1,a1,1780
12000024c: 00b1282d daddu a1,a1,s1
- 120000250: df858028 ld a1,-32728\(gp\)
+ 120000250: df858020 ld a1,-32736\(gp\)
120000254: 64a50700 daddiu a1,a1,1792
120000258: 00b1282d daddu a1,a1,s1
- 12000025c: df858030 ld a1,-32720\(gp\)
+ 12000025c: df858028 ld a1,-32728\(gp\)
120000260: 64a5e934 daddiu a1,a1,-5836
120000264: 00b1282d daddu a1,a1,s1
- 120000268: df858028 ld a1,-32728\(gp\)
+ 120000268: df858020 ld a1,-32736\(gp\)
12000026c: dca506f4 ld a1,1780\(a1\)
- 120000270: df858028 ld a1,-32728\(gp\)
+ 120000270: df858020 ld a1,-32736\(gp\)
120000274: dca50700 ld a1,1792\(a1\)
- 120000278: df858028 ld a1,-32728\(gp\)
+ 120000278: df858020 ld a1,-32736\(gp\)
12000027c: 00b1282d daddu a1,a1,s1
120000280: dca506f4 ld a1,1780\(a1\)
- 120000284: df858028 ld a1,-32728\(gp\)
+ 120000284: df858020 ld a1,-32736\(gp\)
120000288: 00b1282d daddu a1,a1,s1
12000028c: dca50700 ld a1,1792\(a1\)
- 120000290: df818028 ld at,-32728\(gp\)
+ 120000290: df818020 ld at,-32736\(gp\)
120000294: 0025082d daddu at,at,a1
120000298: dc250716 ld a1,1814\(at\)
- 12000029c: df818028 ld at,-32728\(gp\)
+ 12000029c: df818020 ld at,-32736\(gp\)
1200002a0: 0025082d daddu at,at,a1
1200002a4: fc25072c sd a1,1836\(at\)
- 1200002a8: df818028 ld at,-32728\(gp\)
+ 1200002a8: df818020 ld at,-32736\(gp\)
1200002ac: 642106f4 daddiu at,at,1780
1200002b0: 88250000 lwl a1,0\(at\)
1200002b4: 98250003 lwr a1,3\(at\)
- 1200002b8: df818028 ld at,-32728\(gp\)
+ 1200002b8: df818020 ld at,-32736\(gp\)
1200002bc: 64210700 daddiu at,at,1792
1200002c0: 88250000 lwl a1,0\(at\)
1200002c4: 98250003 lwr a1,3\(at\)
- 1200002c8: df818028 ld at,-32728\(gp\)
+ 1200002c8: df818020 ld at,-32736\(gp\)
1200002cc: 642106f4 daddiu at,at,1780
1200002d0: 0031082d daddu at,at,s1
1200002d4: 88250000 lwl a1,0\(at\)
1200002d8: 98250003 lwr a1,3\(at\)
- 1200002dc: df818028 ld at,-32728\(gp\)
+ 1200002dc: df818020 ld at,-32736\(gp\)
1200002e0: 64210700 daddiu at,at,1792
1200002e4: 0031082d daddu at,at,s1
1200002e8: 88250000 lwl a1,0\(at\)
1200002ec: 98250003 lwr a1,3\(at\)
- 1200002f0: df818028 ld at,-32728\(gp\)
+ 1200002f0: df818020 ld at,-32736\(gp\)
1200002f4: 64210716 daddiu at,at,1814
1200002f8: 0025082d daddu at,at,a1
1200002fc: 88250000 lwl a1,0\(at\)
120000300: 98250003 lwr a1,3\(at\)
- 120000304: df818028 ld at,-32728\(gp\)
+ 120000304: df818020 ld at,-32736\(gp\)
120000308: 6421072c daddiu at,at,1836
12000030c: 0025082d daddu at,at,a1
120000310: a8250000 swl a1,0\(at\)
120000314: b8250003 swr a1,3\(at\)
120000318: 3c050000 lui a1,0x0
12000031c: 00bc282d daddu a1,a1,gp
- 120000320: dca58038 ld a1,-32712\(a1\)
- 120000324: df858040 ld a1,-32704\(gp\)
+ 120000320: dca58058 ld a1,-32680\(a1\)
+ 120000324: df858030 ld a1,-32720\(gp\)
120000328: 64a500b0 daddiu a1,a1,176
12000032c: 3c190000 lui t9,0x0
120000330: 033cc82d daddu t9,t9,gp
- 120000334: df398038 ld t9,-32712\(t9\)
- 120000338: df998040 ld t9,-32704\(gp\)
+ 120000334: df398058 ld t9,-32680\(t9\)
+ 120000338: df998030 ld t9,-32720\(gp\)
12000033c: 673900b0 daddiu t9,t9,176
120000340: 3c190000 lui t9,0x0
120000344: 033cc82d daddu t9,t9,gp
- 120000348: df398038 ld t9,-32712\(t9\)
+ 120000348: df398058 ld t9,-32680\(t9\)
12000034c: 0411ff58 bal 1200000b0 <fn>
120000350: 00000000 nop
- 120000354: df998040 ld t9,-32704\(gp\)
+ 120000354: df998030 ld t9,-32720\(gp\)
120000358: 673900b0 daddiu t9,t9,176
12000035c: 0411ff54 bal 1200000b0 <fn>
120000360: 00000000 nop
120000364: 3c050000 lui a1,0x0
120000368: 00bc282d daddu a1,a1,gp
- 12000036c: dca58048 ld a1,-32696\(a1\)
+ 12000036c: dca58050 ld a1,-32688\(a1\)
120000370: 3c050000 lui a1,0x0
120000374: 00bc282d daddu a1,a1,gp
- 120000378: dca58048 ld a1,-32696\(a1\)
+ 120000378: dca58050 ld a1,-32688\(a1\)
12000037c: 64a5000c daddiu a1,a1,12
120000380: 3c050000 lui a1,0x0
120000384: 00bc282d daddu a1,a1,gp
- 120000388: dca58048 ld a1,-32696\(a1\)
+ 120000388: dca58050 ld a1,-32688\(a1\)
12000038c: 3c010001 lui at,0x1
120000390: 3421e240 ori at,at,0xe240
120000394: 00a1282d daddu a1,a1,at
120000398: 3c050000 lui a1,0x0
12000039c: 00bc282d daddu a1,a1,gp
- 1200003a0: dca58048 ld a1,-32696\(a1\)
+ 1200003a0: dca58050 ld a1,-32688\(a1\)
1200003a4: 00b1282d daddu a1,a1,s1
1200003a8: 3c050000 lui a1,0x0
1200003ac: 00bc282d daddu a1,a1,gp
- 1200003b0: dca58048 ld a1,-32696\(a1\)
+ 1200003b0: dca58050 ld a1,-32688\(a1\)
1200003b4: 64a5000c daddiu a1,a1,12
1200003b8: 00b1282d daddu a1,a1,s1
1200003bc: 3c050000 lui a1,0x0
1200003c0: 00bc282d daddu a1,a1,gp
- 1200003c4: dca58048 ld a1,-32696\(a1\)
+ 1200003c4: dca58050 ld a1,-32688\(a1\)
1200003c8: 3c010001 lui at,0x1
1200003cc: 3421e240 ori at,at,0xe240
1200003d0: 00a1282d daddu a1,a1,at
1200003d4: 00b1282d daddu a1,a1,s1
1200003d8: 3c050000 lui a1,0x0
1200003dc: 00bc282d daddu a1,a1,gp
- 1200003e0: dca58048 ld a1,-32696\(a1\)
+ 1200003e0: dca58050 ld a1,-32688\(a1\)
1200003e4: dca50000 ld a1,0\(a1\)
1200003e8: 3c050000 lui a1,0x0
1200003ec: 00bc282d daddu a1,a1,gp
- 1200003f0: dca58048 ld a1,-32696\(a1\)
+ 1200003f0: dca58050 ld a1,-32688\(a1\)
1200003f4: dca5000c ld a1,12\(a1\)
1200003f8: 3c050000 lui a1,0x0
1200003fc: 00bc282d daddu a1,a1,gp
- 120000400: dca58048 ld a1,-32696\(a1\)
+ 120000400: dca58050 ld a1,-32688\(a1\)
120000404: 00b1282d daddu a1,a1,s1
120000408: dca50000 ld a1,0\(a1\)
12000040c: 3c050000 lui a1,0x0
120000410: 00bc282d daddu a1,a1,gp
- 120000414: dca58048 ld a1,-32696\(a1\)
+ 120000414: dca58050 ld a1,-32688\(a1\)
120000418: 00b1282d daddu a1,a1,s1
12000041c: dca5000c ld a1,12\(a1\)
120000420: 3c010000 lui at,0x0
120000424: 003c082d daddu at,at,gp
- 120000428: dc218048 ld at,-32696\(at\)
+ 120000428: dc218050 ld at,-32688\(at\)
12000042c: 0025082d daddu at,at,a1
120000430: dc250022 ld a1,34\(at\)
120000434: 3c010000 lui at,0x0
120000438: 003c082d daddu at,at,gp
- 12000043c: dc218048 ld at,-32696\(at\)
+ 12000043c: dc218050 ld at,-32688\(at\)
120000440: 0025082d daddu at,at,a1
120000444: fc250038 sd a1,56\(at\)
120000448: 3c010000 lui at,0x0
12000044c: 003c082d daddu at,at,gp
- 120000450: dc218048 ld at,-32696\(at\)
+ 120000450: dc218050 ld at,-32688\(at\)
120000454: 88250000 lwl a1,0\(at\)
120000458: 98250003 lwr a1,3\(at\)
12000045c: 3c010000 lui at,0x0
120000460: 003c082d daddu at,at,gp
- 120000464: dc218048 ld at,-32696\(at\)
+ 120000464: dc218050 ld at,-32688\(at\)
120000468: 6421000c daddiu at,at,12
12000046c: 88250000 lwl a1,0\(at\)
120000470: 98250003 lwr a1,3\(at\)
120000474: 3c010000 lui at,0x0
120000478: 003c082d daddu at,at,gp
- 12000047c: dc218048 ld at,-32696\(at\)
+ 12000047c: dc218050 ld at,-32688\(at\)
120000480: 0031082d daddu at,at,s1
120000484: 88250000 lwl a1,0\(at\)
120000488: 98250003 lwr a1,3\(at\)
12000048c: 3c010000 lui at,0x0
120000490: 003c082d daddu at,at,gp
- 120000494: dc218048 ld at,-32696\(at\)
+ 120000494: dc218050 ld at,-32688\(at\)
120000498: 6421000c daddiu at,at,12
12000049c: 0031082d daddu at,at,s1
1200004a0: 88250000 lwl a1,0\(at\)
1200004a4: 98250003 lwr a1,3\(at\)
1200004a8: 3c010000 lui at,0x0
1200004ac: 003c082d daddu at,at,gp
- 1200004b0: dc218048 ld at,-32696\(at\)
+ 1200004b0: dc218050 ld at,-32688\(at\)
1200004b4: 64210022 daddiu at,at,34
1200004b8: 0025082d daddu at,at,a1
1200004bc: 88250000 lwl a1,0\(at\)
1200004c0: 98250003 lwr a1,3\(at\)
1200004c4: 3c010000 lui at,0x0
1200004c8: 003c082d daddu at,at,gp
- 1200004cc: dc218048 ld at,-32696\(at\)
+ 1200004cc: dc218050 ld at,-32688\(at\)
1200004d0: 64210038 daddiu at,at,56
1200004d4: 0025082d daddu at,at,a1
1200004d8: a8250000 swl a1,0\(at\)
1200004dc: b8250003 swr a1,3\(at\)
- 1200004e0: df858028 ld a1,-32728\(gp\)
+ 1200004e0: df858020 ld a1,-32736\(gp\)
1200004e4: 64a5076c daddiu a1,a1,1900
- 1200004e8: df858028 ld a1,-32728\(gp\)
+ 1200004e8: df858020 ld a1,-32736\(gp\)
1200004ec: 64a50778 daddiu a1,a1,1912
- 1200004f0: df858030 ld a1,-32720\(gp\)
+ 1200004f0: df858028 ld a1,-32728\(gp\)
1200004f4: 64a5e9ac daddiu a1,a1,-5716
- 1200004f8: df858028 ld a1,-32728\(gp\)
+ 1200004f8: df858020 ld a1,-32736\(gp\)
1200004fc: 64a5076c daddiu a1,a1,1900
120000500: 00b1282d daddu a1,a1,s1
- 120000504: df858028 ld a1,-32728\(gp\)
+ 120000504: df858020 ld a1,-32736\(gp\)
120000508: 64a50778 daddiu a1,a1,1912
12000050c: 00b1282d daddu a1,a1,s1
- 120000510: df858030 ld a1,-32720\(gp\)
+ 120000510: df858028 ld a1,-32728\(gp\)
120000514: 64a5e9ac daddiu a1,a1,-5716
120000518: 00b1282d daddu a1,a1,s1
- 12000051c: df858028 ld a1,-32728\(gp\)
+ 12000051c: df858020 ld a1,-32736\(gp\)
120000520: dca5076c ld a1,1900\(a1\)
- 120000524: df858028 ld a1,-32728\(gp\)
+ 120000524: df858020 ld a1,-32736\(gp\)
120000528: dca50778 ld a1,1912\(a1\)
- 12000052c: df858028 ld a1,-32728\(gp\)
+ 12000052c: df858020 ld a1,-32736\(gp\)
120000530: 00b1282d daddu a1,a1,s1
120000534: dca5076c ld a1,1900\(a1\)
- 120000538: df858028 ld a1,-32728\(gp\)
+ 120000538: df858020 ld a1,-32736\(gp\)
12000053c: 00b1282d daddu a1,a1,s1
120000540: dca50778 ld a1,1912\(a1\)
- 120000544: df818028 ld at,-32728\(gp\)
+ 120000544: df818020 ld at,-32736\(gp\)
120000548: 0025082d daddu at,at,a1
12000054c: dc25078e ld a1,1934\(at\)
- 120000550: df818028 ld at,-32728\(gp\)
+ 120000550: df818020 ld at,-32736\(gp\)
120000554: 0025082d daddu at,at,a1
120000558: fc2507a4 sd a1,1956\(at\)
- 12000055c: df818028 ld at,-32728\(gp\)
+ 12000055c: df818020 ld at,-32736\(gp\)
120000560: 6421076c daddiu at,at,1900
120000564: 88250000 lwl a1,0\(at\)
120000568: 98250003 lwr a1,3\(at\)
- 12000056c: df818028 ld at,-32728\(gp\)
+ 12000056c: df818020 ld at,-32736\(gp\)
120000570: 64210778 daddiu at,at,1912
120000574: 88250000 lwl a1,0\(at\)
120000578: 98250003 lwr a1,3\(at\)
- 12000057c: df818028 ld at,-32728\(gp\)
+ 12000057c: df818020 ld at,-32736\(gp\)
120000580: 6421076c daddiu at,at,1900
120000584: 0031082d daddu at,at,s1
120000588: 88250000 lwl a1,0\(at\)
12000058c: 98250003 lwr a1,3\(at\)
- 120000590: df818028 ld at,-32728\(gp\)
+ 120000590: df818020 ld at,-32736\(gp\)
120000594: 64210778 daddiu at,at,1912
120000598: 0031082d daddu at,at,s1
12000059c: 88250000 lwl a1,0\(at\)
1200005a0: 98250003 lwr a1,3\(at\)
- 1200005a4: df818028 ld at,-32728\(gp\)
+ 1200005a4: df818020 ld at,-32736\(gp\)
1200005a8: 6421078e daddiu at,at,1934
1200005ac: 0025082d daddu at,at,a1
1200005b0: 88250000 lwl a1,0\(at\)
1200005b4: 98250003 lwr a1,3\(at\)
- 1200005b8: df818028 ld at,-32728\(gp\)
+ 1200005b8: df818020 ld at,-32736\(gp\)
1200005bc: 642107a4 daddiu at,at,1956
1200005c0: 0025082d daddu at,at,a1
1200005c4: a8250000 swl a1,0\(at\)
1200005c8: b8250003 swr a1,3\(at\)
1200005cc: 3c050000 lui a1,0x0
1200005d0: 00bc282d daddu a1,a1,gp
- 1200005d4: dca58050 ld a1,-32688\(a1\)
- 1200005d8: df858040 ld a1,-32704\(gp\)
+ 1200005d4: dca58048 ld a1,-32696\(a1\)
+ 1200005d8: df858030 ld a1,-32720\(gp\)
1200005dc: 64a506b0 daddiu a1,a1,1712
1200005e0: 3c190000 lui t9,0x0
1200005e4: 033cc82d daddu t9,t9,gp
- 1200005e8: df398050 ld t9,-32688\(t9\)
- 1200005ec: df998040 ld t9,-32704\(gp\)
+ 1200005e8: df398048 ld t9,-32696\(t9\)
+ 1200005ec: df998030 ld t9,-32720\(gp\)
1200005f0: 673906b0 daddiu t9,t9,1712
1200005f4: 3c190000 lui t9,0x0
1200005f8: 033cc82d daddu t9,t9,gp
- 1200005fc: df398050 ld t9,-32688\(t9\)
+ 1200005fc: df398048 ld t9,-32696\(t9\)
120000600: 0411002b bal 1200006b0 <fn2>
120000604: 00000000 nop
- 120000608: df998040 ld t9,-32704\(gp\)
+ 120000608: df998030 ld t9,-32720\(gp\)
12000060c: 673906b0 daddiu t9,t9,1712
120000610: 04110027 bal 1200006b0 <fn2>
120000614: 00000000 nop
120000618: 3c050000 lui a1,0x0
12000061c: 00bc282d daddu a1,a1,gp
- 120000620: dca58020 ld a1,-32736\(a1\)
+ 120000620: dca58060 ld a1,-32672\(a1\)
120000624: 1000fea2 b 1200000b0 <fn>
120000628: 00000000 nop
12000062c: 3c050000 lui a1,0x0
120000630: 00bc282d daddu a1,a1,gp
- 120000634: dca58048 ld a1,-32696\(a1\)
+ 120000634: dca58050 ld a1,-32688\(a1\)
120000638: dca50000 ld a1,0\(a1\)
12000063c: 1000001c b 1200006b0 <fn2>
120000640: 00000000 nop
- 120000644: df858028 ld a1,-32728\(gp\)
+ 120000644: df858020 ld a1,-32736\(gp\)
120000648: 64a506f4 daddiu a1,a1,1780
12000064c: 1000fe98 b 1200000b0 <fn>
120000650: 00000000 nop
- 120000654: df858028 ld a1,-32728\(gp\)
+ 120000654: df858020 ld a1,-32736\(gp\)
120000658: 64a50778 daddiu a1,a1,1912
12000065c: 10000014 b 1200006b0 <fn2>
120000660: 00000000 nop
- 120000664: df858030 ld a1,-32720\(gp\)
+ 120000664: df858028 ld a1,-32728\(gp\)
120000668: 64a5e934 daddiu a1,a1,-5836
12000066c: 1000fe90 b 1200000b0 <fn>
120000670: 00000000 nop
- 120000674: df858028 ld a1,-32728\(gp\)
+ 120000674: df858020 ld a1,-32736\(gp\)
120000678: dca5076c ld a1,1900\(a1\)
12000067c: 1000000c b 1200006b0 <fn2>
120000680: 00000000 nop
- 120000684: df858028 ld a1,-32728\(gp\)
+ 120000684: df858020 ld a1,-32736\(gp\)
120000688: dca50700 ld a1,1792\(a1\)
12000068c: 1000fe88 b 1200000b0 <fn>
120000690: 00000000 nop
- 120000694: df818028 ld at,-32728\(gp\)
+ 120000694: df818020 ld at,-32736\(gp\)
120000698: 0025082d daddu at,at,a1
12000069c: dc25078e ld a1,1934\(at\)
1200006a0: 10000003 b 1200006b0 <fn2>
@@ -427,18 +428,18 @@ Disassembly of section \.got:
1200107b8: 80000000 .*
1200107bc: 00000000 .*
1200107c0: 00000001 .*
- 1200107c4: 200106f4 .*
+ 1200107c4: 20010000 .*
1200107c8: 00000001 .*
- 1200107cc: 20010000 .*
+ 1200107cc: 20030000 .*
1200107d0: 00000001 .*
- 1200107d4: 20030000 .*
- 1200107d8: 00000001 .*
- 1200107dc: 200000b0 .*
- 1200107e0: 00000001 .*
- 1200107e4: 20000000 .*
+ 1200107d4: 20000000 .*
+ \.\.\.
1200107e8: 00000001 .*
- 1200107ec: 2001076c .*
+ 1200107ec: 200006b0 .*
1200107f0: 00000001 .*
- 1200107f4: 200006b0 .*
- \.\.\.
+ 1200107f4: 2001076c .*
+ 1200107f8: 00000001 .*
+ 1200107fc: 200000b0 .*
+ 120010800: 00000001 .*
+ 120010804: 200106f4 .*
#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d
index be446f05..fd214873 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d
@@ -1,6 +1,7 @@
#name: MIPS ELF xgot reloc n64
#as: -march=from-abi -EB -64 -KPIC -xgot
-#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
+#objcopy_objects: -R .MIPS.abiflags -K __start
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s RUN_OBJCOPY
#ld:
#objdump: -D --show-raw-insn
@@ -21,382 +22,382 @@ Disassembly of section \.text:
00000001200000e0 <fn>:
1200000e0: 3c050000 lui a1,0x0
1200000e4: 00bc282d daddu a1,a1,gp
- 1200000e8: dca58020 ld a1,-32736\(a1\)
+ 1200000e8: dca58060 ld a1,-32672\(a1\)
1200000ec: 3c050000 lui a1,0x0
1200000f0: 00bc282d daddu a1,a1,gp
- 1200000f4: dca58020 ld a1,-32736\(a1\)
+ 1200000f4: dca58060 ld a1,-32672\(a1\)
1200000f8: 64a5000c daddiu a1,a1,12
1200000fc: 3c050000 lui a1,0x0
120000100: 00bc282d daddu a1,a1,gp
- 120000104: dca58020 ld a1,-32736\(a1\)
+ 120000104: dca58060 ld a1,-32672\(a1\)
120000108: 3c010001 lui at,0x1
12000010c: 3421e240 ori at,at,0xe240
120000110: 00a1282d daddu a1,a1,at
120000114: 3c050000 lui a1,0x0
120000118: 00bc282d daddu a1,a1,gp
- 12000011c: dca58020 ld a1,-32736\(a1\)
+ 12000011c: dca58060 ld a1,-32672\(a1\)
120000120: 00b1282d daddu a1,a1,s1
120000124: 3c050000 lui a1,0x0
120000128: 00bc282d daddu a1,a1,gp
- 12000012c: dca58020 ld a1,-32736\(a1\)
+ 12000012c: dca58060 ld a1,-32672\(a1\)
120000130: 64a5000c daddiu a1,a1,12
120000134: 00b1282d daddu a1,a1,s1
120000138: 3c050000 lui a1,0x0
12000013c: 00bc282d daddu a1,a1,gp
- 120000140: dca58020 ld a1,-32736\(a1\)
+ 120000140: dca58060 ld a1,-32672\(a1\)
120000144: 3c010001 lui at,0x1
120000148: 3421e240 ori at,at,0xe240
12000014c: 00a1282d daddu a1,a1,at
120000150: 00b1282d daddu a1,a1,s1
120000154: 3c050000 lui a1,0x0
120000158: 00bc282d daddu a1,a1,gp
- 12000015c: dca58020 ld a1,-32736\(a1\)
+ 12000015c: dca58060 ld a1,-32672\(a1\)
120000160: dca50000 ld a1,0\(a1\)
120000164: 3c050000 lui a1,0x0
120000168: 00bc282d daddu a1,a1,gp
- 12000016c: dca58020 ld a1,-32736\(a1\)
+ 12000016c: dca58060 ld a1,-32672\(a1\)
120000170: dca5000c ld a1,12\(a1\)
120000174: 3c050000 lui a1,0x0
120000178: 00bc282d daddu a1,a1,gp
- 12000017c: dca58020 ld a1,-32736\(a1\)
+ 12000017c: dca58060 ld a1,-32672\(a1\)
120000180: 00b1282d daddu a1,a1,s1
120000184: dca50000 ld a1,0\(a1\)
120000188: 3c050000 lui a1,0x0
12000018c: 00bc282d daddu a1,a1,gp
- 120000190: dca58020 ld a1,-32736\(a1\)
+ 120000190: dca58060 ld a1,-32672\(a1\)
120000194: 00b1282d daddu a1,a1,s1
120000198: dca5000c ld a1,12\(a1\)
12000019c: 3c010000 lui at,0x0
1200001a0: 003c082d daddu at,at,gp
- 1200001a4: dc218020 ld at,-32736\(at\)
+ 1200001a4: dc218060 ld at,-32672\(at\)
1200001a8: 0025082d daddu at,at,a1
1200001ac: dc250022 ld a1,34\(at\)
1200001b0: 3c010000 lui at,0x0
1200001b4: 003c082d daddu at,at,gp
- 1200001b8: dc218020 ld at,-32736\(at\)
+ 1200001b8: dc218060 ld at,-32672\(at\)
1200001bc: 0025082d daddu at,at,a1
1200001c0: fc250038 sd a1,56\(at\)
1200001c4: 3c010000 lui at,0x0
1200001c8: 003c082d daddu at,at,gp
- 1200001cc: dc218020 ld at,-32736\(at\)
+ 1200001cc: dc218060 ld at,-32672\(at\)
1200001d0: 88250000 lwl a1,0\(at\)
1200001d4: 98250003 lwr a1,3\(at\)
1200001d8: 3c010000 lui at,0x0
1200001dc: 003c082d daddu at,at,gp
- 1200001e0: dc218020 ld at,-32736\(at\)
+ 1200001e0: dc218060 ld at,-32672\(at\)
1200001e4: 6421000c daddiu at,at,12
1200001e8: 88250000 lwl a1,0\(at\)
1200001ec: 98250003 lwr a1,3\(at\)
1200001f0: 3c010000 lui at,0x0
1200001f4: 003c082d daddu at,at,gp
- 1200001f8: dc218020 ld at,-32736\(at\)
+ 1200001f8: dc218060 ld at,-32672\(at\)
1200001fc: 0031082d daddu at,at,s1
120000200: 88250000 lwl a1,0\(at\)
120000204: 98250003 lwr a1,3\(at\)
120000208: 3c010000 lui at,0x0
12000020c: 003c082d daddu at,at,gp
- 120000210: dc218020 ld at,-32736\(at\)
+ 120000210: dc218060 ld at,-32672\(at\)
120000214: 6421000c daddiu at,at,12
120000218: 0031082d daddu at,at,s1
12000021c: 88250000 lwl a1,0\(at\)
120000220: 98250003 lwr a1,3\(at\)
120000224: 3c010000 lui at,0x0
120000228: 003c082d daddu at,at,gp
- 12000022c: dc218020 ld at,-32736\(at\)
+ 12000022c: dc218060 ld at,-32672\(at\)
120000230: 64210022 daddiu at,at,34
120000234: 0025082d daddu at,at,a1
120000238: 88250000 lwl a1,0\(at\)
12000023c: 98250003 lwr a1,3\(at\)
120000240: 3c010000 lui at,0x0
120000244: 003c082d daddu at,at,gp
- 120000248: dc218020 ld at,-32736\(at\)
+ 120000248: dc218060 ld at,-32672\(at\)
12000024c: 64210038 daddiu at,at,56
120000250: 0025082d daddu at,at,a1
120000254: a8250000 swl a1,0\(at\)
120000258: b8250003 swr a1,3\(at\)
- 12000025c: df858028 ld a1,-32728\(gp\)
+ 12000025c: df858020 ld a1,-32736\(gp\)
120000260: 64a5072c daddiu a1,a1,1836
- 120000264: df858028 ld a1,-32728\(gp\)
+ 120000264: df858020 ld a1,-32736\(gp\)
120000268: 64a50738 daddiu a1,a1,1848
- 12000026c: df858030 ld a1,-32720\(gp\)
+ 12000026c: df858028 ld a1,-32728\(gp\)
120000270: 64a5e96c daddiu a1,a1,-5780
- 120000274: df858028 ld a1,-32728\(gp\)
+ 120000274: df858020 ld a1,-32736\(gp\)
120000278: 64a5072c daddiu a1,a1,1836
12000027c: 00b1282d daddu a1,a1,s1
- 120000280: df858028 ld a1,-32728\(gp\)
+ 120000280: df858020 ld a1,-32736\(gp\)
120000284: 64a50738 daddiu a1,a1,1848
120000288: 00b1282d daddu a1,a1,s1
- 12000028c: df858030 ld a1,-32720\(gp\)
+ 12000028c: df858028 ld a1,-32728\(gp\)
120000290: 64a5e96c daddiu a1,a1,-5780
120000294: 00b1282d daddu a1,a1,s1
- 120000298: df858028 ld a1,-32728\(gp\)
+ 120000298: df858020 ld a1,-32736\(gp\)
12000029c: dca5072c ld a1,1836\(a1\)
- 1200002a0: df858028 ld a1,-32728\(gp\)
+ 1200002a0: df858020 ld a1,-32736\(gp\)
1200002a4: dca50738 ld a1,1848\(a1\)
- 1200002a8: df858028 ld a1,-32728\(gp\)
+ 1200002a8: df858020 ld a1,-32736\(gp\)
1200002ac: 00b1282d daddu a1,a1,s1
1200002b0: dca5072c ld a1,1836\(a1\)
- 1200002b4: df858028 ld a1,-32728\(gp\)
+ 1200002b4: df858020 ld a1,-32736\(gp\)
1200002b8: 00b1282d daddu a1,a1,s1
1200002bc: dca50738 ld a1,1848\(a1\)
- 1200002c0: df818028 ld at,-32728\(gp\)
+ 1200002c0: df818020 ld at,-32736\(gp\)
1200002c4: 0025082d daddu at,at,a1
1200002c8: dc25074e ld a1,1870\(at\)
- 1200002cc: df818028 ld at,-32728\(gp\)
+ 1200002cc: df818020 ld at,-32736\(gp\)
1200002d0: 0025082d daddu at,at,a1
1200002d4: fc250764 sd a1,1892\(at\)
- 1200002d8: df818028 ld at,-32728\(gp\)
+ 1200002d8: df818020 ld at,-32736\(gp\)
1200002dc: 6421072c daddiu at,at,1836
1200002e0: 88250000 lwl a1,0\(at\)
1200002e4: 98250003 lwr a1,3\(at\)
- 1200002e8: df818028 ld at,-32728\(gp\)
+ 1200002e8: df818020 ld at,-32736\(gp\)
1200002ec: 64210738 daddiu at,at,1848
1200002f0: 88250000 lwl a1,0\(at\)
1200002f4: 98250003 lwr a1,3\(at\)
- 1200002f8: df818028 ld at,-32728\(gp\)
+ 1200002f8: df818020 ld at,-32736\(gp\)
1200002fc: 6421072c daddiu at,at,1836
120000300: 0031082d daddu at,at,s1
120000304: 88250000 lwl a1,0\(at\)
120000308: 98250003 lwr a1,3\(at\)
- 12000030c: df818028 ld at,-32728\(gp\)
+ 12000030c: df818020 ld at,-32736\(gp\)
120000310: 64210738 daddiu at,at,1848
120000314: 0031082d daddu at,at,s1
120000318: 88250000 lwl a1,0\(at\)
12000031c: 98250003 lwr a1,3\(at\)
- 120000320: df818028 ld at,-32728\(gp\)
+ 120000320: df818020 ld at,-32736\(gp\)
120000324: 6421074e daddiu at,at,1870
120000328: 0025082d daddu at,at,a1
12000032c: 88250000 lwl a1,0\(at\)
120000330: 98250003 lwr a1,3\(at\)
- 120000334: df818028 ld at,-32728\(gp\)
+ 120000334: df818020 ld at,-32736\(gp\)
120000338: 64210764 daddiu at,at,1892
12000033c: 0025082d daddu at,at,a1
120000340: a8250000 swl a1,0\(at\)
120000344: b8250003 swr a1,3\(at\)
120000348: 3c050000 lui a1,0x0
12000034c: 00bc282d daddu a1,a1,gp
- 120000350: dca58038 ld a1,-32712\(a1\)
- 120000354: df858040 ld a1,-32704\(gp\)
+ 120000350: dca58058 ld a1,-32680\(a1\)
+ 120000354: df858030 ld a1,-32720\(gp\)
120000358: 64a500e0 daddiu a1,a1,224
12000035c: 3c190000 lui t9,0x0
120000360: 033cc82d daddu t9,t9,gp
- 120000364: df398038 ld t9,-32712\(t9\)
- 120000368: df998040 ld t9,-32704\(gp\)
+ 120000364: df398058 ld t9,-32680\(t9\)
+ 120000368: df998030 ld t9,-32720\(gp\)
12000036c: 673900e0 daddiu t9,t9,224
120000370: 3c190000 lui t9,0x0
120000374: 033cc82d daddu t9,t9,gp
- 120000378: df398038 ld t9,-32712\(t9\)
+ 120000378: df398058 ld t9,-32680\(t9\)
12000037c: 0411ff58 bal 1200000e0 <fn>
120000380: 00000000 nop
- 120000384: df998040 ld t9,-32704\(gp\)
+ 120000384: df998030 ld t9,-32720\(gp\)
120000388: 673900e0 daddiu t9,t9,224
12000038c: 0411ff54 bal 1200000e0 <fn>
120000390: 00000000 nop
120000394: 3c050000 lui a1,0x0
120000398: 00bc282d daddu a1,a1,gp
- 12000039c: dca58048 ld a1,-32696\(a1\)
+ 12000039c: dca58050 ld a1,-32688\(a1\)
1200003a0: 3c050000 lui a1,0x0
1200003a4: 00bc282d daddu a1,a1,gp
- 1200003a8: dca58048 ld a1,-32696\(a1\)
+ 1200003a8: dca58050 ld a1,-32688\(a1\)
1200003ac: 64a5000c daddiu a1,a1,12
1200003b0: 3c050000 lui a1,0x0
1200003b4: 00bc282d daddu a1,a1,gp
- 1200003b8: dca58048 ld a1,-32696\(a1\)
+ 1200003b8: dca58050 ld a1,-32688\(a1\)
1200003bc: 3c010001 lui at,0x1
1200003c0: 3421e240 ori at,at,0xe240
1200003c4: 00a1282d daddu a1,a1,at
1200003c8: 3c050000 lui a1,0x0
1200003cc: 00bc282d daddu a1,a1,gp
- 1200003d0: dca58048 ld a1,-32696\(a1\)
+ 1200003d0: dca58050 ld a1,-32688\(a1\)
1200003d4: 00b1282d daddu a1,a1,s1
1200003d8: 3c050000 lui a1,0x0
1200003dc: 00bc282d daddu a1,a1,gp
- 1200003e0: dca58048 ld a1,-32696\(a1\)
+ 1200003e0: dca58050 ld a1,-32688\(a1\)
1200003e4: 64a5000c daddiu a1,a1,12
1200003e8: 00b1282d daddu a1,a1,s1
1200003ec: 3c050000 lui a1,0x0
1200003f0: 00bc282d daddu a1,a1,gp
- 1200003f4: dca58048 ld a1,-32696\(a1\)
+ 1200003f4: dca58050 ld a1,-32688\(a1\)
1200003f8: 3c010001 lui at,0x1
1200003fc: 3421e240 ori at,at,0xe240
120000400: 00a1282d daddu a1,a1,at
120000404: 00b1282d daddu a1,a1,s1
120000408: 3c050000 lui a1,0x0
12000040c: 00bc282d daddu a1,a1,gp
- 120000410: dca58048 ld a1,-32696\(a1\)
+ 120000410: dca58050 ld a1,-32688\(a1\)
120000414: dca50000 ld a1,0\(a1\)
120000418: 3c050000 lui a1,0x0
12000041c: 00bc282d daddu a1,a1,gp
- 120000420: dca58048 ld a1,-32696\(a1\)
+ 120000420: dca58050 ld a1,-32688\(a1\)
120000424: dca5000c ld a1,12\(a1\)
120000428: 3c050000 lui a1,0x0
12000042c: 00bc282d daddu a1,a1,gp
- 120000430: dca58048 ld a1,-32696\(a1\)
+ 120000430: dca58050 ld a1,-32688\(a1\)
120000434: 00b1282d daddu a1,a1,s1
120000438: dca50000 ld a1,0\(a1\)
12000043c: 3c050000 lui a1,0x0
120000440: 00bc282d daddu a1,a1,gp
- 120000444: dca58048 ld a1,-32696\(a1\)
+ 120000444: dca58050 ld a1,-32688\(a1\)
120000448: 00b1282d daddu a1,a1,s1
12000044c: dca5000c ld a1,12\(a1\)
120000450: 3c010000 lui at,0x0
120000454: 003c082d daddu at,at,gp
- 120000458: dc218048 ld at,-32696\(at\)
+ 120000458: dc218050 ld at,-32688\(at\)
12000045c: 0025082d daddu at,at,a1
120000460: dc250022 ld a1,34\(at\)
120000464: 3c010000 lui at,0x0
120000468: 003c082d daddu at,at,gp
- 12000046c: dc218048 ld at,-32696\(at\)
+ 12000046c: dc218050 ld at,-32688\(at\)
120000470: 0025082d daddu at,at,a1
120000474: fc250038 sd a1,56\(at\)
120000478: 3c010000 lui at,0x0
12000047c: 003c082d daddu at,at,gp
- 120000480: dc218048 ld at,-32696\(at\)
+ 120000480: dc218050 ld at,-32688\(at\)
120000484: 88250000 lwl a1,0\(at\)
120000488: 98250003 lwr a1,3\(at\)
12000048c: 3c010000 lui at,0x0
120000490: 003c082d daddu at,at,gp
- 120000494: dc218048 ld at,-32696\(at\)
+ 120000494: dc218050 ld at,-32688\(at\)
120000498: 6421000c daddiu at,at,12
12000049c: 88250000 lwl a1,0\(at\)
1200004a0: 98250003 lwr a1,3\(at\)
1200004a4: 3c010000 lui at,0x0
1200004a8: 003c082d daddu at,at,gp
- 1200004ac: dc218048 ld at,-32696\(at\)
+ 1200004ac: dc218050 ld at,-32688\(at\)
1200004b0: 0031082d daddu at,at,s1
1200004b4: 88250000 lwl a1,0\(at\)
1200004b8: 98250003 lwr a1,3\(at\)
1200004bc: 3c010000 lui at,0x0
1200004c0: 003c082d daddu at,at,gp
- 1200004c4: dc218048 ld at,-32696\(at\)
+ 1200004c4: dc218050 ld at,-32688\(at\)
1200004c8: 6421000c daddiu at,at,12
1200004cc: 0031082d daddu at,at,s1
1200004d0: 88250000 lwl a1,0\(at\)
1200004d4: 98250003 lwr a1,3\(at\)
1200004d8: 3c010000 lui at,0x0
1200004dc: 003c082d daddu at,at,gp
- 1200004e0: dc218048 ld at,-32696\(at\)
+ 1200004e0: dc218050 ld at,-32688\(at\)
1200004e4: 64210022 daddiu at,at,34
1200004e8: 0025082d daddu at,at,a1
1200004ec: 88250000 lwl a1,0\(at\)
1200004f0: 98250003 lwr a1,3\(at\)
1200004f4: 3c010000 lui at,0x0
1200004f8: 003c082d daddu at,at,gp
- 1200004fc: dc218048 ld at,-32696\(at\)
+ 1200004fc: dc218050 ld at,-32688\(at\)
120000500: 64210038 daddiu at,at,56
120000504: 0025082d daddu at,at,a1
120000508: a8250000 swl a1,0\(at\)
12000050c: b8250003 swr a1,3\(at\)
- 120000510: df858028 ld a1,-32728\(gp\)
+ 120000510: df858020 ld a1,-32736\(gp\)
120000514: 64a507a4 daddiu a1,a1,1956
- 120000518: df858028 ld a1,-32728\(gp\)
+ 120000518: df858020 ld a1,-32736\(gp\)
12000051c: 64a507b0 daddiu a1,a1,1968
- 120000520: df858030 ld a1,-32720\(gp\)
+ 120000520: df858028 ld a1,-32728\(gp\)
120000524: 64a5e9e4 daddiu a1,a1,-5660
- 120000528: df858028 ld a1,-32728\(gp\)
+ 120000528: df858020 ld a1,-32736\(gp\)
12000052c: 64a507a4 daddiu a1,a1,1956
120000530: 00b1282d daddu a1,a1,s1
- 120000534: df858028 ld a1,-32728\(gp\)
+ 120000534: df858020 ld a1,-32736\(gp\)
120000538: 64a507b0 daddiu a1,a1,1968
12000053c: 00b1282d daddu a1,a1,s1
- 120000540: df858030 ld a1,-32720\(gp\)
+ 120000540: df858028 ld a1,-32728\(gp\)
120000544: 64a5e9e4 daddiu a1,a1,-5660
120000548: 00b1282d daddu a1,a1,s1
- 12000054c: df858028 ld a1,-32728\(gp\)
+ 12000054c: df858020 ld a1,-32736\(gp\)
120000550: dca507a4 ld a1,1956\(a1\)
- 120000554: df858028 ld a1,-32728\(gp\)
+ 120000554: df858020 ld a1,-32736\(gp\)
120000558: dca507b0 ld a1,1968\(a1\)
- 12000055c: df858028 ld a1,-32728\(gp\)
+ 12000055c: df858020 ld a1,-32736\(gp\)
120000560: 00b1282d daddu a1,a1,s1
120000564: dca507a4 ld a1,1956\(a1\)
- 120000568: df858028 ld a1,-32728\(gp\)
+ 120000568: df858020 ld a1,-32736\(gp\)
12000056c: 00b1282d daddu a1,a1,s1
120000570: dca507b0 ld a1,1968\(a1\)
- 120000574: df818028 ld at,-32728\(gp\)
+ 120000574: df818020 ld at,-32736\(gp\)
120000578: 0025082d daddu at,at,a1
12000057c: dc2507c6 ld a1,1990\(at\)
- 120000580: df818028 ld at,-32728\(gp\)
+ 120000580: df818020 ld at,-32736\(gp\)
120000584: 0025082d daddu at,at,a1
120000588: fc2507dc sd a1,2012\(at\)
- 12000058c: df818028 ld at,-32728\(gp\)
+ 12000058c: df818020 ld at,-32736\(gp\)
120000590: 642107a4 daddiu at,at,1956
120000594: 88250000 lwl a1,0\(at\)
120000598: 98250003 lwr a1,3\(at\)
- 12000059c: df818028 ld at,-32728\(gp\)
+ 12000059c: df818020 ld at,-32736\(gp\)
1200005a0: 642107b0 daddiu at,at,1968
1200005a4: 88250000 lwl a1,0\(at\)
1200005a8: 98250003 lwr a1,3\(at\)
- 1200005ac: df818028 ld at,-32728\(gp\)
+ 1200005ac: df818020 ld at,-32736\(gp\)
1200005b0: 642107a4 daddiu at,at,1956
1200005b4: 0031082d daddu at,at,s1
1200005b8: 88250000 lwl a1,0\(at\)
1200005bc: 98250003 lwr a1,3\(at\)
- 1200005c0: df818028 ld at,-32728\(gp\)
+ 1200005c0: df818020 ld at,-32736\(gp\)
1200005c4: 642107b0 daddiu at,at,1968
1200005c8: 0031082d daddu at,at,s1
1200005cc: 88250000 lwl a1,0\(at\)
1200005d0: 98250003 lwr a1,3\(at\)
- 1200005d4: df818028 ld at,-32728\(gp\)
+ 1200005d4: df818020 ld at,-32736\(gp\)
1200005d8: 642107c6 daddiu at,at,1990
1200005dc: 0025082d daddu at,at,a1
1200005e0: 88250000 lwl a1,0\(at\)
1200005e4: 98250003 lwr a1,3\(at\)
- 1200005e8: df818028 ld at,-32728\(gp\)
+ 1200005e8: df818020 ld at,-32736\(gp\)
1200005ec: 642107dc daddiu at,at,2012
1200005f0: 0025082d daddu at,at,a1
1200005f4: a8250000 swl a1,0\(at\)
1200005f8: b8250003 swr a1,3\(at\)
1200005fc: 3c050000 lui a1,0x0
120000600: 00bc282d daddu a1,a1,gp
- 120000604: dca58050 ld a1,-32688\(a1\)
- 120000608: df858040 ld a1,-32704\(gp\)
+ 120000604: dca58048 ld a1,-32696\(a1\)
+ 120000608: df858030 ld a1,-32720\(gp\)
12000060c: 64a506e0 daddiu a1,a1,1760
120000610: 3c190000 lui t9,0x0
120000614: 033cc82d daddu t9,t9,gp
- 120000618: df398050 ld t9,-32688\(t9\)
- 12000061c: df998040 ld t9,-32704\(gp\)
+ 120000618: df398048 ld t9,-32696\(t9\)
+ 12000061c: df998030 ld t9,-32720\(gp\)
120000620: 673906e0 daddiu t9,t9,1760
120000624: 3c190000 lui t9,0x0
120000628: 033cc82d daddu t9,t9,gp
- 12000062c: df398050 ld t9,-32688\(t9\)
+ 12000062c: df398048 ld t9,-32696\(t9\)
120000630: 0411002b bal 1200006e0 <fn2>
120000634: 00000000 nop
- 120000638: df998040 ld t9,-32704\(gp\)
+ 120000638: df998030 ld t9,-32720\(gp\)
12000063c: 673906e0 daddiu t9,t9,1760
120000640: 04110027 bal 1200006e0 <fn2>
120000644: 00000000 nop
120000648: 3c050000 lui a1,0x0
12000064c: 00bc282d daddu a1,a1,gp
- 120000650: dca58020 ld a1,-32736\(a1\)
+ 120000650: dca58060 ld a1,-32672\(a1\)
120000654: 1000fea2 b 1200000e0 <fn>
120000658: 00000000 nop
12000065c: 3c050000 lui a1,0x0
120000660: 00bc282d daddu a1,a1,gp
- 120000664: dca58048 ld a1,-32696\(a1\)
+ 120000664: dca58050 ld a1,-32688\(a1\)
120000668: dca50000 ld a1,0\(a1\)
12000066c: 1000001c b 1200006e0 <fn2>
120000670: 00000000 nop
- 120000674: df858028 ld a1,-32728\(gp\)
+ 120000674: df858020 ld a1,-32736\(gp\)
120000678: 64a5072c daddiu a1,a1,1836
12000067c: 1000fe98 b 1200000e0 <fn>
120000680: 00000000 nop
- 120000684: df858028 ld a1,-32728\(gp\)
+ 120000684: df858020 ld a1,-32736\(gp\)
120000688: 64a507b0 daddiu a1,a1,1968
12000068c: 10000014 b 1200006e0 <fn2>
120000690: 00000000 nop
- 120000694: df858030 ld a1,-32720\(gp\)
+ 120000694: df858028 ld a1,-32728\(gp\)
120000698: 64a5e96c daddiu a1,a1,-5780
12000069c: 1000fe90 b 1200000e0 <fn>
1200006a0: 00000000 nop
- 1200006a4: df858028 ld a1,-32728\(gp\)
+ 1200006a4: df858020 ld a1,-32736\(gp\)
1200006a8: dca507a4 ld a1,1956\(a1\)
1200006ac: 1000000c b 1200006e0 <fn2>
1200006b0: 00000000 nop
- 1200006b4: df858028 ld a1,-32728\(gp\)
+ 1200006b4: df858020 ld a1,-32736\(gp\)
1200006b8: dca50738 ld a1,1848\(a1\)
1200006bc: 1000fe88 b 1200000e0 <fn>
1200006c0: 00000000 nop
- 1200006c4: df818028 ld at,-32728\(gp\)
+ 1200006c4: df818020 ld at,-32736\(gp\)
1200006c8: 0025082d daddu at,at,a1
1200006cc: dc2507c6 ld a1,1990\(at\)
1200006d0: 10000003 b 1200006e0 <fn2>
@@ -427,18 +428,18 @@ Disassembly of section \.got:
1200107e8: 80000000 .*
1200107ec: 00000000 .*
1200107f0: 00000001 .*
- 1200107f4: 2001072c .*
+ 1200107f4: 20010000 .*
1200107f8: 00000001 .*
- 1200107fc: 20010000 .*
+ 1200107fc: 20030000 .*
120010800: 00000001 .*
- 120010804: 20030000 .*
- 120010808: 00000001 .*
- 12001080c: 200000e0 .*
- 120010810: 00000001 .*
- 120010814: 20000000 .*
+ 120010804: 20000000 .*
+ \.\.\.
120010818: 00000001 .*
- 12001081c: 200107a4 .*
+ 12001081c: 200006e0 .*
120010820: 00000001 .*
- 120010824: 200006e0 .*
- \.\.\.
+ 120010824: 200107a4 .*
+ 120010828: 00000001 .*
+ 12001082c: 200000e0 .*
+ 120010830: 00000001 .*
+ 120010834: 2001072c .*
#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d
index 6a9ea405..348b7188 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d
@@ -1,6 +1,7 @@
#name: MIPS ELF xgot reloc n64
#as: -march=from-abi -EB -64 -KPIC -xgot
-#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
+#objcopy_objects: -R .MIPS.abiflags -K __start
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s RUN_OBJCOPY
#ld:
#objdump: -D --show-raw-insn
@@ -19,382 +20,382 @@ Disassembly of section \.text:
0000000010000110 <fn>:
10000110: 3c050000 lui a1,0x0
10000114: 00bc282d daddu a1,a1,gp
- 10000118: dca58020 ld a1,-32736\(a1\)
+ 10000118: dca58060 ld a1,-32672\(a1\)
1000011c: 3c050000 lui a1,0x0
10000120: 00bc282d daddu a1,a1,gp
- 10000124: dca58020 ld a1,-32736\(a1\)
+ 10000124: dca58060 ld a1,-32672\(a1\)
10000128: 64a5000c daddiu a1,a1,12
1000012c: 3c050000 lui a1,0x0
10000130: 00bc282d daddu a1,a1,gp
- 10000134: dca58020 ld a1,-32736\(a1\)
+ 10000134: dca58060 ld a1,-32672\(a1\)
10000138: 3c010001 lui at,0x1
1000013c: 3421e240 ori at,at,0xe240
10000140: 00a1282d daddu a1,a1,at
10000144: 3c050000 lui a1,0x0
10000148: 00bc282d daddu a1,a1,gp
- 1000014c: dca58020 ld a1,-32736\(a1\)
+ 1000014c: dca58060 ld a1,-32672\(a1\)
10000150: 00b1282d daddu a1,a1,s1
10000154: 3c050000 lui a1,0x0
10000158: 00bc282d daddu a1,a1,gp
- 1000015c: dca58020 ld a1,-32736\(a1\)
+ 1000015c: dca58060 ld a1,-32672\(a1\)
10000160: 64a5000c daddiu a1,a1,12
10000164: 00b1282d daddu a1,a1,s1
10000168: 3c050000 lui a1,0x0
1000016c: 00bc282d daddu a1,a1,gp
- 10000170: dca58020 ld a1,-32736\(a1\)
+ 10000170: dca58060 ld a1,-32672\(a1\)
10000174: 3c010001 lui at,0x1
10000178: 3421e240 ori at,at,0xe240
1000017c: 00a1282d daddu a1,a1,at
10000180: 00b1282d daddu a1,a1,s1
10000184: 3c050000 lui a1,0x0
10000188: 00bc282d daddu a1,a1,gp
- 1000018c: dca58020 ld a1,-32736\(a1\)
+ 1000018c: dca58060 ld a1,-32672\(a1\)
10000190: dca50000 ld a1,0\(a1\)
10000194: 3c050000 lui a1,0x0
10000198: 00bc282d daddu a1,a1,gp
- 1000019c: dca58020 ld a1,-32736\(a1\)
+ 1000019c: dca58060 ld a1,-32672\(a1\)
100001a0: dca5000c ld a1,12\(a1\)
100001a4: 3c050000 lui a1,0x0
100001a8: 00bc282d daddu a1,a1,gp
- 100001ac: dca58020 ld a1,-32736\(a1\)
+ 100001ac: dca58060 ld a1,-32672\(a1\)
100001b0: 00b1282d daddu a1,a1,s1
100001b4: dca50000 ld a1,0\(a1\)
100001b8: 3c050000 lui a1,0x0
100001bc: 00bc282d daddu a1,a1,gp
- 100001c0: dca58020 ld a1,-32736\(a1\)
+ 100001c0: dca58060 ld a1,-32672\(a1\)
100001c4: 00b1282d daddu a1,a1,s1
100001c8: dca5000c ld a1,12\(a1\)
100001cc: 3c010000 lui at,0x0
100001d0: 003c082d daddu at,at,gp
- 100001d4: dc218020 ld at,-32736\(at\)
+ 100001d4: dc218060 ld at,-32672\(at\)
100001d8: 0025082d daddu at,at,a1
100001dc: dc250022 ld a1,34\(at\)
100001e0: 3c010000 lui at,0x0
100001e4: 003c082d daddu at,at,gp
- 100001e8: dc218020 ld at,-32736\(at\)
+ 100001e8: dc218060 ld at,-32672\(at\)
100001ec: 0025082d daddu at,at,a1
100001f0: fc250038 sd a1,56\(at\)
100001f4: 3c010000 lui at,0x0
100001f8: 003c082d daddu at,at,gp
- 100001fc: dc218020 ld at,-32736\(at\)
+ 100001fc: dc218060 ld at,-32672\(at\)
10000200: 88250000 lwl a1,0\(at\)
10000204: 98250003 lwr a1,3\(at\)
10000208: 3c010000 lui at,0x0
1000020c: 003c082d daddu at,at,gp
- 10000210: dc218020 ld at,-32736\(at\)
+ 10000210: dc218060 ld at,-32672\(at\)
10000214: 6421000c daddiu at,at,12
10000218: 88250000 lwl a1,0\(at\)
1000021c: 98250003 lwr a1,3\(at\)
10000220: 3c010000 lui at,0x0
10000224: 003c082d daddu at,at,gp
- 10000228: dc218020 ld at,-32736\(at\)
+ 10000228: dc218060 ld at,-32672\(at\)
1000022c: 0031082d daddu at,at,s1
10000230: 88250000 lwl a1,0\(at\)
10000234: 98250003 lwr a1,3\(at\)
10000238: 3c010000 lui at,0x0
1000023c: 003c082d daddu at,at,gp
- 10000240: dc218020 ld at,-32736\(at\)
+ 10000240: dc218060 ld at,-32672\(at\)
10000244: 6421000c daddiu at,at,12
10000248: 0031082d daddu at,at,s1
1000024c: 88250000 lwl a1,0\(at\)
10000250: 98250003 lwr a1,3\(at\)
10000254: 3c010000 lui at,0x0
10000258: 003c082d daddu at,at,gp
- 1000025c: dc218020 ld at,-32736\(at\)
+ 1000025c: dc218060 ld at,-32672\(at\)
10000260: 64210022 daddiu at,at,34
10000264: 0025082d daddu at,at,a1
10000268: 88250000 lwl a1,0\(at\)
1000026c: 98250003 lwr a1,3\(at\)
10000270: 3c010000 lui at,0x0
10000274: 003c082d daddu at,at,gp
- 10000278: dc218020 ld at,-32736\(at\)
+ 10000278: dc218060 ld at,-32672\(at\)
1000027c: 64210038 daddiu at,at,56
10000280: 0025082d daddu at,at,a1
10000284: a8250000 swl a1,0\(at\)
10000288: b8250003 swr a1,3\(at\)
- 1000028c: df858028 ld a1,-32728\(gp\)
+ 1000028c: df858020 ld a1,-32736\(gp\)
10000290: 64a5075c daddiu a1,a1,1884
- 10000294: df858028 ld a1,-32728\(gp\)
+ 10000294: df858020 ld a1,-32736\(gp\)
10000298: 64a50768 daddiu a1,a1,1896
- 1000029c: df858030 ld a1,-32720\(gp\)
+ 1000029c: df858028 ld a1,-32728\(gp\)
100002a0: 64a5e99c daddiu a1,a1,-5732
- 100002a4: df858028 ld a1,-32728\(gp\)
+ 100002a4: df858020 ld a1,-32736\(gp\)
100002a8: 64a5075c daddiu a1,a1,1884
100002ac: 00b1282d daddu a1,a1,s1
- 100002b0: df858028 ld a1,-32728\(gp\)
+ 100002b0: df858020 ld a1,-32736\(gp\)
100002b4: 64a50768 daddiu a1,a1,1896
100002b8: 00b1282d daddu a1,a1,s1
- 100002bc: df858030 ld a1,-32720\(gp\)
+ 100002bc: df858028 ld a1,-32728\(gp\)
100002c0: 64a5e99c daddiu a1,a1,-5732
100002c4: 00b1282d daddu a1,a1,s1
- 100002c8: df858028 ld a1,-32728\(gp\)
+ 100002c8: df858020 ld a1,-32736\(gp\)
100002cc: dca5075c ld a1,1884\(a1\)
- 100002d0: df858028 ld a1,-32728\(gp\)
+ 100002d0: df858020 ld a1,-32736\(gp\)
100002d4: dca50768 ld a1,1896\(a1\)
- 100002d8: df858028 ld a1,-32728\(gp\)
+ 100002d8: df858020 ld a1,-32736\(gp\)
100002dc: 00b1282d daddu a1,a1,s1
100002e0: dca5075c ld a1,1884\(a1\)
- 100002e4: df858028 ld a1,-32728\(gp\)
+ 100002e4: df858020 ld a1,-32736\(gp\)
100002e8: 00b1282d daddu a1,a1,s1
100002ec: dca50768 ld a1,1896\(a1\)
- 100002f0: df818028 ld at,-32728\(gp\)
+ 100002f0: df818020 ld at,-32736\(gp\)
100002f4: 0025082d daddu at,at,a1
100002f8: dc25077e ld a1,1918\(at\)
- 100002fc: df818028 ld at,-32728\(gp\)
+ 100002fc: df818020 ld at,-32736\(gp\)
10000300: 0025082d daddu at,at,a1
10000304: fc250794 sd a1,1940\(at\)
- 10000308: df818028 ld at,-32728\(gp\)
+ 10000308: df818020 ld at,-32736\(gp\)
1000030c: 6421075c daddiu at,at,1884
10000310: 88250000 lwl a1,0\(at\)
10000314: 98250003 lwr a1,3\(at\)
- 10000318: df818028 ld at,-32728\(gp\)
+ 10000318: df818020 ld at,-32736\(gp\)
1000031c: 64210768 daddiu at,at,1896
10000320: 88250000 lwl a1,0\(at\)
10000324: 98250003 lwr a1,3\(at\)
- 10000328: df818028 ld at,-32728\(gp\)
+ 10000328: df818020 ld at,-32736\(gp\)
1000032c: 6421075c daddiu at,at,1884
10000330: 0031082d daddu at,at,s1
10000334: 88250000 lwl a1,0\(at\)
10000338: 98250003 lwr a1,3\(at\)
- 1000033c: df818028 ld at,-32728\(gp\)
+ 1000033c: df818020 ld at,-32736\(gp\)
10000340: 64210768 daddiu at,at,1896
10000344: 0031082d daddu at,at,s1
10000348: 88250000 lwl a1,0\(at\)
1000034c: 98250003 lwr a1,3\(at\)
- 10000350: df818028 ld at,-32728\(gp\)
+ 10000350: df818020 ld at,-32736\(gp\)
10000354: 6421077e daddiu at,at,1918
10000358: 0025082d daddu at,at,a1
1000035c: 88250000 lwl a1,0\(at\)
10000360: 98250003 lwr a1,3\(at\)
- 10000364: df818028 ld at,-32728\(gp\)
+ 10000364: df818020 ld at,-32736\(gp\)
10000368: 64210794 daddiu at,at,1940
1000036c: 0025082d daddu at,at,a1
10000370: a8250000 swl a1,0\(at\)
10000374: b8250003 swr a1,3\(at\)
10000378: 3c050000 lui a1,0x0
1000037c: 00bc282d daddu a1,a1,gp
- 10000380: dca58038 ld a1,-32712\(a1\)
- 10000384: df858040 ld a1,-32704\(gp\)
+ 10000380: dca58058 ld a1,-32680\(a1\)
+ 10000384: df858030 ld a1,-32720\(gp\)
10000388: 64a50110 daddiu a1,a1,272
1000038c: 3c190000 lui t9,0x0
10000390: 033cc82d daddu t9,t9,gp
- 10000394: df398038 ld t9,-32712\(t9\)
- 10000398: df998040 ld t9,-32704\(gp\)
+ 10000394: df398058 ld t9,-32680\(t9\)
+ 10000398: df998030 ld t9,-32720\(gp\)
1000039c: 67390110 daddiu t9,t9,272
100003a0: 3c190000 lui t9,0x0
100003a4: 033cc82d daddu t9,t9,gp
- 100003a8: df398038 ld t9,-32712\(t9\)
+ 100003a8: df398058 ld t9,-32680\(t9\)
100003ac: 0411ff58 bal 10000110 <fn>
100003b0: 00000000 nop
- 100003b4: df998040 ld t9,-32704\(gp\)
+ 100003b4: df998030 ld t9,-32720\(gp\)
100003b8: 67390110 daddiu t9,t9,272
100003bc: 0411ff54 bal 10000110 <fn>
100003c0: 00000000 nop
100003c4: 3c050000 lui a1,0x0
100003c8: 00bc282d daddu a1,a1,gp
- 100003cc: dca58048 ld a1,-32696\(a1\)
+ 100003cc: dca58050 ld a1,-32688\(a1\)
100003d0: 3c050000 lui a1,0x0
100003d4: 00bc282d daddu a1,a1,gp
- 100003d8: dca58048 ld a1,-32696\(a1\)
+ 100003d8: dca58050 ld a1,-32688\(a1\)
100003dc: 64a5000c daddiu a1,a1,12
100003e0: 3c050000 lui a1,0x0
100003e4: 00bc282d daddu a1,a1,gp
- 100003e8: dca58048 ld a1,-32696\(a1\)
+ 100003e8: dca58050 ld a1,-32688\(a1\)
100003ec: 3c010001 lui at,0x1
100003f0: 3421e240 ori at,at,0xe240
100003f4: 00a1282d daddu a1,a1,at
100003f8: 3c050000 lui a1,0x0
100003fc: 00bc282d daddu a1,a1,gp
- 10000400: dca58048 ld a1,-32696\(a1\)
+ 10000400: dca58050 ld a1,-32688\(a1\)
10000404: 00b1282d daddu a1,a1,s1
10000408: 3c050000 lui a1,0x0
1000040c: 00bc282d daddu a1,a1,gp
- 10000410: dca58048 ld a1,-32696\(a1\)
+ 10000410: dca58050 ld a1,-32688\(a1\)
10000414: 64a5000c daddiu a1,a1,12
10000418: 00b1282d daddu a1,a1,s1
1000041c: 3c050000 lui a1,0x0
10000420: 00bc282d daddu a1,a1,gp
- 10000424: dca58048 ld a1,-32696\(a1\)
+ 10000424: dca58050 ld a1,-32688\(a1\)
10000428: 3c010001 lui at,0x1
1000042c: 3421e240 ori at,at,0xe240
10000430: 00a1282d daddu a1,a1,at
10000434: 00b1282d daddu a1,a1,s1
10000438: 3c050000 lui a1,0x0
1000043c: 00bc282d daddu a1,a1,gp
- 10000440: dca58048 ld a1,-32696\(a1\)
+ 10000440: dca58050 ld a1,-32688\(a1\)
10000444: dca50000 ld a1,0\(a1\)
10000448: 3c050000 lui a1,0x0
1000044c: 00bc282d daddu a1,a1,gp
- 10000450: dca58048 ld a1,-32696\(a1\)
+ 10000450: dca58050 ld a1,-32688\(a1\)
10000454: dca5000c ld a1,12\(a1\)
10000458: 3c050000 lui a1,0x0
1000045c: 00bc282d daddu a1,a1,gp
- 10000460: dca58048 ld a1,-32696\(a1\)
+ 10000460: dca58050 ld a1,-32688\(a1\)
10000464: 00b1282d daddu a1,a1,s1
10000468: dca50000 ld a1,0\(a1\)
1000046c: 3c050000 lui a1,0x0
10000470: 00bc282d daddu a1,a1,gp
- 10000474: dca58048 ld a1,-32696\(a1\)
+ 10000474: dca58050 ld a1,-32688\(a1\)
10000478: 00b1282d daddu a1,a1,s1
1000047c: dca5000c ld a1,12\(a1\)
10000480: 3c010000 lui at,0x0
10000484: 003c082d daddu at,at,gp
- 10000488: dc218048 ld at,-32696\(at\)
+ 10000488: dc218050 ld at,-32688\(at\)
1000048c: 0025082d daddu at,at,a1
10000490: dc250022 ld a1,34\(at\)
10000494: 3c010000 lui at,0x0
10000498: 003c082d daddu at,at,gp
- 1000049c: dc218048 ld at,-32696\(at\)
+ 1000049c: dc218050 ld at,-32688\(at\)
100004a0: 0025082d daddu at,at,a1
100004a4: fc250038 sd a1,56\(at\)
100004a8: 3c010000 lui at,0x0
100004ac: 003c082d daddu at,at,gp
- 100004b0: dc218048 ld at,-32696\(at\)
+ 100004b0: dc218050 ld at,-32688\(at\)
100004b4: 88250000 lwl a1,0\(at\)
100004b8: 98250003 lwr a1,3\(at\)
100004bc: 3c010000 lui at,0x0
100004c0: 003c082d daddu at,at,gp
- 100004c4: dc218048 ld at,-32696\(at\)
+ 100004c4: dc218050 ld at,-32688\(at\)
100004c8: 6421000c daddiu at,at,12
100004cc: 88250000 lwl a1,0\(at\)
100004d0: 98250003 lwr a1,3\(at\)
100004d4: 3c010000 lui at,0x0
100004d8: 003c082d daddu at,at,gp
- 100004dc: dc218048 ld at,-32696\(at\)
+ 100004dc: dc218050 ld at,-32688\(at\)
100004e0: 0031082d daddu at,at,s1
100004e4: 88250000 lwl a1,0\(at\)
100004e8: 98250003 lwr a1,3\(at\)
100004ec: 3c010000 lui at,0x0
100004f0: 003c082d daddu at,at,gp
- 100004f4: dc218048 ld at,-32696\(at\)
+ 100004f4: dc218050 ld at,-32688\(at\)
100004f8: 6421000c daddiu at,at,12
100004fc: 0031082d daddu at,at,s1
10000500: 88250000 lwl a1,0\(at\)
10000504: 98250003 lwr a1,3\(at\)
10000508: 3c010000 lui at,0x0
1000050c: 003c082d daddu at,at,gp
- 10000510: dc218048 ld at,-32696\(at\)
+ 10000510: dc218050 ld at,-32688\(at\)
10000514: 64210022 daddiu at,at,34
10000518: 0025082d daddu at,at,a1
1000051c: 88250000 lwl a1,0\(at\)
10000520: 98250003 lwr a1,3\(at\)
10000524: 3c010000 lui at,0x0
10000528: 003c082d daddu at,at,gp
- 1000052c: dc218048 ld at,-32696\(at\)
+ 1000052c: dc218050 ld at,-32688\(at\)
10000530: 64210038 daddiu at,at,56
10000534: 0025082d daddu at,at,a1
10000538: a8250000 swl a1,0\(at\)
1000053c: b8250003 swr a1,3\(at\)
- 10000540: df858028 ld a1,-32728\(gp\)
+ 10000540: df858020 ld a1,-32736\(gp\)
10000544: 64a507d4 daddiu a1,a1,2004
- 10000548: df858028 ld a1,-32728\(gp\)
+ 10000548: df858020 ld a1,-32736\(gp\)
1000054c: 64a507e0 daddiu a1,a1,2016
- 10000550: df858030 ld a1,-32720\(gp\)
+ 10000550: df858028 ld a1,-32728\(gp\)
10000554: 64a5ea14 daddiu a1,a1,-5612
- 10000558: df858028 ld a1,-32728\(gp\)
+ 10000558: df858020 ld a1,-32736\(gp\)
1000055c: 64a507d4 daddiu a1,a1,2004
10000560: 00b1282d daddu a1,a1,s1
- 10000564: df858028 ld a1,-32728\(gp\)
+ 10000564: df858020 ld a1,-32736\(gp\)
10000568: 64a507e0 daddiu a1,a1,2016
1000056c: 00b1282d daddu a1,a1,s1
- 10000570: df858030 ld a1,-32720\(gp\)
+ 10000570: df858028 ld a1,-32728\(gp\)
10000574: 64a5ea14 daddiu a1,a1,-5612
10000578: 00b1282d daddu a1,a1,s1
- 1000057c: df858028 ld a1,-32728\(gp\)
+ 1000057c: df858020 ld a1,-32736\(gp\)
10000580: dca507d4 ld a1,2004\(a1\)
- 10000584: df858028 ld a1,-32728\(gp\)
+ 10000584: df858020 ld a1,-32736\(gp\)
10000588: dca507e0 ld a1,2016\(a1\)
- 1000058c: df858028 ld a1,-32728\(gp\)
+ 1000058c: df858020 ld a1,-32736\(gp\)
10000590: 00b1282d daddu a1,a1,s1
10000594: dca507d4 ld a1,2004\(a1\)
- 10000598: df858028 ld a1,-32728\(gp\)
+ 10000598: df858020 ld a1,-32736\(gp\)
1000059c: 00b1282d daddu a1,a1,s1
100005a0: dca507e0 ld a1,2016\(a1\)
- 100005a4: df818028 ld at,-32728\(gp\)
+ 100005a4: df818020 ld at,-32736\(gp\)
100005a8: 0025082d daddu at,at,a1
100005ac: dc2507f6 ld a1,2038\(at\)
- 100005b0: df818028 ld at,-32728\(gp\)
+ 100005b0: df818020 ld at,-32736\(gp\)
100005b4: 0025082d daddu at,at,a1
100005b8: fc25080c sd a1,2060\(at\)
- 100005bc: df818028 ld at,-32728\(gp\)
+ 100005bc: df818020 ld at,-32736\(gp\)
100005c0: 642107d4 daddiu at,at,2004
100005c4: 88250000 lwl a1,0\(at\)
100005c8: 98250003 lwr a1,3\(at\)
- 100005cc: df818028 ld at,-32728\(gp\)
+ 100005cc: df818020 ld at,-32736\(gp\)
100005d0: 642107e0 daddiu at,at,2016
100005d4: 88250000 lwl a1,0\(at\)
100005d8: 98250003 lwr a1,3\(at\)
- 100005dc: df818028 ld at,-32728\(gp\)
+ 100005dc: df818020 ld at,-32736\(gp\)
100005e0: 642107d4 daddiu at,at,2004
100005e4: 0031082d daddu at,at,s1
100005e8: 88250000 lwl a1,0\(at\)
100005ec: 98250003 lwr a1,3\(at\)
- 100005f0: df818028 ld at,-32728\(gp\)
+ 100005f0: df818020 ld at,-32736\(gp\)
100005f4: 642107e0 daddiu at,at,2016
100005f8: 0031082d daddu at,at,s1
100005fc: 88250000 lwl a1,0\(at\)
10000600: 98250003 lwr a1,3\(at\)
- 10000604: df818028 ld at,-32728\(gp\)
+ 10000604: df818020 ld at,-32736\(gp\)
10000608: 642107f6 daddiu at,at,2038
1000060c: 0025082d daddu at,at,a1
10000610: 88250000 lwl a1,0\(at\)
10000614: 98250003 lwr a1,3\(at\)
- 10000618: df818028 ld at,-32728\(gp\)
+ 10000618: df818020 ld at,-32736\(gp\)
1000061c: 6421080c daddiu at,at,2060
10000620: 0025082d daddu at,at,a1
10000624: a8250000 swl a1,0\(at\)
10000628: b8250003 swr a1,3\(at\)
1000062c: 3c050000 lui a1,0x0
10000630: 00bc282d daddu a1,a1,gp
- 10000634: dca58050 ld a1,-32688\(a1\)
- 10000638: df858040 ld a1,-32704\(gp\)
+ 10000634: dca58048 ld a1,-32696\(a1\)
+ 10000638: df858030 ld a1,-32720\(gp\)
1000063c: 64a50710 daddiu a1,a1,1808
10000640: 3c190000 lui t9,0x0
10000644: 033cc82d daddu t9,t9,gp
- 10000648: df398050 ld t9,-32688\(t9\)
- 1000064c: df998040 ld t9,-32704\(gp\)
+ 10000648: df398048 ld t9,-32696\(t9\)
+ 1000064c: df998030 ld t9,-32720\(gp\)
10000650: 67390710 daddiu t9,t9,1808
10000654: 3c190000 lui t9,0x0
10000658: 033cc82d daddu t9,t9,gp
- 1000065c: df398050 ld t9,-32688\(t9\)
+ 1000065c: df398048 ld t9,-32696\(t9\)
10000660: 0411002b bal 10000710 <fn2>
10000664: 00000000 nop
- 10000668: df998040 ld t9,-32704\(gp\)
+ 10000668: df998030 ld t9,-32720\(gp\)
1000066c: 67390710 daddiu t9,t9,1808
10000670: 04110027 bal 10000710 <fn2>
10000674: 00000000 nop
10000678: 3c050000 lui a1,0x0
1000067c: 00bc282d daddu a1,a1,gp
- 10000680: dca58020 ld a1,-32736\(a1\)
+ 10000680: dca58060 ld a1,-32672\(a1\)
10000684: 1000fea2 b 10000110 <fn>
10000688: 00000000 nop
1000068c: 3c050000 lui a1,0x0
10000690: 00bc282d daddu a1,a1,gp
- 10000694: dca58048 ld a1,-32696\(a1\)
+ 10000694: dca58050 ld a1,-32688\(a1\)
10000698: dca50000 ld a1,0\(a1\)
1000069c: 1000001c b 10000710 <fn2>
100006a0: 00000000 nop
- 100006a4: df858028 ld a1,-32728\(gp\)
+ 100006a4: df858020 ld a1,-32736\(gp\)
100006a8: 64a5075c daddiu a1,a1,1884
100006ac: 1000fe98 b 10000110 <fn>
100006b0: 00000000 nop
- 100006b4: df858028 ld a1,-32728\(gp\)
+ 100006b4: df858020 ld a1,-32736\(gp\)
100006b8: 64a507e0 daddiu a1,a1,2016
100006bc: 10000014 b 10000710 <fn2>
100006c0: 00000000 nop
- 100006c4: df858030 ld a1,-32720\(gp\)
+ 100006c4: df858028 ld a1,-32728\(gp\)
100006c8: 64a5e99c daddiu a1,a1,-5732
100006cc: 1000fe90 b 10000110 <fn>
100006d0: 00000000 nop
- 100006d4: df858028 ld a1,-32728\(gp\)
+ 100006d4: df858020 ld a1,-32736\(gp\)
100006d8: dca507d4 ld a1,2004\(a1\)
100006dc: 1000000c b 10000710 <fn2>
100006e0: 00000000 nop
- 100006e4: df858028 ld a1,-32728\(gp\)
+ 100006e4: df858020 ld a1,-32736\(gp\)
100006e8: dca50768 ld a1,1896\(a1\)
100006ec: 1000fe88 b 10000110 <fn>
100006f0: 00000000 nop
- 100006f4: df818028 ld at,-32728\(gp\)
+ 100006f4: df818020 ld at,-32736\(gp\)
100006f8: 0025082d daddu at,at,a1
100006fc: dc2507f6 ld a1,2038\(at\)
10000700: 10000003 b 10000710 <fn2>
@@ -422,18 +423,17 @@ Disassembly of section \.got:
\.\.\.
10010818: 80000000 .*
\.\.\.
- 10010824: 1001075c .*
+ 10010824: 10010000 .*
10010828: 00000000 .*
- 1001082c: 10010000 .*
+ 1001082c: 10030000 .*
10010830: 00000000 .*
- 10010834: 10030000 .*
+ 10010834: 10000000 .*
10010838: 00000000 .*
- 1001083c: 10000110 .*
- 10010840: 00000000 .*
- 10010844: 10000000 .*
- 10010848: 00000000 .*
- 1001084c: 100107d4 .*
+ \.\.\.
+ 1001084c: 10000710 .*
10010850: 00000000 .*
- 10010854: 10000710 .*
+ 10010854: 100107d4 .*
10010858: 00000000 .*
- \.\.\.
+ 1001085c: 10000110 .*
+ 10010860: 00000000 .*
+ 10010864: 1001075c .*
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/empty.s b/binutils-2.25/ld/testsuite/ld-mips-elf/empty.s
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/empty.s
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/export-class.exp b/binutils-2.25/ld/testsuite/ld-mips-elf/export-class.exp
index 150cc41f..7946d3cd 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/export-class.exp
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/export-class.exp
@@ -1,6 +1,6 @@
# Expect script for symbol export classes, MIPS variation.
#
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/got-dump-1.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/got-dump-1.ld
index ba228f53..e8a40f11 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/got-dump-1.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/got-dump-1.ld
@@ -16,4 +16,6 @@ SECTIONS
.data : { *(.data) }
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
.got : { *(.got) }
+
+ /DISCARD/ : { *(.MIPS.abiflags) *(.gnu.attributes) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/got-dump-2.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/got-dump-2.ld
index 0e237de3..d7ba6915 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/got-dump-2.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/got-dump-2.ld
@@ -15,4 +15,6 @@ SECTIONS
.data : { *(.data) }
HIDDEN (_gp = ALIGN (16) + 0x7ff0);
.got : { *(.got) }
+
+ /DISCARD/ : { *(.MIPS.abiflags) *(.gnu.attributes) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/got-page-1.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/got-page-1.ld
index 3197c9b5..cfe7c1fb 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/got-page-1.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/got-page-1.ld
@@ -22,7 +22,7 @@ SECTIONS
. = ALIGN (0x400);
.bss : { *(.bss .bss.*) }
- /DISCARD/ : { *(.reginfo) }
+ /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) }
}
VERSION
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/jalx-2.dd b/binutils-2.25/ld/testsuite/ld-mips-elf/jalx-2.dd
index 50ebdb84..69985f63 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/jalx-2.dd
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/jalx-2.dd
@@ -28,7 +28,7 @@ Disassembly of section \.text:
4400034: f89e 0020 sw a0,32\(s8\)
4400038: f8be 0024 sw a1,36\(s8\)
440003c: 41a2 0440 lui v0,0x440
- 4400040: 3082 0260 addiu a0,v0,608
+ 4400040: 3082 0280 addiu a0,v0,640
4400044: f620 004c jal 4400098 <printf@micromipsplt>
4400048: 0000 0000 nop
440004c: f620 0010 jal 4400020 <internal_function>
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/mips-dyn.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/mips-dyn.ld
index e4f90d27..bd2802fc 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/mips-dyn.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/mips-dyn.ld
@@ -179,7 +179,7 @@ SECTIONS
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections. */
- . = ALIGN(32 / 8);
+ . = ALIGN(. != 0 ? 32 / 8 : 1);
}
. = ALIGN(32 / 8);
_end = .;
@@ -219,5 +219,5 @@ SECTIONS
.debug_varnames 0 : { *(.debug_varnames) }
.gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
.gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
- /DISCARD/ : { *(.note.GNU-stack) }
+ /DISCARD/ : { *(.note.GNU-stack) *(.MIPS.abiflags) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/mips-elf-flags.exp b/binutils-2.25/ld/testsuite/ld-mips-elf/mips-elf-flags.exp
index a7e44531..0e4b9a04 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/mips-elf-flags.exp
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/mips-elf-flags.exp
@@ -1,4 +1,4 @@
-# Copyright 2003, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/mips-elf.exp b/binutils-2.25/ld/testsuite/ld-mips-elf/mips-elf.exp
index a66a2891..91036de7 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -1,6 +1,5 @@
# Expect script for MIPS ELF linker tests
-# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -55,12 +54,14 @@ if {![istarget mips*-*-*] || ![is_elf_format]} {
set has_newabi [expr [istarget *-*-irix6*] \
|| [istarget mips*-*-linux*] \
- || [istarget mips*-sde-elf*]]
+ || [istarget mips*-sde-elf*] \
+ || [istarget mips*-mti-elf*] \
+ || [istarget mips*-img-elf*]]
set linux_gnu [expr [istarget mips*-*-linux*]]
set embedded_elf [expr [istarget mips*-*-elf]]
# Set defaults.
-set abi_asflags(o32) ""
+set abi_asflags(o32) "-32"
set abi_asflags(n32) "-march=from-abi -n32 -EB"
set abi_asflags(n64) "-march=from-abi -64 -EB"
set abi_ldflags(o32) ""
@@ -78,7 +79,8 @@ if { [istarget *-*-irix6*] } {
set abi_asflags(o32) "-32 -EB"
set abi_ldflags(o32) -melf32btsmip_fbsd
}
-if { [istarget mips*-*-linux*] || [istarget mips*-sde-elf*] } {
+if { [istarget mips*-*-linux*] || [istarget mips*-sde-elf*]
+ || [istarget mips*-mti-elf*] || [istarget mips*-img-elf*]} {
set abi_ldflags(n32) -melf32btsmipn32
set abi_ldflags(n64) -melf64btsmip
} elseif { [istarget mips64*-*freebsd*] } {
@@ -633,37 +635,66 @@ run_ld_link_tests $mips16_intermix_test
run_dump_test "mips16-local-stubs-1"
-run_dump_test "attr-gnu-4-00"
-run_dump_test "attr-gnu-4-01"
-run_dump_test "attr-gnu-4-02"
-run_dump_test "attr-gnu-4-03"
-run_dump_test "attr-gnu-4-04"
-run_dump_test "attr-gnu-4-05"
-run_dump_test "attr-gnu-4-10"
-run_dump_test "attr-gnu-4-11"
-run_dump_test "attr-gnu-4-12"
-run_dump_test "attr-gnu-4-13"
-run_dump_test "attr-gnu-4-14"
-run_dump_test "attr-gnu-4-15"
-run_dump_test "attr-gnu-4-20"
-run_dump_test "attr-gnu-4-21"
-run_dump_test "attr-gnu-4-22"
-run_dump_test "attr-gnu-4-23"
-run_dump_test "attr-gnu-4-24"
-run_dump_test "attr-gnu-4-25"
-run_dump_test "attr-gnu-4-30"
-run_dump_test "attr-gnu-4-31"
-run_dump_test "attr-gnu-4-32"
-run_dump_test "attr-gnu-4-33"
-run_dump_test "attr-gnu-4-34"
-run_dump_test "attr-gnu-4-35"
-run_dump_test "attr-gnu-4-40"
-run_dump_test "attr-gnu-4-41"
-run_dump_test "attr-gnu-4-42"
-run_dump_test "attr-gnu-4-43"
-run_dump_test "attr-gnu-4-44"
-run_dump_test "attr-gnu-4-45"
-run_dump_test "attr-gnu-4-51"
+set o32flagslist [list [list as $abi_asflags(o32)] [list ld $abi_ldflags(o32)]]
+
+foreach firstfpabi [list 0 1 2 3 4 5 6 7 ] {
+ foreach secondfpabi [list 4 5 6 7 ] {
+ run_dump_test "attr-gnu-4-${firstfpabi}${secondfpabi}" $o32flagslist
+ }
+}
+foreach firstfpabi [list 4 5 6 7 ] {
+ foreach secondfpabi [list 0 1 2 3 8] {
+ run_dump_test "attr-gnu-4-${firstfpabi}${secondfpabi}" $o32flagslist
+ }
+}
+foreach firstfpabi [list 0 1 2 3 ] {
+ foreach secondfpabi [list 0 1 2 3 8] {
+ run_dump_test "attr-gnu-4-${firstfpabi}${secondfpabi}"
+ }
+}
+
+run_dump_test "attr-gnu-4-81"
+
+run_dump_test "attr-gnu-8-00"
+run_dump_test "attr-gnu-8-01"
+run_dump_test "attr-gnu-8-02"
+run_dump_test "attr-gnu-8-10"
+run_dump_test "attr-gnu-8-11"
+run_dump_test "attr-gnu-8-12"
+run_dump_test "attr-gnu-8-20"
+run_dump_test "attr-gnu-8-21"
+run_dump_test "attr-gnu-8-22"
+
+run_dump_test "attr-gnu-4-0-ph" $o32flagslist
+run_dump_test "attr-gnu-4-1-ph" $o32flagslist
+run_dump_test "attr-gnu-4-2-ph" $o32flagslist
+run_dump_test "attr-gnu-4-3-ph" $o32flagslist
+run_dump_test "attr-gnu-4-4-ph" $o32flagslist
+run_dump_test "attr-gnu-4-5-ph" $o32flagslist
+run_dump_test "attr-gnu-4-6-ph" $o32flagslist
+run_dump_test "attr-gnu-4-7-ph" $o32flagslist
+
+if $has_newabi {
+ run_dump_test "attr-gnu-4-0-n32-ph"
+ run_dump_test "attr-gnu-4-1-n32-ph"
+ run_dump_test "attr-gnu-4-2-n32-ph"
+ run_dump_test "attr-gnu-4-3-n32-ph"
+ run_dump_test "attr-gnu-4-0-n64-ph"
+ run_dump_test "attr-gnu-4-1-n64-ph"
+ run_dump_test "attr-gnu-4-2-n64-ph"
+ run_dump_test "attr-gnu-4-3-n64-ph"
+}
+
+run_dump_test "abiflags-strip1-ph" $o32flagslist
+run_dump_test "abiflags-strip2-ph" $o32flagslist
+run_dump_test "abiflags-strip3-ph" $o32flagslist
+run_dump_test "abiflags-strip4-ph" $o32flagslist
+run_dump_test "abiflags-strip5-ph" $o32flagslist
+run_dump_test "abiflags-strip6-ph" $o32flagslist
+run_dump_test "abiflags-strip7-ph" $o32flagslist
+run_dump_test "abiflags-strip8-ph" $o32flagslist
+run_dump_test "abiflags-strip9-ph" $o32flagslist
+run_dump_test "abiflags-strip10-ph" $o32flagslist
run_dump_test "nan-legacy"
run_dump_test "nan-2008"
@@ -827,13 +858,3 @@ if { $linux_gnu } {
n32 -1 1 umips
}
}
-
-run_dump_test "attr-gnu-8-00"
-run_dump_test "attr-gnu-8-01"
-run_dump_test "attr-gnu-8-02"
-run_dump_test "attr-gnu-8-10"
-run_dump_test "attr-gnu-8-11"
-run_dump_test "attr-gnu-8-12"
-run_dump_test "attr-gnu-8-20"
-run_dump_test "attr-gnu-8-21"
-run_dump_test "attr-gnu-8-22"
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/mips-lib.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/mips-lib.ld
index 5073d9f5..b3a2c972 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/mips-lib.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/mips-lib.ld
@@ -173,7 +173,7 @@ SECTIONS
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections. */
- . = ALIGN(32 / 8);
+ . = ALIGN(. != 0 ? 32 / 8 : 1);
}
. = ALIGN(32 / 8);
_end = .;
@@ -214,5 +214,5 @@ SECTIONS
.debug_varnames 0 : { *(.debug_varnames) }
.gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
.gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
- /DISCARD/ : { *(.note.GNU-stack) }
+ /DISCARD/ : { *(.note.GNU-stack) *(.MIPS.abiflags) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-1.gd b/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-1.gd
index b8d8b349..cca758e7 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-1.gd
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-1.gd
@@ -1,4 +1,21 @@
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: .*
+ASEs:
+ MIPS16 ASE
+FLAGS 1: 00000000
+FLAGS 2: 00000000
+
Primary GOT:
Canonical gp value: 00057ff0
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-2.gd b/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-2.gd
index c291bc89..269ae38c 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-2.gd
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-2.gd
@@ -1,4 +1,21 @@
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: .*
+ASEs:
+ MIPS16 ASE
+FLAGS 1: 00000000
+FLAGS 2: 00000000
+
Primary GOT:
Canonical gp value: 00057ff0
@@ -16,8 +33,8 @@ Primary GOT:
Global entries:
Address Access Initial Sym\.Val\. Type Ndx Name
- 00050018 -32728\(gp\) 00040574 00040574 FUNC 6 used6
- 0005001c -32724\(gp\) 00040598 00040598 FUNC 6 used7
- 00050020 -32720\(gp\) 00040550 00040550 FUNC 6 used5
- 00050024 -32716\(gp\) 0004052c 0004052c FUNC 6 used4
+ 00050018 -32728\(gp\) 00040574 00040574 FUNC 7 used6
+ 0005001c -32724\(gp\) 00040598 00040598 FUNC 7 used7
+ 00050020 -32720\(gp\) 00040550 00040550 FUNC 7 used5
+ 00050024 -32716\(gp\) 0004052c 0004052c FUNC 7 used4
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-3.gd b/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-3.gd
index 9297fe6b..141c4e68 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-3.gd
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-3.gd
@@ -1,4 +1,21 @@
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: .*
+ASEs:
+ MIPS16 ASE
+FLAGS 1: 00000000
+FLAGS 2: 00000000
+
Primary GOT:
Canonical gp value: 00057ff0
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-4a.gd b/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-4a.gd
index 1ab835ea..55c8e1cb 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-4a.gd
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/mips16-pic-4a.gd
@@ -1,4 +1,21 @@
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: .*
+ASEs:
+ MIPS16 ASE
+FLAGS 1: 00000000
+FLAGS 2: 00000000
+
Primary GOT:
Canonical gp value: 00057ff0
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/multi-got-no-shared.d b/binutils-2.25/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
index 25af1077..a3e1bb27 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
@@ -8,11 +8,11 @@
.*: +file format.*
Disassembly of section \.text:
-004000b0 <[^>]*> 3c1c0043 lui gp,0x43
-004000b4 <[^>]*> 279c9ff0 addiu gp,gp,-24592
-004000b8 <[^>]*> afbc0008 sw gp,8\(sp\)
+004000f0 <[^>]*> 3c1c0043 lui gp,0x43
+004000f4 <[^>]*> 279c9ff0 addiu gp,gp,-24592
+004000f8 <[^>]*> afbc0008 sw gp,8\(sp\)
#...
-00408d60 <[^>]*> 3c1c0043 lui gp,0x43
-00408d64 <[^>]*> 279c2c98 addiu gp,gp,11416
-00408d68 <[^>]*> afbc0008 sw gp,8\(sp\)
+00408da0 <[^>]*> 3c1c0043 lui gp,0x43
+00408da4 <[^>]*> 279c2c98 addiu gp,gp,11416
+00408da8 <[^>]*> afbc0008 sw gp,8\(sp\)
#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/nan-2008.d b/binutils-2.25/ld/testsuite/ld-mips-elf/nan-2008.d
index aa20049f..30ea8377 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/nan-2008.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/nan-2008.d
@@ -5,3 +5,4 @@
.*:.*file format.*mips.*
private flags = [0-9a-f]*[4-7c-f]..: .*[[,]nan2008[],].*
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/nan-legacy.d b/binutils-2.25/ld/testsuite/ld-mips-elf/nan-legacy.d
index 081abcfd..8dacc069 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/nan-legacy.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/nan-legacy.d
@@ -4,5 +4,5 @@
#objdump: -p
.*:.*file format.*mips.*
-#failif
-private flags = [0-9a-f]*[4-7c-f]..: .*[[]nan2008[]].*
+!private flags = [0-9a-f]*[4-7c-f]..: .*[[]nan2008[]].*
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.gd b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.gd
index aa9579bc..b0f7b1e3 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.gd
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.gd
@@ -1,4 +1,8 @@
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
Primary GOT:
Canonical gp value: 000183f0
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.ld
index 81d0d8aa..f2db79ab 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.ld
@@ -20,4 +20,6 @@ SECTIONS
. = ALIGN (0x400);
HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
+
+ /DISCARD/ : { *(.MIPS.abiflags) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
index 58b50c30..b178bdf5 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
@@ -8,7 +8,7 @@ Program Headers:
* REGINFO * [^ ]+ * 0x0+00000 * 0x0+00000 [^ ]+ * [^ ]+ * R * 0x.*
* LOAD * [^ ]+ * 0x0+00000 * 0x0+00000 [^ ]+ * [^ ]+ * R E * 0x.*
* LOAD * [^ ]+ * 0x0+10000 * 0x0+10000 [^ ]+ * [^ ]+ * RW * 0x.*
- * DYNAMIC * [^ ]+ * 0x0+00400 * 0x0+00400 .*
+ * DYNAMIC * [^ ]+ * 0x0+00400 * 0x0+00400 [^ ]+ * [^ ]+ * R * 0x.*
* NULL * .*
*Section to Segment mapping:
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.gd b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.gd
index 6d3d6771..e96e87f4 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.gd
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.gd
@@ -1,4 +1,8 @@
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
Primary GOT:
Canonical gp value: 000a7ff0
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ld
index 693bbdd1..ab64ea62 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ld
@@ -32,4 +32,6 @@ SECTIONS
. = 0xa1000;
.data : { *(.data) }
+
+ /DISCARD/ : { *(.MIPS.abiflags) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ld
index bae9fd86..102c851e 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ld
@@ -30,4 +30,6 @@ SECTIONS
. = 0xa2000;
.bss : { *(.dynbss) }
+
+ /DISCARD/ : { *(.MIPS.abiflags) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.gd b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.gd
index 6919a698..6d46b4f3 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.gd
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.gd
@@ -1,4 +1,8 @@
+Attribute Section: gnu
+File Attributes
+ Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
Primary GOT:
Canonical gp value: 000a7ff0
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ld
index b3ae77d7..b76ceff2 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ld
@@ -35,4 +35,6 @@ SECTIONS
. = 0xa2000;
.bss : { *(.dynbss) }
+
+ /DISCARD/ : { *(.MIPS.abiflags) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-6.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-6.ld
index d9f276b5..c8198165 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-6.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/pic-and-nonpic-6.ld
@@ -37,4 +37,6 @@ SECTIONS
. = 0xa2000;
.bss : { *(.dynbss) }
+
+ /DISCARD/ : { *(.MIPS.abiflags) *(.gnu.attributes) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/region1.t b/binutils-2.25/ld/testsuite/ld-mips-elf/region1.t
index 13077abe..1f20e567 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/region1.t
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/region1.t
@@ -9,4 +9,6 @@ SECTIONS
.text : { *(.text) } > TEXTMEM
.data : { *(.data) } > DATAMEM
.bss : { *(.bss) } > DATAMEM
+
+ /DISCARD/ : { *(.MIPS.abiflags) *(.gnu.attributes) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/rel32-n32.d b/binutils-2.25/ld/testsuite/ld-mips-elf/rel32-n32.d
index 43c2632d..99516156 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/rel32-n32.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/rel32-n32.d
@@ -10,6 +10,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries:
[0-9a-f ]+R_MIPS_REL32
Hex dump of section '.text':
- 0x000002a0 00000000 00000000 00000000 00000000 ................
- 0x000002b0 000002b0 00000000 00000000 00000000 ................
- 0x000002c0 00000000 00000000 00000000 00000000 ................
+ 0x000002e0 00000000 00000000 00000000 00000000 ................
+ 0x000002f0 000002f0 00000000 00000000 00000000 ................
+ 0x00000300 00000000 00000000 00000000 00000000 ................
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/rel32-o32.d b/binutils-2.25/ld/testsuite/ld-mips-elf/rel32-o32.d
index 0103d799..742cdaad 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/rel32-o32.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/rel32-o32.d
@@ -10,6 +10,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries:
[0-9a-f ]+R_MIPS_REL32
Hex dump of section '.text':
- 0x000002a0 00000000 00000000 00000000 00000000 ................
- 0x000002b0 000002b0 00000000 00000000 00000000 ................
- 0x000002c0 00000000 00000000 00000000 00000000 ................
+ 0x000002e0 00000000 00000000 00000000 00000000 ................
+ 0x000002f0 000002f0 00000000 00000000 00000000 ................
+ 0x00000300 00000000 00000000 00000000 00000000 ................
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/rel64.d b/binutils-2.25/ld/testsuite/ld-mips-elf/rel64.d
index 89df314f..01bffa39 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/rel64.d
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/rel64.d
@@ -14,6 +14,6 @@ Relocation section '.rel.dyn' at offset .* contains 2 entries:
+Type3: R_MIPS_NONE
Hex dump of section '.text':
- 0x00000400 00000000 00000000 00000000 00000000 ................
- 0x00000410 00000000 00000410 00000000 00000000 ................
- 0x00000420 00000000 00000000 00000000 00000000 ................
+ 0x00000450 00000000 00000000 00000000 00000000 ................
+ 0x00000460 00000000 00000460 00000000 00000000 ................
+ 0x00000470 00000000 00000000 00000000 00000000 ................
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/stub-dynsym-1.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/stub-dynsym-1.ld
index 0a58e6f3..dec5ca1d 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/stub-dynsym-1.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/stub-dynsym-1.ld
@@ -13,5 +13,5 @@ SECTIONS
HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
- /DISCARD/ : { *(.reginfo) }
+ /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/tls-hidden3.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/tls-hidden3.ld
index 8e0d0aa4..5609a4b5 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/tls-hidden3.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/tls-hidden3.ld
@@ -19,7 +19,7 @@ SECTIONS
. = ALIGN (0x400);
.tdata : { *(.tdata) }
- /DISCARD/ : { *(.reginfo) }
+ /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) }
}
VERSION
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/tls-multi-got-1.r b/binutils-2.25/ld/testsuite/ld-mips-elf/tls-multi-got-1.r
index aea3d2de..45bd7913 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/tls-multi-got-1.r
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/tls-multi-got-1.r
@@ -15,7 +15,7 @@ Dynamic section at offset .* contains 18 entries:
0x70000006 \(MIPS_BASE_ADDRESS\) 0x0
0x7000000a \(MIPS_LOCAL_GOTNO\) 2
0x70000011 \(MIPS_SYMTABNO\) 20011
- 0x70000012 \(MIPS_UNREFEXTNO\) 10
+ 0x70000012 \(MIPS_UNREFEXTNO\) 11
0x70000013 \(MIPS_GOTSYM\) 0xb
0x0000001e \(FLAGS\) STATIC_TLS
0x00000000 \(NULL\) 0x0
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/vxworks1.ld b/binutils-2.25/ld/testsuite/ld-mips-elf/vxworks1.ld
index 8fe3c48e..d9f8621f 100644
--- a/binutils-2.25/ld/testsuite/ld-mips-elf/vxworks1.ld
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/vxworks1.ld
@@ -28,5 +28,5 @@ SECTIONS
. = ALIGN (0x400);
.bss : { *(.bss) *(.dynbss) }
- /DISCARD/ : { *(.reginfo) }
+ /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-misc/defsym.exp b/binutils-2.25/ld/testsuite/ld-misc/defsym.exp
index f554c2c3..a7d60349 100644
--- a/binutils-2.25/ld/testsuite/ld-misc/defsym.exp
+++ b/binutils-2.25/ld/testsuite/ld-misc/defsym.exp
@@ -1,5 +1,5 @@
# Test handling of --defsym
-# Copyright 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/b-offloc.s b/binutils-2.25/ld/testsuite/ld-mmix/b-offloc.s
index c2fb2cc3..1114b340 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/b-offloc.s
+++ b/binutils-2.25/ld/testsuite/ld-mmix/b-offloc.s
@@ -1,6 +1,6 @@
% The .text contents is supposed to be linked --oformat binary with
% b-post1.s and b-goodmain.s. The code below will provide a LOP_LOC
-% with a 64-bit address (0x789abcdef0123456) then 16 bytes of % random data.
+% with a 64-bit address (0x789abcdef0123458) then 16 bytes of % random data.
.text
.byte 0x98,1,0,2
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/b-offlocmis.s b/binutils-2.25/ld/testsuite/ld-mmix/b-offlocmis.s
new file mode 100644
index 00000000..4f2b3402
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/b-offlocmis.s
@@ -0,0 +1,17 @@
+% The .text contents is supposed to be linked --oformat binary with
+% b-post1.s and b-goodmain.s. The code below will provide a LOP_LOC
+% with a 64-bit address (0x789abcdef012345b) then 16 bytes of % random
+% data. Note that the address is misaligned and the contents should
+% be handled as at 0x789abcdef0123458. After that, there's another
+% LOP_LOC, about 32 bytes further on, also at a misaligned address:
+% this time the data (0x12345677) is entered with a LOP_QUOTE.
+
+ .text
+ .byte 0x98,1,0,2
+ .8byte 0x789abcdef012345b
+ .byte 0xb0,0x45,0x19,0x7d,0x2c,0x1b,0x3,0xb2
+ .byte 0xe4,0xdb,0xf8,0x77,0xf,0xc7,0x66,0xfb
+ .byte 0x98,1,0,2
+ .8byte 0x789abcdef012347a
+ .byte 0x98,0,0,1
+ .byte 0x12,0x34,0x56,0x77
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/bpo-18.d b/binutils-2.25/ld/testsuite/ld-mmix/bpo-18.d
index 7e06fae5..1f24f606 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/bpo-18.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/bpo-18.d
@@ -15,7 +15,6 @@ SYMBOL TABLE:
0+7e0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents)
0+ l df \*ABS\* 0+ .*
4000000000001064 l \.text\.away 0+ x
-0+ l df \*ABS\* 0+ .*
0+100 g \.text 0+ x
4000000000001060 g \.text\.away 0+ Main
0+104 g \.text 0+ x2
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/bpo-22.d b/binutils-2.25/ld/testsuite/ld-mmix/bpo-22.d
index 127b489b..e034b0ab 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/bpo-22.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/bpo-22.d
@@ -14,7 +14,6 @@ SYMBOL TABLE:
0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents)
0+ l df \*ABS\* 0+ .*
0+4 l \.text 0+ x
-0+ l df \*ABS\* 0+ .*
0+ g \.text 0+ Main
0+ g \.text 0+ _start
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/bspec1.d b/binutils-2.25/ld/testsuite/ld-mmix/bspec1.d
index 16db5f41..cc5b7fd2 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/bspec1.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/bspec1.d
@@ -3,7 +3,7 @@
#ld: -m elf64mmix
#readelf: -Ssr -x1 -x2
-There are 6 section headers, starting at offset 0xb8:
+There are 6 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
@@ -16,9 +16,9 @@ Section Headers:
+0+4 +0+ +0 +0 +4
+\[ 3\] \.shstrtab +STRTAB +0+ +0+80
+0+33 +0+ +0 +0 +1
- +\[ 4\] \.symtab +SYMTAB +0+ +0+238
+ +\[ 4\] \.symtab +SYMTAB +0+ .*
+0+d8 +0+18 +5 +3 +8
- +\[ 5\] \.strtab +STRTAB +0+ +0+310
+ +\[ 5\] \.strtab +STRTAB +0+ .*
+0+2d +0+ +0 +0 +1
Key to Flags:
#...
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/bspec2.d b/binutils-2.25/ld/testsuite/ld-mmix/bspec2.d
index d2fd6dd7..2f61c085 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/bspec2.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/bspec2.d
@@ -6,7 +6,7 @@
#ld: -m elf64mmix
#readelf: -Ssr -x1 -x2 -x3
-There are 7 section headers, starting at offset 0xd0:
+There are 7 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
@@ -21,9 +21,9 @@ Section Headers:
+0+4 +0+ +0 +0 +4
+\[ 4\] \.shstrtab +STRTAB +0+ +0+88
+0+45 +0+ +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0+ +0+290
+ +\[ 5\] \.symtab +SYMTAB +0+ .*
+0+108 +0+18 +6 +4 +8
- +\[ 6\] \.strtab +STRTAB +0+ +0+398
+ +\[ 6\] \.strtab +STRTAB +0+ .*
+0+32 +0+ +0 +0 +1
Key to Flags:
#...
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/greg-6.d b/binutils-2.25/ld/testsuite/ld-mmix/greg-6.d
index d8157f7a..4327952a 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/greg-6.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/greg-6.d
@@ -290,7 +290,6 @@ SYMBOL TABLE:
0+fc l \*REG\* 0+ lsym
0+ l df \*ABS\* 0+ .*
0+fd l \*REG\* 0+ lsym
-0+ l df \*ABS\* 0+ .*
0+14 g \.text 0+ _start
0+fe g \*REG\* 0+ areg
2000000000000000 g \.text 0+ __bss_start
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/greg-7.d b/binutils-2.25/ld/testsuite/ld-mmix/greg-7.d
index 57df901c..3afd3abe 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/greg-7.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/greg-7.d
@@ -290,7 +290,6 @@ SYMBOL TABLE:
0+fd l \*REG\* 0+ lsym
0+ l df \*ABS\* 0+ .*
0+fe l \*REG\* 0+ lsym
-0+ l df \*ABS\* 0+ .*
0+14 g \.text 0+ _start
0+20 g \*REG\* 0+ areg
2000000000000000 g \.text 0+ __bss_start
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/loc4.d b/binutils-2.25/ld/testsuite/ld-mmix/loc4.d
index dccfb769..6b93658c 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/loc4.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/loc4.d
@@ -13,7 +13,6 @@ SYMBOL TABLE:
2000000000000000 l d \.data 0+ (|\.data)
0+ l df \*ABS\* 0+ .*
2000000000000000 l \.data 0+ xx
-0+ l df \*ABS\* 0+ .*
0+1004 g F \.text 0+ Main
2000000000000000 g \*ABS\* 0+ __\.MMIX\.start\.\.data
0+1004 g \.text 0+ _start
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/local1.d b/binutils-2.25/ld/testsuite/ld-mmix/local1.d
index 82529718..ab917109 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/local1.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/local1.d
@@ -10,7 +10,7 @@
# (different meaning of "local" than for symbol), which can be seen as
# somewhat twisted.
-There are 6 section headers, starting at offset 0xc8:
+There are 6 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
@@ -39,7 +39,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.* 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym
.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym
-.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +PRC\[0xff00\] ext1
.* 0+4 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start
#...
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/local3.d b/binutils-2.25/ld/testsuite/ld-mmix/local3.d
index c559ec27..efcef6d3 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/local3.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/local3.d
@@ -8,7 +8,7 @@
# Like local1, but ext1 is here a constant, not a global register.
-There are 6 section headers, starting at offset 0xc8:
+There are 6 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
@@ -37,7 +37,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.* 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym
.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym
-.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +ABS ext1
.* 0+4 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start
#...
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/local5.d b/binutils-2.25/ld/testsuite/ld-mmix/local5.d
index 802f2825..a89b9af2 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/local5.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/local5.d
@@ -9,7 +9,7 @@
# Like local1, but with two checks for a local register.
-There are 6 section headers, starting at offset 0xc8:
+There are 6 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
@@ -38,7 +38,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.* 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym
.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym
-.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +PRC\[0xff00\] ext1
.* 0+8 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start
#...
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/local7.d b/binutils-2.25/ld/testsuite/ld-mmix/local7.d
index 7a5847be..cd6a4a7d 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/local7.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/local7.d
@@ -10,7 +10,7 @@
# Like local1, but ext1 is here a constant, not a global register and two
# local-register checks.
-There are 6 section headers, starting at offset 0xc8:
+There are 6 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
@@ -39,7 +39,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.* 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym
.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym
-.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +ABS ext1
.* 0+8 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start
#...
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/loct-1.d b/binutils-2.25/ld/testsuite/ld-mmix/loct-1.d
index 853b0652..a0b38d4f 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/loct-1.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/loct-1.d
@@ -9,7 +9,6 @@ SYMBOL TABLE:
0+1004 l d \.text 0+ (|\.text)
0+ l df \*ABS\* 0+ .*
0+1004 l \.text 0+ t
-0+ l df \*ABS\* 0+ .*
0+100c g \.text 0+ _start
0+1004 g \*ABS\* 0+ __\.MMIX\.start\.\.text
2000000000000000 g \.text 0+ __bss_start
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/mmix.exp b/binutils-2.25/ld/testsuite/ld-mmix/mmix.exp
index e44101ee..a7b7de09 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/mmix.exp
+++ b/binutils-2.25/ld/testsuite/ld-mmix/mmix.exp
@@ -1,5 +1,5 @@
# Expect script for ld-mmix tests
-# Copyright 2001, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/sec-10.d b/binutils-2.25/ld/testsuite/ld-mmix/sec-10.d
new file mode 100644
index 00000000..a1c558de
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/sec-10.d
@@ -0,0 +1,18 @@
+#source: start.s
+#source: sec-10.s
+#ld: -m mmo
+#objdump: -s
+
+# There was yet another bug in the strip-zeros-at-beginning-and-end-of-data
+# code: it requires outputting the location when data is stripped, and that
+# location is only valid for tetra alignments as the low bits are ignored.
+
+.*: file format mmo
+
+Contents of section \.text:
+ 0*0 e3fd0001 2a000000 00000000 00000000 .*
+ 0*10 00000000 00000000 00000000 00000000 .*
+#...
+ 0*7ff0 00000000 00000000 00000000 00000000 .*
+ 0*8000 00000000 00000000 00000000 2b2c0000 .*
+
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/sec-10.s b/binutils-2.25/ld/testsuite/ld-mmix/sec-10.s
new file mode 100644
index 00000000..2729e552
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/sec-10.s
@@ -0,0 +1,8 @@
+ .section .text.1
+ .byte 42
+ .byte 0,0,0,0, 0,0,0,0, 0,0,0,0
+
+ .section .text.2
+ .space 32752
+ .byte 0,0,0,0, 0,0,0,0, 0,0,0
+ .byte 43,44,0,0
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/sec-11.d b/binutils-2.25/ld/testsuite/ld-mmix/sec-11.d
new file mode 100644
index 00000000..3a609347
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/sec-11.d
@@ -0,0 +1,7 @@
+#source: start.s
+#ld: -m mmo -T$srcdir/$subdir/sec-11.ld
+#error: contents at non-multiple-of-4 address
+
+# A trivial check that we get a graceful error when trying to emit
+# (loadable, addressable) contents at a misaligned address. Note
+# that e.g. debug sections do not have loadable contents.
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/sec-11.ld b/binutils-2.25/ld/testsuite/ld-mmix/sec-11.ld
new file mode 100644
index 00000000..a36ca1e1
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/sec-11.ld
@@ -0,0 +1,10 @@
+OUTPUT_ARCH(mmix)
+ENTRY(Main)
+SECTIONS
+{
+ .text 0x101 : /* Note the misaligned address; must trig a linker error. */
+ { *(.text*); Main = _start; }
+
+ .MMIX.reg_contents :
+ { *(.MMIX.reg_contents.linker_allocated); *(.MMIX.reg_contents); }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/sec-12.d b/binutils-2.25/ld/testsuite/ld-mmix/sec-12.d
new file mode 100644
index 00000000..720789e8
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/sec-12.d
@@ -0,0 +1,26 @@
+#source: b-twoinsn.s
+#source: b-offlocmis.s
+#source: b-post1.s
+#source: b-goodmain.s
+#ld: --oformat binary
+#objdump: -sh
+
+# Check that a LOP_LOC at a misaligned location followed by a
+# LOP_QUOTE hits the corresponding aligned address. This is a
+# variant of sec-5.d with the lop_loc having a misalignment, followed
+# by another misaligned lop_loc with a lop_quot.
+
+.*: file format mmo
+
+Sections:
+Idx Name Size VMA LMA File off Algn
+ 0 \.text 0+8 0+ 0+ 0+ 2\*\*2
+ CONTENTS, ALLOC, LOAD, CODE
+ 1 \.MMIX\.sec\.0 0+24 789abcdef0123458 789abcdef0123458 0+ 2\*\*2
+ CONTENTS, ALLOC, LOAD
+Contents of section \.text:
+ 0+ e3fd0001 e3fd0004 .*
+Contents of section \.MMIX\.sec\.0:
+ 789abcdef0123458 b045197d 2c1b03b2 e4dbf877 0fc766fb .*
+ 789abcdef0123468 00000000 00000000 00000000 00000000 .*
+ 789abcdef0123478 12345677 .*
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/undef-3.d b/binutils-2.25/ld/testsuite/ld-mmix/undef-3.d
index 93d7a999..2f551b9f 100644
--- a/binutils-2.25/ld/testsuite/ld-mmix/undef-3.d
+++ b/binutils-2.25/ld/testsuite/ld-mmix/undef-3.d
@@ -2,7 +2,7 @@
#ld: -u undefd -m elf64mmix
#readelf: -S -s
-There are 5 section headers, starting at offset 0xa0:
+There are 5 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
@@ -13,9 +13,9 @@ Section Headers:
+0+4 +0+ +AX +0 +0 +4
+\[ 2\] \.shstrtab +STRTAB +0+ +0+7c
+0+21 +0+ +0 +0 +1
- +\[ 3\] \.symtab +SYMTAB +0+ +0+1e0
+ +\[ 3\] \.symtab +SYMTAB +0+ .*
+0+c0 +0+18 +4 +2 +8
- +\[ 4\] \.strtab +STRTAB +0+ +0+2a0
+ +\[ 4\] \.strtab +STRTAB +0+ .*
+0+2f +0+ +0 +0 +1
Key to Flags:
#...
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/wrap1.d b/binutils-2.25/ld/testsuite/ld-mmix/wrap1.d
new file mode 100644
index 00000000..02d7bef2
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/wrap1.d
@@ -0,0 +1,21 @@
+#source: start.s
+#source: wrap1a.s
+#source: wrap1b.s
+#source: wrap1c.s
+#ld: -m mmo --wrap deal
+#as: -no-expand
+#objdump: -d
+
+.*: file format mmo
+
+Disassembly of section \.text:
+
+0+ <(_start|Main)>:
+ 0: e3fd0001 setl \$253,0x1
+ 4: f2000001 pushj \$0,8 <__wrap_deal>
+
+0+8 <__wrap_deal>:
+ 8: f0000001 jmp c <deal>
+
+0+c <deal>:
+ c: fd000000 swym 0,0,0
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/wrap1a.s b/binutils-2.25/ld/testsuite/ld-mmix/wrap1a.s
new file mode 100644
index 00000000..88a5cd21
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/wrap1a.s
@@ -0,0 +1,2 @@
+ .text
+ pushj $0,deal
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/wrap1b.s b/binutils-2.25/ld/testsuite/ld-mmix/wrap1b.s
new file mode 100644
index 00000000..367aea02
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/wrap1b.s
@@ -0,0 +1,4 @@
+ .text
+ .globl __wrap_deal
+__wrap_deal:
+ jmp __real_deal
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/wrap1c.s b/binutils-2.25/ld/testsuite/ld-mmix/wrap1c.s
new file mode 100644
index 00000000..a7678d4f
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/wrap1c.s
@@ -0,0 +1,4 @@
+ .text
+ .globl deal
+deal:
+ swym 0
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/wrap2.d b/binutils-2.25/ld/testsuite/ld-mmix/wrap2.d
new file mode 100644
index 00000000..49b4d3b4
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/wrap2.d
@@ -0,0 +1,21 @@
+#source: start.s
+#source: wrap1a.s
+#source: wrap1b.s
+#source: wrap1c.s
+#ld: -m elf64mmix --wrap deal
+#as: -no-expand
+#objdump: -d
+
+.*: file format elf64-mmix
+
+Disassembly of section \.text:
+
+0+ <(_start|Main)>:
+ 0: e3fd0001 setl \$253,0x1
+ 4: f2000001 pushj \$0,8 <__wrap_deal>
+
+0+8 <__wrap_deal>:
+ 8: f0000001 jmp c <deal>
+
+0+c <deal>:
+ c: fd000000 swym 0,0,0
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/wrap3.d b/binutils-2.25/ld/testsuite/ld-mmix/wrap3.d
new file mode 100644
index 00000000..80b20f1f
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/wrap3.d
@@ -0,0 +1,21 @@
+#source: start.s
+#source: wrap3a.s
+#source: wrap3b.s
+#source: wrap1c.s
+#ld: -m mmo
+#as: -no-expand
+#objdump: -d
+
+.*: file format mmo
+
+Disassembly of section \.text:
+
+0+ <(_start|Main)>:
+ 0: e3fd0001 setl \$253,0x1
+ 4: f2000001 pushj \$0,8 <__wrap_deal>
+
+0+8 <__wrap_deal>:
+ 8: f0000001 jmp c <deal>
+
+0+c <deal>:
+ c: fd000000 swym 0,0,0
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/wrap3a.s b/binutils-2.25/ld/testsuite/ld-mmix/wrap3a.s
new file mode 100644
index 00000000..7192a932
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/wrap3a.s
@@ -0,0 +1,2 @@
+ .text
+ pushj $0,__wrap_deal
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/wrap3b.s b/binutils-2.25/ld/testsuite/ld-mmix/wrap3b.s
new file mode 100644
index 00000000..6a8a6067
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/wrap3b.s
@@ -0,0 +1,4 @@
+ .text
+ .globl __wrap_deal
+__wrap_deal:
+ jmp deal
diff --git a/binutils-2.25/ld/testsuite/ld-mmix/wrap4.d b/binutils-2.25/ld/testsuite/ld-mmix/wrap4.d
new file mode 100644
index 00000000..a64578d1
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mmix/wrap4.d
@@ -0,0 +1,21 @@
+#source: start.s
+#source: wrap3a.s
+#source: wrap3b.s
+#source: wrap1c.s
+#ld: -m elf64mmix
+#as: -no-expand
+#objdump: -d
+
+.*: file format elf64-mmix
+
+Disassembly of section \.text:
+
+0+ <(_start|Main)>:
+ 0: e3fd0001 setl \$253,0x1
+ 4: f2000001 pushj \$0,8 <__wrap_deal>
+
+0+8 <__wrap_deal>:
+ 8: f0000001 jmp c <deal>
+
+0+c <deal>:
+ c: fd000000 swym 0,0,0
diff --git a/binutils-2.25/ld/testsuite/ld-mn10300/mn10300.exp b/binutils-2.25/ld/testsuite/ld-mn10300/mn10300.exp
index 8eb666de..213ba398 100644
--- a/binutils-2.25/ld/testsuite/ld-mn10300/mn10300.exp
+++ b/binutils-2.25/ld/testsuite/ld-mn10300/mn10300.exp
@@ -1,5 +1,5 @@
# Expect script for ld-mn10300 tests
-# Copyright (C) 2007 Free Software Foundation
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/branch.d b/binutils-2.25/ld/testsuite/ld-nds32/branch.d
new file mode 100644
index 00000000..85798e93
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/branch.d
@@ -0,0 +1,24 @@
+#as: -Os
+#ld: -static --relax -T $srcdir/$subdir/branch.ld
+#objdump: -d --prefix-addresses -j .text
+
+.*: file format .*nds32.*
+
+
+Disassembly of section .text:
+0+0000 <[^>]*> beq \$r0, \$r1, 0000002c <main>
+0+0004 <[^>]*> bne \$r0, \$r1, 0000002c <main>
+0+0008 <[^>]*> bnez38 \$r0, 0000002c <main>
+0+000a <[^>]*> beqz38 \$r0, 0000002c <main>
+0+000c <[^>]*> bgez \$r0, 0000002c <main>
+.*
+0+0012 <[^>]*> bgezal \$r0, 0000002c <main>
+0+0016 <[^>]*> bgtz \$r0, 0000002c <main>
+.*
+0+001c <[^>]*> blez \$r0, 0000002c <main>
+.*
+0+0022 <[^>]*> bltz \$r0, 0000002c <main>
+0+0026 <[^>]*> srli45 \$r0, 0
+0+0028 <[^>]*> bltzal \$r0, 0000002c <main>
+0+002c <main>.*
+
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/branch.ld b/binutils-2.25/ld/testsuite/ld-nds32/branch.ld
new file mode 100644
index 00000000..28eb4e0d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/branch.ld
@@ -0,0 +1,6 @@
+SECTIONS
+{
+ .text 0x0 : {
+ * (.text .text.*);
+ }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/branch.s b/binutils-2.25/ld/testsuite/ld-nds32/branch.s
new file mode 100644
index 00000000..284645e6
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/branch.s
@@ -0,0 +1,18 @@
+.text
+.global _start
+_start:
+ beq $r0, $r1, main
+ bne $r0, $r1, main
+ beqz $r0, main
+ bnez $r0, main
+ bgez $r0, main
+ bgezal $r0, main
+ bgtz $r0, main
+ blez $r0, main
+ bltz $r0, main
+ bltzal $r0, main
+.section .text.2, "ax"
+.globl main
+main:
+ nop
+
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/diff.d b/binutils-2.25/ld/testsuite/ld-nds32/diff.d
new file mode 100644
index 00000000..ef795866
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/diff.d
@@ -0,0 +1,16 @@
+#as: -Os
+#ld: -static --relax -T $srcdir/$subdir/diff.ld
+#objdump: -D --prefix-addresses -j .data --show-raw-insn
+
+.*: file format .*nds32.*
+
+
+Disassembly of section .data:
+00008000 <WORD> (7e 00 00 00|00 00 00 7e).*
+00008004 <HALF> (7e 00 7e fe|00 7e 7e fe).*
+00008006 <BYTE> 7e fe 00 fe.*
+00008007 <ULEB128> fe 00.*
+ ...
+00008009 <ULEB128_2> fe 00.*
+.*
+.*
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/diff.ld b/binutils-2.25/ld/testsuite/ld-nds32/diff.ld
new file mode 100644
index 00000000..5e4dd295
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/diff.ld
@@ -0,0 +1,10 @@
+SECTIONS
+{
+ .text 0x4000 : {
+ * (.text .text.*);
+ }
+
+ .data 0x8000 : {
+ * (.data .data.*);
+ }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/diff.s b/binutils-2.25/ld/testsuite/ld-nds32/diff.s
new file mode 100644
index 00000000..a2844b7c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/diff.s
@@ -0,0 +1,32 @@
+ .global _start
+ .global WORD
+ .global HALF
+ .global BYTE
+ .global ULEB128
+.text
+_start:
+ nop
+.L0:
+ l.w $r0, WORD
+ .zero 122
+.L1:
+ nop
+
+.section code, "ax"
+FOO:
+ ret
+
+.data
+WORD:
+ .word .L1-.L0
+HALF:
+ .half .L1-.L0
+BYTE:
+ .byte .L1-.L0
+ULEB128:
+ .uleb128 .L1-.L0
+ULEB128_2:
+ .uleb128 .L1-.L0
+ .align 2
+PAD:
+ .long 0
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/gp.d b/binutils-2.25/ld/testsuite/ld-nds32/gp.d
new file mode 100644
index 00000000..dac6eaa4
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/gp.d
@@ -0,0 +1,18 @@
+#as: -Os
+#ld: -static -T \$srcdir/\$subdir/gp.ld
+#objdump: -d --prefix-addresses -j .text
+
+.*: file format .*nds32.*
+
+
+Disassembly of section .text:
+0+0000 <[^>]*> addi.gp \$r0, 8192
+0+0004 <[^>]*> lbi.gp \$r0, \[\+ 8192\]
+0+0008 <[^>]*> lbsi.gp \$r0, \[\+ 8192\]
+0+000c <[^>]*> lhi.gp \$r0, \[\+ 8192\]
+0+0010 <[^>]*> lhsi.gp \$r0, \[\+ 8192\]
+0+0014 <[^>]*> lwi.gp \$r0, \[\+ 8192\]
+0+0018 <[^>]*> sbi.gp \$r0, \[\+ 8192\]
+0+001c <[^>]*> shi.gp \$r0, \[\+ 8192\]
+0+0020 <[^>]*> swi.gp \$r0, \[\+ 8192\]
+
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/gp.ld b/binutils-2.25/ld/testsuite/ld-nds32/gp.ld
new file mode 100644
index 00000000..b537b95f
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/gp.ld
@@ -0,0 +1,11 @@
+SECTIONS
+{
+ .text 0x0 : {
+ * (.text .text.*);
+ }
+
+ .data 0x3000 : {
+ * (.data .data.*);
+ }
+ _SDA_BASE_ = 0x1000;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/gp.s b/binutils-2.25/ld/testsuite/ld-nds32/gp.s
new file mode 100644
index 00000000..d0fde2ae
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/gp.s
@@ -0,0 +1,18 @@
+.data
+.global mydata
+mydata:
+ .word 0x11
+
+.text
+.global _start
+_start:
+ addi.gp $r0, mydata
+ lbi.gp $r0, [+mydata]
+ lbsi.gp $r0, [+mydata]
+ lhi.gp $r0, [+mydata]
+ lhsi.gp $r0, [+mydata]
+ lwi.gp $r0, [+mydata]
+ sbi.gp $r0, [+mydata]
+ shi.gp $r0, [+mydata]
+ swi.gp $r0, [+mydata]
+
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/imm.d b/binutils-2.25/ld/testsuite/ld-nds32/imm.d
new file mode 100644
index 00000000..fdaacf3d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/imm.d
@@ -0,0 +1,15 @@
+#source: imm.s
+#source: imm_symbol.s
+#as: -Os
+#ld: -static -T $srcdir/$subdir/imm.ld --relax
+#objdump: -d --prefix-addresses -j .text
+
+.*: file format .*nds32.*
+
+
+Disassembly of section .text:
+0+1000 <[^>]*> sethi \$r0, 0x11223
+0+1004 <[^>]*> ori \$r0, \$r0, 836
+0+1008 <[^>]*> movi \$r0, 70179
+0+100c <[^>]*> movi55 \$r0, 15
+
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/imm.ld b/binutils-2.25/ld/testsuite/ld-nds32/imm.ld
new file mode 100644
index 00000000..b7d12cc4
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/imm.ld
@@ -0,0 +1,6 @@
+SECTIONS
+{
+ .text 0x1000 : {
+ * (.text .text.*);
+ }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/imm.s b/binutils-2.25/ld/testsuite/ld-nds32/imm.s
new file mode 100644
index 00000000..1d108314
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/imm.s
@@ -0,0 +1,7 @@
+.text
+.global _start
+_start:
+ la $r0, imm32
+ la $r0, imm20
+ la $r0, imm5
+
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/imm_symbol.s b/binutils-2.25/ld/testsuite/ld-nds32/imm_symbol.s
new file mode 100644
index 00000000..1c75db28
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/imm_symbol.s
@@ -0,0 +1,7 @@
+.globl imm32
+.globl imm20
+.globl imm5
+
+.set imm32, 0x11223344
+.set imm20, 0x11223
+.set imm5, 0xf
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/nds32.exp b/binutils-2.25/ld/testsuite/ld-nds32/nds32.exp
new file mode 100644
index 00000000..3102b212
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/nds32.exp
@@ -0,0 +1,26 @@
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Contributed by Andes Technology Corporation.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+
+if {[istarget "nds32*-*"]} {
+ run_dump_test "diff"
+ run_dump_test "gp"
+ run_dump_test "relax_jmp"
+ run_dump_test "imm"
+ run_dump_test "branch"
+ run_dump_test "relax_load_store"
+}
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/relax_jmp.d b/binutils-2.25/ld/testsuite/ld-nds32/relax_jmp.d
new file mode 100644
index 00000000..b1d20514
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/relax_jmp.d
@@ -0,0 +1,12 @@
+#as: -Os
+#ld: -static --relax -T $srcdir/$subdir/relax_jmp.ld
+#objdump: -d --prefix-addresses -j .text
+
+.*: file format .*nds32.*
+
+
+Disassembly of section .text:
+0+0000 <[^>]*> j8 00000006 <main>
+0+0002 <[^>]*> jal 00000006 <main>
+0+0006 <[^>]*> srli45 \$r0, 0
+
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/relax_jmp.ld b/binutils-2.25/ld/testsuite/ld-nds32/relax_jmp.ld
new file mode 100644
index 00000000..28eb4e0d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/relax_jmp.ld
@@ -0,0 +1,6 @@
+SECTIONS
+{
+ .text 0x0 : {
+ * (.text .text.*);
+ }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/relax_jmp.s b/binutils-2.25/ld/testsuite/ld-nds32/relax_jmp.s
new file mode 100644
index 00000000..e2817631
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/relax_jmp.s
@@ -0,0 +1,10 @@
+.text
+.global _start
+_start:
+ j main
+ jal main
+.section .text.2, "ax"
+.globl main
+main:
+ nop
+
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/relax_load_store.d b/binutils-2.25/ld/testsuite/ld-nds32/relax_load_store.d
new file mode 100644
index 00000000..07c4fe72
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/relax_load_store.d
@@ -0,0 +1,12 @@
+#as: -Os
+#ld: -static --relax -T \$srcdir/\$subdir/relax_load_store.ld
+#objdump: -d --prefix-addresses -j .text
+
+.*: file format .*nds32.*
+
+
+Disassembly of section .text:
+0+0000 <[^>]*> lwi.gp \$r0, \[\+ 0\]
+0+0004 <[^>]*> lhi.gp \$r0, \[\+ 4\]
+0+0008 <[^>]*> lbi.gp \$r0, \[\+ 6\]
+
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/relax_load_store.ld b/binutils-2.25/ld/testsuite/ld-nds32/relax_load_store.ld
new file mode 100644
index 00000000..1bc15a98
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/relax_load_store.ld
@@ -0,0 +1,10 @@
+SECTIONS
+{
+ .text 0x0 : {
+ * (.text .text.*);
+ }
+
+ .data 0x3000 : {
+ * (.data .data.*);
+ }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-nds32/relax_load_store.s b/binutils-2.25/ld/testsuite/ld-nds32/relax_load_store.s
new file mode 100644
index 00000000..790c97c8
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nds32/relax_load_store.s
@@ -0,0 +1,17 @@
+.data
+.global myword
+myword:
+ .word 0x11
+.globl myshort
+myshort:
+ .short 0x11
+.globl mybyte
+mybyte:
+ .byte 0x11
+
+.text
+.global _start
+_start:
+ l.w $r0, myword
+ l.h $r0, myshort
+ l.b $r0, mybyte
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26.s b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26.s
new file mode 100644
index 00000000..b3b28dff
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26.s
@@ -0,0 +1,27 @@
+# test for call26 relaxation via linker stubs
+
+.globl text0
+.section text0, "ax", @progbits
+ call func0 # in same section
+ call func1 # in nearby section
+ call func2a # in distant section
+ jmpi func2b # also in distant section
+
+func0:
+ ret
+
+.section text1, "ax", @progbits
+func1:
+ nop
+ nop
+ call func2a # in distant section
+ ret
+
+.section text2, "ax", @progbits
+func2a:
+ nop
+ nop
+ nop
+ ret
+func2b:
+ nop
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary.ld b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary.ld
new file mode 100644
index 00000000..313ef8cb
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary.ld
@@ -0,0 +1,14 @@
+/* Simple script for testing call26 relaxation via linker stubs.
+ This script is used for a bunch of tests that vary the placement of
+ section text0 near a 256 memory segment boundary, by using
+ --section-start command-line options. */
+
+OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2")
+OUTPUT_ARCH(nios2)
+ENTRY(_start)
+SECTIONS
+{
+ _start = .;
+ text0 : { *(text0) *(text1) }
+ text2 0x40000000 : { *(text2) }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary.s b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary.s
new file mode 100644
index 00000000..ce79ebdf
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary.s
@@ -0,0 +1,29 @@
+# Test for call26 relaxation via linker stubs.
+# This .s file is used with several different linker scripts that vary the
+# placement of the sections in the output.
+# Section text0 is 32 bytes long and requires at least 2 linker stubs
+# (12 bytes each) to reach the call destinations in text2. Another stub
+# may be required to reach func0 if the section is laid out so that it crosses
+# a 256MB memory segment boundary.
+
+.globl text0
+.section text0, "ax", @progbits
+ call func0 # in same section
+ call func2a # in distant section
+ nop
+ nop
+ nop
+ nop
+ jmpi func2b # in distant section
+
+func0:
+ ret
+
+.section text2, "ax", @progbits
+func2a:
+ nop
+ nop
+ nop
+ ret
+func2b:
+ nop
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_c8.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_c8.d
new file mode 100644
index 00000000..61fd858c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_c8.d
@@ -0,0 +1,9 @@
+#name: NIOS2 relax_call26_boundary_c8
+#ld: --relax -Trelax_call26_boundary.ld --section-start=text0=0x0fffffc8
+#source: relax_call26_boundary.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs. We don't need to
+# check the exact layout of stubs for this test, only verify that it
+# links without "relocation truncated to fit" errors.
+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_cc.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_cc.d
new file mode 100644
index 00000000..c3a571af
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_cc.d
@@ -0,0 +1,9 @@
+#name: NIOS2 relax_call26_boundary_cc
+#ld: --relax -Trelax_call26_boundary.ld --section-start=text0=0x0fffffcc
+#source: relax_call26_boundary.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs. We don't need to
+# check the exact layout of stubs for this test, only verify that it
+# links without "relocation truncated to fit" errors.
+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_d0.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_d0.d
new file mode 100644
index 00000000..67f28ce8
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_d0.d
@@ -0,0 +1,9 @@
+#name: NIOS2 relax_call26_boundary_d0
+#ld: --relax -Trelax_call26_boundary.ld --section-start=text0=0x0fffffd0
+#source: relax_call26_boundary.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs. We don't need to
+# check the exact layout of stubs for this test, only verify that it
+# links without "relocation truncated to fit" errors.
+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_d4.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_d4.d
new file mode 100644
index 00000000..9ffdf0e2
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_d4.d
@@ -0,0 +1,9 @@
+#name: NIOS2 relax_call26_boundary_d4
+#ld: --relax -Trelax_call26_boundary.ld --section-start=text0=0x0fffffd4
+#source: relax_call26_boundary.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs. We don't need to
+# check the exact layout of stubs for this test, only verify that it
+# links without "relocation truncated to fit" errors.
+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_d8.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_d8.d
new file mode 100644
index 00000000..168d5327
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_d8.d
@@ -0,0 +1,9 @@
+#name: NIOS2 relax_call26_boundary_d8
+#ld: --relax -Trelax_call26_boundary.ld --section-start=text0=0x0fffffd8
+#source: relax_call26_boundary.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs. We don't need to
+# check the exact layout of stubs for this test, only verify that it
+# links without "relocation truncated to fit" errors.
+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_dc.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_dc.d
new file mode 100644
index 00000000..539051eb
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_dc.d
@@ -0,0 +1,9 @@
+#name: NIOS2 relax_call26_boundary_dc
+#ld: --relax -Trelax_call26_boundary.ld --section-start=text0=0x0fffffdc
+#source: relax_call26_boundary.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs. We don't need to
+# check the exact layout of stubs for this test, only verify that it
+# links without "relocation truncated to fit" errors.
+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_f0.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_f0.d
new file mode 100644
index 00000000..fe83151c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_f0.d
@@ -0,0 +1,9 @@
+#name: NIOS2 relax_call26_boundary_f0
+#ld: --relax -Trelax_call26_boundary.ld --section-start=text0=0x0ffffff0
+#source: relax_call26_boundary.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs. We don't need to
+# check the exact layout of stubs for this test, only verify that it
+# links without "relocation truncated to fit" errors.
+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_f4.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_f4.d
new file mode 100644
index 00000000..4006ff21
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_f4.d
@@ -0,0 +1,9 @@
+#name: NIOS2 relax_call26_boundary_f4
+#ld: --relax -Trelax_call26_boundary.ld --section-start=text0=0x0ffffff4
+#source: relax_call26_boundary.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs. We don't need to
+# check the exact layout of stubs for this test, only verify that it
+# links without "relocation truncated to fit" errors.
+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_f8.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_f8.d
new file mode 100644
index 00000000..10eb654a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_f8.d
@@ -0,0 +1,9 @@
+#name: NIOS2 relax_call26_boundary_f8
+#ld: --relax -Trelax_call26_boundary.ld --section-start=text0=0x0ffffff8
+#source: relax_call26_boundary.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs. We don't need to
+# check the exact layout of stubs for this test, only verify that it
+# links without "relocation truncated to fit" errors.
+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_fc.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_fc.d
new file mode 100644
index 00000000..cf93b5a7
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_boundary_fc.d
@@ -0,0 +1,9 @@
+#name: NIOS2 relax_call26_boundary_fc
+#ld: --relax -Trelax_call26_boundary.ld --section-start=text0=0x0ffffffc
+#source: relax_call26_boundary.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs. We don't need to
+# check the exact layout of stubs for this test, only verify that it
+# links without "relocation truncated to fit" errors.
+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_cache.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_cache.d
new file mode 100644
index 00000000..43121c00
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_cache.d
@@ -0,0 +1,9 @@
+#name: NIOS2 relax_call26_cache
+#ld: --relax -Trelax_call26_cache.ld
+#source: relax_call26_cache.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs. We don't need to
+# check the exact layout of stubs for this test, only verify that it
+# links without "relocation truncated to fit" errors.
+
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_cache.ld b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_cache.ld
new file mode 100644
index 00000000..d3c43071
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_cache.ld
@@ -0,0 +1,13 @@
+/* Simple script for testing call26 relaxation via linker stubs.
+ In this case, input sections text0 and text1 are placed in the
+ same output section in the same 256MB segment, so they can share stubs. */
+
+OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2")
+OUTPUT_ARCH(nios2)
+ENTRY(_start)
+SECTIONS
+{
+ _start = .;
+ text0 0x0fffffe0 : { *(text0) *(text1) }
+ text2 0x40000000 : { *(text2) }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_cache.s b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_cache.s
new file mode 100644
index 00000000..37128530
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_cache.s
@@ -0,0 +1,28 @@
+# test for call26 relaxation via linker stubs
+#
+# The purpose of this test is to ensure that, when section text0 straddles
+# a 256MB memory segment boundary with calls to the same function on either
+# side, the stub caching doesn't get confused and incorrectly use a stub
+# on the wrong side.
+
+.globl text0
+.section text0, "ax", @progbits
+ call func2a # in distant section
+ call func2a # in distant section
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ call func2a # in distant section
+ call func2a # in distant section
+
+.section text2, "ax", @progbits
+.globl func2a
+func2a:
+ ret
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_multi.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_multi.d
new file mode 100644
index 00000000..28279efc
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_multi.d
@@ -0,0 +1,36 @@
+#name: NIOS2 relax_call26_multi
+#ld: --relax -Trelax_call26_multi.ld
+#source: relax_call26.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs
+
+.*: +file format elf32-littlenios2
+
+Disassembly of section text0:
+00000000 <_start> call 00000010 <func0>
+00000004 <[^>]*> call 0000002c <func1>
+00000008 <[^>]*> call 00000020 <[^>]*>
+0000000c <[^>]*> jmpi 00000014 <[^>]*>
+00000010 <func0> ret
+00000014 <[^>]*> movhi at,16384
+00000018 <[^>]*> addi at,at,16
+0000001c <[^>]*> jmp at
+00000020 <[^>]*> movhi at,16384
+00000024 <[^>]*> addi at,at,0
+00000028 <[^>]*> jmp at
+
+Disassembly of section text1:
+0000002c <func1> nop
+00000030 <[^>]*> nop
+00000034 <[^>]*> call 0000003c <[^>]*>
+00000038 <[^>]*> ret
+0000003c <[^>]*> movhi at,16384
+00000040 <[^>]*> addi at,at,0
+00000044 <[^>]*> jmp at
+
+Disassembly of section text2:
+40000000 <func2a> nop
+40000004 <[^>]*> nop
+40000008 <[^>]*> nop
+4000000c <[^>]*> ret
+40000010 <func2b> nop
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_multi.ld b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_multi.ld
new file mode 100644
index 00000000..750f7473
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_multi.ld
@@ -0,0 +1,14 @@
+/* Simple script for testing call26 relaxation via linker stubs.
+ In this case, input sections text0 and text1 cannot share stubs
+ because they are in different output sections. */
+
+OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2")
+OUTPUT_ARCH(nios2)
+ENTRY(_start)
+SECTIONS
+{
+ _start = .;
+ text0 0 : { *(text0) }
+ text1 : { *(text1) }
+ text2 0x40000000 : { *(text2) }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_norelax.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_norelax.d
new file mode 100644
index 00000000..7c7371c3
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_norelax.d
@@ -0,0 +1,5 @@
+#name: NIOS2 relax_call26_norelax
+#ld: --no-relax -Trelax_call26_multi.ld
+#source: relax_call26.s
+#error: .*relocation truncated to fit: R_NIOS2_CALL26.*
+# Test relaxation of call26 relocations via linker stubs
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_shared.d b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_shared.d
new file mode 100644
index 00000000..75ccbca4
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_shared.d
@@ -0,0 +1,31 @@
+#name: NIOS2 relax_call26_shared
+#ld: --relax -Trelax_call26_shared.ld
+#source: relax_call26.s
+#objdump: -dr --prefix-addresses
+# Test relaxation of call26 relocations via linker stubs
+
+.*: +file format elf32-littlenios2
+
+Disassembly of section text0:
+00000000 <_start> call 00000010 <func0>
+00000004 <[^>]*> call 00000014 <func1>
+00000008 <[^>]*> call 00000030 <[^>]*>
+0000000c <[^>]*> jmpi 00000024 <[^>]*>
+00000010 <func0> ret
+00000014 <func1> nop
+00000018 <[^>]*> nop
+0000001c <[^>]*> call 00000030 <[^>]*>
+00000020 <[^>]*> ret
+00000024 <[^>]*> movhi at,16384
+00000028 <[^>]*> addi at,at,16
+0000002c <[^>]*> jmp at
+00000030 <[^>]*> movhi at,16384
+00000034 <[^>]*> addi at,at,0
+00000038 <[^>]*> jmp at
+
+Disassembly of section text2:
+40000000 <func2a> nop
+40000004 <[^>]*> nop
+40000008 <[^>]*> nop
+4000000c <[^>]*> ret
+40000010 <func2b> nop
diff --git a/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_shared.ld b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_shared.ld
new file mode 100644
index 00000000..6e6fd44d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-nios2/relax_call26_shared.ld
@@ -0,0 +1,13 @@
+/* Simple script for testing call26 relaxation via linker stubs.
+ In this case, input sections text0 and text1 are placed in the
+ same output section in the same 256MB segment, so they can share stubs. */
+
+OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2")
+OUTPUT_ARCH(nios2)
+ENTRY(_start)
+SECTIONS
+{
+ _start = .;
+ text0 0 : { *(text0) *(text1) }
+ text2 0x40000000 : { *(text2) }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-pe/cfi.d b/binutils-2.25/ld/testsuite/ld-pe/cfi.d
index 6c5042bd..55ebaca1 100644
--- a/binutils-2.25/ld/testsuite/ld-pe/cfi.d
+++ b/binutils-2.25/ld/testsuite/ld-pe/cfi.d
@@ -4,7 +4,7 @@
#objdump: -Wf
#...
-00000004 00000014 ffffffff CIE
+0+4 0+14 0*ffffffff CIE
Version: 1
Augmentation: ""
Code alignment factor: 1
@@ -20,12 +20,12 @@
DW_CFA_nop
DW_CFA_nop
-0000001c 00000024 00000004 FDE cie=00000004 pc=.*
+0+1c 0+24 0+4 FDE cie=0+4 pc=.*
DW_CFA_advance_loc: 4 to .*
DW_CFA_def_cfa_offset: 16
DW_CFA_offset: r6 \(rbp\) at cfa\-16
DW_CFA_advance_loc: 4 to .*
-^ DW_CFA_def_cfa: r7 \(rsp\) ofs 8
+ DW_CFA_def_cfa: r7 \(rsp\) ofs 8
DW_CFA_restore: r6 \(rbp\)
DW_CFA_nop
DW_CFA_nop
diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d
index 95b3337d..81a44a7f 100755..100644
--- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d
+++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d
@@ -19,4 +19,4 @@ Idx Name Size VMA +LMA +File off Algn
CONTENTS, ALLOC, LOAD, DATA
5 \.idata [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ 2\*\*[0-9]
CONTENTS, ALLOC, LOAD, DATA
-
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d
index 8170006f..64d16277 100755..100644
--- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d
+++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d
@@ -19,3 +19,4 @@ Idx Name Size VMA +LMA +File off Algn
CONTENTS, ALLOC, LOAD, DATA
5 \.idata [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ 2\*\*[0-9]
CONTENTS, ALLOC, LOAD, DATA
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d
index 0317be30..c86a828d 100755..100644
--- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d
+++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d
@@ -37,5 +37,4 @@ Idx Name Size VMA +LMA +File off Algn
CONTENTS, ALLOC, LOAD, DATA
14 \.rodata\.very\.long\.section\$1234 [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ 2\*\*[0-9]
CONTENTS, ALLOC, LOAD, DATA
- 15 \.(bss |text) [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ 2\*\*[0-9]
- (ALLOC|CONTENTS, ALLOC, LOAD, (READONLY, )?CODE)
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d
index 565ef381..e326d98e 100755..100644
--- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d
+++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d
@@ -37,5 +37,4 @@ Idx Name Size VMA +LMA +File off Algn
CONTENTS, ALLOC, LOAD, DATA
14 \.rodata\. [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ 2\*\*[0-9]
CONTENTS, ALLOC, LOAD, DATA
- 15 \.(bss |text) [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ 2\*\*[0-9]
- (ALLOC|CONTENTS, ALLOC, LOAD, (READONLY, )?CODE)
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d
index 82d94b8a..f3ef22bd 100755..100644
--- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d
+++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d
@@ -37,5 +37,4 @@ Idx Name Size VMA +LMA +File off Algn
CONTENTS, ALLOC, LOAD, DATA
14 \.rodata\.very\.long\.section\$1234 [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ 2\*\*[0-9]
CONTENTS, ALLOC, LOAD, DATA
- 15 \.(bss |text) [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ 2\*\*[0-9]
- (ALLOC|CONTENTS, ALLOC, LOAD, (READONLY, )?CODE)
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn.d
index 2dcde353..e77f6eea 100755..100644
--- a/binutils-2.25/ld/testsuite/ld-pe/longsecn.d
+++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn.d
@@ -19,4 +19,4 @@ Idx Name Size VMA +LMA +File off Algn
CONTENTS, ALLOC, LOAD, DATA
5 \.idata [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ [0-9a-fA-F]+ 2\*\*[0-9]
CONTENTS, ALLOC, LOAD, DATA
-
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s b/binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s
index e849d9e1..28006a1b 100755..100644
--- a/binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s
+++ b/binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s
@@ -1,4 +1,3 @@
-
main:
_main:
nop
diff --git a/binutils-2.25/ld/testsuite/ld-pe/orphana_nu.s b/binutils-2.25/ld/testsuite/ld-pe/orphana_nu.s
index d3c564f3..618789c8 100644
--- a/binutils-2.25/ld/testsuite/ld-pe/orphana_nu.s
+++ b/binutils-2.25/ld/testsuite/ld-pe/orphana_nu.s
@@ -1,6 +1,8 @@
+ .globl _mainCRTStartup
.globl mainCRTStartup
.globl start
.text
+_mainCRTStartup:
mainCRTStartup:
start:
diff --git a/binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp b/binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp
index 750f5c03..ccc8516f 100755..100644
--- a/binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp
+++ b/binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp
@@ -1,7 +1,6 @@
# Expect script for complex PE tests that require a C compiler
# in addition to the just-built binutils.
-# Copyright 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-pe/pe-run.exp b/binutils-2.25/ld/testsuite/ld-pe/pe-run.exp
index 709fb19a..fb823402 100755..100644
--- a/binutils-2.25/ld/testsuite/ld-pe/pe-run.exp
+++ b/binutils-2.25/ld/testsuite/ld-pe/pe-run.exp
@@ -1,7 +1,6 @@
# Expect script for complex PE tests that require a C compiler and the ability
# to run target executables natively, in addition to the just-built binutils.
-# Copyright 2006, 2007, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-pe/pe-run2.exp b/binutils-2.25/ld/testsuite/ld-pe/pe-run2.exp
index 6cc066e7..ab580d37 100644
--- a/binutils-2.25/ld/testsuite/ld-pe/pe-run2.exp
+++ b/binutils-2.25/ld/testsuite/ld-pe/pe-run2.exp
@@ -1,7 +1,6 @@
# Expect script for complex PE tests that require a C compiler and the ability
# to run target executables natively, in addition to the just-built binutils.
-# Copyright 2006, 2007, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-pe/pe.exp b/binutils-2.25/ld/testsuite/ld-pe/pe.exp
index df26f6d7..6fdfb795 100644
--- a/binutils-2.25/ld/testsuite/ld-pe/pe.exp
+++ b/binutils-2.25/ld/testsuite/ld-pe/pe.exp
@@ -1,6 +1,5 @@
# Expect script for simple PE tests that require the just-built binutils only.
-# Copyright 2004, 2005, 2006, 2007, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-pe/secrel.d b/binutils-2.25/ld/testsuite/ld-pe/secrel.d
index b924f543..3f1bb4a5 100644
--- a/binutils-2.25/ld/testsuite/ld-pe/secrel.d
+++ b/binutils-2.25/ld/testsuite/ld-pe/secrel.d
@@ -25,3 +25,4 @@ Contents of section \.rdata:
Contents of section \.idata:
.*4000 00000000 00000000 00000000 00000000 ................
.*4010 00000000 ....
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-pie/pie.exp b/binutils-2.25/ld/testsuite/ld-pie/pie.exp
index 15bd6388..f9391072 100644
--- a/binutils-2.25/ld/testsuite/ld-pie/pie.exp
+++ b/binutils-2.25/ld/testsuite/ld-pie/pie.exp
@@ -1,5 +1,5 @@
# Expect script for various PIE tests.
-# Copyright 2006, 2007, 2009, 2010, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-pie/vaddr-0.d b/binutils-2.25/ld/testsuite/ld-pie/vaddr-0.d
new file mode 100644
index 00000000..e0722226
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-pie/vaddr-0.d
@@ -0,0 +1,9 @@
+#source: vaddr.s
+#name: zero p_vaddr
+#ld: -pie
+#readelf: -h
+
+ELF Header:
+#...
+ Type: DYN \(Shared object file\)
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-pie/vaddr-1.d b/binutils-2.25/ld/testsuite/ld-pie/vaddr-1.d
new file mode 100644
index 00000000..7b5f9922
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-pie/vaddr-1.d
@@ -0,0 +1,9 @@
+#source: vaddr.s
+#name: non-zero p_vaddr
+#ld: -pie -Ttext-segment 0x7000000 -z max-page-size=0x200000
+#readelf: -h
+
+ELF Header:
+#...
+ Type: EXEC \(Executable file\)
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-pie/vaddr.s b/binutils-2.25/ld/testsuite/ld-pie/vaddr.s
new file mode 100644
index 00000000..5fc0ee78
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-pie/vaddr.s
@@ -0,0 +1,10 @@
+ .globl main
+ .globl start
+ .globl _start
+ .globl __start
+ .text
+main:
+start:
+_start:
+__start:
+ .byte 0
diff --git a/binutils-2.25/ld/testsuite/ld-plugin/lto.exp b/binutils-2.25/ld/testsuite/ld-plugin/lto.exp
index c5249f0d..031752dd 100644
--- a/binutils-2.25/ld/testsuite/ld-plugin/lto.exp
+++ b/binutils-2.25/ld/testsuite/ld-plugin/lto.exp
@@ -1,6 +1,5 @@
# Expect script for ld-plugin LTO tests
-# Copyright 2011, 2012, 2013
-# Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -29,8 +28,8 @@ global CFLAGS
global CXXFLAGS
set saved_CFLAGS "$CFLAGS"
set saved_CXXFLAGS "$CXXFLAGS"
-regsub -all "\\-Wp,-D_FORTIFY_SOURCE=\[0-9\]+" $CFLAGS "" CFLAGS
-regsub -all "\\-Wp,-D_FORTIFY_SOURCE=\[0-9\]+" $CXXFLAGS "" CXXFLAGS
+regsub -all "(\\-Wp,)?-D_FORTIFY_SOURCE=\[0-9\]+" $CFLAGS "" CFLAGS
+regsub -all "(\\-Wp,)?-D_FORTIFY_SOURCE=\[0-9\]+" $CXXFLAGS "" CXXFLAGS
proc restore_notify { } {
global saved_CFLAGS
@@ -39,282 +38,337 @@ proc restore_notify { } {
set CXXFLAGS "$saved_CXXFLAGS"
}
-# Simple LTO tests and generate input files for complex LTO tests.
-set lto_link_tests {
- {"LTO 1"
- "-O2 -flto -fuse-linker-plugin" "-flto -fuse-linker-plugin"
- {lto-1a.c lto-1b.c} {} "lto-1.exe"}
- {"Build libdummy.a 2"
- "" "-O2 -flto -fuse-linker-plugin"
- {lto-2.c} {} "libdummy.a"}
- {"LTO 2"
- "-static -O2 -flto -fuse-linker-plugin tmpdir/lto-2.o -lm" ""
- {dummy.c} {} "lto-2.exe"}
- {"Build libdummy.a 3a"
- "" "-flto"
- {lto-3a.c} {} "libdummy.a"}
- {"Build libdummy.a 3c"
- "" "-O2"
- {lto-3c.c} {} "libdummy.a"}
- {"Build liblto-3.a"
- "" "-flto"
- {lto-3b.c} {} "liblto-3.a"}
- {"Build libdummy.a 5a"
- "" "-flto"
- {lto-5a.c} {} "libdummy.a"}
- {"Build libdummy.a 5b"
- "" "-flto"
- {lto-5b.c} {} "libdummy.a"}
- {"LTO 6"
- "-O2 -flto -fuse-linker-plugin" ""
- {lto-6.c} {} "lto-6.exe" "c"}
- {"Build libdummy.a 9"
- "" "-O2 -finline -flto"
- {lto-9.cc} {} "libdummy.a"}
- {"Build libdummy.a 11a"
- "" "-O -flto"
- {lto-11a.c} {} "libdummy.a"}
- {"Build libdummy.a 11b"
- "" "-O -flto"
- {lto-11b.c} {} "libdummy.a"}
- {"Build libdummy.a 11c"
- "" "-O"
- {lto-11c.c} {} "libdummy.a"}
- {"Build liblto-12.a"
- "" "-O2 -flto"
- {lto-12c.c} {} "liblto-12.a"}
- {"Build libdummy.a 12"
- "" "-O2 -flto"
- {lto-12a.c lto-12b.c} {} "libdummy.a"}
- {"Build libdummy.a 13"
- "" "-O2 -flto"
- {lto-13a.c lto-13b.c} {} "libdummy.a"}
- {"Build liblto-13.a"
- "" "-O2"
- {lto-13c.c} {} "liblto-13.a"}
- {"Build libdummy.a 14a"
- "" "-flto"
- {lto-14a.c lto-14b.c} {} "libdummy.a"}
- {"Build liblto-14.a"
- "" "-flto"
- {lto-14c.c} {} "liblto-14.a"}
- {"Build libdummy.a 15a"
- "" "-flto"
- {lto-15a.c} {} "libdummy.a"}
- {"Build liblto-15.a"
- "" "-flto"
- {lto-15b.c} {} "liblto-15.a"}
- {"PR ld/12696"
- "-O2 -flto -fuse-linker-plugin -r -nostdlib" "-O2 -flto"
- {pr12696-1.cc} {} "pr12696-1r.o" "c"}
- {"Build libdummy.a PR ld/12758"
- "" ""
- {pr12758a.s} {} "libdummy.a"}
- {"Build libpr12758.a"
- "" "-flto -O2"
- {pr12758b.c} {} "libpr12758.a"}
- {"PR ld/12758"
- "-O2 -Wl,-e,foo -nostdlib -flto -fuse-linker-plugin tmpdir/pr12758a.o -Wl,--start-group tmpdir/libpr12758.a -Wl,--end-group" ""
- {dummy.c} {} "pr12758.exe"}
- {"Build libdummy.a PR ld/12760"
- "" ""
- {pr12760a.c} {} "libdummy.a"}
- {"Build libpr12760.a"
- "" "-flto -O2"
- {pr12760b.c} {} "libpr12760.a"}
- {"PR ld/12760"
- "-O2 -Wl,-e,foo -nostdlib -flto -fuse-linker-plugin tmpdir/pr12760a.o -Wl,--start-group tmpdir/libpr12760.a -Wl,--end-group" ""
- {dummy.c} {} "pr12760.exe" "c" "warning: Bad bar"}
- {"Build libpr13183.a"
- "-T" "-flto -O2"
- {pr13183a.c} {} "libpr13183.a"}
- {"Build libdummy.a PR ld/13183"
- "" "-flto -O2"
- {pr13183b.c} {} "libdummy.a"}
- {"Build libdummy.a PR ld/13201"
- "" "-flto -O2"
- {pr13201.c} {} "libdummy.a"}
- {"PR ld/13287"
- "-flto -fuse-linker-plugin -Wl,--as-needed" "-flto"
- {pr13287.cc} {} "pr13287.exe" "c++"}
- {"PR ld/15323"
- "" "-O2"
- {pr15323a.c} {} "libdummy.a" "c"}
+set plugin_names {
+ liblto_plugin.so
+ liblto_plugin-0.dll
+ cyglto_plugin-0.dll
+}
+set plug_opt ""
+foreach plug $plugin_names {
+ set plug_so [run_host_cmd $CC "--print-prog-name $plug"]
+ if { $plug_so eq $plug } then {
+ set plug_so [run_host_cmd $CC "--print-file-name $plug"]
+ }
+ if { $plug_so ne $plug } then {
+ set plug_opt "--plugin $plug_so"
+ break
+ }
+}
+set lto_fat ""
+if { [check_lto_fat_available] } {
+ set lto_fat "-ffat-lto-objects"
}
+# Simple LTO tests and generate input files for complex LTO tests.
+set lto_link_tests [list \
+ [list "LTO 1" \
+ "-O2 -flto -fuse-linker-plugin" "-flto -fuse-linker-plugin" \
+ {lto-1a.c lto-1b.c} {} "lto-1.exe"] \
+ [list "Compile 2" \
+ "" "-O2 -flto -fuse-linker-plugin" \
+ {lto-2.c} {} ""] \
+ [list "LTO 2" \
+ "-static -O2 -flto -fuse-linker-plugin tmpdir/lto-2.o -lm" "" \
+ {dummy.c} {} "lto-2.exe"] \
+ [list "Compile 3a" \
+ "" "-flto" \
+ {lto-3a.c} {} ""] \
+ [list "Compile 3c" \
+ "" "-O2" \
+ {lto-3c.c} {} ""] \
+ [list "Build liblto-3.a" \
+ "" "-flto $lto_fat" \
+ {lto-3b.c} {} "liblto-3.a"] \
+ [list "Compile 5a" \
+ "" "-flto $lto_fat" \
+ {lto-5a.c} {} ""] \
+ [list "Compile 5b" \
+ "" "-flto $lto_fat" \
+ {lto-5b.c} {} ""] \
+ [list "LTO 6" \
+ "-O2 -flto -fuse-linker-plugin" "" \
+ {lto-6.c} {} "lto-6.exe" "c"] \
+ [list "Compile 9" \
+ "" "-O2 -finline -flto" \
+ {lto-9.cc} {} "" "c++"] \
+ [list "Compile 11a" \
+ "" "-O -flto" \
+ {lto-11a.c} {} ""] \
+ [list "Compile 11b" \
+ "" "-O -flto" \
+ {lto-11b.c} {} ""] \
+ [list "Compile 11c" \
+ "" "-O" \
+ {lto-11c.c} {} ""] \
+ [list "Build liblto-12.a" \
+ "$plug_opt" "-O2 -flto" \
+ {lto-12c.c} {} "liblto-12.a"] \
+ [list "Compile 12" \
+ "" "-O2 -flto" \
+ {lto-12a.c lto-12b.c} {} ""] \
+ [list "Compile 13" \
+ "" "-O2 -flto" \
+ {lto-13a.c lto-13b.c} {} ""] \
+ [list "Build liblto-13.a" \
+ "" "-O2" \
+ {lto-13c.c} {} "liblto-13.a"] \
+ [list "Compile 14a" \
+ "" "-flto" \
+ {lto-14a.c lto-14b.c} {} ""] \
+ [list "Build liblto-14.a" \
+ "$plug_opt" "-flto" \
+ {lto-14c.c} {} "liblto-14.a"] \
+ [list "Compile 15a" \
+ "" "-flto" \
+ {lto-15a.c} {} ""] \
+ [list "Build liblto-15.a" \
+ "$plug_opt" "-flto" \
+ {lto-15b.c} {} "liblto-15.a"] \
+ [list "PR ld/12696" \
+ "-O2 -flto -fuse-linker-plugin -r -nostdlib" "-O2 -flto" \
+ {pr12696-1.cc} {} "pr12696-1r.o" "c++"] \
+ [list "Compile PR ld/12758" \
+ "" "" \
+ {pr12758a.s} {} ""] \
+ [list "Build libpr12758.a" \
+ "" "-flto -O2 $lto_fat" \
+ {pr12758b.c} {} "libpr12758.a"] \
+ [list "PR ld/12758" \
+ "-O2 -Wl,-e,foo -nostdlib -flto -fuse-linker-plugin tmpdir/pr12758a.o -Wl,--start-group tmpdir/libpr12758.a -Wl,--end-group" "" \
+ {dummy.c} {} "pr12758.exe"] \
+ [list "Compile PR ld/12760" \
+ "" "-g -O0" \
+ {pr12760a.c} {} ""] \
+ [list "Build libpr12760.a" \
+ "" "-flto -O2 $lto_fat" \
+ {pr12760b.c} {} "libpr12760.a"] \
+ [list "PR ld/12760" \
+ "-O2 -Wl,-e,foo -nostdlib -flto -fuse-linker-plugin tmpdir/pr12760a.o -Wl,--start-group tmpdir/libpr12760.a -Wl,--end-group" "" \
+ {dummy.c} {} "pr12760.exe" "c" "pr12760a.c:6: warning: Bad bar"] \
+ [list "Build libpr13183.a" \
+ "-T" "-flto -O2 $lto_fat" \
+ {pr13183a.c} {} "libpr13183.a"] \
+ [list "Compile PR ld/13183" \
+ "" "-flto -O2" \
+ {pr13183b.c} {} ""] \
+ [list "Compile PR ld/13201" \
+ "" "-flto -O2" \
+ {pr13201.c} {} ""] \
+ [list "PR ld/13287" \
+ "-flto -fuse-linker-plugin -Wl,--as-needed" "-flto" \
+ {pr13287.cc} {} "pr13287.exe" "c++"] \
+ [list "PR ld/15323" \
+ "" "-O2" \
+ {pr15323a.c} {} "" "c"] \
+ [list "Compile(1) PR ld/pr16846" \
+ "" "-flto" \
+ {pr16846a.c pr16846b.c} {} ""] \
+ [list "Compile(2) PR ld/pr16846" \
+ "" "" \
+ {pr16846c.c} {} ""] \
+ [list "PR ld/pr16846(1)" \
+ "-flto -fuse-linker-plugin tmpdir/pr16846a.o tmpdir/pr16846b.o tmpdir/pr16846c.o" "" \
+ {dummy.c} {} "pr16846a.exe"] \
+ [list "PR ld/pr16846(2)" \
+ "-flto -fuse-linker-plugin tmpdir/pr16846a.o tmpdir/pr16846c.o tmpdir/pr16846b.o" "" \
+ {dummy.c} {} "pr16846b.exe"] \
+]
+
if { [at_least_gcc_version 4 7] } {
- set lto_link_tests [concat $lto_link_tests {
- {"Build libdummy.a PR ld/12942 (1)"
- "" "-flto -O2"
- {pr12942a.cc pr12942c.cc} {} "libdummy.a" "c++"}
- {"Build libdummy.a PR ld/12942 (2)"
- "" "-O0"
- {pr12942b.cc} {} "libdummy.a" "c++"}
- }]
+ set lto_link_tests [concat $lto_link_tests [list \
+ [list "Compile PR ld/12942 (1)" \
+ "" "-flto -O2" \
+ {pr12942a.cc pr12942c.cc} {} "" "c++"] \
+ [list "Compile PR ld/12942 (2)" \
+ "" "-O0" \
+ {pr12942b.cc} {} "" "c++"] \
+ ]]
}
# Generate input files for complex LTO tests for ELF.
-set lto_link_elf_tests {
- {"Build libdummy.a 7"
- "" "-flto -O2"
- {lto-7a.c lto-7b.c lto-7c.c} {} "libdummy.a"}
- {"Build liblto-7.so"
- "-shared" "-O2 -fpic"
- {lto-7d.c} {} "liblto-7.so" "c"}
- {"Build libdummy.a 8a"
- "" "-O2"
- {lto-8a.c} {} "libdummy.a"}
- {"Build libdummy.a 8b"
- "" "-flto -O2"
- {lto-8b.c} {} "libdummy.a"}
- {"Build liblto-17a.so"
- "-shared -O2 -fpic -flto -fuse-linker-plugin" "-O2 -fpic -flto"
- {lto-17a.c} {{"nm" {} "lto-17a.d"}} "liblto-17a.so" "c"}
- {"Build liblto-17b.so 1"
- "-shared -O2 -fpic -flto -fuse-linker-plugin tmpdir/lto-17a.o" "-O2 -fpic -flto"
- {lto-17b.c} {{"nm" {} "lto-17b-1.d"}} "liblto-17b.so"}
- {"Build liblto-17b.so 2"
- "-shared -O2 -fpic -flto -fuse-linker-plugin tmpdir/lto-17a.o" "-O2 -fpic -flto"
- {lto-17b.c} {{"nm" {} "lto-17b-2.d"}} "liblto-17b.so"}
- {"PR ld/12982"
- "-O2 -flto -fuse-linker-plugin" "-O2 -flto"
- {pr12982.c} {{"readelf" {-l --wide} "pr12982.d"}} "pr12982.exe"}
- {"PR ld/12975"
- "-shared -O2 -fPIC -flto -fuse-linker-plugin -nostdlib -Wl,-version-script,pr12975.t" "-O2 -flto"
- {pr12975.c} {{"readelf" {-s --wide} "pr12975.d"}} "pr12975.so" "c"}
- {"PR ld/13229"
- "-shared -O2 -fPIC -flto -fuse-linker-plugin -nostdlib" "-O2 -finline -fno-early-inlining -flto"
- {pr13229.cc} {{"readelf" {-s --wide} "pr13229.d"}} "pr13229.so" "c++"}
- {"PR ld/13244"
- "-shared -O2 -fPIC -flto -fuse-linker-plugin -nostdlib" "-O2 -fno-early-inlining -flto"
- {pr13244.c} {{"readelf" {-s --wide} "pr13244.d"}} "pr13244.so" "c"}
- {"Build libpr15146a.a"
- "" "-flto -O2"
- {pr15146a.c} {} "lib15146a.a"}
- {"Build pr15146b.so"
- "-shared" "-O2 -fpic"
- {pr15146b.c} {} "pr15146b.so" "c"}
- {"Build pr15146c.so"
- "-shared -Wl,--no-as-needed tmpdir/pr15146b.so" "-O2 -fpic"
- {pr15146c.c} {} "pr15146c.so" "c"}
- {"PR ld/15146 (1)"
- "-O2 -flto -fuse-linker-plugin -Wl,-rpath-link,. -Wl,--no-copy-dt-needed-entries -Wl,--no-as-needed tmpdir/pr15146a.o tmpdir/pr15146c.so" ""
- {dummy.c} {{"readelf" {-d} "pr15146.d"}} "pr15146a.exe"}
- {"Build libpr15146d.a"
- "" "-flto -O2"
- {pr15146d.c} {} "lib15146d.a"}
- {"Build libpr15146d.a"
- "" "-flto -O2"
- {pr15146d.c} {} "lib15146d.a"}
-}
+set lto_link_elf_tests [list \
+ [list "Compile 7" \
+ "" "-flto -O2" \
+ {lto-7a.c lto-7b.c lto-7c.c} {} ""] \
+ [list "Build liblto-7.so" \
+ "-shared" "-O2 -fpic" \
+ {lto-7d.c} {} "liblto-7.so" "c"] \
+ [list "Compile 8a" \
+ "" "-O2" \
+ {lto-8a.c} {} ""] \
+ [list "Compile 8b" \
+ "" "-flto -O2" \
+ {lto-8b.c} {} ""] \
+ [list "Build liblto-17a.so" \
+ "-shared -O2 -fpic -flto -fuse-linker-plugin" "-O2 -fpic -flto" \
+ {lto-17a.c} {{"nm" {} "lto-17a.d"}} "liblto-17a.so" "c"] \
+ [list "Build liblto-17b.so 1" \
+ "-shared -O2 -fpic -flto -fuse-linker-plugin tmpdir/lto-17a.o" "-O2 -fpic -flto" \
+ {lto-17b.c} {{"nm" {} "lto-17b-1.d"}} "liblto-17b.so"] \
+ [list "Build liblto-17b.so 2" \
+ "-shared -O2 -fpic -flto -fuse-linker-plugin tmpdir/lto-17a.o" "-O2 -fpic -flto" \
+ {lto-17b.c} {{"nm" {} "lto-17b-2.d"}} "liblto-17b.so"] \
+ [list "PR ld/12982" \
+ "-O2 -flto -fuse-linker-plugin" "-O2 -flto" \
+ {pr12982.c} {{"readelf" {-l --wide} "pr12982.d"}} "pr12982.exe"] \
+ [list "PR ld/12975" \
+ "-shared -O2 -fPIC -flto -fuse-linker-plugin -nostdlib -Wl,-version-script,pr12975.t" "-O2 -flto" \
+ {pr12975.c} {{"readelf" {-s --wide} "pr12975.d"}} "pr12975.so" "c"] \
+ [list "PR ld/13229" \
+ "-shared -O2 -fPIC -flto -fuse-linker-plugin -nostdlib" "-O2 -finline -fno-early-inlining -flto" \
+ {pr13229.cc} {{"readelf" {-s --wide} "pr13229.d"}} "pr13229.so" "c++"] \
+ [list "PR ld/13244" \
+ "-shared -O2 -fPIC -flto -fuse-linker-plugin -nostdlib" "-O2 -fno-early-inlining -flto" \
+ {pr13244.c} {{"readelf" {-s --wide} "pr13244.d"}} "pr13244.so" "c"] \
+ [list "Build libpr15146a.a" \
+ "$plug_opt" "-flto -O2" \
+ {pr15146a.c} {} "lib15146a.a"] \
+ [list "Build pr15146b.so" \
+ "-shared" "-O2 -fpic" \
+ {pr15146b.c} {} "pr15146b.so" "c"] \
+ [list "Build pr15146c.so" \
+ "-shared -Wl,--no-as-needed tmpdir/pr15146b.so" "-O2 -fpic" \
+ {pr15146c.c} {} "pr15146c.so" "c"] \
+ [list "PR ld/15146 (1)" \
+ "-O2 -flto -fuse-linker-plugin -Wl,-rpath-link,. -Wl,--no-copy-dt-needed-entries -Wl,--no-as-needed tmpdir/pr15146a.o tmpdir/pr15146c.so" "" \
+ {dummy.c} {{"readelf" {-d} "pr15146.d"}} "pr15146a.exe"] \
+ [list "Build libpr15146d.a" \
+ "$plug_opt" "-flto -O2" \
+ {pr15146d.c} {} "lib15146d.a"] \
+ [list "Build libpr16746a.a" \
+ "" "" \
+ {pr16746a.c pr16746b.c} {} "lib15146a.a"] \
+ [list "Build libpr16746b.a" \
+ "$plug_opt" "-O2 -flto" \
+ {pr16746c.c pr16746d.c} {} "lib15146b.a"] \
+ [list "PR ld/16746 (1)" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/pr16746a.o tmpdir/pr16746c.o" "-O2 -flto" \
+ {dummy.c} {} "pr16746a.exe"] \
+ [list "PR ld/16746 (2)" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/pr16746c.o tmpdir/pr16746a.o" "-O2 -flto" \
+ {dummy.c} {} "pr16746b.exe"] \
+]
# Check final symbols in executables.
-set lto_link_symbol_tests {
- {"LTO 3 symbol"
- "-O2 -flto -fuse-linker-plugin tmpdir/lto-3a.o tmpdir/lto-3c.o tmpdir/liblto-3.a" ""
- {dummy.c} {{"nm" {} "lto-3.d"}} "lto-3.exe" "c"}
- {"LTO 5 symbol"
- "-O2 -flto -fuse-linker-plugin tmpdir/lto-5.o" ""
- {dummy.c} {{"nm" {} "lto-5.d"}} "lto-5.exe" "c"}
- {"LTO 9 symbol"
- "-O2 -flto -fuse-linker-plugin tmpdir/lto-9.o" ""
- {dummy.c} {{"nm" {-C} "lto-9.d"}} "lto-9.exe" "c++"}
- {"LTO 16a symbol"
- "-O2 -Wl,-e,foo -nostdlib -flto -fuse-linker-plugin" "-flto"
- {lto-16a.c} {{"nm" {} "lto-16a.d"}} "lto-16.exe" "c"}
- {"LTO 16b symbol"
- "-O2 -Wl,-e,foo -u bar -nostdlib -flto -fuse-linker-plugin" "-flto"
- {lto-16a.c lto-16b.c} {{"nm" {} "lto-16b.d"}} "lto-16b.exe" "c"}
- {"PR ld/13183"
- "-O2 -flto -fuse-linker-plugin tmpdir/pr13183b.o tmpdir/libpr13183.a" ""
- {dummy.c} {{"nm" {} "pr13183.d"}} "pr13183.exe" "c"}
-}
+set lto_link_symbol_tests [list \
+ [list "LTO 3 symbol" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-3a.o tmpdir/lto-3c.o tmpdir/liblto-3.a" "" \
+ {dummy.c} {{"nm" {} "lto-3.d"}} "lto-3.exe" "c"] \
+ [list "LTO 5 symbol" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-5.o" "" \
+ {dummy.c} {{"nm" {} "lto-5.d"}} "lto-5.exe" "c"] \
+ [list "LTO 9 symbol" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-9.o" "" \
+ {dummy.c} {{"nm" {-C} "lto-9.d"}} "lto-9.exe" "c++"] \
+ [list "LTO 16a symbol" \
+ "-O2 -Wl,-e,foo -nostdlib -flto -fuse-linker-plugin" "-flto" \
+ {lto-16a.c} {{"nm" {} "lto-16a.d"}} "lto-16.exe" "c"] \
+ [list "LTO 16b symbol" \
+ "-O2 -Wl,-e,foo -u bar -nostdlib -flto -fuse-linker-plugin" "-flto" \
+ {lto-16a.c lto-16b.c} {{"nm" {} "lto-16b.d"}} "lto-16b.exe" "c"] \
+ [list "PR ld/13183" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/pr13183b.o tmpdir/libpr13183.a" "" \
+ {dummy.c} {{"nm" {} "pr13183.d"}} "pr13183.exe" "c"] \
+]
# LTO run-time tests.
-set lto_run_tests {
- {"LTO 3a"
- "-O2 -flto -fuse-linker-plugin tmpdir/lto-3a.o tmpdir/lto-3c.o tmpdir/liblto-3.a" ""
- {dummy.c} "lto-3b.exe" "lto-3.out" "" "c"}
- {"LTO 3b"
- "-O2 -flto -fuse-linker-plugin tmpdir/lto-3a.o tmpdir/lto-3c.o tmpdir/lto-3.o" ""
- {dummy.c} "lto-3c.exe" "lto-3.out" "" "c"}
- {"LTO 3c"
- "-O2 -flto -fuse-linker-plugin tmpdir/lto-3a.o tmpdir/lto-3c.o -Wl,--whole-archive tmpdir/liblto-3.a -Wl,--no-whole-archive tmpdir/liblto-3.a" ""
- {dummy.c} "lto-3d.exe" "lto-3.out" "" "c"}
- {"LTO 5"
- "-O2 -flto -fuse-linker-plugin tmpdir/lto-5.o" ""
- {dummy.c} "lto-5.exe" "lto-5.out" "" "c"}
- {"LTO 11"
- "-O -flto -fuse-linker-plugin tmpdir/liblto-11.a" ""
- {dummy.c} "lto-11.exe" "lto-11.out" "" "c"}
- {"LTO 12a"
- "-O -flto -fuse-linker-plugin tmpdir/lto-12a.o tmpdir/liblto-12.a tmpdir/lto-12b.o" ""
- {dummy.c} "lto-12a.exe" "lto-12.out" "" "c"}
- {"LTO 12b"
- "-O -flto -fuse-linker-plugin tmpdir/lto-12a.o tmpdir/lto-12b.o tmpdir/liblto-12.a" ""
- {dummy.c} "lto-12b.exe" "lto-12.out" "" "c"}
- {"LTO 13"
- "-O -flto -fuse-linker-plugin tmpdir/lto-13a.o tmpdir/liblto-13.a tmpdir/lto-13b.o" ""
- {dummy.c} "lto-13.exe" "lto-13.out" "" "c"}
- {"LTO 14"
- "-O2 -flto -fuse-linker-plugin tmpdir/lto-14a.o -Wl,--whole-archive tmpdir/liblto-14.a -Wl,--no-whole-archive tmpdir/lto-14b.o" ""
- {dummy.c} "lto-14.exe" "lto-14.out" "" "c"}
- {"LTO 15"
- "-O2 -flto -fuse-linker-plugin -Wl,--start-group tmpdir/liblto-15.a tmpdir/lto-15a.o -Wl,--end-group" ""
- {dummy.c} "lto-15.exe" "lto-15.out" "" "c"}
- {"PR ld/13066"
- "-O2 -flto -fuse-linker-plugin" ""
- {pr13066.cc} "pr13066.exe" "pr13066.out" "" "c++"}
- {"PR ld/13201"
- "-O2 -flto -fuse-linker-plugin -Wl,--as-needed tmpdir/pr13201.o -lm" ""
- {dummy.c} "pr13201.exe" "pr13201.out" "" "c"}
- {"PR ld/15323"
- "-O2 -flto -fuse-linker-plugin tmpdir/pr15323a.o" ""
- {pr15323b.c} "pr15323.exe" "pr15323.out" "-flto -O2" "c"}
-}
+set lto_run_tests [list \
+ [list "LTO 3a" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-3a.o tmpdir/lto-3c.o tmpdir/liblto-3.a" "" \
+ {dummy.c} "lto-3b.exe" "lto-3.out" "" "c"] \
+ [list "LTO 3b" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-3a.o tmpdir/lto-3c.o tmpdir/lto-3.o" "" \
+ {dummy.c} "lto-3c.exe" "lto-3.out" "" "c"] \
+ [list "LTO 3c" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-3a.o tmpdir/lto-3c.o -Wl,--whole-archive tmpdir/liblto-3.a -Wl,--no-whole-archive tmpdir/liblto-3.a" "" \
+ {dummy.c} "lto-3d.exe" "lto-3.out" "" "c"] \
+ [list "LTO 5" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-5.o" "" \
+ {dummy.c} "lto-5.exe" "lto-5.out" "" "c"] \
+ [list "LTO 11" \
+ "-O -flto -fuse-linker-plugin tmpdir/liblto-11.a" "" \
+ {dummy.c} "lto-11.exe" "lto-11.out" "" "c"] \
+ [list "LTO 12a" \
+ "-O -flto -fuse-linker-plugin tmpdir/lto-12a.o tmpdir/liblto-12.a tmpdir/lto-12b.o" "" \
+ {dummy.c} "lto-12a.exe" "lto-12.out" "" "c"] \
+ [list "LTO 12b" \
+ "-O -flto -fuse-linker-plugin tmpdir/lto-12a.o tmpdir/lto-12b.o tmpdir/liblto-12.a" "" \
+ {dummy.c} "lto-12b.exe" "lto-12.out" "" "c"] \
+ [list "LTO 13" \
+ "-O -flto -fuse-linker-plugin tmpdir/lto-13a.o tmpdir/liblto-13.a tmpdir/lto-13b.o" "" \
+ {dummy.c} "lto-13.exe" "lto-13.out" "" "c"] \
+ [list "LTO 14" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-14a.o -Wl,--whole-archive tmpdir/liblto-14.a -Wl,--no-whole-archive tmpdir/lto-14b.o" "" \
+ {dummy.c} "lto-14.exe" "lto-14.out" "" "c"] \
+ [list "LTO 15" \
+ "-O2 -flto -fuse-linker-plugin -Wl,--start-group tmpdir/liblto-15.a tmpdir/lto-15a.o -Wl,--end-group" "" \
+ {dummy.c} "lto-15.exe" "lto-15.out" "" "c"] \
+ [list "PR ld/13066" \
+ "-O2 -flto -fuse-linker-plugin" "" \
+ {pr13066.cc} "pr13066.exe" "pr13066.out" "" "c++"] \
+ [list "PR ld/13201" \
+ "-O2 -flto -fuse-linker-plugin -Wl,--as-needed tmpdir/pr13201.o -lm" "" \
+ {dummy.c} "pr13201.exe" "pr13201.out" "" "c"] \
+ [list "PR ld/15323" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/pr15323a.o" "" \
+ {pr15323b.c} "pr15323.exe" "pr15323.out" "-flto -O2" "c"] \
+]
if { [at_least_gcc_version 4 7] } {
- set lto_run_tests [concat $lto_run_tests {
- {"PR ld/12942 (1)"
- "-O2 -flto -fuse-linker-plugin tmpdir/pr12942a.o tmpdir/pr12942b.o" ""
- {dummy.c} "pr12942a.exe" "pr12942.out" "" "c++"}
- {"PR ld/12942 (2)"
- "-O2 -flto -fuse-linker-plugin tmpdir/pr12942a.o tmpdir/pr12942c.o" ""
- {dummy.c} "pr12942c.exe" "pr12942.out" "" "c++"}
- }]
+ set lto_run_tests [concat $lto_run_tests [list \
+ [list "PR ld/12942 (1)" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/pr12942a.o tmpdir/pr12942b.o" "" \
+ {dummy.c} "pr12942a.exe" "pr12942.out" "" "c++"] \
+ [list "PR ld/12942 (2)" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/pr12942a.o tmpdir/pr12942c.o" "" \
+ {dummy.c} "pr12942c.exe" "pr12942.out" "" "c++"] \
+ ]]
}
# LTO run-time tests for ELF
-set lto_run_elf_tests {
- {"LTO 7"
- "-O2 -flto -fuse-linker-plugin tmpdir/lto-7b.o tmpdir/lto-7c.o tmpdir/lto-7a.o -Wl,--no-as-needed tmpdir/liblto-7.so" ""
- {dummy.c} "lto-7.exe" "lto-7.out" "" "c"}
- {"LTO 8"
- "-O2 -flto -fuse-linker-plugin tmpdir/lto-8b.o tmpdir/lto-8a.o" ""
- {dummy.c} "lto-8.exe" "lto-8.out" "" "c"}
- {"LTO TLS IE"
- "-O2 -flto -fuse-linker-plugin" ""
- {run-ie.c} "run-ie.exe" "run-ie.out" "" "c"}
-}
+set lto_run_elf_tests [list \
+ [list "LTO 7" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-7b.o tmpdir/lto-7c.o tmpdir/lto-7a.o -Wl,--no-as-needed tmpdir/liblto-7.so" "" \
+ {dummy.c} "lto-7.exe" "lto-7.out" "" "c"] \
+ [list "LTO 8" \
+ "-O2 -flto -fuse-linker-plugin tmpdir/lto-8b.o tmpdir/lto-8a.o" "" \
+ {dummy.c} "lto-8.exe" "lto-8.out" "" "c"] \
+ [list "LTO TLS IE" \
+ "-O2 -flto -fuse-linker-plugin" "" \
+ {run-ie.c} "run-ie.exe" "run-ie.out" "" "c"] \
+]
run_cc_link_tests $lto_link_tests
# Restrict these to ELF targets that support shared libs and PIC.
-if { [is_elf_format]
- && [run_host_cmd_yesno $CC "-shared -fPIC $srcdir/$subdir/dummy.c -o tmpdir/t.so"] } {
+if { [is_elf_format] && [check_lto_shared_available] } {
run_cc_link_tests $lto_link_elf_tests
set testname "PR ld/15146 (2)"
- set exec_output [run_host_cmd "$CC" "$gcc_gas_flag $gcc_ld_flag -O2 -flto -fuse-linker-plugin -Wl,-rpath-link,. -Wl,--no-copy-dt-needed-entries -Wl,--no-as-needed tmpdir/pr15146d.o tmpdir/pr15146c.so"]
+ set exec_output [run_host_cmd "$CC" "-O2 -flto -fuse-linker-plugin -Wl,-rpath-link,. -Wl,--no-copy-dt-needed-entries -Wl,--no-as-needed tmpdir/pr15146d.o tmpdir/pr15146c.so"]
if { [ regexp "undefined reference to symbol 'xxx'" $exec_output ] } {
pass $testname
} {
fail $testname
}
+ set testname "PR ld/16746 (3)"
+ set exec_output [run_host_cmd "$CC" "-O2 -flto -fuse-linker-plugin tmpdir/pr16746b.o tmpdir/pr16746d.o"]
+ if { [ regexp "warning: foobar" $exec_output ] && ![ regexp "symbol from plugin" $exec_output ] } {
+ pass $testname
+ } {
+ fail $testname
+ }
+ set testname "PR ld/16746 (4)"
+ set exec_output [run_host_cmd "$CC" "-O2 -flto -fuse-linker-plugin tmpdir/pr16746d.o tmpdir/pr16746b.o"]
+ if { [ regexp "warning: foobar" $exec_output ] && ![ regexp "symbol from plugin" $exec_output ] } {
+ pass $testname
+ } {
+ fail $testname
+ }
}
set testname "Build liblto-11.a"
remote_file host delete "tmpdir/liblto-11.a"
-set catch_output [run_host_cmd "$ar" "rc tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"]
+set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"]
if {![string match "" $catch_output]} {
unresolved $testname
restore_notify
@@ -324,7 +378,7 @@ if {![string match "" $catch_output]} {
if { [at_least_gcc_version 4 7] } {
# Check expected LTO linker errors.
set testname "PR ld/12942 (3)"
- set exec_output [run_host_cmd "$CXX" "$gcc_gas_flag $gcc_ld_flag -O2 -flto -fuse-linker-plugin tmpdir/pr12942b.o tmpdir/pr12942a.o"]
+ set exec_output [run_host_cmd "$CXX" "-O2 -flto -fuse-linker-plugin tmpdir/pr12942b.o tmpdir/pr12942a.o"]
if { [ regexp "undefined reference to `link_error\\(\\)'" $exec_output ] } {
pass $testname
} {
diff --git a/binutils-2.25/ld/testsuite/ld-plugin/plugin.exp b/binutils-2.25/ld/testsuite/ld-plugin/plugin.exp
index 329d5116..1fdf9ed1 100644
--- a/binutils-2.25/ld/testsuite/ld-plugin/plugin.exp
+++ b/binutils-2.25/ld/testsuite/ld-plugin/plugin.exp
@@ -1,6 +1,5 @@
# Expect script for ld-plugin tests
-# Copyright 2010
-# Free Software Foundation, Inc.
+# Copyright (C) 2010-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-plugin/pr16746a.c b/binutils-2.25/ld/testsuite/ld-plugin/pr16746a.c
new file mode 100644
index 00000000..1705ef1a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-plugin/pr16746a.c
@@ -0,0 +1,3 @@
+static const char __evoke_link_warning_foobar[]
+ __attribute__ ((used, section (".gnu.warning.foobar\n\t#")))
+ = "foobar";
diff --git a/binutils-2.25/ld/testsuite/ld-plugin/pr16746b.c b/binutils-2.25/ld/testsuite/ld-plugin/pr16746b.c
new file mode 100644
index 00000000..c3b7a78d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-plugin/pr16746b.c
@@ -0,0 +1,5 @@
+static const char __evoke_link_warning_foobar[]
+ __attribute__ ((used, section (".gnu.warning.foobar\n\t#")))
+ = "foobar";
+
+void foobar (void) {}
diff --git a/binutils-2.25/ld/testsuite/ld-plugin/pr16746c.c b/binutils-2.25/ld/testsuite/ld-plugin/pr16746c.c
new file mode 100644
index 00000000..fb68ab7a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-plugin/pr16746c.c
@@ -0,0 +1,8 @@
+extern void foobar (void);
+int
+main (int argc, char **argv)
+{
+ if (__builtin_constant_p (argc))
+ foobar ();
+ return 0;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-plugin/pr16746d.c b/binutils-2.25/ld/testsuite/ld-plugin/pr16746d.c
new file mode 100644
index 00000000..1fee4dd7
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-plugin/pr16746d.c
@@ -0,0 +1,8 @@
+extern void foobar (void);
+int
+main (int argc, char **argv)
+{
+ if (!__builtin_constant_p (argc))
+ foobar ();
+ return 0;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-plugin/pr16846a.c b/binutils-2.25/ld/testsuite/ld-plugin/pr16846a.c
new file mode 100644
index 00000000..2f119a49
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-plugin/pr16846a.c
@@ -0,0 +1,7 @@
+extern int bar (void);
+
+int
+main ()
+{
+ return bar ();
+}
diff --git a/binutils-2.25/ld/testsuite/ld-plugin/pr16846b.c b/binutils-2.25/ld/testsuite/ld-plugin/pr16846b.c
new file mode 100644
index 00000000..bd8ddf35
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-plugin/pr16846b.c
@@ -0,0 +1,7 @@
+extern __thread int foo;
+
+int
+bar (void)
+{
+ return foo;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-plugin/pr16846c.c b/binutils-2.25/ld/testsuite/ld-plugin/pr16846c.c
new file mode 100644
index 00000000..3f39c5bd
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-plugin/pr16846c.c
@@ -0,0 +1 @@
+__thread int foo;
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/aix52.exp b/binutils-2.25/ld/testsuite/ld-powerpc/aix52.exp
index 9241159a..43870182 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/aix52.exp
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/aix52.exp
@@ -1,5 +1,5 @@
# Expect script for AIX 5.2+ tests
-# Copyright 2009 Free Software Foundation
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv1.d b/binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv1.d
new file mode 100644
index 00000000..458c554e
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv1.d
@@ -0,0 +1,44 @@
+#source: startv1.s
+#source: funref.s
+#as: -a64
+#ld: -melf64ppc --emit-stub-syms
+#ld_after_inputfiles: tmpdir/funv1.so
+#readelf: -rs --wide
+# Check that we do the right thing with funref.s that doesn't have
+# anything to mark it as ELFv1 or ELFv2. We should get a dynamic
+# reloc on the function address, and my_func should be undefined
+# dynamic with value zero.
+
+Relocation section .* contains 1 entries:
+.*
+.* R_PPC64_ADDR64 +0+ my_func \+ 0
+
+Symbol table '\.dynsym' contains 5 entries:
+.*
+ 0: .*
+ 1: 0+00000000 0 FUNC GLOBAL DEFAULT UND my_func
+ 2: 0+10010390 0 NOTYPE GLOBAL DEFAULT 11 __bss_start
+ 3: 0+10010390 0 NOTYPE GLOBAL DEFAULT 11 _edata
+ 4: 0+10010390 0 NOTYPE GLOBAL DEFAULT 11 _end
+
+Symbol table '\.symtab' contains 19 entries:
+ Num: Value Size Type Bind Vis Ndx Name
+ 0: .*
+ 1: 0+10000158 0 SECTION LOCAL DEFAULT 1
+ 2: 0+10000170 0 SECTION LOCAL DEFAULT 2
+ 3: 0+10000198 0 SECTION LOCAL DEFAULT 3
+ 4: 0+10000210 0 SECTION LOCAL DEFAULT 4
+ 5: 0+10000248 0 SECTION LOCAL DEFAULT 5
+ 6: 0+10000260 0 SECTION LOCAL DEFAULT 6
+ 7: 0+10000264 0 SECTION LOCAL DEFAULT 7
+ 8: 0+10010268 0 SECTION LOCAL DEFAULT 8
+ 9: 0+10010368 0 SECTION LOCAL DEFAULT 9
+ 10: 0+10010370 0 SECTION LOCAL DEFAULT 10
+ 11: 0+10010388 0 SECTION LOCAL DEFAULT 11
+ 12: 0+10010268 0 OBJECT LOCAL DEFAULT 8 _DYNAMIC
+ 13: 0+10010368 0 NOTYPE GLOBAL DEFAULT 9 func_tab
+ 14: 0+00000000 0 FUNC GLOBAL DEFAULT UND my_func
+ 15: 0+10010370 0 FUNC GLOBAL DEFAULT 10 _start
+ 16: 0+10010390 0 NOTYPE GLOBAL DEFAULT 11 __bss_start
+ 17: 0+10010390 0 NOTYPE GLOBAL DEFAULT 11 _edata
+ 18: 0+10010390 0 NOTYPE GLOBAL DEFAULT 11 _end
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv1b.d b/binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv1b.d
new file mode 100644
index 00000000..69bee95a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv1b.d
@@ -0,0 +1,45 @@
+#source: startv1.s
+#source: funref2.s
+#as: -a64
+#ld: -melf64ppc --emit-stub-syms
+#ld_after_inputfiles: tmpdir/funv1.so
+#readelf: -rs --wide
+# Check that we do the right thing with funref2.s that doesn't have
+# anything to mark it as ELFv1 or ELFv2. Since my_func address is
+# taken in a read-only section we should get a copy reloc for the OPD
+# entry.
+
+Relocation section .* contains 1 entries:
+.*
+.* R_PPC64_COPY .* my_func \+ 0
+
+Symbol table '\.dynsym' contains 5 entries:
+.*
+ 0: .*
+ 1: 0+10010390 4 FUNC GLOBAL DEFAULT 12 my_func
+ 2: 0+10010390 0 NOTYPE GLOBAL DEFAULT 12 __bss_start
+ 3: 0+10010390 0 NOTYPE GLOBAL DEFAULT 11 _edata
+ 4: 0+10010398 0 NOTYPE GLOBAL DEFAULT 12 _end
+
+Symbol table '\.symtab' contains 20 entries:
+.*
+ 0: .*
+ 1: 0+10000158 0 SECTION LOCAL DEFAULT 1
+ 2: 0+10000170 0 SECTION LOCAL DEFAULT 2
+ 3: 0+10000198 0 SECTION LOCAL DEFAULT 3
+ 4: 0+10000210 0 SECTION LOCAL DEFAULT 4
+ 5: 0+10000248 0 SECTION LOCAL DEFAULT 5
+ 6: 0+10000260 0 SECTION LOCAL DEFAULT 6
+ 7: 0+10000264 0 SECTION LOCAL DEFAULT 7
+ 8: 0+1000026c 0 SECTION LOCAL DEFAULT 8
+ 9: 0+10010270 0 SECTION LOCAL DEFAULT 9
+ 10: 0+10010370 0 SECTION LOCAL DEFAULT 10
+ 11: 0+10010388 0 SECTION LOCAL DEFAULT 11
+ 12: 0+10010390 0 SECTION LOCAL DEFAULT 12
+ 13: 0+10010270 0 OBJECT LOCAL DEFAULT 9 _DYNAMIC
+ 14: 0+10000264 0 NOTYPE GLOBAL DEFAULT 7 func_tab
+ 15: 0+10010390 4 FUNC GLOBAL DEFAULT 12 my_func
+ 16: 0+10010370 0 FUNC GLOBAL DEFAULT 10 _start
+ 17: 0+10010390 0 NOTYPE GLOBAL DEFAULT 12 __bss_start
+ 18: 0+10010390 0 NOTYPE GLOBAL DEFAULT 11 _edata
+ 19: 0+10010398 0 NOTYPE GLOBAL DEFAULT 12 _end
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv2.d b/binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv2.d
new file mode 100644
index 00000000..cfa5cb47
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv2.d
@@ -0,0 +1,51 @@
+#source: startv2.s
+#source: funref.s
+#as: -a64
+#ld: -melf64ppc --emit-stub-syms
+#ld_after_inputfiles: tmpdir/funv2.so
+#readelf: -rs --wide
+# Check that we do the right thing with funref.s that doesn't have
+# anything to mark it as ELFv1 or ELFv2. We should get a dynamic
+# reloc on the function address, not have a global entry stub, and
+# my_func should be undefined dynamic with value zero.
+# FIXME someday: No need for a plt entry.
+
+Relocation section .* contains 1 entries:
+.*
+.* R_PPC64_ADDR64 .* my_func \+ 0
+
+Relocation section .* contains 1 entries:
+.*
+.* R_PPC64_JMP_SLOT .* my_func \+ 0
+
+Symbol table '\.dynsym' contains 5 entries:
+.*
+ 0: .*
+ 1: 0+00000000 0 FUNC GLOBAL DEFAULT UND my_func
+ 2: 0+10010438 0 NOTYPE GLOBAL DEFAULT 12 __bss_start
+ 3: 0+10010438 0 NOTYPE GLOBAL DEFAULT 11 _edata
+ 4: 0+10010450 0 NOTYPE GLOBAL DEFAULT 12 _end
+
+Symbol table '\.symtab' contains 21 entries:
+.*
+ 0: .*
+ 1: 0+10000158 0 SECTION LOCAL DEFAULT 1
+ 2: 0+10000170 0 SECTION LOCAL DEFAULT 2
+ 3: 0+10000198 0 SECTION LOCAL DEFAULT 3
+ 4: 0+10000210 0 SECTION LOCAL DEFAULT 4
+ 5: 0+10000248 0 SECTION LOCAL DEFAULT 5
+ 6: 0+10000260 0 SECTION LOCAL DEFAULT 6
+ 7: 0+10000278 0 SECTION LOCAL DEFAULT 7
+ 8: 0+100002c4 0 SECTION LOCAL DEFAULT 8
+ 9: 0+100102c8 0 SECTION LOCAL DEFAULT 9
+ 10: 0+10010428 0 SECTION LOCAL DEFAULT 10
+ 11: 0+10010430 0 SECTION LOCAL DEFAULT 11
+ 12: 0+10010438 0 SECTION LOCAL DEFAULT 12
+ 13: 0+100102c8 0 OBJECT LOCAL DEFAULT 9 _DYNAMIC
+ 14: 0+10000288 0 NOTYPE LOCAL DEFAULT 7 __glink_PLTresolve
+ 15: 0+10010428 0 NOTYPE GLOBAL DEFAULT 10 func_tab
+ 16: 0+00000000 0 FUNC GLOBAL DEFAULT UND my_func
+ 17: 0+10000278 0 NOTYPE GLOBAL DEFAULT 7 _start
+ 18: 0+10010438 0 NOTYPE GLOBAL DEFAULT 12 __bss_start
+ 19: 0+10010438 0 NOTYPE GLOBAL DEFAULT 11 _edata
+ 20: 0+10010450 0 NOTYPE GLOBAL DEFAULT 12 _end
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv2b.d b/binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv2b.d
new file mode 100644
index 00000000..a95faa74
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/ambiguousv2b.d
@@ -0,0 +1,47 @@
+#source: startv2.s
+#source: funref2.s
+#as: -a64
+#ld: -melf64ppc --emit-stub-syms
+#ld_after_inputfiles: tmpdir/funv2.so
+#readelf: -rs --wide
+# Check that we do the right thing with funref2.s that doesn't have
+# anything to mark it as ELFv1 or ELFv2. Since my_func address is
+# taken in a read-only section we should get a plt entry, a global
+# entry stub, and my_func should be undefined dynamic with non-zero
+# value.
+
+Relocation section .* contains 1 entries:
+.*
+.* R_PPC64_JMP_SLOT .* my_func \+ 0
+
+Symbol table '\.dynsym' contains 5 entries:
+.*
+ 0: .*
+ 1: 0+100002b8 0 FUNC GLOBAL DEFAULT UND my_func
+ 2: 0+10010408 0 NOTYPE GLOBAL DEFAULT 11 __bss_start
+ 3: 0+10010408 0 NOTYPE GLOBAL DEFAULT 10 _edata
+ 4: 0+10010420 0 NOTYPE GLOBAL DEFAULT 11 _end
+
+Symbol table '\.symtab' contains 21 entries:
+.*
+ 0: .*
+ 1: 0+10000158 0 SECTION LOCAL DEFAULT 1
+ 2: 0+10000170 0 SECTION LOCAL DEFAULT 2
+ 3: 0+10000198 0 SECTION LOCAL DEFAULT 3
+ 4: 0+10000210 0 SECTION LOCAL DEFAULT 4
+ 5: 0+10000248 0 SECTION LOCAL DEFAULT 5
+ 6: 0+10000260 0 SECTION LOCAL DEFAULT 6
+ 7: 0+100002c8 0 SECTION LOCAL DEFAULT 7
+ 8: 0+100002d0 0 SECTION LOCAL DEFAULT 8
+ 9: 0+100102d0 0 SECTION LOCAL DEFAULT 9
+ 10: 0+10010400 0 SECTION LOCAL DEFAULT 10
+ 11: 0+10010408 0 SECTION LOCAL DEFAULT 11
+ 12: 0+100102d0 0 OBJECT LOCAL DEFAULT 9 _DYNAMIC
+ 13: 0+100002b8 0 NOTYPE LOCAL DEFAULT 6 00000011\.global_entry\.my_func
+ 14: 0+10000270 0 NOTYPE LOCAL DEFAULT 6 __glink_PLTresolve
+ 15: 0+100002c8 0 NOTYPE GLOBAL DEFAULT 7 func_tab
+ 16: 0+100002b8 0 FUNC GLOBAL DEFAULT UND my_func
+ 17: 0+10000260 0 NOTYPE GLOBAL DEFAULT 6 _start
+ 18: 0+10010408 0 NOTYPE GLOBAL DEFAULT 11 __bss_start
+ 19: 0+10010408 0 NOTYPE GLOBAL DEFAULT 10 _edata
+ 20: 0+10010420 0 NOTYPE GLOBAL DEFAULT 11 _end
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/apuinfo-vle.rd b/binutils-2.25/ld/testsuite/ld-powerpc/apuinfo-vle.rd
new file mode 100644
index 00000000..79a09109
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/apuinfo-vle.rd
@@ -0,0 +1,5 @@
+Hex dump of section '\.PPC\.EMB\.apuinfo':
+ 0x00000000 (?:00000008|08000000) (?:00000020|20000000) (?:00000002|02000000) 41505569 .*APUi
+ 0x00000010 6e666f00 (?:00420001|01004200) (?:00430001|01004300) (?:00410001|01004100) nfo.*
+ 0x00000020 (?:01020001|01000201) (?:01040001|01000401) (?:01010001|01000101) (?:00400001|01004000) .*
+ 0x00000030 01000001 .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/apuinfo-vle.s b/binutils-2.25/ld/testsuite/ld-powerpc/apuinfo-vle.s
new file mode 100644
index 00000000..06bfec94
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/apuinfo-vle.s
@@ -0,0 +1,4 @@
+ .text
+ .global apuinfo_vle
+apuinfo_vle:
+ se_blr
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/apuinfo.rd b/binutils-2.25/ld/testsuite/ld-powerpc/apuinfo.rd
index 3c075165..4443638c 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/apuinfo.rd
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/apuinfo.rd
@@ -6,7 +6,6 @@
#target: powerpc-eabi*
Hex dump of section '.PPC.EMB.apuinfo':
- 0x00000000 (00000008|08000000) (00000020|20000000) (00000002|02000000) 41505569 .*APUi
+ 0x00000000 (00000008|08000000) (0000001c|1c000000) (00000002|02000000) 41505569 .*APUi
0x00000010 6e666f00 (00420001|01004200) (00430001|01004300) (00410001|01004100) nfo.*
- 0x00000020 (01020001|01000201) (01010001|01000101) (00400001|01004000) (01040001|01000401) .*
- 0x00000030 01000001 .*
+ 0x00000020 (01020001|01000201) (01010001|01000101) (00400001|01004000) 01000001 .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/defsym.d b/binutils-2.25/ld/testsuite/ld-powerpc/defsym.d
new file mode 100644
index 00000000..1e5b567a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/defsym.d
@@ -0,0 +1,26 @@
+#source: defsym.s
+#as: -a64
+#ld: -melf64ppc --defsym bar=foo
+#objdump: -Dr
+
+.*: file format elf64-powerpc.*
+
+Disassembly of section \.text:
+
+0+100000b0 <_start>:
+ 100000b0: (15 00 00 48|48 00 00 15) bl 100000c4 <(foo|bar)\+0x8>
+ 100000b4: (11 00 00 48|48 00 00 11) bl 100000c4 <(foo|bar)\+0x8>
+ 100000b8: (00 00 00 60|60 00 00 00) nop
+
+0+100000bc <(foo|bar)>:
+ 100000bc: (02 10 40 3c|3c 40 10 02) lis r2,4098
+ 100000c0: (c8 80 42 38|38 42 80 c8) addi r2,r2,-32568
+ 100000c4: (20 00 80 4e|4e 80 00 20) blr
+
+Disassembly of section \.data:
+
+0+100100c8 .*:
+ 100100c8: (bc 00 00 10|00 00 00 00) .*
+ 100100cc: (00 00 00 00|10 00 00 bc) .*
+ 100100d0: (bc 00 00 10|00 00 00 00) .*
+ 100100d4: (00 00 00 00|10 00 00 bc) .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/defsym.s b/binutils-2.25/ld/testsuite/ld-powerpc/defsym.s
new file mode 100644
index 00000000..efca072c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/defsym.s
@@ -0,0 +1,19 @@
+ .text
+ .globl _start
+_start:
+ bl foo
+ bl bar
+ nop
+
+ .globl foo
+ .type foo,@function
+foo:
+ addis 2,12,.TOC.-foo@ha
+ addi 2,2,.TOC.-foo@l
+ .localentry foo,.-foo
+ blr
+ .size foo,.-foo
+
+ .data
+ .dc.a foo
+ .dc.a bar
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2a.s b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2a.s
new file mode 100644
index 00000000..303087a5
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2a.s
@@ -0,0 +1,27 @@
+ .globl f1
+ .type f1,@function
+ .text
+f1:
+ addis 2,12,.TOC.-f1@ha
+ addi 2,2,.TOC.-f1@l
+ .localentry f1,.-f1
+ blr
+ .size f1,.-f1
+
+ .globl f2
+ .type f2,@function
+ .text
+f2:
+ addi 2,12,.TOC.-f2
+ .localentry f2,.-f2
+ blr
+ .size f2,.-f2
+
+ .quad f1
+ .quad f1@localentry
+ .quad f2
+ .quad f2@localentry
+ .quad f3
+ .quad f3@localentry
+ .quad f4
+ .quad f4@localentry
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2b.s b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2b.s
new file mode 100644
index 00000000..9c9d75e9
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2b.s
@@ -0,0 +1,17 @@
+ .globl f3
+ .type f3,@function
+ .text
+f3:
+ addis 2,12,.TOC.-f3@ha
+ addi 2,2,.TOC.-f3@l
+ .localentry f3,.-f3
+ blr
+ .size f3,.-f3
+
+ .globl f4
+ .type f4,@function
+ .text
+f4:
+ .localentry f4,0
+ blr
+ .size f4,.-f4
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2exe.d b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2exe.d
new file mode 100644
index 00000000..c8deda17
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2exe.d
@@ -0,0 +1,41 @@
+#source: elfv2-2a.s
+#source: elfv2-2b.s
+#as: -a64
+#ld: -melf64ppc -e f1
+#objdump: -dr
+
+.*
+
+Disassembly of section \.text:
+
+0+10000078 <f1>:
+.*: (3c 40 10 01|01 10 40 3c) lis r2,4097
+.*: (38 42 80 78|78 80 42 38) addi r2,r2,-32648
+.*: (4e 80 00 20|20 00 80 4e) blr
+0+10000084 <f2>:
+.*: (38 4c 7f f4|f4 7f 4c 38) addi r2,r12,32756
+.*: (4e 80 00 20|20 00 80 4e) blr
+.*: (00 00 00 00|78 00 00 10) .*
+.*: (10 00 00 78|00 00 00 00) .*
+.*: (00 00 00 00|80 00 00 10) .*
+.*: (10 00 00 80|00 00 00 00) .*
+.*: (00 00 00 00|84 00 00 10) .*
+.*: (10 00 00 84|00 00 00 00) .*
+.*: (00 00 00 00|88 00 00 10) .*
+.*: (10 00 00 88|00 00 00 00) .*
+.*: (00 00 00 00|cc 00 00 10) .*
+.*: (10 00 00 cc|00 00 00 00) .*
+.*: (00 00 00 00|d4 00 00 10) .*
+.*: (10 00 00 d4|00 00 00 00) .*
+.*: (00 00 00 00|d8 00 00 10) .*
+.*: (10 00 00 d8|00 00 00 00) .*
+.*: (00 00 00 00|d8 00 00 10) .*
+.*: (10 00 00 d8|00 00 00 00) .*
+
+0+100000cc <f3>:
+.*: (3c 40 10 01|01 10 40 3c) lis r2,4097
+.*: (38 42 80 78|78 80 42 38) addi r2,r2,-32648
+.*: (4e 80 00 20|20 00 80 4e) blr
+
+0+100000d8 <f4>:
+.*: (4e 80 00 20|20 00 80 4e) blr
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2so.d b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2so.d
new file mode 100644
index 00000000..56b14342
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2-2so.d
@@ -0,0 +1,5 @@
+#source: elfv2-2a.s
+#source: elfv2-2b.s
+#as: -a64
+#ld: -melf64ppc -shared -e f1
+#error: .* R_PPC64_ADDR64_LOCAL reloc unsupported in shared libraries and PIEs.*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/elfv2.s b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2.s
new file mode 100644
index 00000000..c2a4c3bf
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2.s
@@ -0,0 +1,32 @@
+ .section .toc,"aw",@progbits
+.L0:
+ .quad x
+
+ .data
+x:
+ .quad f1
+
+ .globl f1
+ .type f1,@function
+ .text
+f1:
+ addis 2,12,.TOC.-f1@ha
+ addi 2,2,.TOC.-f1@l
+ .localentry f1,.-f1
+ mflr 0
+ stdu 1,-32(1)
+ std 0,48(1)
+ bl f1
+ ld 3,.L0@toc(2)
+ bl f2
+ nop
+ ld 3,x@got(2)
+ bl f3
+ nop
+ bl f4
+ nop
+ ld 0,48(1)
+ addi 1,1,32
+ mtlr 0
+ blr
+ .size f1,.-f1
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/elfv2exe.d b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2exe.d
new file mode 100644
index 00000000..9ea816c3
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2exe.d
@@ -0,0 +1,40 @@
+#source: elfv2.s
+#as: -a64
+#ld: -melf64ppc --defsym f2=0x1234 --defsym f3=0x10008888 --defsym f4=0x1200000 --defsym _start=f1
+#objdump: -dr
+
+.*
+
+Disassembly of section \.text:
+
+0+100000c0 <.*\.plt_branch\.f2>:
+.*: (ff ff 82 3d|3d 82 ff ff) addis r12,r2,-1
+.*: (f0 7f 8c e9|e9 8c 7f f0) ld r12,32752\(r12\)
+.*: (a6 03 89 7d|7d 89 03 a6) mtctr r12
+.*: (20 04 80 4e|4e 80 04 20) bctr
+
+0+100000d0 <.*\.plt_branch\.f4>:
+.*: (ff ff 82 3d|3d 82 ff ff) addis r12,r2,-1
+.*: (f8 7f 8c e9|e9 8c 7f f8) ld r12,32760\(r12\)
+.*: (a6 03 89 7d|7d 89 03 a6) mtctr r12
+.*: (20 04 80 4e|4e 80 04 20) bctr
+
+0+100000e0 <_start>:
+.*: (02 10 40 3c|3c 40 10 02) lis r2,4098
+.*: (40 81 42 38|38 42 81 40) addi r2,r2,-32448
+.*: (a6 02 08 7c|7c 08 02 a6) mflr r0
+.*: (e1 ff 21 f8|f8 21 ff e1) stdu r1,-32\(r1\)
+.*: (30 00 01 f8|f8 01 00 30) std r0,48\(r1\)
+.*: (f5 ff ff 4b|4b ff ff f5) bl .* <_start\+0x8>
+.*: (08 80 62 e8|e8 62 80 08) ld r3,-32760\(r2\)
+.*: (c5 ff ff 4b|4b ff ff c5) bl .*\.plt_branch\.f2>
+.*: (00 00 00 60|60 00 00 00) nop
+.*: (10 80 62 e8|e8 62 80 10) ld r3,-32752\(r2\)
+.*: (81 87 00 48|48 00 87 81) bl 10008888 <f3>
+.*: (00 00 00 60|60 00 00 00) nop
+.*: (c1 ff ff 4b|4b ff ff c1) bl .*\.plt_branch\.f4>
+.*: (00 00 00 60|60 00 00 00) nop
+.*: (30 00 01 e8|e8 01 00 30) ld r0,48\(r1\)
+.*: (20 00 21 38|38 21 00 20) addi r1,r1,32
+.*: (a6 03 08 7c|7c 08 03 a6) mtlr r0
+.*: (20 00 80 4e|4e 80 00 20) blr
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/elfv2so.d b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2so.d
new file mode 100644
index 00000000..963dbb63
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/elfv2so.d
@@ -0,0 +1,82 @@
+#source: elfv2.s
+#as: -a64
+#ld: -melf64ppc -shared
+#objdump: -dr
+
+.*
+
+Disassembly of section \.text:
+
+0+300 <.*\.plt_call\.f4>:
+.*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\)
+.*: (38 80 82 e9|e9 82 80 38) ld r12,-32712\(r2\)
+.*: (a6 03 89 7d|7d 89 03 a6) mtctr r12
+.*: (20 04 80 4e|4e 80 04 20) bctr
+
+0+310 <.*\.plt_call\.f3>:
+.*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\)
+.*: (28 80 82 e9|e9 82 80 28) ld r12,-32728\(r2\)
+.*: (a6 03 89 7d|7d 89 03 a6) mtctr r12
+.*: (20 04 80 4e|4e 80 04 20) bctr
+
+0+320 <.*\.plt_call\.f2>:
+.*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\)
+.*: (30 80 82 e9|e9 82 80 30) ld r12,-32720\(r2\)
+.*: (a6 03 89 7d|7d 89 03 a6) mtctr r12
+.*: (20 04 80 4e|4e 80 04 20) bctr
+
+0+330 <.*\.plt_call\.f1>:
+.*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\)
+.*: (40 80 82 e9|e9 82 80 40) ld r12,-32704\(r2\)
+.*: (a6 03 89 7d|7d 89 03 a6) mtctr r12
+.*: (20 04 80 4e|4e 80 04 20) bctr
+
+0+340 <f1>:
+.*: (02 00 4c 3c|3c 4c 00 02) addis r2,r12,2
+.*: (e0 81 42 38|38 42 81 e0) addi r2,r2,-32288
+.*: (a6 02 08 7c|7c 08 02 a6) mflr r0
+.*: (e1 ff 21 f8|f8 21 ff e1) stdu r1,-32\(r1\)
+.*: (30 00 01 f8|f8 01 00 30) std r0,48\(r1\)
+.*: (dd ff ff 4b|4b ff ff dd) bl .*\.plt_call\.f1>
+.*: (08 80 62 e8|e8 62 80 08) ld r3,-32760\(r2\)
+.*: (c5 ff ff 4b|4b ff ff c5) bl .*\.plt_call\.f2>
+.*: (18 00 41 e8|e8 41 00 18) ld r2,24\(r1\)
+.*: (10 80 62 e8|e8 62 80 10) ld r3,-32752\(r2\)
+.*: (a9 ff ff 4b|4b ff ff a9) bl .*\.plt_call\.f3>
+.*: (18 00 41 e8|e8 41 00 18) ld r2,24\(r1\)
+.*: (91 ff ff 4b|4b ff ff 91) bl .*\.plt_call\.f4>
+.*: (18 00 41 e8|e8 41 00 18) ld r2,24\(r1\)
+.*: (30 00 01 e8|e8 01 00 30) ld r0,48\(r1\)
+.*: (20 00 21 38|38 21 00 20) addi r1,r1,32
+.*: (a6 03 08 7c|7c 08 03 a6) mtlr r0
+.*: (20 00 80 4e|4e 80 00 20) blr
+.*: (a0 01 01 00|00 00 00 00) .*
+.*: (00 00 00 00|00 01 01 a0) .*
+
+0+390 <__glink_PLTresolve>:
+.*: (a6 02 08 7c|7c 08 02 a6) mflr r0
+.*: (05 00 9f 42|42 9f 00 05) bcl .*
+.*: (a6 02 68 7d|7d 68 02 a6) mflr r11
+.*: (f0 ff 4b e8|e8 4b ff f0) ld r2,-16\(r11\)
+.*: (a6 03 08 7c|7c 08 03 a6) mtlr r0
+.*: (50 60 8b 7d|7d 8b 60 50) subf r12,r11,r12
+.*: (14 5a 62 7d|7d 62 5a 14) add r11,r2,r11
+.*: (d0 ff 0c 38|38 0c ff d0) addi r0,r12,-48
+.*: (00 00 8b e9|e9 8b 00 00) ld r12,0\(r11\)
+.*: (82 f0 00 78|78 00 f0 82) rldicl r0,r0,62,2
+.*: (a6 03 89 7d|7d 89 03 a6) mtctr r12
+.*: (08 00 6b e9|e9 6b 00 08) ld r11,8\(r11\)
+.*: (20 04 80 4e|4e 80 04 20) bctr
+.*: (00 00 00 60|60 00 00 00) nop
+
+.* <f3@plt>:
+.*: (c8 ff ff 4b|4b ff ff c8) b .* <__glink_PLTresolve>
+
+.* <f2@plt>:
+.*: (c4 ff ff 4b|4b ff ff c4) b .* <__glink_PLTresolve>
+
+.* <f4@plt>:
+.*: (c0 ff ff 4b|4b ff ff c0) b .* <__glink_PLTresolve>
+
+.* <f1@plt>:
+.*: (bc ff ff 4b|4b ff ff bc) b .* <__glink_PLTresolve>
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/export-class.exp b/binutils-2.25/ld/testsuite/ld-powerpc/export-class.exp
index 6171d135..017eeb46 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/export-class.exp
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/export-class.exp
@@ -1,6 +1,6 @@
# Expect script for symbol export classes, PowerPC variation.
#
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/funref.s b/binutils-2.25/ld/testsuite/ld-powerpc/funref.s
new file mode 100644
index 00000000..3f7de479
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/funref.s
@@ -0,0 +1,4 @@
+ .data
+ .globl func_tab
+func_tab:
+ .dc.a my_func
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/funref2.s b/binutils-2.25/ld/testsuite/ld-powerpc/funref2.s
new file mode 100644
index 00000000..a2bf9491
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/funref2.s
@@ -0,0 +1,4 @@
+ .section .rodata,"a",@progbits
+ .globl func_tab
+func_tab:
+ .dc.a my_func
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/funv1.s b/binutils-2.25/ld/testsuite/ld-powerpc/funv1.s
new file mode 100644
index 00000000..e79009d1
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/funv1.s
@@ -0,0 +1,10 @@
+ .globl my_func
+ .type my_func,@function
+ .section .opd,"aw",@progbits
+my_func:
+ .quad .Lmy_func, .TOC.@tocbase
+
+ .text
+.Lmy_func:
+ blr
+ .size my_func,.-.Lmy_func
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/funv2.s b/binutils-2.25/ld/testsuite/ld-powerpc/funv2.s
new file mode 100644
index 00000000..eaff0b35
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/funv2.s
@@ -0,0 +1,6 @@
+ .abiversion 2
+ .globl my_func
+ .type my_func,@function
+my_func:
+ blr
+ .size my_func,.-my_func
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/powerpc.exp b/binutils-2.25/ld/testsuite/ld-powerpc/powerpc.exp
index 8b33fcc3..599b980f 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/powerpc.exp
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/powerpc.exp
@@ -1,6 +1,5 @@
# Expect script for ld-powerpc tests
-# Copyright 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-# Free Software Foundation
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -103,10 +102,13 @@ set ppcelftests {
{{objdump -hw reloc.d}} "reloc.so"}
{"APUinfo section processing" "-melf32ppc" ""
"-a32 -me500" {apuinfo1.s apuinfo-nul.s apuinfo2.s}
- {{readelf -x2 apuinfo.rd}} "apuinfo"}
+ {{readelf -x2 apuinfo.rd}} "apuinfo"}
+ {"APUinfo VLE section processing" "-melf32ppc" ""
+ "-a32 -me500 -mvle" {apuinfo1.s apuinfo-vle.s apuinfo2.s}
+ {{readelf -x2 apuinfo-vle.rd}} "apuinfo-vle"}
{"APUinfo NULL section processing" "-melf32ppc" ""
"-a32 -me500" {apuinfo-nul1.s apuinfo-nul.s}
- {{readelf -x2 apuinfo-nul.rd}} "apuinfo"}
+ {{readelf -x2 apuinfo-nul.rd}} "apuinfo"}
{"TLS32 static exec" "-melf32ppc" "" "-a32" {tls32.s tlslib32.s}
{{objdump -dr tls32.d} {objdump -sj.got tls32.g}
{objdump -sj.tdata tls32.t}}
@@ -213,6 +215,8 @@ set ppc64elftests {
{tocopt4a.s tocopt4b.s} {{objdump -s tocopt4.d}} "tocopt4"}
{"TOC opt5" "-melf64ppc" "" "-a64" {tocopt5.s}
{{objdump -s tocopt5.d}} "tocopt5"}
+ {"ambig shared v1" "-shared -melf64ppc" "" "-a64" {funv1.s} {} "funv1.so"}
+ {"ambig shared v2" "-shared -melf64ppc" "" "-a64" {funv2.s} {} "funv2.so"}
}
set ppceabitests {
@@ -269,6 +273,15 @@ run_ld_link_tests $ppcelftests
if [ supports_ppc64 ] then {
run_ld_link_tests $ppc64elftests
run_dump_test "relbrlt"
+ run_dump_test "elfv2so"
+ run_dump_test "elfv2exe"
+ run_dump_test "elfv2-2so"
+ run_dump_test "elfv2-2exe"
+ run_dump_test "ambiguousv1"
+ run_dump_test "ambiguousv1b"
+ run_dump_test "ambiguousv2"
+ run_dump_test "ambiguousv2b"
+ run_dump_test "defsym"
}
if { [istarget "powerpc*-eabi*"] } {
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/relbrlt.d b/binutils-2.25/ld/testsuite/ld-powerpc/relbrlt.d
index 128e2e39..b04ae7dc 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/relbrlt.d
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/relbrlt.d
@@ -22,9 +22,9 @@ Disassembly of section \.text:
\.\.\.
[0-9a-f ]*<.*plt_branch.*>:
-[0-9a-f ]*: (e9 62 80 00|00 80 62 e9) ld r11,-32768\(r2\)
+[0-9a-f ]*: (e9 82 80 00|00 80 82 e9) ld r12,-32768\(r2\)
[0-9a-f ]*: R_PPC64_TOC16_DS \*ABS\*\+0x157f00e8
-[0-9a-f ]*: (7d 69 03 a6|a6 03 69 7d) mtctr r11
+[0-9a-f ]*: (7d 89 03 a6|a6 03 89 7d) mtctr r12
[0-9a-f ]*: (4e 80 04 20|20 04 80 4e) bctr
[0-9a-f ]*<.*long_branch.*>:
@@ -32,9 +32,9 @@ Disassembly of section \.text:
[0-9a-f ]*: R_PPC64_REL24 \*ABS\*\+0x137e00fc
[0-9a-f ]*<.*plt_branch.*>:
-[0-9a-f ]*: (e9 62 80 08|08 80 62 e9) ld r11,-32760\(r2\)
+[0-9a-f ]*: (e9 82 80 08|08 80 82 e9) ld r12,-32760\(r2\)
[0-9a-f ]*: R_PPC64_TOC16_DS \*ABS\*\+0x157f00f0
-[0-9a-f ]*: (7d 69 03 a6|a6 03 69 7d) mtctr r11
+[0-9a-f ]*: (7d 89 03 a6|a6 03 89 7d) mtctr r12
[0-9a-f ]*: (4e 80 04 20|20 04 80 4e) bctr
\.\.\.
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/startv1.s b/binutils-2.25/ld/testsuite/ld-powerpc/startv1.s
new file mode 100644
index 00000000..c54e1b07
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/startv1.s
@@ -0,0 +1,8 @@
+ .globl _start
+ .section .opd,"aw",@progbits
+_start:
+ .quad .L_start, .TOC.@tocbase
+
+ .text
+.L_start:
+ b _start
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/startv2.s b/binutils-2.25/ld/testsuite/ld-powerpc/startv2.s
new file mode 100644
index 00000000..7187aa5e
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/startv2.s
@@ -0,0 +1,5 @@
+ .abiversion 2
+ .text
+ .globl _start
+_start:
+ b _start
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tls.d b/binutils-2.25/ld/testsuite/ld-powerpc/tls.d
index 3c329808..70820285 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tls.d
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tls.d
@@ -1,7 +1,7 @@
#source: tls.s
#source: tlslib.s
#as: -a64
-#ld:
+#ld:
#objdump: -dr
#target: powerpc64*-*-*
@@ -9,7 +9,7 @@
Disassembly of section \.text:
-0+100000e8 <_start>:
+0+100000e8 <\._start>:
.*: (3c 6d 00 00|00 00 6d 3c) addis r3,r13,0
.*: (60 00 00 00|00 00 00 60) nop
.*: (38 63 90 78|78 90 63 38) addi r3,r3,-28552
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tls.g b/binutils-2.25/ld/testsuite/ld-powerpc/tls.g
index 83f8e066..d4910ca2 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tls.g
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tls.g
@@ -1,12 +1,12 @@
#source: tls.s
#source: tlslib.s
#as: -a64
-#ld:
+#ld:
#objdump: -sj.got
#target: powerpc64*-*-*
.*
Contents of section \.got:
- 100101e0 (00000000|e0810110) (100181e0|00000000) (ffffffff|1880ffff) (ffff8018|ffffffff) .*
- 100101f0 (ffffffff|5880ffff) (ffff8058|ffffffff) .*
+ 100101f8 (00000000|f8810110) (100181f8|00000000) (ffffffff|1880ffff) (ffff8018|ffffffff) .*
+ 10010208 (ffffffff|5880ffff) (ffff8058|ffffffff) .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tls.s b/binutils-2.25/ld/testsuite/ld-powerpc/tls.s
index 5ad9f3d6..49828d0d 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tls.s
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tls.s
@@ -19,8 +19,13 @@ ie4: .quad 0x56789abcdef01234
le4: .quad 0x6789abcdef012345
le5: .quad 0x789abcdef0123456
- .text
+ .section ".opd","aw",@progbits
+ .p2align 3
_start:
+ .quad .L_start,.TOC.@tocbase,0
+
+ .text
+.L_start:
#extern syms
#GD
addi 3,2,gd@got@tlsgd #R_PPC64_GOT_TLSGD16 gd
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.d b/binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.d
index ebbf2f00..747b5e14 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.d
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.d
@@ -14,13 +14,13 @@ Disassembly of section \.text:
.* (7c 60 1b 78|78 1b 60 7c) mr r0,r3
.* (2c 2b 00 00|00 00 2b 2c) cmpdi r11,0
.* (7c 6c 6a 14|14 6a 6c 7c) add r3,r12,r13
-.* (4d 82 00 20|20 00 82 4d) beqlr
+.* (4d 82 00 20|20 00 82 4d) beqlr *
.* (7c 03 03 78|78 03 03 7c) mr r3,r0
.* (7d 68 02 a6|a6 02 68 7d) mflr r11
.* (f9 61 00 20|20 00 61 f9) std r11,32\(r1\)
.* (f8 41 00 28|28 00 41 f8) std r2,40\(r1\)
-.* (e9 62 80 48|48 80 62 e9) ld r11,-32696\(r2\)
-.* (7d 69 03 a6|a6 03 69 7d) mtctr r11
+.* (e9 82 80 48|48 80 82 e9) ld r12,-32696\(r2\)
+.* (7d 89 03 a6|a6 03 89 7d) mtctr r12
.* (e8 42 80 50|50 80 42 e8) ld r2,-32688\(r2\)
.* (4e 80 04 21|21 04 80 4e) bctrl
.* (e9 61 00 20|20 00 61 e9) ld r11,32\(r1\)
@@ -28,7 +28,7 @@ Disassembly of section \.text:
.* (7d 68 03 a6|a6 03 68 7d) mtlr r11
.* (4e 80 00 20|20 00 80 4e) blr
-.* <_start>:
+.* <._start>:
.* (e8 62 80 10|10 80 62 e8) ld r3,-32752\(r2\)
.* (60 00 00 00|00 00 00 60) nop
.* (7c 63 6a 14|14 6a 63 7c) add r3,r3,r13
@@ -67,22 +67,23 @@ Disassembly of section \.text:
.* (e9 4d 90 2a|2a 90 4d e9) lwa r10,-28632\(r13\)
.* (3d 2d 00 00|00 00 2d 3d) addis r9,r13,0
.* (a9 49 90 30|30 90 49 a9) lha r10,-28624\(r9\)
-.* (00 00 00 00|00 02 01 00) .*
-.* (00 01 02 00|00 00 00 00) .*
+.* (00 00 00 00|18 02 01 00) .*
+.* (00 01 02 18|00 00 00 00) .*
.* <__glink_PLTresolve>:
.* (7d 88 02 a6|a6 02 88 7d) mflr r12
.* (42 9f 00 05|05 00 9f 42) bcl 20,4\*cr7\+so,.*
.* (7d 68 02 a6|a6 02 68 7d) mflr r11
.* (e8 4b ff f0|f0 ff 4b e8) ld r2,-16\(r11\)
.* (7d 88 03 a6|a6 03 88 7d) mtlr r12
-.* (7d 82 5a 14|14 5a 82 7d) add r12,r2,r11
-.* (e9 6c 00 00|00 00 6c e9) ld r11,0\(r12\)
-.* (e8 4c 00 08|08 00 4c e8) ld r2,8\(r12\)
-.* (7d 69 03 a6|a6 03 69 7d) mtctr r11
-.* (e9 6c 00 10|10 00 6c e9) ld r11,16\(r12\)
+.* (7d 62 5a 14|14 5a 62 7d) add r11,r2,r11
+.* (e9 8b 00 00|00 00 8b e9) ld r12,0\(r11\)
+.* (e8 4b 00 08|08 00 4b e8) ld r2,8\(r11\)
+.* (7d 89 03 a6|a6 03 89 7d) mtctr r12
+.* (e9 6b 00 10|10 00 6b e9) ld r11,16\(r11\)
.* (4e 80 04 20|20 04 80 4e) bctr
.* (60 00 00 00|00 00 00 60) nop
.* (60 00 00 00|00 00 00 60) nop
.* (60 00 00 00|00 00 00 60) nop
+.* <__tls_get_addr_opt@plt>:
.* (38 00 00 00|00 00 00 38) li r0,0
.* (4b ff ff c4|c4 ff ff 4b) b .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.g b/binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.g
index 3420d202..fb8dbb3b 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.g
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.g
@@ -7,6 +7,6 @@
.*
Contents of section \.got:
-.* (00000000|20860110) (10018620|00000000) (ffffffff|1880ffff) (ffff8018|ffffffff) .*
+.* (00000000|38860110) (10018638|00000000) (ffffffff|1880ffff) (ffff8018|ffffffff) .*
.* 00000000 00000000 00000000 00000000 .*
.* 00000000 00000000 00000000 00000000 .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.r b/binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.r
index 788e6ac0..f78f3007 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.r
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlsexe.r
@@ -1,7 +1,7 @@
#source: tls.s
#source: tlslib.s
#as: -a64
-#ld:
+#ld:
#readelf: -WSsrl
#target: powerpc64*-*-*
@@ -20,6 +20,7 @@ Section Headers:
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.dynamic +DYNAMIC .* 0+160 10 +WA +4 +0 +8
+ +\[[ 0-9]+\] \.opd .*
+\[[ 0-9]+\] \.got +PROGBITS .* 0+30 08 +WA +0 +0 +8
+\[[ 0-9]+\] \.plt +.*
+\[[ 0-9]+\] \.shstrtab +.*
@@ -44,11 +45,11 @@ Program Headers:
Section to Segment mapping:
+Segment Sections\.\.\.
+0+ +
- +01 +\.interp
- +02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text
- +03 +\.tdata \.dynamic \.got \.plt
- +04 +\.dynamic
- +05 +\.tdata \.tbss
+ +01 +\.interp *
+ +02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text *
+ +03 +\.tdata \.dynamic \.opd \.got \.plt *
+ +04 +\.dynamic *
+ +05 +\.tdata \.tbss *
Relocation section '\.rela\.dyn' at offset .* contains 3 entries:
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
@@ -62,30 +63,31 @@ Relocation section '\.rela\.plt' at offset .* contains 1 entries:
Symbol table '\.dynsym' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
-.* NOTYPE +LOCAL +DEFAULT +UND
+.* NOTYPE +LOCAL +DEFAULT +UND *
.* TLS +GLOBAL +DEFAULT +UND gd
.* TLS +GLOBAL +DEFAULT +UND ld
.* TLS +GLOBAL +DEFAULT +9 ld2
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start
.* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
+.* NOTYPE +GLOBAL +DEFAULT +12 _edata
+.* NOTYPE +GLOBAL +DEFAULT +13 _end
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
-.* 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND
-.* SECTION +LOCAL +DEFAULT +1
-.* SECTION +LOCAL +DEFAULT +2
-.* SECTION +LOCAL +DEFAULT +3
-.* SECTION +LOCAL +DEFAULT +4
-.* SECTION +LOCAL +DEFAULT +5
-.* SECTION +LOCAL +DEFAULT +6
-.* SECTION +LOCAL +DEFAULT +7
-.* SECTION +LOCAL +DEFAULT +8
-.* SECTION +LOCAL +DEFAULT +9
-.* SECTION +LOCAL +DEFAULT +10
-.* SECTION +LOCAL +DEFAULT +11
-.* SECTION +LOCAL +DEFAULT +12
+.* 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND *
+.* SECTION +LOCAL +DEFAULT +1 *
+.* SECTION +LOCAL +DEFAULT +2 *
+.* SECTION +LOCAL +DEFAULT +3 *
+.* SECTION +LOCAL +DEFAULT +4 *
+.* SECTION +LOCAL +DEFAULT +5 *
+.* SECTION +LOCAL +DEFAULT +6 *
+.* SECTION +LOCAL +DEFAULT +7 *
+.* SECTION +LOCAL +DEFAULT +8 *
+.* SECTION +LOCAL +DEFAULT +9 *
+.* SECTION +LOCAL +DEFAULT +10 *
+.* SECTION +LOCAL +DEFAULT +11 *
+.* SECTION +LOCAL +DEFAULT +12 *
+.* SECTION +LOCAL +DEFAULT +13 *
.* FILE +LOCAL +DEFAULT +ABS .*
.* TLS +LOCAL +DEFAULT +8 gd4
.* TLS +LOCAL +DEFAULT +8 ld4
@@ -104,12 +106,12 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.* GLOBAL +DEFAULT +9 ld0
.* GLOBAL +DEFAULT +9 le1
.* GLOBAL +DEFAULT +UND ld
-.* NOTYPE +GLOBAL +DEFAULT +7 _start
+.* FUNC +GLOBAL +DEFAULT +11 _start
.* TLS +GLOBAL +DEFAULT +9 ld2
.* TLS +GLOBAL +DEFAULT +9 ld1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start
.* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
+.* NOTYPE +GLOBAL +DEFAULT +12 _edata
+.* NOTYPE +GLOBAL +DEFAULT +13 _end
.* TLS +GLOBAL +DEFAULT +9 gd0
.* TLS +GLOBAL +DEFAULT +9 ie0
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.d b/binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.d
index 635b0eb3..f38ca9cc 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.d
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.d
@@ -14,13 +14,13 @@ Disassembly of section \.text:
.* (7c 60 1b 78|78 1b 60 7c) mr r0,r3
.* (2c 2b 00 00|00 00 2b 2c) cmpdi r11,0
.* (7c 6c 6a 14|14 6a 6c 7c) add r3,r12,r13
-.* (4d 82 00 20|20 00 82 4d) beqlr
+.* (4d 82 00 20|20 00 82 4d) beqlr *
.* (7c 03 03 78|78 03 03 7c) mr r3,r0
.* (7d 68 02 a6|a6 02 68 7d) mflr r11
.* (f9 61 00 20|20 00 61 f9) std r11,32\(r1\)
.* (f8 41 00 28|28 00 41 f8) std r2,40\(r1\)
-.* (e9 62 80 70|70 80 62 e9) ld r11,-32656\(r2\)
-.* (7d 69 03 a6|a6 03 69 7d) mtctr r11
+.* (e9 82 80 70|70 80 82 e9) ld r12,-32656\(r2\)
+.* (7d 89 03 a6|a6 03 89 7d) mtctr r12
.* (e8 42 80 78|78 80 42 e8) ld r2,-32648\(r2\)
.* (4e 80 04 21|21 04 80 4e) bctrl
.* (e9 61 00 20|20 00 61 e9) ld r11,32\(r1\)
@@ -28,7 +28,7 @@ Disassembly of section \.text:
.* (7d 68 03 a6|a6 03 68 7d) mtlr r11
.* (4e 80 00 20|20 00 80 4e) blr
-.* <_start>:
+.* <\._start>:
.* (38 62 80 08|08 80 62 38) addi r3,r2,-32760
.* (4b ff ff b5|b5 ff ff 4b) bl .*
.* (60 00 00 00|00 00 00 60) nop
@@ -51,22 +51,23 @@ Disassembly of section \.text:
.* (89 4d 90 60|60 90 4d 89) lbz r10,-28576\(r13\)
.* (3d 2d 00 00|00 00 2d 3d) addis r9,r13,0
.* (99 49 90 68|68 90 49 99) stb r10,-28568\(r9\)
-.* (00 00 00 00|28 02 01 00) .*
-.* (00 01 02 28|00 00 00 00) .*
+.* (00 00 00 00|40 02 01 00) .*
+.* (00 01 02 40|00 00 00 00) .*
.* <__glink_PLTresolve>:
.* (7d 88 02 a6|a6 02 88 7d) mflr r12
.* (42 9f 00 05|05 00 9f 42) bcl 20,4\*cr7\+so,.*
.* (7d 68 02 a6|a6 02 68 7d) mflr r11
.* (e8 4b ff f0|f0 ff 4b e8) ld r2,-16\(r11\)
.* (7d 88 03 a6|a6 03 88 7d) mtlr r12
-.* (7d 82 5a 14|14 5a 82 7d) add r12,r2,r11
-.* (e9 6c 00 00|00 00 6c e9) ld r11,0\(r12\)
-.* (e8 4c 00 08|08 00 4c e8) ld r2,8\(r12\)
-.* (7d 69 03 a6|a6 03 69 7d) mtctr r11
-.* (e9 6c 00 10|10 00 6c e9) ld r11,16\(r12\)
+.* (7d 62 5a 14|14 5a 62 7d) add r11,r2,r11
+.* (e9 8b 00 00|00 00 8b e9) ld r12,0\(r11\)
+.* (e8 4b 00 08|08 00 4b e8) ld r2,8\(r11\)
+.* (7d 89 03 a6|a6 03 89 7d) mtctr r12
+.* (e9 6b 00 10|10 00 6b e9) ld r11,16\(r11\)
.* (4e 80 04 20|20 04 80 4e) bctr
.* (60 00 00 00|00 00 00 60) nop
.* (60 00 00 00|00 00 00 60) nop
.* (60 00 00 00|00 00 00 60) nop
+.* <__tls_get_addr_opt@plt>:
.* (38 00 00 00|00 00 00 38) li r0,0
.* (4b ff ff c4|c4 ff ff 4b) b .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.g b/binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.g
index 095e111e..b75c8e6f 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.g
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.g
@@ -7,7 +7,7 @@
.*
Contents of section \.got:
-.* (00000000|c0850110) (100185c0|00000000) 00000000 00000000 .*
+.* (00000000|d8850110) (100185d8|00000000) 00000000 00000000 .*
.* 00000000 00000000 00000000 00000000 .*
.* 00000000 00000000 (00000000|01000000) (00000001|00000000) .*
.* 00000000 00000000 (00000000|01000000) (00000001|00000000) .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.r b/binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.r
index 8905d3f1..d238f265 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.r
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlsexetoc.r
@@ -1,7 +1,7 @@
#source: tlslib.s
#source: tlstoc.s
#as: -a64
-#ld:
+#ld:
#readelf: -WSsrl
#target: powerpc64*-*-*
@@ -20,6 +20,7 @@ Section Headers:
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.dynamic +DYNAMIC .* 0+160 10 +WA +4 +0 +8
+ +\[[ 0-9]+\] \.opd .*
+\[[ 0-9]+\] \.got +PROGBITS .* 0+58 08 +WA +0 +0 +8
+\[[ 0-9]+\] \.plt +.*
+\[[ 0-9]+\] \.shstrtab +.*
@@ -44,11 +45,11 @@ Program Headers:
Section to Segment mapping:
+Segment Sections\.\.\.
+0+ +
- +01 +\.interp
- +02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text
- +03 +\.tdata \.dynamic \.got \.plt
- +04 +\.dynamic
- +05 +\.tdata \.tbss
+ +01 +\.interp *
+ +02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text *
+ +03 +\.tdata \.dynamic \.opd \.got \.plt *
+ +04 +\.dynamic *
+ +05 +\.tdata \.tbss *
Relocation section '\.rela\.dyn' at offset .* contains 3 entries:
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
@@ -62,29 +63,30 @@ Relocation section '\.rela\.plt' at offset .* contains 1 entries:
Symbol table '\.dynsym' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
-.* NOTYPE +LOCAL +DEFAULT +UND
+.* NOTYPE +LOCAL +DEFAULT +UND *
.* TLS +GLOBAL +DEFAULT +UND gd
.* TLS +GLOBAL +DEFAULT +UND ld
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start
.* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
+.* NOTYPE +GLOBAL +DEFAULT +12 _edata
+.* NOTYPE +GLOBAL +DEFAULT +13 _end
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
-.* NOTYPE +LOCAL +DEFAULT +UND
-.* SECTION +LOCAL +DEFAULT +1
-.* SECTION +LOCAL +DEFAULT +2
-.* SECTION +LOCAL +DEFAULT +3
-.* SECTION +LOCAL +DEFAULT +4
-.* SECTION +LOCAL +DEFAULT +5
-.* SECTION +LOCAL +DEFAULT +6
-.* SECTION +LOCAL +DEFAULT +7
-.* SECTION +LOCAL +DEFAULT +8
-.* SECTION +LOCAL +DEFAULT +9
-.* SECTION +LOCAL +DEFAULT +10
-.* SECTION +LOCAL +DEFAULT +11
-.* SECTION +LOCAL +DEFAULT +12
+.* NOTYPE +LOCAL +DEFAULT +UND *
+.* SECTION +LOCAL +DEFAULT +1 *
+.* SECTION +LOCAL +DEFAULT +2 *
+.* SECTION +LOCAL +DEFAULT +3 *
+.* SECTION +LOCAL +DEFAULT +4 *
+.* SECTION +LOCAL +DEFAULT +5 *
+.* SECTION +LOCAL +DEFAULT +6 *
+.* SECTION +LOCAL +DEFAULT +7 *
+.* SECTION +LOCAL +DEFAULT +8 *
+.* SECTION +LOCAL +DEFAULT +9 *
+.* SECTION +LOCAL +DEFAULT +10 *
+.* SECTION +LOCAL +DEFAULT +11 *
+.* SECTION +LOCAL +DEFAULT +12 *
+.* SECTION +LOCAL +DEFAULT +13 *
.* FILE +LOCAL +DEFAULT +ABS .*
.* TLS +LOCAL +DEFAULT +8 gd4
.* TLS +LOCAL +DEFAULT +8 ld4
@@ -93,7 +95,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.* TLS +LOCAL +DEFAULT +8 ie4
.* TLS +LOCAL +DEFAULT +8 le4
.* TLS +LOCAL +DEFAULT +8 le5
-.* NOTYPE +LOCAL +DEFAULT +11 \.Lie0
+.* NOTYPE +LOCAL +DEFAULT +12 \.Lie0
.* (FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt)
.* FILE +LOCAL +DEFAULT +ABS .*
.* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC
@@ -104,12 +106,12 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.* TLS +GLOBAL +DEFAULT +9 ld0
.* TLS +GLOBAL +DEFAULT +9 le1
.* TLS +GLOBAL +DEFAULT +UND ld
-.* NOTYPE +GLOBAL +DEFAULT +7 _start
+.* FUNC +GLOBAL +DEFAULT +11 _start
.* TLS +GLOBAL +DEFAULT +9 ld2
.* TLS +GLOBAL +DEFAULT +9 ld1
-.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start
.* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt
-.* NOTYPE +GLOBAL +DEFAULT +11 _edata
-.* NOTYPE +GLOBAL +DEFAULT +12 _end
+.* NOTYPE +GLOBAL +DEFAULT +12 _edata
+.* NOTYPE +GLOBAL +DEFAULT +13 _end
.* TLS +GLOBAL +DEFAULT +9 gd0
.* TLS +GLOBAL +DEFAULT +9 ie0
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlsso.d b/binutils-2.25/ld/testsuite/ld-powerpc/tlsso.d
index 67c07fb3..7fe7e87c 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlsso.d
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlsso.d
@@ -10,14 +10,14 @@ Disassembly of section \.text:
.* <.*plt_call\.__tls_get_addr(|_opt)>:
.* (f8 41 00 28|28 00 41 f8) std r2,40\(r1\)
-.* (e9 62 80 78|78 80 62 e9) ld r11,-32648\(r2\)
-.* (7d 69 03 a6|a6 03 69 7d) mtctr r11
+.* (e9 82 80 78|78 80 82 e9) ld r12,-32648\(r2\)
+.* (7d 89 03 a6|a6 03 89 7d) mtctr r12
.* (e8 42 80 80|80 80 42 e8) ld r2,-32640\(r2\)
.* (28 22 00 00|00 00 22 28) cmpldi r2,0
-.* (4c e2 04 20|20 04 e2 4c) bnectr\+
-.* (48 00 00 ..|.. 00 00 48) b .* <__glink_PLTresolve\+0x38>
+.* (4c e2 04 20|20 04 e2 4c) bnectr\+ *
+.* (48 00 00 ..|.. 00 00 48) b .* <__tls_get_addr@plt>
-.* <_start>:
+.* <\._start>:
.* (38 62 80 20|20 80 62 38) addi r3,r2,-32736
.* (4b ff ff ..|.. ff ff 4b) bl .*plt_call.__tls_get_addr.*
.* (e8 41 00 28|28 00 41 e8) ld r2,40\(r1\)
@@ -57,22 +57,23 @@ Disassembly of section \.text:
.* (3d 2d 00 00|00 00 2d 3d) addis r9,r13,0
.* (a9 49 00 00|00 00 49 a9) lha r10,0\(r9\)
.* (60 00 00 00|00 00 00 60) nop
-.* (00 00 00 00|20 02 01 00) .*
-.* (00 01 02 20|00 00 00 00) .*
+.* (00 00 00 00|38 02 01 00) .*
+.* (00 01 02 38|00 00 00 00) .*
.* <__glink_PLTresolve>:
.* (7d 88 02 a6|a6 02 88 7d) mflr r12
.* (42 9f 00 05|05 00 9f 42) bcl 20,4\*cr7\+so,.*
.* (7d 68 02 a6|a6 02 68 7d) mflr r11
.* (e8 4b ff f0|f0 ff 4b e8) ld r2,-16\(r11\)
.* (7d 88 03 a6|a6 03 88 7d) mtlr r12
-.* (7d 82 5a 14|14 5a 82 7d) add r12,r2,r11
-.* (e9 6c 00 00|00 00 6c e9) ld r11,0\(r12\)
-.* (e8 4c 00 08|08 00 4c e8) ld r2,8\(r12\)
-.* (7d 69 03 a6|a6 03 69 7d) mtctr r11
-.* (e9 6c 00 10|10 00 6c e9) ld r11,16\(r12\)
+.* (7d 62 5a 14|14 5a 62 7d) add r11,r2,r11
+.* (e9 8b 00 00|00 00 8b e9) ld r12,0\(r11\)
+.* (e8 4b 00 08|08 00 4b e8) ld r2,8\(r11\)
+.* (7d 89 03 a6|a6 03 89 7d) mtctr r12
+.* (e9 6b 00 10|10 00 6b e9) ld r11,16\(r11\)
.* (4e 80 04 20|20 04 80 4e) bctr
.* (60 00 00 00|00 00 00 60) nop
.* (60 00 00 00|00 00 00 60) nop
.* (60 00 00 00|00 00 00 60) nop
+.* <__tls_get_addr@plt>:
.* (38 00 00 00|00 00 00 38) li r0,0
.* (4b ff ff c4|c4 ff ff 4b) b .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlsso.g b/binutils-2.25/ld/testsuite/ld-powerpc/tlsso.g
index 85577a65..0ba9fda1 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlsso.g
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlsso.g
@@ -7,7 +7,7 @@
.*
Contents of section \.got:
- 10788 (00000000|88870100) (00018788|00000000) 00000000 00000000 .*
+ 107e0 (00000000|e0870100) (000187e0|00000000) 00000000 00000000 .*
.* 00000000 00000000 00000000 00000000 .*
.* 00000000 00000000 00000000 00000000 .*
.* 00000000 00000000 00000000 00000000 .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlsso.r b/binutils-2.25/ld/testsuite/ld-powerpc/tlsso.r
index bc0c2ca4..ddaaebc3 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlsso.r
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlsso.r
@@ -18,6 +18,7 @@ Section Headers:
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.dynamic .*
+ +\[[ 0-9]+\] \.opd .*
+\[[ 0-9]+\] \.got .*
+\[[ 0-9]+\] \.plt .*
+\[[ 0-9]+\] \.shstrtab .*
@@ -38,13 +39,15 @@ Program Headers:
Section to Segment mapping:
+Segment Sections\.\.\.
- +0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text
- +01 +\.tdata \.dynamic .got \.plt
- +02 +\.dynamic
- +03 +\.tdata \.tbss
+ +0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text *
+ +01 +\.tdata \.dynamic \.opd \.got \.plt *
+ +02 +\.dynamic *
+ +03 +\.tdata \.tbss *
-Relocation section '\.rela\.dyn' at offset .* contains 16 entries:
+Relocation section '\.rela\.dyn' at offset .* contains 18 entries:
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
+[0-9a-f ]+R_PPC64_RELATIVE +55c
+[0-9a-f ]+R_PPC64_RELATIVE +187e0
[0-9a-f ]+R_PPC64_TPREL16 +0+60 le0 \+ 0
[0-9a-f ]+R_PPC64_TPREL16_HA +0+68 le1 \+ 0
[0-9a-f ]+R_PPC64_TPREL16_LO +0+68 le1 \+ 0
@@ -68,38 +71,39 @@ Relocation section '\.rela\.plt' at offset .* contains 1 entries:
Symbol table '\.dynsym' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
-.* NOTYPE +LOCAL +DEFAULT +UND
-.* SECTION +LOCAL +DEFAULT +6
-.* SECTION +LOCAL +DEFAULT +7
+.* NOTYPE +LOCAL +DEFAULT +UND *
+.* SECTION +LOCAL +DEFAULT +6 *
+.* SECTION +LOCAL +DEFAULT +7 *
.* TLS +GLOBAL +DEFAULT +UND gd
.* TLS +GLOBAL +DEFAULT +8 le0
.* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
.* TLS +GLOBAL +DEFAULT +8 ld0
.* TLS +GLOBAL +DEFAULT +8 le1
.* TLS +GLOBAL +DEFAULT +UND ld
-.* NOTYPE +GLOBAL +DEFAULT +6 _start
+.* FUNC +GLOBAL +DEFAULT +10 _start
.* TLS +GLOBAL +DEFAULT +8 ld2
.* TLS +GLOBAL +DEFAULT +8 ld1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
-.* NOTYPE +GLOBAL +DEFAULT +10 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
+.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.* NOTYPE +GLOBAL +DEFAULT +11 _edata
+.* NOTYPE +GLOBAL +DEFAULT +12 _end
.* TLS +GLOBAL +DEFAULT +8 gd0
.* TLS +GLOBAL +DEFAULT +8 ie0
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
-.* NOTYPE +LOCAL +DEFAULT +UND
-.* SECTION +LOCAL +DEFAULT +1
-.* SECTION +LOCAL +DEFAULT +2
-.* SECTION +LOCAL +DEFAULT +3
-.* SECTION +LOCAL +DEFAULT +4
-.* SECTION +LOCAL +DEFAULT +5
-.* SECTION +LOCAL +DEFAULT +6
-.* SECTION +LOCAL +DEFAULT +7
-.* SECTION +LOCAL +DEFAULT +8
-.* SECTION +LOCAL +DEFAULT +9
-.* SECTION +LOCAL +DEFAULT +10
-.* SECTION +LOCAL +DEFAULT +11
+.* NOTYPE +LOCAL +DEFAULT +UND *
+.* SECTION +LOCAL +DEFAULT +1 *
+.* SECTION +LOCAL +DEFAULT +2 *
+.* SECTION +LOCAL +DEFAULT +3 *
+.* SECTION +LOCAL +DEFAULT +4 *
+.* SECTION +LOCAL +DEFAULT +5 *
+.* SECTION +LOCAL +DEFAULT +6 *
+.* SECTION +LOCAL +DEFAULT +7 *
+.* SECTION +LOCAL +DEFAULT +8 *
+.* SECTION +LOCAL +DEFAULT +9 *
+.* SECTION +LOCAL +DEFAULT +10 *
+.* SECTION +LOCAL +DEFAULT +11 *
+.* SECTION +LOCAL +DEFAULT +12 *
.* FILE +LOCAL +DEFAULT +ABS .*
.* TLS +LOCAL +DEFAULT +7 gd4
.* TLS +LOCAL +DEFAULT +7 ld4
@@ -119,11 +123,11 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.* TLS +GLOBAL +DEFAULT +8 ld0
.* TLS +GLOBAL +DEFAULT +8 le1
.* TLS +GLOBAL +DEFAULT +UND ld
-.* NOTYPE +GLOBAL +DEFAULT +6 _start
+.* FUNC +GLOBAL +DEFAULT +10 _start
.* TLS +GLOBAL +DEFAULT +8 ld2
.* TLS +GLOBAL +DEFAULT +8 ld1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
-.* NOTYPE +GLOBAL +DEFAULT +10 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
+.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.* NOTYPE +GLOBAL +DEFAULT +11 _edata
+.* NOTYPE +GLOBAL +DEFAULT +12 _end
.* TLS +GLOBAL +DEFAULT +8 gd0
.* TLS +GLOBAL +DEFAULT +8 ie0
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.d b/binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.d
index faea1c46..dccf82ec 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.d
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.d
@@ -1,7 +1,7 @@
#source: tlslib.s
#source: tlstoc.s
#as: -a64
-#ld:
+#ld:
#objdump: -dr
#target: powerpc64*-*-*
@@ -12,7 +12,7 @@ Disassembly of section \.text:
.* <\.__tls_get_addr>:
.* (4e 80 00 20|20 00 80 4e) blr
-.* <_start>:
+.* <\._start>:
.* (3c 6d 00 00|00 00 6d 3c) addis r3,r13,0
.* (60 00 00 00|00 00 00 60) nop
.* (38 63 90 40|40 90 63 38) addi r3,r3,-28608
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.g b/binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.g
index 9ca4302e..e5c1e313 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.g
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.g
@@ -1,15 +1,15 @@
#source: tlslib.s
#source: tlstoc.s
#as: -a64
-#ld:
+#ld:
#objdump: -sj.got
#target: powerpc64*-*-*
.*
Contents of section \.got:
- 100101a0 (00000000|01000000) (00000001|00000000) 00000000 00000000 .*
- 100101b0 (00000000|01000000) (00000001|00000000) 00000000 00000000 .*
- 100101c0 (00000000|01000000) (00000001|00000000) 00000000 00000000 .*
- 100101d0 (00000000|01000000) (00000001|00000000) 00000000 00000000 .*
- 100101e0 (ffffffff|6080ffff) (ffff8060|ffffffff) 00000000 00000000 .*
+ 100101b8 (00000000|01000000) (00000001|00000000) 00000000 00000000 .*
+ 100101c8 (00000000|01000000) (00000001|00000000) 00000000 00000000 .*
+ 100101d8 (00000000|01000000) (00000001|00000000) 00000000 00000000 .*
+ 100101e8 (00000000|01000000) (00000001|00000000) 00000000 00000000 .*
+ 100101f8 (ffffffff|6080ffff) (ffff8060|ffffffff) 00000000 00000000 .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.s b/binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.s
index 5008d89f..f5dbfdd5 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.s
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlstoc.s
@@ -19,8 +19,13 @@ ie4: .quad 0x56789abcdef01234
le4: .quad 0x6789abcdef012345
le5: .quad 0x789abcdef0123456
- .text
+ .section ".opd","aw",@progbits
+ .p2align 3
_start:
+ .quad .L_start,.TOC.@tocbase,0
+
+ .text
+.L_start:
#extern syms
#GD
addi 3,2,.Lgd@toc
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.d b/binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.d
index 890c31ca..6aa1056b 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.d
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.d
@@ -10,14 +10,14 @@ Disassembly of section \.text:
.* <.*plt_call\.__tls_get_addr(|_opt)>:
.* (f8 41 00 28|28 00 41 f8) std r2,40\(r1\)
-.* (e9 62 80 70|70 80 62 e9) ld r11,-32656\(r2\)
-.* (7d 69 03 a6|a6 03 69 7d) mtctr r11
+.* (e9 82 80 70|70 80 82 e9) ld r12,-32656\(r2\)
+.* (7d 89 03 a6|a6 03 89 7d) mtctr r12
.* (e8 42 80 78|78 80 42 e8) ld r2,-32648\(r2\)
.* (28 22 00 00|00 00 22 28) cmpldi r2,0
-.* (4c e2 04 20|20 04 e2 4c) bnectr\+
-.* (48 00 00 ..|.. 00 00 48) b .* <__glink_PLTresolve\+0x38>
+.* (4c e2 04 20|20 04 e2 4c) bnectr\+ *
+.* (48 00 00 ..|.. 00 00 48) b .* <__tls_get_addr@plt>
-.* <_start>:
+.* <\._start>:
.* (38 62 80 08|08 80 62 38) addi r3,r2,-32760
.* (4b ff ff ..|.. ff ff 4b) bl .*plt_call.__tls_get_addr.*
.* (e8 41 00 28|28 00 41 e8) ld r2,40\(r1\)
@@ -41,22 +41,23 @@ Disassembly of section \.text:
.* (3d 2d 00 00|00 00 2d 3d) addis r9,r13,0
.* (99 49 00 00|00 00 49 99) stb r10,0\(r9\)
.* (60 00 00 00|00 00 00 60) nop
-.* (00 00 00 00|18 02 01 00) .*
-.* (00 01 02 18|00 00 00 00) .*
+.* (00 00 00 00|30 02 01 00) .*
+.* (00 01 02 30|00 00 00 00) .*
.* <__glink_PLTresolve>:
.* (7d 88 02 a6|a6 02 88 7d) mflr r12
.* (42 9f 00 05|05 00 9f 42) bcl 20,4\*cr7\+so,.*
.* (7d 68 02 a6|a6 02 68 7d) mflr r11
.* (e8 4b ff f0|f0 ff 4b e8) ld r2,-16\(r11\)
.* (7d 88 03 a6|a6 03 88 7d) mtlr r12
-.* (7d 82 5a 14|14 5a 82 7d) add r12,r2,r11
-.* (e9 6c 00 00|00 00 6c e9) ld r11,0\(r12\)
-.* (e8 4c 00 08|08 00 4c e8) ld r2,8\(r12\)
-.* (7d 69 03 a6|a6 03 69 7d) mtctr r11
-.* (e9 6c 00 10|10 00 6c e9) ld r11,16\(r12\)
+.* (7d 62 5a 14|14 5a 62 7d) add r11,r2,r11
+.* (e9 8b 00 00|00 00 8b e9) ld r12,0\(r11\)
+.* (e8 4b 00 08|08 00 4b e8) ld r2,8\(r11\)
+.* (7d 89 03 a6|a6 03 89 7d) mtctr r12
+.* (e9 6b 00 10|10 00 6b e9) ld r11,16\(r11\)
.* (4e 80 04 20|20 04 80 4e) bctr
.* (60 00 00 00|00 00 00 60) nop
.* (60 00 00 00|00 00 00 60) nop
.* (60 00 00 00|00 00 00 60) nop
+.* <__tls_get_addr@plt>:
.* (38 00 00 00|00 00 00 38) li r0,0
.* (4b ff ff c4|c4 ff ff 4b) b .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.g b/binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.g
index bb06ba59..9da93ec3 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.g
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.g
@@ -7,7 +7,7 @@
.*
Contents of section \.got:
- 106c8 (00000000|c8860100) (000186c8|00000000) 00000000 00000000 .*
+ 10720 (00000000|20870100) (00018720|00000000) 00000000 00000000 .*
.* 00000000 00000000 00000000 00000000 .*
.* 00000000 00000000 00000000 00000000 .*
.* 00000000 00000000 00000000 00000000 .*
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.r b/binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.r
index 76943e74..f5bdfe34 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.r
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/tlstocso.r
@@ -18,6 +18,7 @@ Section Headers:
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8
+\[[ 0-9]+\] \.dynamic .*
+ +\[[ 0-9]+\] \.opd .*
+\[[ 0-9]+\] \.got .*
+\[[ 0-9]+\] \.plt .*
+\[[ 0-9]+\] \.shstrtab .*
@@ -38,13 +39,15 @@ Program Headers:
Section to Segment mapping:
+Segment Sections\.\.\.
- +0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text
- +01 +\.tdata \.dynamic \.got \.plt
- +02 +\.dynamic
- +03 +\.tdata \.tbss
+ +0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text *
+ +01 +\.tdata \.dynamic \.opd \.got \.plt *
+ +02 +\.dynamic *
+ +03 +\.tdata \.tbss *
-Relocation section '\.rela\.dyn' at offset .* contains 11 entries:
+Relocation section '\.rela\.dyn' at offset .* contains 13 entries:
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
+[0-9a-f ]+R_PPC64_RELATIVE +4dc
+[0-9a-f ]+R_PPC64_RELATIVE +18720
[0-9a-f ]+R_PPC64_TPREL16 +0+60 le0 \+ 0
[0-9a-f ]+R_PPC64_TPREL16_HA +0+68 le1 \+ 0
[0-9a-f ]+R_PPC64_TPREL16_LO +0+68 le1 \+ 0
@@ -63,38 +66,39 @@ Relocation section '\.rela\.plt' at offset .* contains 1 entries:
Symbol table '\.dynsym' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
-.* NOTYPE +LOCAL +DEFAULT +UND
-.* SECTION +LOCAL +DEFAULT +6
-.* SECTION +LOCAL +DEFAULT +7
+.* NOTYPE +LOCAL +DEFAULT +UND *
+.* SECTION +LOCAL +DEFAULT +6 *
+.* SECTION +LOCAL +DEFAULT +7 *
.* TLS +GLOBAL +DEFAULT +UND gd
.* TLS +GLOBAL +DEFAULT +8 le0
.* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr
.* TLS +GLOBAL +DEFAULT +8 ld0
.* TLS +GLOBAL +DEFAULT +8 le1
.* TLS +GLOBAL +DEFAULT +UND ld
-.* NOTYPE +GLOBAL +DEFAULT +6 _start
+.* FUNC +GLOBAL +DEFAULT +10 _start
.* TLS +GLOBAL +DEFAULT +8 ld2
.* TLS +GLOBAL +DEFAULT +8 ld1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
-.* NOTYPE +GLOBAL +DEFAULT +10 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
+.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.* NOTYPE +GLOBAL +DEFAULT +11 _edata
+.* NOTYPE +GLOBAL +DEFAULT +12 _end
.* TLS +GLOBAL +DEFAULT +8 gd0
.* TLS +GLOBAL +DEFAULT +8 ie0
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
-.* NOTYPE +LOCAL +DEFAULT +UND
-.* SECTION +LOCAL +DEFAULT +1
-.* SECTION +LOCAL +DEFAULT +2
-.* SECTION +LOCAL +DEFAULT +3
-.* SECTION +LOCAL +DEFAULT +4
-.* SECTION +LOCAL +DEFAULT +5
-.* SECTION +LOCAL +DEFAULT +6
-.* SECTION +LOCAL +DEFAULT +7
-.* SECTION +LOCAL +DEFAULT +8
-.* SECTION +LOCAL +DEFAULT +9
-.* SECTION +LOCAL +DEFAULT +10
-.* SECTION +LOCAL +DEFAULT +11
+.* NOTYPE +LOCAL +DEFAULT +UND *
+.* SECTION +LOCAL +DEFAULT +1 *
+.* SECTION +LOCAL +DEFAULT +2 *
+.* SECTION +LOCAL +DEFAULT +3 *
+.* SECTION +LOCAL +DEFAULT +4 *
+.* SECTION +LOCAL +DEFAULT +5 *
+.* SECTION +LOCAL +DEFAULT +6 *
+.* SECTION +LOCAL +DEFAULT +7 *
+.* SECTION +LOCAL +DEFAULT +8 *
+.* SECTION +LOCAL +DEFAULT +9 *
+.* SECTION +LOCAL +DEFAULT +10 *
+.* SECTION +LOCAL +DEFAULT +11 *
+.* SECTION +LOCAL +DEFAULT +12 *
.* FILE +LOCAL +DEFAULT +ABS .*
.* TLS +LOCAL +DEFAULT +7 gd4
.* TLS +LOCAL +DEFAULT +7 ld4
@@ -103,7 +107,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.* TLS +LOCAL +DEFAULT +7 ie4
.* TLS +LOCAL +DEFAULT +7 le4
.* TLS +LOCAL +DEFAULT +7 le5
-.* NOTYPE +LOCAL +DEFAULT +10 \.Lie0
+.* NOTYPE +LOCAL +DEFAULT +11 \.Lie0
.* NOTYPE +LOCAL +DEFAULT +UND \.__tls_get_addr
.* FILE +LOCAL +DEFAULT +ABS .*
.* OBJECT +LOCAL +DEFAULT +9 _DYNAMIC
@@ -115,11 +119,11 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.* TLS +GLOBAL +DEFAULT +8 ld0
.* TLS +GLOBAL +DEFAULT +8 le1
.* TLS +GLOBAL +DEFAULT +UND ld
-.* NOTYPE +GLOBAL +DEFAULT +6 _start
+.* FUNC +GLOBAL +DEFAULT +10 _start
.* TLS +GLOBAL +DEFAULT +8 ld2
.* TLS +GLOBAL +DEFAULT +8 ld1
-.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start
-.* NOTYPE +GLOBAL +DEFAULT +10 _edata
-.* NOTYPE +GLOBAL +DEFAULT +11 _end
+.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.* NOTYPE +GLOBAL +DEFAULT +11 _edata
+.* NOTYPE +GLOBAL +DEFAULT +12 _end
.* TLS +GLOBAL +DEFAULT +8 gd0
.* TLS +GLOBAL +DEFAULT +8 ie0
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-1.ld b/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-1.ld
index f2ff319f..3fe37b98 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-1.ld
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-1.ld
@@ -4,7 +4,6 @@ SECTIONS
{ *(.data) *(.ctors) *(.dtors) *(.eh_frame) *(.jcr) }
.text_vle 0x00001000 :
{
- . = ALIGN(16);
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init)
@@ -12,6 +11,6 @@ SECTIONS
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle)
}
- .text_iv . : { . = ALIGN(16); *(.text_iv) }
+ .text_iv ALIGN(16) : { *(.text_iv) }
.iv_handlers 0x0001F000 : { *(.iv_handlers) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-2.ld b/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-2.ld
index 2320b61c..da9a79d6 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-2.ld
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-2.ld
@@ -2,7 +2,6 @@ SECTIONS
{
.text_vle 0x00001000 :
{
- . = ALIGN(16);
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init)
@@ -12,6 +11,6 @@ SECTIONS
}
.data 0x00001400 :
{ *(.data) *(.ctors) *(.dtors) *(.eh_frame) *(.jcr) }
- .text_iv . : { . = ALIGN(16); *(.text_iv) }
+ .text_iv ALIGN(16) : { *(.text_iv) }
.iv_handlers 0x0001F000 : { *(.iv_handlers) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-3.ld b/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-3.ld
index 0ed2f44c..cfb1d889 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-3.ld
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-3.ld
@@ -2,7 +2,6 @@ SECTIONS
{
.text_vle 0x00001000 :
{
- . = ALIGN(16);
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init)
@@ -10,7 +9,7 @@ SECTIONS
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle)
}
- .text_iv . : { . = ALIGN(16); *(.text_iv) }
+ .text_iv ALIGN(16) : { *(.text_iv) }
.data 0x00001400 :
{ *(.data) *(.ctors) *(.dtors) *(.eh_frame) *(.jcr) }
.iv_handlers 0x0001F000 : { *(.iv_handlers) }
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-4.ld b/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-4.ld
index 503fe06e..21304271 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-4.ld
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-4.ld
@@ -2,7 +2,6 @@ SECTIONS
{
.text_vle 0x00001000 :
{
- . = ALIGN(16);
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init)
@@ -10,7 +9,7 @@ SECTIONS
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle)
}
- .text_iv . : { . = ALIGN(16); *(.text_iv) }
+ .text_iv ALIGN(16) : { *(.text_iv) }
.iv_handlers 0x0001F000 : { *(.iv_handlers) }
.data 0x00020400 :
{ *(.data) *(.ctors) *(.dtors) *(.eh_frame) *(.jcr) }
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-6.ld b/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-6.ld
index c8d88dd8..2db76cc7 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-6.ld
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/vle-multiseg-6.ld
@@ -16,7 +16,6 @@ SECTIONS
}
.text_vle 0x00001000 :
{
- . = ALIGN(16);
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text*)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init*)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini*)
@@ -24,14 +23,12 @@ SECTIONS
.text_iv 0x100000 :
{
- . = ALIGN(16);
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_iv)
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.iv_handlers)
} >vle_seg2
.text 0x101000 :
{
- . = ALIGN(16);
INPUT_SECTION_FLAGS (!SHF_PPC_VLE) *(.text*)
}
}
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/vle-reloc-3.d b/binutils-2.25/ld/testsuite/ld-powerpc/vle-reloc-3.d
index e29f4f07..b867bccf 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/vle-reloc-3.d
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/vle-reloc-3.d
@@ -2,7 +2,7 @@
Disassembly of section .text:
-01800094 <sda21_test>:
- 1800094: 1c ad 80 08 e_add16i r5,r13,-32760
- 1800098: 1c a2 80 04 e_add16i r5,r2,-32764
- 180009c: 70 00 00 ac e_li r0,172
+.* <sda21_test>:
+.*: 1c ad 80 08 e_add16i r5,r13,-32760
+.*: 1c a2 80 04 e_add16i r5,r2,-32764
+.*: 70 b0 78 04 e_li r5,-32764
diff --git a/binutils-2.25/ld/testsuite/ld-powerpc/vle.ld b/binutils-2.25/ld/testsuite/ld-powerpc/vle.ld
index 01b65985..ff92a05e 100644
--- a/binutils-2.25/ld/testsuite/ld-powerpc/vle.ld
+++ b/binutils-2.25/ld/testsuite/ld-powerpc/vle.ld
@@ -2,10 +2,11 @@ SECTIONS
{
. = 0x01800000 + SIZEOF_HEADERS;
.text : { *(.text) }
- .PPC.EMB.sdata0 : { *(.PPC.EMB.sdata0) }
.sdata2 : { PROVIDE (_SDA2_BASE_ = 32768); *(.sdata2) }
. = ALIGN (0x10000) + (. & (0x10000 - 1));
.data : { *(.data) }
.sdata : { PROVIDE (_SDA_BASE_ = 32768); *(.sdata) }
+ . = 0xffff8000;
+ .PPC.EMB.sdata0 : { *(.PPC.EMB.sdata0) }
/DISCARD/ : { *(*) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-s390/s390.exp b/binutils-2.25/ld/testsuite/ld-s390/s390.exp
index 1ac11c74..ea9c0182 100644
--- a/binutils-2.25/ld/testsuite/ld-s390/s390.exp
+++ b/binutils-2.25/ld/testsuite/ld-s390/s390.exp
@@ -1,5 +1,5 @@
# Expect script for ld-s390 tests
-# Copyright (C) 2003, 2005, 2007 Free Software Foundation
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/align.exp b/binutils-2.25/ld/testsuite/ld-scripts/align.exp
index 9ea46d0f..1eac9cb0 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/align.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/align.exp
@@ -1,7 +1,6 @@
# Test ALIGN in a linker script.
# By Nathan Sidwell, CodeSourcery LLC
-# Copyright 2004, 2005, 2006, 2007
-# Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/alignof.exp b/binutils-2.25/ld/testsuite/ld-scripts/alignof.exp
index 0f05aeb6..ecdd8dc0 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/alignof.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/alignof.exp
@@ -1,5 +1,5 @@
# Test ALIGNOF in a linker script.
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
# Contributed by Nathan Sidwell <nathan@codesourcery.com>
#
# This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/assert.exp b/binutils-2.25/ld/testsuite/ld-scripts/assert.exp
index b4169ac6..3b8280c2 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/assert.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/assert.exp
@@ -1,7 +1,6 @@
# Test ASSERT in a linker script.
# By Nathan Sidwell, CodeSourcery LLC
-# Copyright 2004, 2005, 2007
-# Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/crossref.exp b/binutils-2.25/ld/testsuite/ld-scripts/crossref.exp
index 061b5aac..4e84481d 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/crossref.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/crossref.exp
@@ -1,7 +1,6 @@
# Test NOCROSSREFS in a linker script.
# By Ian Lance Taylor, Cygnus Support.
-# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2007
-# Free Software Foundation, Inc.
+# Copyright (C) 2000-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -31,9 +30,11 @@ if { ![is_remote host] && [which $CC] == 0 } {
return
}
+global CFLAGS
+set old_CFLAGS "$CFLAGS"
+
# Xtensa targets currently default to putting literal values in a separate
# section and that requires linker script support, so put literals in text.
-global CFLAGS
if [istarget xtensa*-*-*] {
set CFLAGS "$CFLAGS -mtext-section-literals"
}
@@ -41,7 +42,7 @@ if [istarget xtensa*-*-*] {
# If we have a compiler that doesn't use/reference dot-symbols, then
# calls to functions reference the .opd section function descriptor.
# This makes NOCROSSREFS rather useless on powerpc64.
-if [istarget powerpc64*-*-*] {
+if [istarget powerpc64-*-*] {
set CFLAGS "$CFLAGS -mcall-aixdesc"
}
@@ -61,6 +62,7 @@ if { ![ld_compile $CC "$srcdir/$subdir/cross1.c" tmpdir/cross1.o] \
|| ![ld_compile $CC "$srcdir/$subdir/cross2.c" tmpdir/cross2.o] } {
unresolved $test1
unresolved $test2
+ set CFLAGS "$old_CFLAGS"
return
}
@@ -95,6 +97,7 @@ if [string match "" $exec_output] then {
if { ![ld_compile $CC "$srcdir/$subdir/cross3.c" tmpdir/cross3.o] } {
unresolved $test2
+ set CFLAGS "$old_CFLAGS"
return
}
@@ -118,11 +121,13 @@ if [string match "" $exec_output] then {
if { ![ld_compile $CC "$srcdir/$subdir/cross4.c" tmpdir/cross4.o] } {
unresolved $test3
+ set CFLAGS "$old_CFLAGS"
return
}
if ![ld_relocate $ld tmpdir/cross3-partial.o "tmpdir/cross1.o tmpdir/cross4.o"] {
unresolved $test3
+ set CFLAGS "$old_CFLAGS"
return
}
@@ -138,3 +143,5 @@ if [string match "" $exec_output] then {
verbose -log "$exec_output"
fail $test3
}
+
+set CFLAGS "$old_CFLAGS"
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/data.exp b/binutils-2.25/ld/testsuite/ld-scripts/data.exp
index feb22aa2..ad25e9b9 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/data.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/data.exp
@@ -1,7 +1,6 @@
# Test DATA STATEMENT in a linker script.
# By Nathan Sidwell, CodeSourcery LLC
-# Copyright 2004, 2005, 2007
-# Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -24,7 +23,9 @@
# text segment, confusing run_dump_test.
if {[is_aout_format]} {
unsupported data
+ unsupported fill
return
}
run_dump_test data
+run_dump_test fill
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/default-script.exp b/binutils-2.25/ld/testsuite/ld-scripts/default-script.exp
index 2e6fce0a..3e37154c 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/default-script.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/default-script.exp
@@ -1,6 +1,5 @@
# Test --default-script/-dT
-# Copyright 2007, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/defined.exp b/binutils-2.25/ld/testsuite/ld-scripts/defined.exp
index bfee1021..b8710041 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/defined.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/defined.exp
@@ -1,7 +1,6 @@
# Test DEFINED in a linker script.
# By Ian Lance Taylor, Cygnus Support.
-# Copyright 2001, 2003, 2005, 2006, 2007, 2010
-# Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/dynamic-sections.exp b/binutils-2.25/ld/testsuite/ld-scripts/dynamic-sections.exp
index b1b3ae78..ff611b71 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/dynamic-sections.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/dynamic-sections.exp
@@ -1,4 +1,4 @@
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/empty-address.exp b/binutils-2.25/ld/testsuite/ld-scripts/empty-address.exp
index 6a2150f3..048ace97 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/empty-address.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/empty-address.exp
@@ -1,7 +1,6 @@
# Make sure that "dot" is updated for empty sections if their addresses
# are set.
-# Copyright 2006, 2007, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.d b/binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.d
index d9916ddc..ff131ebd 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.d
+++ b/binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.d
@@ -1,14 +1,8 @@
#source: empty-aligned.s
#ld: -T empty-aligned.t
-#readelf: -l --wide
-#xfail: "hppa64-*-*"
-#notarget: frv-*-*linux*
+#readelf: -S --wide
#...
-Program Headers:
- +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg +Align
- +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ [RWE ]+ +0x[0-9a-f]+
-! +LOAD .*
-#...
- +Segment Sections\.\.\.
- +00 +.text
+.* .text .*
+!.* .text[234] .*
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.exp b/binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.exp
index 70da61d6..cbf96629 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.exp
@@ -1,6 +1,5 @@
# Make sure empty aligned sections do not change output layout.
-# Copyright 2005, 2007
-# Free Software Foundation, Inc.
+# Copyright (C) 2005-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.t b/binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.t
index e59bc203..5f6a38d8 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.t
+++ b/binutils-2.25/ld/testsuite/ld-scripts/empty-aligned.t
@@ -6,14 +6,14 @@ SECTIONS
{
*(.text1)
}
- /* Same for alignment at beginning and end. */
+ /* Same for alignment at beginning and end, although we need to be
+ careful in the expression used to align. */
.text2 ALIGN (4096) :
{
*(.text2)
- . = ALIGN (4096);
+ . = ALIGN (. != 0 ? 4096 : 1);
}
- /* Same for alignment just at end, although we need to be careful in
- the expression used to align. */
+ /* Same for alignment just at end. */
.text3 :
{
*(.text3)
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/empty-orphan.exp b/binutils-2.25/ld/testsuite/ld-scripts/empty-orphan.exp
index 0c6ebd7b..6ceba79c 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/empty-orphan.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/empty-orphan.exp
@@ -1,7 +1,6 @@
# Make sure orphan sections do not lead to huge output files.
# By David Heine, Tensilica, Inc.
-# Copyright 2005, 2006, 2007, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2005-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/expr.exp b/binutils-2.25/ld/testsuite/ld-scripts/expr.exp
index 0f92d979..eaf06622 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/expr.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/expr.exp
@@ -1,7 +1,6 @@
# Test expressions in a linker script.
# By Nathan Sidwell, CodeSourcery LLC
-# Copyright 2006, 2007, 2010
-# Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -25,3 +24,4 @@ run_dump_test expr2
run_dump_test sane1
run_dump_test assign-loc
run_dump_test pr14962
+run_dump_test pr14962-2
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/extern.exp b/binutils-2.25/ld/testsuite/ld-scripts/extern.exp
index f05cd350..3823f8d5 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/extern.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/extern.exp
@@ -1,7 +1,6 @@
# Test EXTERN in a linker script.
# By Nathan Sidwell, CodeSourcery LLC
-# Copyright 2007
-# Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/fill.d b/binutils-2.25/ld/testsuite/ld-scripts/fill.d
new file mode 100644
index 00000000..8dd789b0
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/fill.d
@@ -0,0 +1,29 @@
+#source: fill_0.s
+#source: fill_1.s
+#source: fill_2.s
+#ld: -T fill.t
+#objdump: -s -j .text
+#xfail: ia64-*-* alpha-*-*ecoff m32c-*-* mips*-*-* sh-*-pe sparc*-*-coff
+#xfail: tic30-*-coff tic4x-*-* tic54x-*-*
+#xfail: x86_64-*-pe* x86_64-*-mingw* x86_64-*-cygwin z8k-*-*
+# Breaks on ia64 due to minimum alignment of code. The section alignment
+# could be increased to suit ia64 but then we'd break many coff targets
+# that don't support alignment other than 4 bytes.
+# alpha-linuxecoff always aligns code to 16 bytes.
+# m32c pads out code sections to 8 bytes.
+# mips aligns to 16 bytes
+# sh-pe pads out code sections to 16 bytes
+# sparc-coff aligns to 8 bytes
+# tic30-coff aligns to 2 bytes
+# tic4x has 4 octet bytes
+# tic54x doesn't support .p2align
+# x86_64-pe aligns to 16 bytes
+# z8k-coff aligns to 2 bytes
+
+.*: file format .*
+
+Contents of section .text:
+ [0-9a-f]+ cafebabe 01010101 02020202 12232323 .*
+ [0-9a-f]+ 03030303 00345600 00004567 000089ab .*
+ [0-9a-f]+ (deadbeef|efbeadde) 00004567 000089ab 0000cdef .*
+ [0-9a-f]+ 00004567 000089ab 0000cdef 00000123 .*
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/fill.t b/binutils-2.25/ld/testsuite/ld-scripts/fill.t
new file mode 100644
index 00000000..835e009c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/fill.t
@@ -0,0 +1,20 @@
+SECTIONS
+{
+ .text :
+ {
+ . += 4;
+ *0.o(.text)
+ FILL (0x12)
+ *1.o(.text)
+ . += 1;
+ FILL (0x23)
+ *2.o(.text)
+ FILL (0x003456)
+ . += 4;
+ FILL (0x00004567000089ab0000cdef00000123)
+ . += 8;
+ LONG (0xdeadbeef)
+ . += 12;
+ . += 16;
+ } =0xcafebabe
+}
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/fill_0.s b/binutils-2.25/ld/testsuite/ld-scripts/fill_0.s
new file mode 100644
index 00000000..2494a6e2
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/fill_0.s
@@ -0,0 +1,2 @@
+ .text
+ .byte 1,1,1,1
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/fill_1.s b/binutils-2.25/ld/testsuite/ld-scripts/fill_1.s
new file mode 100644
index 00000000..2bbb28e3
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/fill_1.s
@@ -0,0 +1,3 @@
+ .text
+ .p2align 2
+ .byte 2,2,2,2
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/fill_2.s b/binutils-2.25/ld/testsuite/ld-scripts/fill_2.s
new file mode 100644
index 00000000..0b85fb57
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/fill_2.s
@@ -0,0 +1,3 @@
+ .text
+ .p2align 2
+ .byte 3,3,3,3
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/include.exp b/binutils-2.25/ld/testsuite/ld-scripts/include.exp
index 08fa1b61..e4ecf3cd 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/include.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/include.exp
@@ -1,5 +1,5 @@
# Test for proper diagnosis of overflowed memory regions.
-# Copyright 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/log2.exp b/binutils-2.25/ld/testsuite/ld-scripts/log2.exp
index 43827dce..f3fd7f84 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/log2.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/log2.exp
@@ -1,7 +1,6 @@
# Test LOG2() expression in linker script language.
# By Clemens Lang
-# Copyright 2013
-# Free Software Foundation, Inc.
+# Copyright (C) 2013-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/map-address.exp b/binutils-2.25/ld/testsuite/ld-scripts/map-address.exp
index 499a8241..70348e9d 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/map-address.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/map-address.exp
@@ -1,5 +1,5 @@
# Test address printed by --print-map
-# Copyright 2002, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/overlay-size.exp b/binutils-2.25/ld/testsuite/ld-scripts/overlay-size.exp
index 42c43481..df3407af 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/overlay-size.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/overlay-size.exp
@@ -1,5 +1,5 @@
# Test the OVERLAY statement.
-# Copyright 2002, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/overlay-size.t b/binutils-2.25/ld/testsuite/ld-scripts/overlay-size.t
index 0d9af350..68c09861 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/overlay-size.t
+++ b/binutils-2.25/ld/testsuite/ld-scripts/overlay-size.t
@@ -60,5 +60,5 @@ SECTIONS
end_of_data_overlays = . ;
. = 0x8000;
- /DISCARD/ : { *(.reginfo) }
+ /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) }
}
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/phdrs.exp b/binutils-2.25/ld/testsuite/ld-scripts/phdrs.exp
index b7f3682a..64ed7e49 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/phdrs.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/phdrs.exp
@@ -1,7 +1,6 @@
# Test PHDRS in a linker script.
# By Ian Lance Taylor, Cygnus Support.
-# Copyright 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/phdrs2.exp b/binutils-2.25/ld/testsuite/ld-scripts/phdrs2.exp
index b680d854..59bbd6f8 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/phdrs2.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/phdrs2.exp
@@ -1,5 +1,5 @@
# Test PHDRS with empty sections in a linker script.
-# Copyright 2006, 2005, 2007, 2010 Free Software Foundation, Inc,
+# Copyright (C) 2005-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/phdrs3.exp b/binutils-2.25/ld/testsuite/ld-scripts/phdrs3.exp
index 9ab8363e..e1d2e7dd 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/phdrs3.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/phdrs3.exp
@@ -1,6 +1,6 @@
# Test PHDRS in a linker script.
# By Nathan Sidwell <nathan@codesourcery.com>
-# Copyright 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/pr14962-2.d b/binutils-2.25/ld/testsuite/ld-scripts/pr14962-2.d
new file mode 100644
index 00000000..7dd244ec
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/pr14962-2.d
@@ -0,0 +1,10 @@
+#ld: -T pr14962-2.t
+#source: pr14962a.s
+#nm: -n
+#notarget: rx-*-* frv-*-*linux*
+
+#...
+0+2000 [AT] _start
+#...
+0+2000 A x
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/pr14962-2.t b/binutils-2.25/ld/testsuite/ld-scripts/pr14962-2.t
new file mode 100644
index 00000000..f2c603b8
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/pr14962-2.t
@@ -0,0 +1,11 @@
+TOTO = 4096;
+TOTO += 4096;
+
+SECTIONS
+{
+ .text TOTO :
+ {
+ x = ABSOLUTE(TOTO);
+ *(*.text)
+ }
+}
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/provide.exp b/binutils-2.25/ld/testsuite/ld-scripts/provide.exp
index 6db399f6..a6d3514e 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/provide.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/provide.exp
@@ -1,7 +1,6 @@
# Test PROVIDE in a linker script.
# By Nathan Sidwell, CodeSourcery LLC
-# Copyright 2004, 2005, 2006, 2007
-# Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/rgn-at.exp b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at.exp
index 90952736..cc31fa4c 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/rgn-at.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at.exp
@@ -1,5 +1,5 @@
# Test for proper diagnosis of overflowed memory regions.
-# Copyright 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/rgn-at10.d b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at10.d
new file mode 100644
index 00000000..73ebfccf
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at10.d
@@ -0,0 +1,12 @@
+#source: rgn-at10.s
+#ld: -T rgn-at10.t
+#objdump: -h --wide
+#xfail: rx-*-*
+# Test that lma is adjusted in case the section start vma is aligned and
+# lma_region != region if requested by script. Make sure this works with
+# non-load sections.
+
+#...
+.* 0+10000 +0+20000 .*
+.* 0+10100 +0+20100 .*
+.* 0+10100 +0+20100 .*
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/rgn-at10.s b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at10.s
new file mode 100644
index 00000000..b5382058
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at10.s
@@ -0,0 +1,10 @@
+ .text
+ .long 0
+
+ .section .tbss,"awT",%nobits
+ .p2align 8
+ .zero 4
+
+ .data
+ .p2align 4
+ .long 0
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/rgn-at10.t b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at10.t
new file mode 100644
index 00000000..0aa0b27e
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at10.t
@@ -0,0 +1,13 @@
+MEMORY
+{
+ ram : ORIGIN = 0x10000, LENGTH = 0x10000
+ rom : ORIGIN = 0x20000, LENGTH = 0x10000
+}
+
+SECTIONS
+{
+ .text : ALIGN_WITH_INPUT {*(.text)} > ram AT> rom
+ .tbss : ALIGN_WITH_INPUT {*(.tbss)} > ram AT> rom
+ .data : ALIGN_WITH_INPUT {*(.data)} > ram AT> rom
+ /DISCARD/ : {*(*)}
+}
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/rgn-at11.d b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at11.d
new file mode 100644
index 00000000..9ebbd284
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at11.d
@@ -0,0 +1,11 @@
+#source: rgn-at10.s
+#ld: -T rgn-at11.t
+#objdump: -h --wide
+#xfail: rx-*-*
+# Test that lma is not adjusted in case the section start vma is aligned and
+# lma_region != region if not requested by script.
+
+#...
+.* 0+10000 +0+20000 .*
+.* 0+10100 +0+20004 .*
+.* 0+10100 +0+20004 .*
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/rgn-at11.t b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at11.t
new file mode 100644
index 00000000..4f07c9db
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at11.t
@@ -0,0 +1,13 @@
+MEMORY
+{
+ ram : ORIGIN = 0x10000, LENGTH = 0x10000
+ rom : ORIGIN = 0x20000, LENGTH = 0x10000
+}
+
+SECTIONS
+{
+ .text : ALIGN_WITH_INPUT {*(.text)} > ram AT> rom
+ .tbss : {*(.tbss)} > ram AT> rom
+ .data : ALIGN_WITH_INPUT {*(.data)} > ram AT> rom
+ /DISCARD/ : {*(*)}
+}
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/rgn-at9.d b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at9.d
new file mode 100644
index 00000000..e6384b45
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at9.d
@@ -0,0 +1,10 @@
+#source: rgn-at6.s
+#ld: -T rgn-at9.t
+#objdump: -h --wide
+#xfail: rx-*-*
+# Test that lma is adjusted in case the section start vma is aligned and
+# lma_region != region if requested by script.
+
+#...
+.* 0+10000 +0+20080 .*
+.* 0+10100 +0+20180 .*
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/rgn-at9.t b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at9.t
new file mode 100644
index 00000000..7342e644
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/rgn-at9.t
@@ -0,0 +1,12 @@
+MEMORY
+{
+ ram : ORIGIN = 0x10000, LENGTH = 0x10000
+ rom : ORIGIN = 0x20080, LENGTH = 0x10000
+}
+
+SECTIONS
+{
+ .text : ALIGN_WITH_INPUT {*(.text)} > ram AT> rom
+ .data : ALIGN_WITH_INPUT {*(.data)} > ram AT> rom
+ /DISCARD/ : {*(*)}
+}
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/rgn-over.exp b/binutils-2.25/ld/testsuite/ld-scripts/rgn-over.exp
index 8192487b..881f3bfc 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/rgn-over.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/rgn-over.exp
@@ -1,5 +1,5 @@
# Test for proper diagnosis of overflowed memory regions.
-# Copyright 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/script.exp b/binutils-2.25/ld/testsuite/ld-scripts/script.exp
index 41432f95..68346e0a 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/script.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/script.exp
@@ -1,6 +1,6 @@
# Test basic linker script functionality
# By Ian Lance Taylor, Cygnus Support
-# Copyright 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/section-flags.exp b/binutils-2.25/ld/testsuite/ld-scripts/section-flags.exp
index 0d36f656..f48100cf 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/section-flags.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/section-flags.exp
@@ -2,7 +2,7 @@
#
# This file is part of the GNU Binutils.
#
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/section-match.exp b/binutils-2.25/ld/testsuite/ld-scripts/section-match.exp
index bdca8cfc..f118b652 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/section-match.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/section-match.exp
@@ -1,5 +1,5 @@
# Expect script for section regular expressions tests
-# Copyright (C) 2010 Free Software Foundation
+# Copyright (C) 2010-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/size.exp b/binutils-2.25/ld/testsuite/ld-scripts/size.exp
index 1d59158c..06ffc8ad 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/size.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/size.exp
@@ -1,5 +1,5 @@
# Expect script for SIZEOF tests
-# Copyright (C) 2004, 2005, 2007 Free Software Foundation
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/sizeof.exp b/binutils-2.25/ld/testsuite/ld-scripts/sizeof.exp
index ed5d1919..24003cda 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/sizeof.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/sizeof.exp
@@ -1,8 +1,7 @@
# Test SIZEOF in a linker script.
# By Ian Lance Taylor, Cygnus Support
# Based on a bug report from anders.blomdell@control.lth.se.
-# Copyright 2001, 2005, 2007
-# Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/sort.exp b/binutils-2.25/ld/testsuite/ld-scripts/sort.exp
index 47950a74..7371ee82 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/sort.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/sort.exp
@@ -1,7 +1,6 @@
# Test SORT_BY_NAME/SORT_BY_ALIGNMENT/SORT in a linker script.
# By H.J. Lu <hongjiu.lu@intel.com>
-# Copyright 2004, 2005, 2007
-# Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/sysroot-prefix-x.s b/binutils-2.25/ld/testsuite/ld-scripts/sysroot-prefix-x.s
new file mode 100644
index 00000000..9b81905b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/sysroot-prefix-x.s
@@ -0,0 +1,5 @@
+ .data
+ .globl x
+x:
+ .dc.a y
+
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/sysroot-prefix-y.s b/binutils-2.25/ld/testsuite/ld-scripts/sysroot-prefix-y.s
new file mode 100644
index 00000000..f05ffa01
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/sysroot-prefix-y.s
@@ -0,0 +1,4 @@
+ .data
+ .globl y
+y:
+ .dc.a 0
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/sysroot-prefix.exp b/binutils-2.25/ld/testsuite/ld-scripts/sysroot-prefix.exp
new file mode 100644
index 00000000..65c9f707
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-scripts/sysroot-prefix.exp
@@ -0,0 +1,190 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# This file is part of the GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+
+# Check that scripts using the "=" sysroot-prefix work, for both
+# toolchains with and without --sysroot support.
+
+# We test this by emitting archives into a subdirectory and expect
+# constructs such as GROUP and AS_NEEDED (the only two constructs
+# actually tested) to find them (or not); both quoted and unquoted
+# paths, with different prefixes on the path and with --sysroot
+# present or not, with different arguments.
+
+# Find out if the linker supports sysroot; if it was configured
+# "--with-sysroot X" where X is a non-empty string.
+set with_sysroot [check_sysroot_available]
+verbose -log "Has (non-empty) sysroot support: $with_sysroot; \"$ld_sysroot\""
+
+# We also need to know if the sysroot is "/" (a common use) as some of
+# the tests prepend sysroot to the current directory and on most
+# common systems "//dir/path" is handled as "/dir/path".
+if {$ld_sysroot == "/"} {
+ # Use a modified test-subset for testing.
+ set with_sysroot 3
+}
+
+# Entries in the array-tables:
+# 0: Testtype; an inclusive bitmask indicating that the test should run on a
+# build configured for: 1: non-sysroot, 2: sysroot != "/", 4: sysroot == "/".
+# 1: Description, forming part of the dejagnu test-name.
+# 2: Replacement for @p@.
+# 3: Option to pass to linker (usually something with --sysroot).
+# 4: Message substring; a substring to match against the error message
+# if an error is expected, or empty if no error is expected.
+#
+# If the replacement or option contains @cwd@, that'll be replaced by
+# "$base_dir/tmpdir", the full path to the location of the script
+# (with the actual files in the "sysroot" subdirectory). If the
+# description contains @cwd@, that will be replaced by "<CWD>".
+
+set sysroot_prefix_tests {
+ {7 "plain -Lpath" "sysroot/" {} ""}
+ {7 "root-anchored but -Lpath" "/sysroot/" {} "cannot find"}
+ {7 "full-path" "@cwd@/sysroot/" {} ""}
+ {7 "root-anchored =-prefixed -Lpath" "=/sysroot/" {} "cannot find"}
+ {7 "full-path =-prefixed with empty" "=@cwd@/sysroot/" "--sysroot=" ""}
+ {7 "plain =-prefixed with empty" "=sysroot/" "--sysroot=" ""}
+ {6 "root-anchored but script outside sysroot" "/" "--sysroot=@cwd@/sysroot" "cannot find"}
+ {6 "root-anchored and script inside sysroot" "/sysroot/" "--sysroot=@cwd@" ""}
+ {6 "root-anchored =-prefixed script outside" "=/" "--sysroot=@cwd@/sysroot" ""}
+ {6 "root-anchored =-prefixed script inside" "=/sysroot/" "--sysroot=@cwd@" ""}
+ {2 "plain =-prefixed without but -Lpath" "=sysroot/" {} "cannot find"}
+ {2 "full-path =-prefixed without" "=@cwd@/sysroot/" {} "cannot find"}
+ {1 "plain =-prefixed -Lpath" "=sysroot/" {} ""}
+ {1 "full-path =-prefixed without" "=@cwd@/sysroot/" {} ""}
+}
+
+# May have to provide a target-specific assembler option for some targets.
+set gasopt ""
+
+# Intentionally similar to the ubiquitous glibc libc.so script.
+set template "GROUP ( @q@@p@tmp/ldtest-xyzzy/libx.a@q@ AS_NEEDED ( @q@@p@tmp/ldtest-xyzzy/liby.a@q@ ) )"
+
+# Set up everything from the variables above.
+proc sysroot_prefix_test_setup { } {
+ global as gasopt srcdir subdir ar
+
+ if {![ld_assemble_flags $as $gasopt $srcdir/$subdir/pr14962a.s tmpdir/main.o]} {
+ error "Error assembling a trivial file for sysroot-prefix tests framework"
+ return 0
+ }
+
+ # We need somewhere under tmpdir to point the sysroot, a subdirectory
+ # that is benevolent if it escapes into "/".
+ remote_exec host "mkdir -p tmpdir/sysroot/tmp/ldtest-xyzzy"
+
+ # 0: a "main" object that needs a symbol (x) (most portably by
+ # using a pre-existing file). 1: a library with an object that
+ # provides that symbol and needs another one (y). 2: another
+ # library with a third object providing that other symbol.
+ set sysroot_prefix_tests_framework_objects {
+ {"pr14962a.s" "main" ""}
+ {"sysroot-prefix-x.s" "x" "x"}
+ {"sysroot-prefix-y.s" "y" "y"}
+ }
+
+ foreach test_object $sysroot_prefix_tests_framework_objects {
+ set sname [lindex $test_object 0]
+ set onamebase [lindex $test_object 1]
+ set oname "tmpdir/$onamebase.o"
+ set libnamebase [lindex $test_object 2]
+
+ if ![ld_assemble_flags $as $gasopt $srcdir/$subdir/$sname $oname] {
+ error "Error assembling trivial file $sname for sysroot-prefix tests framework"
+ return 0
+ }
+
+ if { [string length $libnamebase] != 0 &&
+ ![ar_simple_create $ar "" tmpdir/sysroot/tmp/ldtest-xyzzy/lib$libnamebase.a $oname] } {
+ error "Error creating archive $libnamebase for sysroot-prefix tests framework"
+ return 0
+ }
+ }
+
+ return 1
+}
+
+# Run a single linker test.
+proc single_sysroot_prefix_test { type xtestname finalscript ldopt errstr } {
+ global ld exec_output with_sysroot
+ set scriptname "tmpdir/libsysroottest.a"
+ set testname "sysroot-prefix $xtestname"
+
+ if { ($type & ($with_sysroot + 1)) == 0 } {
+ unsupported $testname
+ return
+ }
+
+ if [catch { set ofd [open $scriptname w] } x] {
+ perror "$x"
+ unresolved $testname
+ return
+ }
+
+ puts $ofd "$finalscript"
+ close $ofd
+ verbose -log "script: $finalscript"
+
+ set res [ld_simple_link $ld tmpdir/output "$ldopt tmpdir/main.o -Ltmpdir -lsysroottest"]
+ set ld_output "$exec_output"
+ set expect_success [expr [string length $errstr] == 0]
+
+ if { $res == $expect_success &&
+ ($expect_success || [regexp "$errstr" $ld_output]) } {
+ pass $testname
+ catch "exec rm -f $scriptname"
+ } {
+ fail $testname
+ }
+}
+
+# Run all interesting variants from an option-and-path combination.
+proc run_sysroot_prefix_test { type name templ p ldopt errstr } {
+ global base_dir
+ set qlist { { "quoted" "\"" } { "unquoted" {} } }
+
+ regsub -all "@p@" $templ $p templ
+ regsub -all "@cwd@" $templ "$base_dir/tmpdir" templ
+ regsub -all "@cwd@" $ldopt "$base_dir/tmpdir" ldopt
+ regsub -all "@cwd@" $name "<CWD>" name
+
+ foreach qitems $qlist {
+ regsub -all "@q@" $templ [lindex $qitems 1] finalscript
+ single_sysroot_prefix_test $type "$name, [lindex $qitems 0]" \
+ $finalscript $ldopt $errstr
+ }
+}
+
+# Run a list of option-and-path test-combinations.
+proc run_sysroot_prefix_tests { descr templ items } {
+ foreach item $items {
+ set type [lindex $item 0]
+ set name [lindex $item 1]
+ set p [lindex $item 2]
+ set ldopt [lindex $item 3]
+ set errstr [lindex $item 4]
+ run_sysroot_prefix_test $type "$descr $name" $templ "$p" "$ldopt" "$errstr"
+ }
+}
+
+if ![sysroot_prefix_test_setup] {
+ return
+}
+
+run_sysroot_prefix_tests "common" $template $sysroot_prefix_tests
diff --git a/binutils-2.25/ld/testsuite/ld-scripts/weak.exp b/binutils-2.25/ld/testsuite/ld-scripts/weak.exp
index cba6e253..39a49f5f 100644
--- a/binutils-2.25/ld/testsuite/ld-scripts/weak.exp
+++ b/binutils-2.25/ld/testsuite/ld-scripts/weak.exp
@@ -1,7 +1,6 @@
# Test weak symbols.
# By Ian Lance Taylor, Cygnus Solutions.
-# Copyright 1999, 2000, 2002, 2004, 2005, 2006, 2007, 2009, 2011
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -34,8 +33,8 @@ if {! [istarget i?86-*-*] && ! [istarget sh-*-*]} {
setup_xfail *-*-pe*
}
-# hppa64 and or32 are incredibly broken
-setup_xfail hppa64-*-* or32-*-*
+# hppa64 is incredibly broken
+setup_xfail hppa64-*-*
if {! [ld_assemble $as $srcdir/$subdir/weak1.s tmpdir/weak1.o]
|| ! [ld_assemble $as $srcdir/$subdir/weak2.s tmpdir/weak2.o]} then {
diff --git a/binutils-2.25/ld/testsuite/ld-selective/sel-dump.exp b/binutils-2.25/ld/testsuite/ld-selective/sel-dump.exp
index d9ac24b6..324caef3 100644
--- a/binutils-2.25/ld/testsuite/ld-selective/sel-dump.exp
+++ b/binutils-2.25/ld/testsuite/ld-selective/sel-dump.exp
@@ -1,5 +1,5 @@
# Expect script for ld selective linking tests running run_dump_test
-# Copyright 2002, 2005, 2004, 2007, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-selective/selective.exp b/binutils-2.25/ld/testsuite/ld-selective/selective.exp
index 23c23dd8..99ea0122 100644
--- a/binutils-2.25/ld/testsuite/ld-selective/selective.exp
+++ b/binutils-2.25/ld/testsuite/ld-selective/selective.exp
@@ -1,6 +1,5 @@
# Expect script for LD selective linking tests
-# Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1998-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-sh/adjsw8.s b/binutils-2.25/ld/testsuite/ld-sh/adjsw8.s
new file mode 100644
index 00000000..6518e26b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-sh/adjsw8.s
@@ -0,0 +1,16 @@
+L0: .byte L1-L0
+ .byte L2-L0
+ .byte L3-L0
+ .align 1
+L1: mov.l 1f,r1
+ .uses L1
+ jmp @r1
+ nop
+L2: mov.l 1f,r1
+ .uses L2
+ jmp @r1
+ nop
+L3: nop
+ .align 2
+1: .long 2f
+2:
diff --git a/binutils-2.25/ld/testsuite/ld-sh/arch/arch.exp b/binutils-2.25/ld/testsuite/ld-sh/arch/arch.exp
index acc322e5..c4e6f6fe 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/arch/arch.exp
+++ b/binutils-2.25/ld/testsuite/ld-sh/arch/arch.exp
@@ -1,5 +1,4 @@
-# Copyright (C) 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-sh/rd-sh.exp b/binutils-2.25/ld/testsuite/ld-sh/rd-sh.exp
index b6009614..01467805 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/rd-sh.exp
+++ b/binutils-2.25/ld/testsuite/ld-sh/rd-sh.exp
@@ -1,5 +1,5 @@
# Expect script for run_dump_test based ld-sh tests.
-# Copyright 2001, 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh-vxworks.exp b/binutils-2.25/ld/testsuite/ld-sh/sh-vxworks.exp
index ab2c1c8e..de943a5b 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh-vxworks.exp
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh-vxworks.exp
@@ -1,5 +1,5 @@
# Expect script for VxWorks targeted SH linker tests
-# Copyright 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh.exp b/binutils-2.25/ld/testsuite/ld-sh/sh.exp
index 90afaee2..417daf7f 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh.exp
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh.exp
@@ -1,6 +1,5 @@
# Expect script for ld-sh tests
-# Copyright 1995, 1996, 1997, 2001, 2002, 2003, 2005, 2006, 2007, 2010
-# Free Software Foundation, Inc.
+# Copyright (C) 1995-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -50,7 +49,7 @@ if ![ld_assemble $as "-relax $srcdir/$subdir/sh1.s" tmpdir/sh1.o] {
verbose "bad output from nm"
fail $testsimple
} else {
- if {$nm_output(bar) != $nm_output(foo) + 4} {
+ if {$nm_output(bar) != $nm_output(foo) + 0xc} {
send_log "foo == $nm_output(foo)\n"
verbose "foo == $nm_output(foo)"
send_log "bar == $nm_output(bar)\n"
@@ -111,6 +110,26 @@ if ![ld_simple_link $ld tmpdir/sh1.s1 $srec_relax_arg ] {
}
}
+set testadjsw8 "SH switch8 adjustment after relax"
+if ![ld_assemble $as "-relax $srcdir/$subdir/adjsw8.s" tmpdir/adjsw8.o] {
+ unresolved $testadjsw8
+} else {
+ if ![ld_simple_link $ld tmpdir/adjsw8 "-relax tmpdir/adjsw8.o"] {
+ fail $testadjsw8
+ } else {
+ send_log "exec $objdump -s tmpdir/adjsw8\n"
+ verbose "exec $objdump -s tmpdir/adjsw8"
+ catch "exec $objdump -s tmpdir/adjsw8" exec_output
+ if [string match "*04080c00*" $exec_output] {
+ pass $testadjsw8
+ } else {
+ send_log "bad switch table\n"
+ verbose "bad switch table"
+ fail $testadjsw8
+ }
+ }
+}
+
set testlink "SH relaxing"
set testjsr "SH confirm relaxing"
set testrun "SH relaxing execution"
@@ -130,7 +149,7 @@ if [istarget sh*-*linux*] {
}
if {![ld_assemble $as "-relax tmpdir/start.s" tmpdir/start.o] \
- || ![ld_compile $CC "-O -mrelax $srcdir/$subdir/sh2.c" tmpdir/sh2.o]} {
+ || ![ld_compile $CC "-O -mrelax -foptimize-sibling-calls $srcdir/$subdir/sh2.c" tmpdir/sh2.o]} {
unresolved $testlink
unresolved $testjsr
unresolved $testrun
@@ -149,7 +168,8 @@ pass $testlink
send_log "$objdump -d tmpdir/sh2\n"
verbose "$objdump -d tmpdir/sh2"
catch "exec $objdump -d tmpdir/sh2" exec_output
-if [string match "*jsr*" $exec_output] {
+if {[string match "*jsr*" $exec_output]
+ || [string match "*jmp*" $exec_output]} {
fail $testjsr
} else {
pass $testjsr
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh1.s b/binutils-2.25/ld/testsuite/ld-sh/sh1.s
index d18e4390..b1f718df 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh1.s
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh1.s
@@ -4,7 +4,12 @@ L1:
mov.l L2,r0
.uses L1
jsr @r0
+ nop
+ .uses L1
+ jmp @r0
+ nop
rts
+ nop
.align 2
L2:
.long bar
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/abi32.xd b/binutils-2.25/ld/testsuite/ld-sh/sh64/abi32.xd
index f451b813..695ea4ea 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/abi32.xd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/abi32.xd
@@ -30,7 +30,6 @@ SYMBOL TABLE:
0+ l df \*ABS\* 0+ .*
0+10fc l \.data 0+ foobar2
0+1060 l \.text 0+ 0x04 plugh
-0+ l df \*ABS\* 0+ .*
0+10f8 g \.data 0+ foobar
0+10e8 g \.data 0+ baz
0+10e8 g .* 0+ ___dtors
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/abi64.xd b/binutils-2.25/ld/testsuite/ld-sh/sh64/abi64.xd
index 7018739b..13bb333a 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/abi64.xd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/abi64.xd
@@ -29,7 +29,6 @@ SYMBOL TABLE:
0000000000000000 l df \*ABS\* 0000000000000000 .*
0000000000001144 l \.data 0000000000000000 foobar2
00000000000010a8 l \.text 0000000000000000 0x04 plugh
-0000000000000000 l df \*ABS\* 0000000000000000 .*
0000000000001140 g \.data 0000000000000000 foobar
0000000000001130 g \.data 0000000000000000 baz
0000000000001130 g .* 0000000000000000 ___dtors
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/cmpct1.xd b/binutils-2.25/ld/testsuite/ld-sh/sh64/cmpct1.xd
index b32f8209..77e6e84f 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/cmpct1.xd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/cmpct1.xd
@@ -26,7 +26,6 @@ SYMBOL TABLE:
0+ l df \*ABS\* 0+ .*
0+1004 l \.text 0+ next
0+100c l \.rodata 0+ here
-0+ l df \*ABS\* 0+ .*
0+1098 g .* 0+ ___dtors
0+1098 g \.rodata 0+ __bss_start
0+1098 g .* 0+ ___ctors_end
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/crange1.rd b/binutils-2.25/ld/testsuite/ld-sh/sh64/crange1.rd
index 10cd3b38..e22d502b 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/crange1.rd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/crange1.rd
@@ -24,7 +24,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.*: 00000000 +0 +SECTION +LOCAL +DEFAULT +4
.* FILE +LOCAL +DEFAULT +ABS .*
.*: 00001004 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2
-.* FILE +LOCAL +DEFAULT +ABS .*
.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors
.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start
.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/crange2.rd b/binutils-2.25/ld/testsuite/ld-sh/sh64/crange2.rd
index 131712c5..50740876 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/crange2.rd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/crange2.rd
@@ -29,7 +29,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.*: 0000102c +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 sec2
.*: 00001040 +0 +NOTYPE +LOCAL +DEFAULT +2 sec3
.*: 00001048 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4
-.* FILE +LOCAL +DEFAULT +ABS .*
.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors
.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start
.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd b/binutils-2.25/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd
index c00366a9..d4f090e1 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd
@@ -10,7 +10,7 @@ ELF Header:
+Version: +0x1
+Entry point address: +0x10c4
+Start of program headers: +52 \(bytes into file\)
- +Start of section headers: +504 \(bytes into file\)
+ +Start of section headers: .*
+Flags: +0xa, sh5
+Size of this header: +52 \(bytes\)
+Size of program headers: +32 \(bytes\)
@@ -45,7 +45,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.*: 000010a4 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2
.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .*
.*: 000010bc +0 +NOTYPE +LOCAL +DEFAULT +2 sec3
-.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .*
.*: 000010c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +2 diversion
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/crange3-media.rd b/binutils-2.25/ld/testsuite/ld-sh/sh64/crange3-media.rd
index 52d4d00e..5a856d4e 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/crange3-media.rd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/crange3-media.rd
@@ -10,7 +10,7 @@ ELF Header:
+Version: +0x1
+Entry point address: +0x10a5
+Start of program headers: +52 \(bytes into file\)
- +Start of section headers: +504 \(bytes into file\)
+ +Start of section headers: .*
+Flags: +0xa, sh5
+Size of this header: +52 \(bytes\)
+Size of program headers: +32 \(bytes\)
@@ -45,7 +45,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.*: 000010a4 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2
.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .*
.*: 000010bc +0 +NOTYPE +LOCAL +DEFAULT +2 sec3
-.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .*
.*: 000010c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +2 diversion
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/crange3.rd b/binutils-2.25/ld/testsuite/ld-sh/sh64/crange3.rd
index 817f8f66..b4958611 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/crange3.rd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/crange3.rd
@@ -26,7 +26,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.*: 000010a4 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2
.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .*
.*: 000010bc +0 +NOTYPE +LOCAL +DEFAULT +2 sec3
-.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .*
.*: 000010c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +2 diversion
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors
.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/crangerel1.rd b/binutils-2.25/ld/testsuite/ld-sh/sh64/crangerel1.rd
index 8dd642ef..6f3b84bf 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/crangerel1.rd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/crangerel1.rd
@@ -1,4 +1,4 @@
-There are 11 section headers, starting at offset 0xbc:
+There are 11 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
@@ -9,7 +9,7 @@ Section Headers:
+\[ 4\] \.bss +NOBITS +00000000 00004c 000000 00 +WA +0 +0 +1
+\[ 5\] \.stack +PROGBITS +00000000 00004c 000004 00 +WA +0 +0 +1
+\[ 6\] \.cranges +PROGBITS +00000000 000050 00001e 00 +W +0 +0 +1
- +\[ 7\] \.rela\.cranges +RELA +00000000 000274 000024 0c +9 +6 +4
+ +\[ 7\] \.rela\.cranges +RELA +00000000 [0-9a-f]+ 000024 0c +9 +6 +4
+\[ 8\] \.shstrtab +STRTAB +00000000 00006e 00004d 00 +0 +0 +1
+\[ 9\] \.symtab +SYMTAB .*
+\[10\] \.strtab +STRTAB .*
@@ -33,7 +33,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.* 00000000 +0 +SECTION +LOCAL +DEFAULT +6
.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 00000000 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2
-.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2
Hex dump of section '\.text\.mixed':
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/crangerel2.rd b/binutils-2.25/ld/testsuite/ld-sh/sh64/crangerel2.rd
index 5b3227b1..f0df51bc 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/crangerel2.rd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/crangerel2.rd
@@ -1,4 +1,4 @@
-There are 11 section headers, starting at offset 0x128:
+There are 11 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
@@ -9,7 +9,7 @@ Section Headers:
+\[ 4\] \.bss +NOBITS +00000000 000090 000000 00 +WA +0 +0 +1
+\[ 5\] \.stack +PROGBITS +00000000 000090 000004 00 +WA +0 +0 +1
+\[ 6\] \.cranges +PROGBITS +00000000 000094 000046 00 +W +0 +0 +1
- +\[ 7\] \.rela\.cranges +RELA +00000000 0002e0 000054 0c +9 +6 +4
+ +\[ 7\] \.rela\.cranges +RELA +00000000 [0-9a-f]+ 000054 0c +9 +6 +4
+\[ 8\] \.shstrtab +STRTAB +00000000 0000da 00004d 00 +0 +0 +1
+\[ 9\] \.symtab +SYMTAB +00000000 [0-9a-f]+ [0-9a-f]+ 10 +10 +[0-9]+ +4
+\[10\] \.strtab +STRTAB +00000000 [0-9a-f]+ [0-9a-f]+ 00 +0 +0 +1
@@ -44,7 +44,6 @@ Symbol table '\.symtab' contains [0-9]+ entries:
.* 0000003c +0 +NOTYPE +LOCAL +DEFAULT +2 sec3
.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 00000044 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4
-.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2
Hex dump of section '\.text\.mixed':
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/mix1.xd b/binutils-2.25/ld/testsuite/ld-sh/sh64/mix1.xd
index 50116765..479ff3eb 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/mix1.xd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/mix1.xd
@@ -32,7 +32,6 @@ SYMBOL TABLE:
0+1004 l \.text 0+ start2
0+1030 l \.text 0+ 0x04 mediacode2
0+1018 l \.text 0+ 0x04 mediacode
-0+ l df \*ABS\* 0+ .*
0+10c8 g .* 0+ ___dtors
0+10d8 g \.data 0+ __bss_start
0+10c8 g .* 0+ ___ctors_end
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/mix2.xd b/binutils-2.25/ld/testsuite/ld-sh/sh64/mix2.xd
index ddd0632b..518e67e9 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/mix2.xd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/mix2.xd
@@ -33,7 +33,6 @@ SYMBOL TABLE:
0+ l d \.cranges 0+ (|\.cranges)
0+ l df \*ABS\* 0+ .*
0+1020 l \.text 0+ locallabel
-0+ l df \*ABS\* 0+ .*
0+1040 g \.rodata 0+ compactlabel4
0+101c g \.text 0+ 0x04 medialabel2
0+1038 g \.rodata 0+ medialabel3
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/rd-sh64.exp b/binutils-2.25/ld/testsuite/ld-sh/sh64/rd-sh64.exp
index ebeed0ad..b480387e 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/rd-sh64.exp
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/rd-sh64.exp
@@ -1,5 +1,5 @@
# Expect script for run_dump_test based ld-sh/sh64 tests.
-# Copyright 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/relax.exp b/binutils-2.25/ld/testsuite/ld-sh/sh64/relax.exp
index bb05e436..ca1a8dd4 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/relax.exp
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/relax.exp
@@ -1,5 +1,5 @@
# Expect script for ld-sh tests
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/relfail.exp b/binutils-2.25/ld/testsuite/ld-sh/sh64/relfail.exp
index fbdf80aa..ebfdd136 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/relfail.exp
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/relfail.exp
@@ -1,5 +1,5 @@
# Expect script for ld-sh tests
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/sh64.exp b/binutils-2.25/ld/testsuite/ld-sh/sh64/sh64.exp
index 2c64775d..ca49db7c 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/sh64.exp
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/sh64.exp
@@ -1,5 +1,5 @@
# Expect script for ld-sh tests
-# Copyright (C) 2000, 2001, 2002, 2003, 2005, 2007 Free Software Foundation
+# Copyright (C) 2000-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/shdl32.xd b/binutils-2.25/ld/testsuite/ld-sh/sh64/shdl32.xd
index 8606b6ff..d9c23648 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/shdl32.xd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/shdl32.xd
@@ -29,7 +29,6 @@ SYMBOL TABLE:
0+80000 l d \.stack 0+ (|\.stack)
0+ l df \*ABS\* 0+ .*
0+1150 l \.text 0+ 0x04 part2
-0+ l df \*ABS\* 0+ .*
0+13f8 g \.data 0+ dfoo_otherboth2
0+1178 g \.text 0+ 0x04 bar_otherwithout
0+11b4 g \.text 0+ 0x04 bazwithout
diff --git a/binutils-2.25/ld/testsuite/ld-sh/sh64/shdl64.xd b/binutils-2.25/ld/testsuite/ld-sh/sh64/shdl64.xd
index 47f35a73..6e2c41c3 100644
--- a/binutils-2.25/ld/testsuite/ld-sh/sh64/shdl64.xd
+++ b/binutils-2.25/ld/testsuite/ld-sh/sh64/shdl64.xd
@@ -29,7 +29,6 @@ SYMBOL TABLE:
0+80000 l d \.stack 0+ (|\.stack)
0+ l df \*ABS\* 0+ .*
0+1150 l \.text 0+ 0x04 part2
-0+ l df \*ABS\* 0+ .*
0+13f8 g \.data 0+ dfoo_otherboth2
0+1178 g \.text 0+ 0x04 bar_otherwithout
0+11b4 g \.text 0+ 0x04 bazwithout
diff --git a/binutils-2.25/ld/testsuite/ld-shared/elf-offset.ld b/binutils-2.25/ld/testsuite/ld-shared/elf-offset.ld
index 125d879a..ee587f9f 100644
--- a/binutils-2.25/ld/testsuite/ld-shared/elf-offset.ld
+++ b/binutils-2.25/ld/testsuite/ld-shared/elf-offset.ld
@@ -128,7 +128,7 @@ SECTIONS
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections. */
- . = ALIGN(32 / 8);
+ . = ALIGN(. != 0 ? 32 / 8 : 1);
}
. = ALIGN(32 / 8);
_end = . ;
diff --git a/binutils-2.25/ld/testsuite/ld-shared/shared.exp b/binutils-2.25/ld/testsuite/ld-shared/shared.exp
index ebb2237e..c723ef7b 100644
--- a/binutils-2.25/ld/testsuite/ld-shared/shared.exp
+++ b/binutils-2.25/ld/testsuite/ld-shared/shared.exp
@@ -1,7 +1,5 @@
# Expect script for ld-shared tests
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-# 2004, 2005, 2007, 2008, 2009, 2010, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -246,6 +244,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
if [ string match $shared_needs_pic "yes" ] {
setup_xfail "arm*-*-linux*"
}
+ setup_xfail "aarch64*-*-linux*"
shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o shared
# Test ELF shared library relocations with a non-zero load
@@ -272,6 +271,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
if [ string match $shared_needs_pic "yes" ] {
setup_xfail "arm*-*-linux*"
}
+ setup_xfail "aarch64*-*-linux*"
shared_test shnp "shared (non PIC, load offset)" \
mainnp.o sh1np.o sh2np.o shared \
"-T $srcdir/$subdir/elf-offset.ld"
@@ -328,6 +328,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdir/m
if [ string match $shared_needs_pic "yes" ] {
setup_xfail "arm*-*-linux*"
}
+ setup_xfail "aarch64*-*-linux*"
shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o shared
}
} else {
diff --git a/binutils-2.25/ld/testsuite/ld-size/size.exp b/binutils-2.25/ld/testsuite/ld-size/size.exp
index 9eedfd5b..af9d6aaf 100644
--- a/binutils-2.25/ld/testsuite/ld-size/size.exp
+++ b/binutils-2.25/ld/testsuite/ld-size/size.exp
@@ -1,6 +1,6 @@
# Expect script for linker support of size relocations.
#
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright (C) 2013-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-sparc/sparc.exp b/binutils-2.25/ld/testsuite/ld-sparc/sparc.exp
index 3caa4943..4593aa9d 100644
--- a/binutils-2.25/ld/testsuite/ld-sparc/sparc.exp
+++ b/binutils-2.25/ld/testsuite/ld-sparc/sparc.exp
@@ -1,5 +1,5 @@
# Expect script for ld-sparc tests
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-spu/spu.exp b/binutils-2.25/ld/testsuite/ld-spu/spu.exp
index 39d1c967..c5bfb5d0 100644
--- a/binutils-2.25/ld/testsuite/ld-spu/spu.exp
+++ b/binutils-2.25/ld/testsuite/ld-spu/spu.exp
@@ -1,5 +1,5 @@
# Expect script for ld-spu tests
-# Copyright (C) 2006, 2007 Free Software Foundation
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-srec/srec.exp b/binutils-2.25/ld/testsuite/ld-srec/srec.exp
index 4a433d1f..eff1bd10 100644
--- a/binutils-2.25/ld/testsuite/ld-srec/srec.exp
+++ b/binutils-2.25/ld/testsuite/ld-srec/srec.exp
@@ -1,6 +1,6 @@
# Test linking directly to S-records.
# By Ian Lance Taylor, Cygnus Support.
-# Copyright 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/common.d b/binutils-2.25/ld/testsuite/ld-tic6x/common.d
index 68529f8c..3a3942c8 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/common.d
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/common.d
@@ -4,7 +4,7 @@
#source: common.s
#readelf: -Ss
-There are 6 section headers, starting at offset 0x7c:
+There are 6 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -12,8 +12,8 @@ Section Headers:
\[ 1\] \.far NOBITS 00000080 000080 000008 00 WA 0 0 4
\[ 2\] \.bss NOBITS 00000100 000080 000004 00 WA 0 0 4
\[ 3\] \.shstrtab STRTAB 00000000 000054 000025 00 0 0 1
- \[ 4\] \.symtab SYMTAB 00000000 00016c 000050 10 5 3 4
- \[ 5\] \.strtab STRTAB 00000000 0001bc 000005 00 0 0 1
+ \[ 4\] \.symtab SYMTAB 00000000 [0-9a-f]+ 000050 10 5 3 4
+ \[ 5\] \.strtab STRTAB 00000000 [0-9a-f]+ 000005 00 0 0 1
Key to Flags:
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1.rd b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1.rd
index 029bda18..2e0c830c 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1.rd
@@ -1,4 +1,4 @@
-There are 17 section headers, starting at offset 0x21c4:
+There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,10 +6,10 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 6 4
\[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1
- \[ 4\] \.rela\.got RELA 00008140 001140 000024 0c A 2 10 4
- \[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c A 2 11 4
+ \[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4
+ \[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4
- \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c A 2 8 4
+ \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 8 4
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1b.rd b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1b.rd
index 029bda18..2e0c830c 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1b.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1b.rd
@@ -1,4 +1,4 @@
-There are 17 section headers, starting at offset 0x21c4:
+There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,10 +6,10 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 6 4
\[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1
- \[ 4\] \.rela\.got RELA 00008140 001140 000024 0c A 2 10 4
- \[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c A 2 11 4
+ \[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4
+ \[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4
- \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c A 2 8 4
+ \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 8 4
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1r.rd b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1r.rd
index 029bda18..2e0c830c 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1r.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1r.rd
@@ -1,4 +1,4 @@
-There are 17 section headers, starting at offset 0x21c4:
+There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,10 +6,10 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 6 4
\[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1
- \[ 4\] \.rela\.got RELA 00008140 001140 000024 0c A 2 10 4
- \[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c A 2 11 4
+ \[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4
+ \[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4
- \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c A 2 8 4
+ \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 8 4
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1rb.rd b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1rb.rd
index 029bda18..2e0c830c 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1rb.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-1rb.rd
@@ -1,4 +1,4 @@
-There are 17 section headers, starting at offset 0x21c4:
+There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,10 +6,10 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 6 4
\[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1
- \[ 4\] \.rela\.got RELA 00008140 001140 000024 0c A 2 10 4
- \[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c A 2 11 4
+ \[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4
+ \[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4
- \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c A 2 8 4
+ \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 8 4
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1.rd b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1.rd
index 9c691c95..db1c5600 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1.rd
@@ -1,4 +1,4 @@
-There are 18 section headers, starting at offset 0x2168:
+There are 18 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,11 +6,11 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 000044 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 00008044 001044 0000c0 10 A 3 6 4
\[ 3\] \.dynstr STRTAB 00008104 001104 000035 00 A 0 0 1
- \[ 4\] \.rela\.got RELA 0000813c 00113c 000018 0c A 2 11 4
- \[ 5\] \.rela\.neardata RELA 00008154 001154 000018 0c A 2 12 4
- \[ 6\] \.rela\.bss RELA 0000816c 00116c 00000c 0c A 2 13 4
+ \[ 4\] \.rela\.got RELA 0000813c 00113c 000018 0c AI 2 11 4
+ \[ 5\] \.rela\.neardata RELA 00008154 001154 000018 0c AI 2 12 4
+ \[ 6\] \.rela\.bss RELA 0000816c 00116c 00000c 0c AI 2 13 4
\[ 7\] \.dynamic DYNAMIC 00008178 001178 0000b8 08 WA 3 0 4
- \[ 8\] \.rela\.plt RELA 10000000 002000 00000c 0c A 2 9 4
+ \[ 8\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 9 4
\[ 9\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32
\[10\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32
\[11\] \.got PROGBITS 100000a0 0020a0 000020 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1b.rd b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1b.rd
index a541a5cd..086f21ab 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1b.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1b.rd
@@ -1,4 +1,4 @@
-There are 18 section headers, starting at offset 0x2168:
+There are 18 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,11 +6,11 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 000044 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 00008044 001044 0000c0 10 A 3 6 4
\[ 3\] \.dynstr STRTAB 00008104 001104 000036 00 A 0 0 1
- \[ 4\] \.rela\.got RELA 0000813c 00113c 000018 0c A 2 11 4
- \[ 5\] \.rela\.neardata RELA 00008154 001154 000018 0c A 2 12 4
- \[ 6\] \.rela\.bss RELA 0000816c 00116c 00000c 0c A 2 13 4
+ \[ 4\] \.rela\.got RELA 0000813c 00113c 000018 0c AI 2 11 4
+ \[ 5\] \.rela\.neardata RELA 00008154 001154 000018 0c AI 2 12 4
+ \[ 6\] \.rela\.bss RELA 0000816c 00116c 00000c 0c AI 2 13 4
\[ 7\] \.dynamic DYNAMIC 00008178 001178 0000b8 08 WA 3 0 4
- \[ 8\] \.rela\.plt RELA 10000000 002000 00000c 0c A 2 9 4
+ \[ 8\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 9 4
\[ 9\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32
\[10\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32
\[11\] \.got PROGBITS 100000a0 0020a0 000020 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1r.rd b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1r.rd
index 5c1b675a..f09738cb 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1r.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1r.rd
@@ -1,4 +1,4 @@
-There are 17 section headers, starting at offset 0x2158:
+There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,10 +6,10 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 6 4
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 000030 00 A 0 0 1
- \[ 4\] \.rela\.got RELA 0000810c 00110c 000018 0c A 2 10 4
- \[ 5\] \.rela\.bss RELA 00008124 001124 00000c 0c A 2 12 4
+ \[ 4\] \.rela\.got RELA 0000810c 00110c 000018 0c AI 2 10 4
+ \[ 5\] \.rela\.bss RELA 00008124 001124 00000c 0c AI 2 12 4
\[ 6\] \.dynamic DYNAMIC 00008130 001130 0000b8 08 WA 3 0 4
- \[ 7\] \.rela\.plt RELA 10000000 002000 00000c 0c A 2 8 4
+ \[ 7\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 8 4
\[ 8\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32
\[10\] \.got PROGBITS 100000a0 0020a0 000020 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1rb.rd b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1rb.rd
index d1218321..a49fc05c 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1rb.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-app-1rb.rd
@@ -1,4 +1,4 @@
-There are 17 section headers, starting at offset 0x2158:
+There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,10 +6,10 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 6 4
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 000031 00 A 0 0 1
- \[ 4\] \.rela\.got RELA 00008110 001110 000018 0c A 2 10 4
- \[ 5\] \.rela\.bss RELA 00008128 001128 00000c 0c A 2 12 4
+ \[ 4\] \.rela\.got RELA 00008110 001110 000018 0c AI 2 10 4
+ \[ 5\] \.rela\.bss RELA 00008128 001128 00000c 0c AI 2 12 4
\[ 6\] \.dynamic DYNAMIC 00008134 001134 0000b8 08 WA 3 0 4
- \[ 7\] \.rela\.plt RELA 10000000 002000 00000c 0c A 2 8 4
+ \[ 7\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 8 4
\[ 8\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32
\[10\] \.got PROGBITS 100000a0 0020a0 000020 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-noindex.rd b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-noindex.rd
index e030b17b..3575d4c9 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/shlib-noindex.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/shlib-noindex.rd
@@ -1,4 +1,4 @@
-There are 18 section headers, starting at offset 0x21cc:
+There are 18 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,11 +6,11 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 6 4
\[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1
- \[ 4\] \.rela\.text RELA 00008140 001140 00000c 0c A 2 10 4
- \[ 5\] \.rela\.got RELA 0000814c 00114c 000024 0c A 2 11 4
- \[ 6\] \.rela\.neardata RELA 00008170 001170 000018 0c A 2 12 4
+ \[ 4\] \.rela\.text RELA 00008140 001140 00000c 0c AI 2 10 4
+ \[ 5\] \.rela\.got RELA 0000814c 00114c 000024 0c AI 2 11 4
+ \[ 6\] \.rela\.neardata RELA 00008170 001170 000018 0c AI 2 12 4
\[ 7\] \.dynamic DYNAMIC 00008188 001188 0000b0 08 WA 3 0 4
- \[ 8\] \.rela\.plt RELA 10000000 002000 000018 0c A 2 9 4
+ \[ 8\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 9 4
\[ 9\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32
\[10\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32
\[11\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1.rd b/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1.rd
index c56d637c..81a45f9c 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1.rd
@@ -1,4 +1,4 @@
-There are 15 section headers, starting at offset 0x2180:
+There are 15 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,8 +6,8 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 5 4
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1
- \[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c A 2 8 4
- \[ 5\] \.rela\.neardata RELA 00008120 001120 000030 0c A 2 9 4
+ \[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c AI 2 8 4
+ \[ 5\] \.rela\.neardata RELA 00008120 001120 000030 0c AI 2 9 4
\[ 6\] \.dynamic DYNAMIC 00008150 001150 000090 08 WA 3 0 4
\[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32
\[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1b.rd b/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1b.rd
index c56d637c..81a45f9c 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1b.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1b.rd
@@ -1,4 +1,4 @@
-There are 15 section headers, starting at offset 0x2180:
+There are 15 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,8 +6,8 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 5 4
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1
- \[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c A 2 8 4
- \[ 5\] \.rela\.neardata RELA 00008120 001120 000030 0c A 2 9 4
+ \[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c AI 2 8 4
+ \[ 5\] \.rela\.neardata RELA 00008120 001120 000030 0c AI 2 9 4
\[ 6\] \.dynamic DYNAMIC 00008150 001150 000090 08 WA 3 0 4
\[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32
\[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1r.rd b/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1r.rd
index 588e4224..0ddcd63a 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1r.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1r.rd
@@ -1,4 +1,4 @@
-There are 15 section headers, starting at offset 0x2178:
+There are 15 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,8 +6,8 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 5 4
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1
- \[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c A 2 8 4
- \[ 5\] \.rela\.neardata RELA 00008120 001120 000018 0c A 2 9 4
+ \[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c AI 2 8 4
+ \[ 5\] \.rela\.neardata RELA 00008120 001120 000018 0c AI 2 9 4
\[ 6\] \.dynamic DYNAMIC 00008138 001138 000090 08 WA 3 0 4
\[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32
\[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1rb.rd b/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1rb.rd
index 588e4224..0ddcd63a 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1rb.rd
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/static-app-1rb.rd
@@ -1,4 +1,4 @@
-There are 15 section headers, starting at offset 0x2178:
+There are 15 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
@@ -6,8 +6,8 @@ Section Headers:
\[ 1\] \.hash HASH 00008000 001000 00003c 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 0000803c 00103c 0000a0 10 A 3 5 4
\[ 3\] \.dynstr STRTAB 000080dc 0010dc 00001d 00 A 0 0 1
- \[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c A 2 8 4
- \[ 5\] \.rela\.neardata RELA 00008120 001120 000018 0c A 2 9 4
+ \[ 4\] \.rela\.got RELA 000080fc 0010fc 000024 0c AI 2 8 4
+ \[ 5\] \.rela\.neardata RELA 00008120 001120 000018 0c AI 2 9 4
\[ 6\] \.dynamic DYNAMIC 00008138 001138 000090 08 WA 3 0 4
\[ 7\] \.text PROGBITS 10000000 002000 0000c0 00 AX 0 0 32
\[ 8\] \.got PROGBITS 100000c0 0020c0 000020 00 WA 0 0 4
diff --git a/binutils-2.25/ld/testsuite/ld-tic6x/tic6x.exp b/binutils-2.25/ld/testsuite/ld-tic6x/tic6x.exp
index fe47650f..90674af4 100644
--- a/binutils-2.25/ld/testsuite/ld-tic6x/tic6x.exp
+++ b/binutils-2.25/ld/testsuite/ld-tic6x/tic6x.exp
@@ -1,6 +1,6 @@
# Expect script for ld-tic6x tests
#
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -195,7 +195,5 @@ check_osabi_tic6x "C6X shared library OSABI, BE" tmpdir/libtestb.so
check_osabi_tic6x "C6X dynamic app OSABI, LE" tmpdir/dynapp-1
check_osabi_tic6x "C6X dynamic app OSABI, BE" tmpdir/dynapp-1b
-set expected_osabi "UNIX - System V"
-
check_osabi_tic6x "C6X relocatable link OSABI, LE" tmpdir/shlib.o
check_osabi_tic6x "C6X relocatable link OSABI, BE" tmpdir/shlibb.o
diff --git a/binutils-2.25/ld/testsuite/ld-tilegx/tilegx.exp b/binutils-2.25/ld/testsuite/ld-tilegx/tilegx.exp
index 7e0dbf91..5cd6ca25 100644
--- a/binutils-2.25/ld/testsuite/ld-tilegx/tilegx.exp
+++ b/binutils-2.25/ld/testsuite/ld-tilegx/tilegx.exp
@@ -1,5 +1,5 @@
# Expect script for TILE-Gx linker tests.
-# Copyright 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-tilepro/tilepro.exp b/binutils-2.25/ld/testsuite/ld-tilepro/tilepro.exp
index be10a20e..4cef8d85 100644
--- a/binutils-2.25/ld/testsuite/ld-tilepro/tilepro.exp
+++ b/binutils-2.25/ld/testsuite/ld-tilepro/tilepro.exp
@@ -1,5 +1,5 @@
# Expect script for TILEPro linker tests.
-# Copyright 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-undefined/entry.exp b/binutils-2.25/ld/testsuite/ld-undefined/entry.exp
index d90fbbb9..1f795cd1 100644
--- a/binutils-2.25/ld/testsuite/ld-undefined/entry.exp
+++ b/binutils-2.25/ld/testsuite/ld-undefined/entry.exp
@@ -1,5 +1,5 @@
# Expect script for ld --entry tests
-# Copyright (C) 2009 Free Software Foundation
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-undefined/undefined.exp b/binutils-2.25/ld/testsuite/ld-undefined/undefined.exp
index 49af737e..12afc03d 100644
--- a/binutils-2.25/ld/testsuite/ld-undefined/undefined.exp
+++ b/binutils-2.25/ld/testsuite/ld-undefined/undefined.exp
@@ -1,8 +1,7 @@
# Test that the linker reports undefined symbol errors correctly.
# By Ian Lance Taylor, Cygnus Support
#
-# Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1995-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-undefined/weak-undef.exp b/binutils-2.25/ld/testsuite/ld-undefined/weak-undef.exp
index c802a113..fd25ca93 100644
--- a/binutils-2.25/ld/testsuite/ld-undefined/weak-undef.exp
+++ b/binutils-2.25/ld/testsuite/ld-undefined/weak-undef.exp
@@ -1,6 +1,5 @@
# Test handling of weak undefined symbols
-# Copyright 2001, 2002, 2004, 2005, 2007, 2010, 2011, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-unique/unique.exp b/binutils-2.25/ld/testsuite/ld-unique/unique.exp
index 9bc65e0c..a93f9b2e 100644
--- a/binutils-2.25/ld/testsuite/ld-unique/unique.exp
+++ b/binutils-2.25/ld/testsuite/ld-unique/unique.exp
@@ -1,6 +1,6 @@
# Expect script for linker support of STB_GNU_UNIQUE symbols
#
-# Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of the GNU Binutils.
diff --git a/binutils-2.25/ld/testsuite/ld-v850/v850.exp b/binutils-2.25/ld/testsuite/ld-v850/v850.exp
index 2a2f9aec..7fff03f0 100644
--- a/binutils-2.25/ld/testsuite/ld-v850/v850.exp
+++ b/binutils-2.25/ld/testsuite/ld-v850/v850.exp
@@ -1,4 +1,4 @@
-# Copyright 2007 Free Software Foundtaion, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
# This file is part of the GNU Binutils.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/binutils-2.25/ld/testsuite/ld-vax-elf/export-class.exp b/binutils-2.25/ld/testsuite/ld-vax-elf/export-class.exp
index 83df7701..70e0d6dc 100644
--- a/binutils-2.25/ld/testsuite/ld-vax-elf/export-class.exp
+++ b/binutils-2.25/ld/testsuite/ld-vax-elf/export-class.exp
@@ -1,6 +1,6 @@
# Expect script for symbol export classes, VAX variation.
#
-# Copyright 2013 Free Software Foundation, Inc.
+# Copyright (C) 2013-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-vax-elf/vax-elf.exp b/binutils-2.25/ld/testsuite/ld-vax-elf/vax-elf.exp
index 440e2dad..e93bae04 100644
--- a/binutils-2.25/ld/testsuite/ld-vax-elf/vax-elf.exp
+++ b/binutils-2.25/ld/testsuite/ld-vax-elf/vax-elf.exp
@@ -1,5 +1,5 @@
# Expect script for VAX ELF linker tests
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-versados/versados.exp b/binutils-2.25/ld/testsuite/ld-versados/versados.exp
index 422fd4a5..3c0e6b1e 100644
--- a/binutils-2.25/ld/testsuite/ld-versados/versados.exp
+++ b/binutils-2.25/ld/testsuite/ld-versados/versados.exp
@@ -1,5 +1,5 @@
# Expect script for ld-versados tests
-# Copyright 1995, 1997, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1995-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-vxworks/vxworks.exp b/binutils-2.25/ld/testsuite/ld-vxworks/vxworks.exp
index a3052654..989fa19d 100644
--- a/binutils-2.25/ld/testsuite/ld-vxworks/vxworks.exp
+++ b/binutils-2.25/ld/testsuite/ld-vxworks/vxworks.exp
@@ -1,5 +1,5 @@
# Expect script for VxWorks tests
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-branch-1.d b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-branch-1.d
new file mode 100644
index 00000000..8368f37b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-branch-1.d
@@ -0,0 +1,19 @@
+#as: --64
+#ld: -shared -melf_x86_64
+#objdump: -dw
+
+.*: +file format .*
+
+
+#...
+Disassembly of section .text:
+
+#...
+[a-f0-9]+ <_start>:
+[ ]*[a-f0-9]+: f2 e9 [a-f0-9]+ ff ff ff bnd jmpq [a-f0-9]+ <foo1@plt>
+[ ]*[a-f0-9]+: e8 [a-f0-9]+ ff ff ff callq [a-f0-9]+ <foo2@plt>
+[ ]*[a-f0-9]+: e9 [a-f0-9]+ ff ff ff jmpq [a-f0-9]+ <foo3@plt>
+[ ]*[a-f0-9]+: e8 [a-f0-9]+ ff ff ff callq [a-f0-9]+ <foo4@plt>
+[ ]*[a-f0-9]+: f2 e8 [a-f0-9]+ ff ff ff bnd callq [a-f0-9]+ <foo3@plt>
+[ ]*[a-f0-9]+: e9 [a-f0-9]+ ff ff ff jmpq [a-f0-9]+ <foo4@plt>
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-branch-1.s b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-branch-1.s
new file mode 100644
index 00000000..bf62981d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-branch-1.s
@@ -0,0 +1,9 @@
+ .text
+ .globl _start
+_start:
+bnd jmp foo1@plt
+ call foo2@plt
+ jmp foo3@plt
+ call foo4@plt
+bnd call foo3@plt
+ jmp foo4@plt
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d
new file mode 100644
index 00000000..11313ab1
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d
@@ -0,0 +1,7 @@
+#as: --64 -madd-bnd-prefix
+#ld: -shared -melf_x86_64 -z bndplt
+#objdump: -dw
+
+#...
+[ ]*[a-f0-9]+: f2 e8 f0 ff ff ff bnd callq 220 <\*ABS\*\+0x228@plt>
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.s b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.s
new file mode 100644
index 00000000..82b64f06
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.s
@@ -0,0 +1,16 @@
+ .type foo, %gnu_indirect_function
+ .global __GI_foo
+ .hidden __GI_foo
+ .set __GI_foo, foo
+ .text
+.globl foo
+ .type foo, @function
+foo:
+ ret
+ .size foo, .-foo
+.globl bar
+ .type bar, @function
+bar:
+ call __GI_foo@PLT
+ ret
+ .size bar, .-bar
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
new file mode 100644
index 00000000..6be82902
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
@@ -0,0 +1,54 @@
+#as: --64 -madd-bnd-prefix
+#ld: -shared -melf_x86_64 -z bndplt
+#objdump: -dw
+
+#...
+0+2d0 <.plt>:
+[ ]*[a-f0-9]+: ff 35 7a 01 20 00 pushq 0x20017a\(%rip\) # 200450 <_GLOBAL_OFFSET_TABLE_\+0x8>
+[ ]*[a-f0-9]+: f2 ff 25 7b 01 20 00 bnd jmpq \*0x20017b\(%rip\) # 200458 <_GLOBAL_OFFSET_TABLE_\+0x10>
+[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
+[ ]*[a-f0-9]+: 68 03 00 00 00 pushq \$0x3
+[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 2d0 <\*ABS\*\+0x34c@plt-0x50>
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0
+[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 2d0 <\*ABS\*\+0x34c@plt-0x50>
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 68 01 00 00 00 pushq \$0x1
+[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff bnd jmpq 2d0 <\*ABS\*\+0x34c@plt-0x50>
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 68 02 00 00 00 pushq \$0x2
+[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff bnd jmpq 2d0 <\*ABS\*\+0x34c@plt-0x50>
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+
+Disassembly of section .plt.bnd:
+
+0+320 <\*ABS\*\+0x34c@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\) # 200460 <_GLOBAL_OFFSET_TABLE_\+0x18>
+[ ]*[a-f0-9]+: 90 nop
+
+0+328 <func1@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\) # 200468 <_GLOBAL_OFFSET_TABLE_\+0x20>
+[ ]*[a-f0-9]+: 90 nop
+
+0+330 <func2@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\) # 200470 <_GLOBAL_OFFSET_TABLE_\+0x28>
+[ ]*[a-f0-9]+: 90 nop
+
+0+338 <\*ABS\*\+0x340@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 39 01 20 00 bnd jmpq \*0x200139\(%rip\) # 200478 <_GLOBAL_OFFSET_TABLE_\+0x30>
+[ ]*[a-f0-9]+: 90 nop
+
+Disassembly of section .text:
+
+0+340 <resolve1>:
+[ ]*[a-f0-9]+: f2 e8 e2 ff ff ff bnd callq 328 <func1@plt>
+
+0+346 <g1>:
+[ ]*[a-f0-9]+: f2 e9 ec ff ff ff bnd jmpq 338 <\*ABS\*\+0x340@plt>
+
+0+34c <resolve2>:
+[ ]*[a-f0-9]+: f2 e8 de ff ff ff bnd callq 330 <func2@plt>
+
+0+352 <g2>:
+[ ]*[a-f0-9]+: f2 e9 c8 ff ff ff bnd jmpq 320 <\*ABS\*\+0x34c@plt>
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.s b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.s
new file mode 100644
index 00000000..86470a2b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.s
@@ -0,0 +1,28 @@
+ .text
+ .globl fct1
+ .type fct1, @gnu_indirect_function
+ .set fct1,resolve1
+ .hidden int_fct1
+ .globl int_fct1
+ .set int_fct1,fct1
+ .type resolve1, @function
+resolve1:
+ call func1@PLT
+ .globl g1
+ .type g1, @function
+g1:
+ jmp int_fct1@PLT
+
+ .globl fct2
+ .type fct2, @gnu_indirect_function
+ .set fct2,resolve2
+ .hidden int_fct2
+ .globl int_fct2
+ .set int_fct2,fct2
+ .type resolve2, @function
+resolve2:
+ call func2@PLT
+ .globl g2
+ .type g2, @function
+g2:
+ jmp int_fct2@PLT
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d
new file mode 100644
index 00000000..d76a7a7d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d
@@ -0,0 +1,55 @@
+#source: bnd-branch-1.s
+#as: --64
+#ld: -shared -melf_x86_64 -z bndplt
+#objdump: -dw
+
+.*: +file format .*
+
+
+Disassembly of section .plt:
+
+0+2b0 <.plt>:
+[ ]*[a-f0-9]+: ff 35 82 01 20 00 pushq 0x200182\(%rip\) # 200438 <_GLOBAL_OFFSET_TABLE_\+0x8>
+[ ]*[a-f0-9]+: f2 ff 25 83 01 20 00 bnd jmpq \*0x200183\(%rip\) # 200440 <_GLOBAL_OFFSET_TABLE_\+0x10>
+[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
+[ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0
+[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 2b0 <foo2@plt-0x50>
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 68 01 00 00 00 pushq \$0x1
+[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 2b0 <foo2@plt-0x50>
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 68 02 00 00 00 pushq \$0x2
+[ ]*[a-f0-9]+: f2 e9 c5 ff ff ff bnd jmpq 2b0 <foo2@plt-0x50>
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 68 03 00 00 00 pushq \$0x3
+[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff bnd jmpq 2b0 <foo2@plt-0x50>
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+
+Disassembly of section .plt.bnd:
+
+0+300 <foo2@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200448 <_GLOBAL_OFFSET_TABLE_\+0x18>
+[ ]*[a-f0-9]+: 90 nop
+
+0+308 <foo3@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200450 <_GLOBAL_OFFSET_TABLE_\+0x20>
+[ ]*[a-f0-9]+: 90 nop
+
+0+310 <foo1@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200458 <_GLOBAL_OFFSET_TABLE_\+0x28>
+[ ]*[a-f0-9]+: 90 nop
+
+0+318 <foo4@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200460 <_GLOBAL_OFFSET_TABLE_\+0x30>
+[ ]*[a-f0-9]+: 90 nop
+
+Disassembly of section .text:
+
+0+320 <_start>:
+[ ]*[a-f0-9]+: f2 e9 ea ff ff ff bnd jmpq 310 <foo1@plt>
+[ ]*[a-f0-9]+: e8 d5 ff ff ff callq 300 <foo2@plt>
+[ ]*[a-f0-9]+: e9 d8 ff ff ff jmpq 308 <foo3@plt>
+[ ]*[a-f0-9]+: e8 e3 ff ff ff callq 318 <foo4@plt>
+[ ]*[a-f0-9]+: f2 e8 cd ff ff ff bnd callq 308 <foo3@plt>
+[ ]*[a-f0-9]+: e9 d8 ff ff ff jmpq 318 <foo4@plt>
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/dwarfreloc.exp b/binutils-2.25/ld/testsuite/ld-x86-64/dwarfreloc.exp
index b7e133e4..5cc7b926 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/dwarfreloc.exp
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/dwarfreloc.exp
@@ -1,5 +1,5 @@
# Expect script for DWARF relocation test.
-# Copyright 2008, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/export-class.exp b/binutils-2.25/ld/testsuite/ld-x86-64/export-class.exp
index 7bad2a84..420b7a8c 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/export-class.exp
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/export-class.exp
@@ -1,6 +1,6 @@
# Expect script for symbol export classes, x86-64 variation.
#
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/ilp32-2.d b/binutils-2.25/ld/testsuite/ld-x86-64/ilp32-2.d
index 65b52984..fde3e8af 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/ilp32-2.d
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/ilp32-2.d
@@ -1,4 +1,4 @@
#source: dummy.s
#as: --x32
#ld: -m elf32_x86_64 tmpdir/startx32.o tmpdir/foo32.o
-#error: .*i386 architecture of input file `tmpdir/foo32.o' is incompatible with i386:x64-32.* output
+#error: .*i386(:.+)? architecture of input file `tmpdir/foo32.o' is incompatible with i386:x64-32.* output
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/ilp32-3.d b/binutils-2.25/ld/testsuite/ld-x86-64/ilp32-3.d
index b05e531c..a9080a05 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/ilp32-3.d
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/ilp32-3.d
@@ -1,4 +1,4 @@
#source: dummy.s
#as: --x32
#ld: -m elf32_x86_64 tmpdir/startx32.o tmpdir/foo64.o
-#error: .*i386:x86-64 architecture of input file `tmpdir/foo64.o' is incompatible with i386:x64-32.* output
+#error: .*i386:x86-64(:.+)? architecture of input file `tmpdir/foo64.o' is incompatible with i386:x64-32.* output
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/ilp32-4.d b/binutils-2.25/ld/testsuite/ld-x86-64/ilp32-4.d
index 94c1e82e..df3e94c3 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/ilp32-4.d
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/ilp32-4.d
@@ -3,7 +3,7 @@
#readelf: -d -S --wide
#target: x86_64-*-linux*
-There are 9 section headers, starting at offset 0x1d4:
+There are 9 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/line.exp b/binutils-2.25/ld/testsuite/ld-x86-64/line.exp
index 3ddaf178..17e48c0d 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/line.exp
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/line.exp
@@ -1,6 +1,6 @@
# Test that the linker reports undefined symbol line number correctly.
#
-# Copyright 2007, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/lp64-2.d b/binutils-2.25/ld/testsuite/ld-x86-64/lp64-2.d
index 7515881a..af7582ad 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/lp64-2.d
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/lp64-2.d
@@ -1,4 +1,4 @@
#source: dummy.s
#as: --64
#ld: -m elf_x86_64 tmpdir/start64.o tmpdir/foo32.o
-#error: .*i386 architecture of input file `tmpdir/foo32.o' is incompatible with i386:x86-64.* output
+#error: .*i386(:.+)? architecture of input file `tmpdir/foo32.o' is incompatible with i386:x86-64.* output
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/lp64-3.d b/binutils-2.25/ld/testsuite/ld-x86-64/lp64-3.d
index e60efeb9..0e995c87 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/lp64-3.d
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/lp64-3.d
@@ -1,4 +1,4 @@
#source: dummy.s
#as: --64
#ld: -m elf_x86_64 tmpdir/start64.o tmpdir/foox32.o
-#error: .*i386:x64-32 architecture of input file `tmpdir/foox32.o' is incompatible with i386:x86-64.* output
+#error: .*i386:x64-32(:.+)? architecture of input file `tmpdir/foox32.o' is incompatible with i386:x86-64.* output
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp b/binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp
new file mode 100644
index 00000000..bdf95935
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp
@@ -0,0 +1,97 @@
+# Expect script for ELF MPX tests.
+# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+#
+# This file is part of the GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+#
+
+# The following tests require running the executable generated by ld,
+# or enough of a build environment to create a fully linked executable.
+# This is not commonly available when testing a cross-built linker.
+if ![isnative] {
+ return
+}
+
+# Only on Linux for now.
+if ![istarget "x86_64-*-linux*"] {
+ return
+}
+
+# Check to see if the C compiler works
+if { [which $CC] == 0 } {
+ return
+}
+
+set build_tests {
+ {"Build libmpx1a.a"
+ "" "-Wa,-madd-bnd-prefix -fPIC"
+ {mpx1a.c} {{readelf {-r --wide} mpx1a.rd}} "libmpx1a.a"}
+ {"Build libmpx1b.a"
+ "" ""
+ {mpx1b.c} {} "libmpx1b.a"}
+ {"Build libmpx1c.a"
+ "" "-Wa,-madd-bnd-prefix"
+ {mpx1c.c} {{readelf {-r --wide} mpx1c.rd}} "libmpx1c.a"}
+ {"Build libmpx2a.a"
+ "" "-Wa,-madd-bnd-prefix -fPIE"
+ {mpx2a.c} {{readelf {-r --wide} mpx2a.rd}} "libmpx2a.a"}
+ {"Build libmpx2b.a"
+ "" "-fPIE"
+ {mpx2b.c} {} "libmpx2b.a"}
+ {"Build libmpx2c.a"
+ "" "-Wa,-madd-bnd-prefix -fPIE"
+ {mpx2c.c} {{readelf {-r --wide} mpx2c.rd}} "libmpx2c.a"}
+}
+
+run_cc_link_tests $build_tests
+
+set run_tests {
+ {"Run mpx1"
+ "tmpdir/mpx1a.o tmpdir/mpx1b.o tmpdir/mpx1c.o" ""
+ {dummy.s} "mpx1" "mpx1.out"}
+ {"Run mpx1 with -static"
+ "tmpdir/mpx1a.o tmpdir/mpx1b.o tmpdir/mpx1c.o -static" ""
+ {dummy.s} "mpx1static" "mpx1.out"}
+ {"Run mpx2"
+ "tmpdir/mpx2a.o tmpdir/mpx2b.o tmpdir/mpx2c.o -pie" ""
+ {dummy.s} "mpx2" "mpx2.out"}
+ {"Run mpx2 with -static"
+ "tmpdir/mpx2a.o tmpdir/mpx2b.o tmpdir/mpx2c.o -static" ""
+ {dummy.s} "mpx2static" "mpx2.out"}
+}
+
+run_ld_link_tests {
+ {"Build libcall.so"
+ "-m elf_x86_64 -shared -z bndplt" "" "--64"
+ {mpx3b.s} {} "libcall.so"}
+ {"Build mpx3"
+ "-m elf_x86_64 -z bndplt tmpdir/libcall.so" "" "--64"
+ {mpx3a.s} {{objdump -dw mpx3.dd}} "mpx3"}
+ {"Build libcall1.so"
+ "-m elf_x86_64 -shared -z bndplt" "" "--64"
+ {mpx4b.s} {} "libcall1.so"}
+ {"Build mpx4"
+ "-m elf_x86_64 -z bndplt tmpdir/libcall1.so" "" "--64"
+ {mpx4a.s} {{objdump -dw mpx4.dd}} "mpx4"}
+}
+
+run_ld_link_exec_tests [] $run_tests
+
+run_dump_test "bnd-branch-1"
+run_dump_test "bnd-ifunc-1"
+run_dump_test "bnd-ifunc-2"
+run_dump_test "bnd-plt-1"
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1.out b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1.out
new file mode 100644
index 00000000..46302115
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1.out
@@ -0,0 +1,2 @@
+foo1
+foo2
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.c b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.c
new file mode 100644
index 00000000..e1185b5f
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+void
+foo1 (void)
+{
+ printf ("foo1\n");
+}
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd
new file mode 100644
index 00000000..d66524c8
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd
@@ -0,0 +1,3 @@
+#...
+[0-9a-f ]+R_X86_64_PLT32 +0+ +.*
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1b.c b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1b.c
new file mode 100644
index 00000000..389ac101
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1b.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+void
+foo2 (void)
+{
+ printf ("foo2\n");
+}
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.c b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.c
new file mode 100644
index 00000000..12c7806f
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.c
@@ -0,0 +1,10 @@
+extern void foo1 (void);
+extern void foo2 (void);
+
+int
+main (void)
+{
+ foo1 ();
+ foo2 ();
+ return 0;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd
new file mode 100644
index 00000000..d3b292cb
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd
@@ -0,0 +1,3 @@
+#...
+[0-9a-f ]+R_X86_64_PC32 +0+ +.*
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2.out b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2.out
new file mode 100644
index 00000000..46302115
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2.out
@@ -0,0 +1,2 @@
+foo1
+foo2
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.c b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.c
new file mode 100644
index 00000000..e1185b5f
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+void
+foo1 (void)
+{
+ printf ("foo1\n");
+}
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd
new file mode 100644
index 00000000..d66524c8
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd
@@ -0,0 +1,3 @@
+#...
+[0-9a-f ]+R_X86_64_PLT32 +0+ +.*
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2b.c b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2b.c
new file mode 100644
index 00000000..389ac101
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2b.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+void
+foo2 (void)
+{
+ printf ("foo2\n");
+}
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.c b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.c
new file mode 100644
index 00000000..12c7806f
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.c
@@ -0,0 +1,10 @@
+extern void foo1 (void);
+extern void foo2 (void);
+
+int
+main (void)
+{
+ foo1 ();
+ foo2 ();
+ return 0;
+}
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd
new file mode 100644
index 00000000..d66524c8
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd
@@ -0,0 +1,3 @@
+#...
+[0-9a-f ]+R_X86_64_PLT32 +0+ +.*
+#...
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3.dd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx3.dd
new file mode 100644
index 00000000..2a8356d9
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx3.dd
@@ -0,0 +1,35 @@
+.*: +file format .*
+
+
+Disassembly of section .plt:
+
+0+400290 <.plt>:
+[ ]*[a-f0-9]+: ff 35 6a 01 20 00 pushq 0x20016a\(%rip\) # 600400 <_GLOBAL_OFFSET_TABLE_\+0x8>
+[ ]*[a-f0-9]+: f2 ff 25 6b 01 20 00 bnd jmpq \*0x20016b\(%rip\) # 600408 <_GLOBAL_OFFSET_TABLE_\+0x10>
+[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
+[ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0
+[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 400290 <call1@plt-0x30>
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 68 01 00 00 00 pushq \$0x1
+[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 400290 <call1@plt-0x30>
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+
+Disassembly of section .plt.bnd:
+
+0+4002c0 <call1@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 49 01 20 00 bnd jmpq \*0x200149\(%rip\) # 600410 <_GLOBAL_OFFSET_TABLE_\+0x18>
+[ ]*[a-f0-9]+: 90 nop
+
+0+4002c8 <call2@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 49 01 20 00 bnd jmpq \*0x200149\(%rip\) # 600418 <_GLOBAL_OFFSET_TABLE_\+0x20>
+[ ]*[a-f0-9]+: 90 nop
+
+Disassembly of section .text:
+
+0+4002d0 <_start>:
+[ ]*[a-f0-9]+: bf c0 02 40 00 mov \$0x4002c0,%edi
+[ ]*[a-f0-9]+: f2 ff d7 bnd callq \*%rdi
+[ ]*[a-f0-9]+: 48 8b 3d 41 01 20 00 mov 0x200141\(%rip\),%rdi # 600420 <func>
+[ ]*[a-f0-9]+: f2 ff d7 bnd callq \*%rdi
+[ ]*[a-f0-9]+: c3 retq
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3a.s b/binutils-2.25/ld/testsuite/ld-x86-64/mpx3a.s
new file mode 100644
index 00000000..28cb580b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx3a.s
@@ -0,0 +1,16 @@
+ .text
+ .globl _start
+ .type _start, @function
+_start:
+ movl $call1, %edi
+ bnd call *%rdi
+ movq func(%rip), %rdi
+ bnd call *%rdi
+ ret
+ .size _start, .-_start
+ .globl func
+ .data
+ .type func, @object
+ .size func, 8
+func:
+ .quad call2
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3b.s b/binutils-2.25/ld/testsuite/ld-x86-64/mpx3b.s
new file mode 100644
index 00000000..1ee2557a
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx3b.s
@@ -0,0 +1,11 @@
+ .text
+ .globl call1
+ .type call1, @function
+call1:
+ ret
+ .size call1, .-call1
+ .globl call2
+ .type call2, @function
+call2:
+ ret
+ .size call2, .-call2
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4.dd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx4.dd
new file mode 100644
index 00000000..0cf0f758
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx4.dd
@@ -0,0 +1,24 @@
+.*: +file format .*
+
+
+Disassembly of section .plt:
+
+0+400260 <.plt>:
+[ ]*[a-f0-9]+: ff 35 42 01 20 00 pushq 0x200142\(%rip\) # 6003a8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+[ ]*[a-f0-9]+: f2 ff 25 43 01 20 00 bnd jmpq \*0x200143\(%rip\) # 6003b0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
+[ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0
+[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 400260 <call1@plt-0x20>
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+
+Disassembly of section .plt.bnd:
+
+0+400280 <call1@plt>:
+[ ]*[a-f0-9]+: f2 ff 25 31 01 20 00 bnd jmpq \*0x200131\(%rip\) # 6003b8 <_GLOBAL_OFFSET_TABLE_\+0x18>
+[ ]*[a-f0-9]+: 90 nop
+
+Disassembly of section .text:
+
+0+400288 <_start>:
+[ ]*[a-f0-9]+: bf 80 02 40 00 mov \$0x400280,%edi
+[ ]*[a-f0-9]+: f2 ff d7 bnd callq \*%rdi
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4a.s b/binutils-2.25/ld/testsuite/ld-x86-64/mpx4a.s
new file mode 100644
index 00000000..0ee2723b
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx4a.s
@@ -0,0 +1,6 @@
+.text
+ .globl _start
+ .type _start, @function
+_start:
+ movl $call1, %edi
+ bnd call *%rdi
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4b.s b/binutils-2.25/ld/testsuite/ld-x86-64/mpx4b.s
new file mode 100644
index 00000000..0e9ac14e
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx4b.s
@@ -0,0 +1,5 @@
+.text
+ .globl call1
+ .type call1, @function
+call1:
+ ret
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/plt-nacl.pd b/binutils-2.25/ld/testsuite/ld-x86-64/plt-nacl.pd
index 9a9363ee..b17bf714 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/plt-nacl.pd
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/plt-nacl.pd
@@ -14,12 +14,12 @@ Disassembly of section .plt:
+[0-9a-f]+: 41 83 e3 e0 and \$0xffffffe0,%r11d
+[0-9a-f]+: 4d 01 fb add %r15,%r11
+[0-9a-f]+: 41 ff e3 jmpq \*%r11
- +[0-9a-f]+: 2e 0f 1f 84 00 00 00 nopl %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 0f 1f 84 00 00 00 nopw 0x0\(%rax,%rax,1\)
+[0-9a-f]+: 00 00 *
- +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[0-9a-f]+: 0f 1f 84 00 00 00 00 *
+[0-9a-f]+: 00 *
- +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[0-9a-f]+: 0f 1f 84 00 00 00 00 *
+[0-9a-f]+: 00 *
+[0-9a-f]+: 66 90 xchg %ax,%ax
@@ -29,12 +29,12 @@ Disassembly of section .plt:
+[0-9a-f]+: 41 83 e3 e0 and \$0xffffffe0,%r11d
+[0-9a-f]+: 4d 01 fb add %r15,%r11
+[0-9a-f]+: 41 ff e3 jmpq \*%r11
- +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[0-9a-f]+: 0f 1f 84 00 00 00 00 *
+[0-9a-f]+: 00 *
+[0-9a-f]+: 68 00 00 00 00 pushq \$0x0
+[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmpq [0-9a-f]+ <fn1@plt-0x40>
- +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[0-9a-f]+: 0f 1f 84 00 00 00 00 *
+[0-9a-f]+: 00 *
+[0-9a-f]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
@@ -44,12 +44,12 @@ Disassembly of section .plt:
+[0-9a-f]+: 41 83 e3 e0 and \$0xffffffe0,%r11d
+[0-9a-f]+: 4d 01 fb add %r15,%r11
+[0-9a-f]+: 41 ff e3 jmpq \*%r11
- +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[0-9a-f]+: 0f 1f 84 00 00 00 00 *
+[0-9a-f]+: 00 *
+[0-9a-f]+: 68 01 00 00 00 pushq \$0x1
+[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmpq [0-9a-f]+ <fn1@plt-0x40>
- +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[0-9a-f]+: 0f 1f 84 00 00 00 00 *
+[0-9a-f]+: 00 *
+[0-9a-f]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/pr14207.d b/binutils-2.25/ld/testsuite/ld-x86-64/pr14207.d
index 2362e88b..d4e22a1b 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/pr14207.d
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/pr14207.d
@@ -2,8 +2,23 @@
#as: --64
#ld: -melf_x86_64 -shared -z relro -z now
#readelf: -l --wide
+#target: x86_64-*-linux*
-#failif
-#...
- NULL +.*
-#...
+Elf file type is DYN \(Shared object file\)
+Entry point 0x1d9
+There are 4 program headers, starting at offset 64
+
+Program Headers:
+ Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
+ LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x0001e0 0x0001e0 R 0x200000
+ LOAD 0x000b48 0x0000000000200b48 0x0000000000200b48 0x0004b0 0x000cf8 RW 0x200000
+ DYNAMIC 0x000b90 0x0000000000200b90 0x0000000000200b90 0x0001c0 0x0001c0 RW 0x8
+ GNU_RELRO 0x000b48 0x0000000000200b48 0x0000000000200b48 0x0004b8 0x0004b8 R 0x1
+
+ Section to Segment mapping:
+ Segment Sections...
+ 00 .hash .dynsym .dynstr
+ 01 .init_array .fini_array .jcr .data.rel.ro .dynamic .got .bss
+ 02 .dynamic
+ 03 .init_array .fini_array .jcr .data.rel.ro .dynamic .got
+#pass
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/pr17306a.s b/binutils-2.25/ld/testsuite/ld-x86-64/pr17306a.s
new file mode 100644
index 00000000..a2ee48d3
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/pr17306a.s
@@ -0,0 +1,9 @@
+ .data
+ .globl foo
+foo:
+ .quad -1
+ .text
+ .globl _start
+ .type _start, @function
+_start:
+ pushq foo@GOTPCREL(%rip)
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/pr17306b.s b/binutils-2.25/ld/testsuite/ld-x86-64/pr17306b.s
new file mode 100644
index 00000000..c63bd2af
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/pr17306b.s
@@ -0,0 +1,2 @@
+ .text
+ movq foo@GOTPCREL(%rip), %rax
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/split-by-file-nacl.rd b/binutils-2.25/ld/testsuite/ld-x86-64/split-by-file-nacl.rd
index 6cc81013..edc3e0b4 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/split-by-file-nacl.rd
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/split-by-file-nacl.rd
@@ -1,4 +1,4 @@
-There are 9 section headers, starting at offset 0x80:
+There are 9 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Address Off Size ES Flg Lk Inf Al
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/split-by-file.rd b/binutils-2.25/ld/testsuite/ld-x86-64/split-by-file.rd
index 6cc81013..edc3e0b4 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/split-by-file.rd
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/split-by-file.rd
@@ -1,4 +1,4 @@
-There are 9 section headers, starting at offset 0x80:
+There are 9 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Address Off Size ES Flg Lk Inf Al
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/tlsbin.dd b/binutils-2.25/ld/testsuite/ld-x86-64/tlsbin.dd
index a9b1227e..c89e7ee1 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/tlsbin.dd
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/tlsbin.dd
@@ -68,7 +68,7 @@ Disassembly of section .text:
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
# LD -> LE
- +[0-9a-f]+: 66 66 66 64 48 8b 04[ ]+data32 data32 data32 mov %fs:0x0,%rax
+ +[0-9a-f]+: 66 66 66 64 48 8b 04[ ]+data16 data16 data16 mov %fs:0x0,%rax
+[0-9a-f]+: 25 00 00 00 00 *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
@@ -83,7 +83,7 @@ Disassembly of section .text:
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
# LD -> LE against hidden variables
- +[0-9a-f]+: 66 66 66 64 48 8b 04[ ]+data32 data32 data32 mov %fs:0x0,%rax
+ +[0-9a-f]+: 66 66 66 64 48 8b 04[ ]+data16 data16 data16 mov %fs:0x0,%rax
+[0-9a-f]+: 25 00 00 00 00 *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd b/binutils-2.25/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd
index e3903c49..eff90a85 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd
@@ -9,34 +9,32 @@
Disassembly of section .plt:
-[0-9a-f]+ <.*@plt-0x40>:
+[0-9a-f]+ <.plt>:
+[0-9a-f]+: ff 35 .. .. .. .. pushq 0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x8>
+[0-9a-f]+: 4c 8b 1d .. .. .. .. mov 0x[0-9a-f]+\(%rip\),%r11 +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x10>
+[0-9a-f]+: 41 83 e3 e0 and \$0xffffffe0,%r11d
+[0-9a-f]+: 4d 01 fb add %r15,%r11
+[0-9a-f]+: 41 ff e3 jmpq \*%r11
- +[0-9a-f]+: 2e 0f 1f 84 00 00 00 nopl %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 0f 1f 84 00 00 00 nopw 0x0\(%rax,%rax,1\)
+[0-9a-f]+: 00 00 *
- +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[0-9a-f]+: 0f 1f 84 00 00 00 00 *
+[0-9a-f]+: 00 *
- +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[0-9a-f]+: 0f 1f 84 00 00 00 00 *
+[0-9a-f]+: 00 *
+[0-9a-f]+: 66 90 xchg %ax,%ax
-
-[0-9a-f]+ <.*@plt>:
+[0-9a-f]+: ff 35 .. .. .. .. pushq 0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x8>
+[0-9a-f]+: 4c 8b 1d .. .. .. .. mov 0x[0-9a-f]+\(%rip\),%r11 +# [0-9a-f]+ <_DYNAMIC\+0x190>
+[0-9a-f]+: 41 83 e3 e0 and \$0xffffffe0,%r11d
+[0-9a-f]+: 4d 01 fb add %r15,%r11
+[0-9a-f]+: 41 ff e3 jmpq \*%r11
- +[0-9a-f]+: 2e 0f 1f 84 00 00 00 nopl %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 0f 1f 84 00 00 00 nopw 0x0\(%rax,%rax,1\)
+[0-9a-f]+: 00 00 *
- +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[0-9a-f]+: 0f 1f 84 00 00 00 00 *
+[0-9a-f]+: 00 *
- +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+ +[0-9a-f]+: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
+[0-9a-f]+: 0f 1f 84 00 00 00 00 *
+[0-9a-f]+: 00 *
+[0-9a-f]+: 66 90 xchg %ax,%ax
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/tlsdesc.pd b/binutils-2.25/ld/testsuite/ld-x86-64/tlsdesc.pd
index 2176576b..c24403c1 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/tlsdesc.pd
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/tlsdesc.pd
@@ -9,11 +9,10 @@
Disassembly of section .plt:
-[0-9a-f]+ <.*@plt-0x10>:
+[0-9a-f]+ <.plt>:
[0-9a-f]+: ff 35 .. .. 20 00 pushq .*\(%rip\) # 201358 <_GLOBAL_OFFSET_TABLE_\+0x8>
[0-9a-f]+: ff 25 .. .. 20 00 jmpq \*.*\(%rip\) # 201360 <_GLOBAL_OFFSET_TABLE_\+0x10>
[0-9a-f]+: 0f 1f 40 00 nopl 0x0\(%rax\)
-[0-9a-f]+ <.*@plt>:
[0-9a-f]+: ff 35 .. .. 20 00 pushq .*\(%rip\) # 201358 <_GLOBAL_OFFSET_TABLE_\+0x8>
[0-9a-f]+: ff 25 .. .. 20 00 jmpq \*.*\(%rip\) # 201348 <_DYNAMIC\+0x190>
[0-9a-f]+: 0f 1f 40 00 nopl 0x0\(%rax\)
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/tlsgdesc.dd b/binutils-2.25/ld/testsuite/ld-x86-64/tlsgdesc.dd
index 635974c4..85b219fd 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/tlsgdesc.dd
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/tlsgdesc.dd
@@ -38,10 +38,10 @@ Disassembly of section .text:
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
# GD, gd first
- +[0-9a-f]+: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180>
+ +[0-9a-f]+: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180>
+[0-9a-f]+: [0-9a-f]{2} *
# -> R_X86_64_DTPMOD64 sG1
- +[0-9a-f]+: 66 66 48 e8 ([0-9a-f]{2} ){3}[ ]+data32 data32 callq [0-9a-f]+ <__tls_get_addr@plt>
+ +[0-9a-f]+: 66 66 48 e8 ([0-9a-f]{2} ){3}[ ]+data16 data16 callq [0-9a-f]+ <__tls_get_addr@plt>
+[0-9a-f]+: [0-9a-f]{2} *
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+[0-9a-f]+: 90[ ]+nop *
@@ -63,10 +63,10 @@ Disassembly of section .text:
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
+[0-9a-f]+: 90[ ]+nop *
- +[0-9a-f]+: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160>
+ +[0-9a-f]+: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160>
+[0-9a-f]+: [0-9a-f]{2} *
# -> R_X86_64_DTPMOD64 sG2
- +[0-9a-f]+: 66 66 48 e8 ([0-9a-f]{2} ){3}[ ]+data32 data32 callq [0-9a-f]+ <__tls_get_addr@plt>
+ +[0-9a-f]+: 66 66 48 e8 ([0-9a-f]{2} ){3}[ ]+data16 data16 callq [0-9a-f]+ <__tls_get_addr@plt>
+[0-9a-f]+: [0-9a-f]{2} *
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+[0-9a-f]+: 90[ ]+nop *
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/tlsie4.dd b/binutils-2.25/ld/testsuite/ld-x86-64/tlsie4.dd
index d52e337a..e40b9177 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/tlsie4.dd
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/tlsie4.dd
@@ -9,8 +9,8 @@
Disassembly of section .text:
[a-f0-9]+ <_start>:
-[ ]*[a-f0-9]+: c7 c0 fc ff ff ff mov \$0xfffffffc,%eax
-[ ]*[a-f0-9]+: 8d 80 fc ff ff ff lea -0x4\(%rax\),%eax
+[ ]*[a-f0-9]+: 40 c7 c0 fc ff ff ff rex mov \$0xfffffffc,%eax
+[ ]*[a-f0-9]+: 40 8d 80 fc ff ff ff rex lea -0x4\(%rax\),%eax
[ ]*[a-f0-9]+: 41 c7 c0 fc ff ff ff mov \$0xfffffffc,%r8d
[ ]*[a-f0-9]+: 45 8d 80 fc ff ff ff lea -0x4\(%r8\),%r8d
[ ]*[a-f0-9]+: 41 c7 c4 fc ff ff ff mov \$0xfffffffc,%r12d
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/tlsld1.dd b/binutils-2.25/ld/testsuite/ld-x86-64/tlsld1.dd
index e91ce08b..ec7467ab 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/tlsld1.dd
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/tlsld1.dd
@@ -9,5 +9,5 @@
Disassembly of section .text:
[a-f0-9]+ <_start>:
-[ ]*[a-f0-9]+: 66 66 66 64 48 8b 04 25 00 00 00 00 data32 data32 data32 mov %fs:0x0,%rax
+[ ]*[a-f0-9]+: 66 66 66 64 48 8b 04 25 00 00 00 00 data16 data16 data16 mov %fs:0x0,%rax
#pass
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/tlsld3.dd b/binutils-2.25/ld/testsuite/ld-x86-64/tlsld3.dd
index 0b639c69..f9c8de28 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/tlsld3.dd
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/tlsld3.dd
@@ -14,7 +14,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 53 push %rbx
[ ]*[a-f0-9]+: 48 8d 1d ed ff ff ff lea -0x13\(%rip\),%rbx # [0-9a-f]+ <_start>
[ ]*[a-f0-9]+: 4c 01 db add %r11,%rbx
-[ ]*[a-f0-9]+: 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 data16 data16 data16 nopw %cs:0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 64 48 8b 04 25 00 00 00 00 mov %fs:0x0,%rax
[ ]*[a-f0-9]+: 8b 80 fc ff ff ff mov -0x4\(%rax\),%eax
[ ]*[a-f0-9]+: 5b pop %rbx
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/tlspic.dd b/binutils-2.25/ld/testsuite/ld-x86-64/tlspic.dd
index 2f85586b..26d83e97 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/tlspic.dd
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/tlspic.dd
@@ -17,10 +17,10 @@ Disassembly of section .text:
+1006: 90[ ]+nop *
+1007: 90[ ]+nop *
# GD
- +1008: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180>
+ +1008: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180>
+100f: [0-9a-f ]+
# -> R_X86_64_DTPMOD64 sg1
- +1010: 66 66 48 e8 [0-9a-f ]+data32 data32 callq [0-9a-f]+ <.*>
+ +1010: 66 66 48 e8 [0-9a-f ]+data16 data16 callq [0-9a-f]+ <.*>
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+1017: [0-9a-f ]+
+1018: 90[ ]+nop *
@@ -37,10 +37,10 @@ Disassembly of section .text:
+102e: 90[ ]+nop *
+102f: 90[ ]+nop *
# GD against local variable
- +1030: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x130>
+ +1030: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x130>
+1037: [0-9a-f ]+
# -> R_X86_64_DTPMOD64 [0 0x2000000000000000]
- +1038: 66 66 48 e8 [0-9a-f ]+data32 data32 callq [0-9a-f]+ <.*>
+ +1038: 66 66 48 e8 [0-9a-f ]+data16 data16 callq [0-9a-f]+ <.*>
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+103f: [0-9a-f ]+
+1040: 90[ ]+nop *
@@ -57,10 +57,10 @@ Disassembly of section .text:
+1056: 90[ ]+nop *
+1057: 90[ ]+nop *
# GD against hidden and local variable
- +1058: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x1a8>
+ +1058: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x1a8>
+105f: [0-9a-f ]+
# -> R_X86_64_DTPMOD64 [0 0x4000000000000000]
- +1060: 66 66 48 e8 [0-9a-f ]+data32 data32 callq [0-9a-f]+ <.*>
+ +1060: 66 66 48 e8 [0-9a-f ]+data16 data16 callq [0-9a-f]+ <.*>
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+1067: [0-9a-f ]+
+1068: 90[ ]+nop *
@@ -77,10 +77,10 @@ Disassembly of section .text:
+107e: 90[ ]+nop *
+107f: 90[ ]+nop *
# GD against hidden but not local variable
- +1080: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160>
+ +1080: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data16 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160>
+1087: [0-9a-f ]+
# -> R_X86_64_DTPMOD64 [0 0x6000000000000000]
- +1088: 66 66 48 e8 [0-9a-f ]+data32 data32 callq [0-9a-f]+ <.*>
+ +1088: 66 66 48 e8 [0-9a-f ]+data16 data16 callq [0-9a-f]+ <.*>
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+108f: [0-9a-f ]+
+1090: 90[ ]+nop *
diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp b/binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp
index 3ddce846..54786a78 100644
--- a/binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp
@@ -1,6 +1,5 @@
# Expect script for ld-x86_64 tests
-# Copyright (C) 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
-# Free Software Foundation
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -137,6 +136,14 @@ set x86_64tests {
{"build 32-bit object with 33 locals" "-melf_x86_64 -e 0" "" "--32" {32bit.s} {{ ld incompatible.l }} "dummy" }
{"build 64-bit object" "-melf_x86_64 -e 0 --defsym foo=1" "" "--64" {64bit.s} {} "dummy" }
{"link mixed objects" "-melf_x86_64 -e 0 tmpdir/32bit.o tmpdir/64bit.o" "" "" {} { { ld incompatible.l } } "mixed"}
+ {"PR ld/17313 (1)" "-melf_x86_64" ""
+ "--64" {dummy.s} {} ""}
+ {"PR ld/17313 (2)" "-melf_x86_64 -shared --just-symbols=tmpdir/dummy.o" ""
+ "--64" {lea1.s} {} "libpr17313.so"}
+ {"PR ld/17306 (1)" "-melf_x86_64" ""
+ "--64" {pr17306b.s} {} ""}
+ {"PR ld/17306 (2)" "-melf_x86_64 -shared -Bsymbolic --just-symbols=tmpdir/pr17306b.o" ""
+ "--64" {pr17306a.s} {} "libpr17306.so"}
}
# So as to avoid rewriting every last test case here in a nacl variant,
@@ -172,7 +179,7 @@ global ld
set test_name "Mixed x86_64 and i386 input test 1"
set test mixed1
if { ![ld_simple_link $ld tmpdir/$test "-m$emul tmpdir/${test}a.o tmpdir/${test}b.o"] } {
- if [string match "*i386 architecture of input file `tmpdir/${test}b.o' is incompatible with i386:x86-64* output*" $link_output] {
+ if [string match "*i386* architecture of input file `tmpdir/${test}b.o' is incompatible with i386:x86-64* output*" $link_output] {
pass "$test_name"
} {
fail "$test_name"
@@ -182,7 +189,7 @@ if { ![ld_simple_link $ld tmpdir/$test "-m$emul tmpdir/${test}a.o tmpdir/${test}
set test_name "Mixed x86_64 and i386 input test 2"
set test mixed2
if { ![ld_simple_link $ld tmpdir/$test "-m$emul tmpdir/${test}a.o tmpdir/${test}b.o"] } {
- if [string match "*i386 architecture of input file `tmpdir/${test}b.o' is incompatible with i386:x86-64* output*" $link_output] {
+ if [string match "*i386* architecture of input file `tmpdir/${test}b.o' is incompatible with i386:x86-64* output*" $link_output] {
pass "$test_name"
} {
fail "$test_name"
diff --git a/binutils-2.25/ld/testsuite/ld-xc16x/xc16x.exp b/binutils-2.25/ld/testsuite/ld-xc16x/xc16x.exp
index 5ab08c10..b79ce2b6 100644
--- a/binutils-2.25/ld/testsuite/ld-xc16x/xc16x.exp
+++ b/binutils-2.25/ld/testsuite/ld-xc16x/xc16x.exp
@@ -1,5 +1,5 @@
# Expect script for ld-xstormy16 tests
-# Copyright (C) 2003, 2006, 2007 Free Software Foundation
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-xstormy16/xstormy16.exp b/binutils-2.25/ld/testsuite/ld-xstormy16/xstormy16.exp
index ceb60752..c372adb8 100644
--- a/binutils-2.25/ld/testsuite/ld-xstormy16/xstormy16.exp
+++ b/binutils-2.25/ld/testsuite/ld-xstormy16/xstormy16.exp
@@ -1,5 +1,5 @@
# Expect script for ld-xstormy16 tests
-# Copyright (C) 2003, 2005, 2007 Free Software Foundation
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-xtensa/coalesce.exp b/binutils-2.25/ld/testsuite/ld-xtensa/coalesce.exp
index c122263b..371f7786 100644
--- a/binutils-2.25/ld/testsuite/ld-xtensa/coalesce.exp
+++ b/binutils-2.25/ld/testsuite/ld-xtensa/coalesce.exp
@@ -1,7 +1,6 @@
# Test literal coaslescing for Xtensa targets.
# By David Heine, Tensilica, Inc.
-# Copyright 2002, 2003, 2005, 2007, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-xtensa/diff_overflow.exp b/binutils-2.25/ld/testsuite/ld-xtensa/diff_overflow.exp
new file mode 100644
index 00000000..89deb38c
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-xtensa/diff_overflow.exp
@@ -0,0 +1,45 @@
+# Test DIFF* relocation signedness and overflow checking
+# By Max Filippov, Cadence Design Systems, Inc.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# This file is part of the GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+
+if ![istarget "xtensa*-*-*"] {
+ return
+}
+
+set testname "DIFF_OVERFLOW"
+
+if ![ld_assemble $as "--text-section-literals $srcdir/$subdir/diff_overflow1.s" tmpdir/diff_overflow1.o] {
+ unresolved $testname
+ return
+}
+if ![ld_assemble $as "--text-section-literals $srcdir/$subdir/diff_overflow2.s" tmpdir/diff_overflow2.o] {
+ unresolved $testname
+ return
+}
+
+set object "tmpdir/diff_overflow"
+
+if ![ld_simple_link $ld $object "tmpdir/diff_overflow1.o tmpdir/diff_overflow2.o"] {
+ verbose -log "failure in ld"
+ fail $testname
+ return
+}
+
+pass $testname
diff --git a/binutils-2.25/ld/testsuite/ld-xtensa/diff_overflow1.s b/binutils-2.25/ld/testsuite/ld-xtensa/diff_overflow1.s
new file mode 100644
index 00000000..38519da3
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-xtensa/diff_overflow1.s
@@ -0,0 +1,27 @@
+ .section .text.f0,"axG",@progbits,f0,comdat
+ .literal_position
+ .literal .L0, 0
+ .align 4
+f0:
+ entry a1, 32
+ l32r a2, .L0
+ retw
+
+ .section .text
+ .literal_position
+ .global _start
+_start:
+ entry a1, 32
+ retw
+
+ .section .text.f1,"axG",@progbits,f1,comdat
+ .literal_position
+ .literal .L1, 0
+ .literal .L2, 0
+ .align 4
+ .global f1
+f1:
+ entry a1, 32
+ l32r a2, .L1
+ l32r a3, .L2
+ retw
diff --git a/binutils-2.25/ld/testsuite/ld-xtensa/diff_overflow2.s b/binutils-2.25/ld/testsuite/ld-xtensa/diff_overflow2.s
new file mode 100644
index 00000000..096ae39d
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-xtensa/diff_overflow2.s
@@ -0,0 +1,22 @@
+ .section .text.f1,"axG",@progbits,f1,comdat
+ .literal_position
+ .literal .L5, 0
+ .align 4
+f4:
+ entry a1, 32
+.Lf4:
+ l32r a2, .L5
+ l32r a2, .L5
+ nop
+ nop
+ retw
+
+ .section .text
+f5:
+ entry a1, 32
+.Lf5:
+ retw
+
+ .section .debug_frame,"",@progbits
+ .byte .Lf4 - f4
+ .byte .Lf5 - f5
diff --git a/binutils-2.25/ld/testsuite/ld-xtensa/lcall.exp b/binutils-2.25/ld/testsuite/ld-xtensa/lcall.exp
index 599c69c2..09152773 100644
--- a/binutils-2.25/ld/testsuite/ld-xtensa/lcall.exp
+++ b/binutils-2.25/ld/testsuite/ld-xtensa/lcall.exp
@@ -1,7 +1,6 @@
# Test Xtensa longcall optimization.
# By David Heine, Tensilica, Inc.
-# Copyright 2002, 2003, 2005, 2007, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/ld-xtensa/xtensa.exp b/binutils-2.25/ld/testsuite/ld-xtensa/xtensa.exp
index f2986abd..f2124792 100644
--- a/binutils-2.25/ld/testsuite/ld-xtensa/xtensa.exp
+++ b/binutils-2.25/ld/testsuite/ld-xtensa/xtensa.exp
@@ -1,5 +1,5 @@
# Expect script for ld-xtensa tests
-# Copyright (C) 2008 Free Software Foundation
+# Copyright (C) 2008-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
diff --git a/binutils-2.25/ld/testsuite/lib/ld-lib.exp b/binutils-2.25/ld/testsuite/lib/ld-lib.exp
index 67c429ff..7d2df221 100644
--- a/binutils-2.25/ld/testsuite/lib/ld-lib.exp
+++ b/binutils-2.25/ld/testsuite/lib/ld-lib.exp
@@ -1,5 +1,5 @@
# Support routines for LD testsuite.
-# Copyright 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -79,14 +79,33 @@ proc default_ld_version { ld } {
proc run_host_cmd { prog command } {
global link_output
+ global gcc_B_opt
+ global ld_L_opt
if { ![is_remote host] && [which "$prog"] == 0 } then {
perror "$prog does not exist"
return 0
}
- verbose -log "$prog $command"
- set status [remote_exec host [concat sh -c [list "$prog $command 2>&1"]] "" "/dev/null" "ld.tmp"]
+ # If we are compiling with gcc, we want to add gcc_B_opt and
+ # ld_L_opt to flags. However, if $prog already has -B options,
+ # which might be the case when running gcc out of a build
+ # directory, we want our -B options to come first.
+ set gccexe $prog
+ set gccparm [string first " " $gccexe]
+ set gccflags ""
+ if { $gccparm > 0 } then {
+ set gccflags [string range $gccexe $gccparm end]
+ set gccexe [string range $gccexe 0 $gccparm]
+ set prog $gccexe
+ }
+ set gccexe [string replace $gccexe 0 [string last "/" $gccexe] ""]
+ if {[string match "*cc*" $gccexe] || [string match "*++*" $gccexe]} then {
+ set gccflags "$gcc_B_opt $gccflags $ld_L_opt"
+ }
+
+ verbose -log "$prog $gccflags $command"
+ set status [remote_exec host [concat sh -c [list "$prog $gccflags $command 2>&1"]] "" "/dev/null" "ld.tmp"]
remote_upload host "ld.tmp"
set link_output [file_contents "ld.tmp"]
regsub "\n$" $link_output "" link_output
@@ -179,6 +198,7 @@ proc default_ld_link { ld target objects } {
global HOSTING_CRT0
global HOSTING_SCRT0
global HOSTING_LIBS
+ global HOSTING_SLIBS
global LIBS
global host_triplet
global link_output
@@ -186,10 +206,11 @@ proc default_ld_link { ld target objects } {
if { [ string match "* -pie *" $objects ] } {
set objs "$HOSTING_SCRT0 $objects"
+ set libs "$LIBS $HOSTING_SLIBS"
} else {
set objs "$HOSTING_CRT0 $objects"
+ set libs "$LIBS $HOSTING_LIBS"
}
- set libs "$LIBS $HOSTING_LIBS"
if [is_endian_output_format $objects] then {
set flags [big_or_little_endian]
@@ -206,45 +227,22 @@ proc default_ld_link { ld target objects } {
#
proc default_ld_simple_link { ld target objects } {
global host_triplet
- global gcc_ld_flag
global exec_output
+ set flags ""
if [is_endian_output_format $objects] then {
set flags [big_or_little_endian]
- } else {
- set flags ""
- }
-
- # If we are compiling with gcc, we want to add gcc_ld_flag to
- # flags. Rather than determine this in some complex way, we guess
- # based on the name of the compiler.
- set ldexe $ld
- set ldparm [string first " " $ld]
- set ldflags ""
- if { $ldparm > 0 } then {
- set ldflags [string range $ld $ldparm end]
- set ldexe [string range $ld 0 $ldparm]
- set ld $ldexe
- }
- set ldexe [string replace $ldexe 0 [string last "/" $ldexe] ""]
- if {[string match "*gcc*" $ldexe] || [string match "*++*" $ldexe]} then {
- set ldflags "$gcc_ld_flag $ldflags"
}
remote_file host delete $target
-
- set exec_output [run_host_cmd "$ld" "$ldflags $flags -o $target $objects"]
+ set exec_output [run_host_cmd "$ld" "$flags -o $target $objects"]
set exec_output [prune_warnings $exec_output]
# We don't care if we get a warning about a non-existent start
# symbol, since the default linker script might use ENTRY.
regsub -all "(^|\n)(\[^\n\]*: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output
- if [string match "" $exec_output] then {
- return 1
- } else {
- return 0
- }
+ return [string match "" $exec_output]
}
# Compile an object using cc.
@@ -255,7 +253,7 @@ proc default_ld_compile { cc source object } {
global srcdir
global subdir
global host_triplet
- global gcc_gas_flag
+ global gcc_B_opt
set cc_prog $cc
if {[llength $cc_prog] > 1} then {
@@ -269,11 +267,12 @@ proc default_ld_compile { cc source object } {
remote_file build delete "$object"
remote_file host delete "$object"
- set flags "-I$srcdir/$subdir"
+ set flags "$gcc_B_opt -I$srcdir/$subdir"
- # If we are compiling with gcc, we want to add gcc_gas_flag to
- # flags. Rather than determine this in some complex way, we guess
- # based on the name of the compiler.
+ # If we are compiling with gcc, we want to add gcc_B_opt to flags.
+ # However, if $prog already has -B options, which might be the
+ # case when running gcc out of a build directory, we want our -B
+ # options to come first.
set ccexe $cc
set ccparm [string first " " $cc]
set ccflags ""
@@ -282,24 +281,26 @@ proc default_ld_compile { cc source object } {
set ccexe [string range $cc 0 $ccparm]
set cc $ccexe
}
- set ccexe [string replace $ccexe 0 [string last "/" $ccexe] ""]
- if {[string match "*gcc*" $ccexe] || [string match "*++*" $ccexe]} then {
- set flags "$gcc_gas_flag $flags"
- }
+ set ccexe [string replace $ccexe 0 [string last "/" $ccexe] ""]
if {[string match "*++*" $ccexe]} {
- set flags "$flags $CXXFLAGS"
+ append flags " $CXXFLAGS"
} else {
- set flags "$flags $CFLAGS"
+ append flags " $CFLAGS"
+ }
+
+ if [board_info [target_info name] exists cflags] {
+ append flags " [board_info [target_info name] cflags]"
}
if [board_info [target_info name] exists multilib_flags] {
append flags " [board_info [target_info name] multilib_flags]"
}
- verbose -log "$cc $flags $ccflags -c $source -o $object"
+ set cmd "$cc $flags $ccflags -c $source -o $object"
+ verbose -log "$cmd"
- set status [remote_exec host [concat sh -c [list "$cc $flags $ccflags -c $source -o $object 2>&1"]] "" "/dev/null" "ld.tmp"]
+ set status [remote_exec host [concat sh -c [list "$cmd 2>&1"]] "" "/dev/null" "ld.tmp"]
remote_upload host "ld.tmp"
set exec_output [file_contents "ld.tmp"]
remote_file build delete "ld.tmp"
@@ -409,9 +410,9 @@ proc ld_simple_link_defsyms {} {
append flags " --defsym __gccmain=0"
}
- # Windows targets need __main, prefixed with underscore.
+ # Windows targets need __main, some prefixed with underscore.
if {[istarget *-*-cygwin* ] || [istarget *-*-mingw*]} {
- append flags " --defsym ___main=0"
+ append flags " --defsym __main=0 --defsym ___main=0"
}
# PowerPC EABI code calls __eabi.
@@ -491,6 +492,11 @@ proc ld_simple_link_defsyms {} {
# ld_after_inputfiles: FLAGS
# Similar to "ld", but put after all input files.
#
+# objcopy_objects: FLAGS
+# Run objcopy with the specified flags after assembling any source
+# that has the special marker RUN_OBJCOPY in the source specific
+# flags.
+#
# objcopy_linked_file: FLAGS
# Run objcopy on the linked file with the specified flags.
# This lets you transform the linked file using objcopy, before the
@@ -599,6 +605,7 @@ proc run_dump_test { name {extra_options {}} } {
set opts(error) {}
set opts(warning) {}
set opts(objcopy_linked_file) {}
+ set opts(objcopy_objects) {}
foreach i $opt_array {
set opt_name [lindex $i 0]
@@ -778,6 +785,12 @@ proc run_dump_test { name {extra_options {}} } {
for { set i 0 } { $i < [llength $sourcefiles] } { incr i } {
set sourcefile [lindex $sourcefiles $i]
set sourceasflags [lindex $asflags $i]
+ set run_objcopy_objects 0
+
+ if { [string match "*RUN_OBJCOPY*" $sourceasflags] } {
+ set run_objcopy_objects 1
+ }
+ regsub "RUN_OBJCOPY" $sourceasflags "" sourceasflags
set objfile "tmpdir/dump$i.o"
catch "exec rm -f $objfile" exec_output
@@ -801,6 +814,30 @@ proc run_dump_test { name {extra_options {}} } {
fail $testname
return
}
+
+ if { $run_objcopy_objects } {
+ set cmd "$OBJCOPY $opts(objcopy_objects) $objfile"
+
+ send_log "$cmd\n"
+ set cmdret [remote_exec host [concat sh -c [list "$cmd 2>&1"]] \
+ "" "/dev/null" "objcopy.tmp"]
+ remote_upload host "objcopy.tmp"
+ set comp_output [prune_warnings [file_contents "objcopy.tmp"]]
+ remote_file host delete "objcopy.tmp"
+ remote_file build delete "objcopy.tmp"
+
+ if { [lindex $cmdret 0] != 0 \
+ || ![string match "" $comp_output] } {
+ send_log "$comp_output\n"
+ verbose "$comp_output" 3
+
+ set exitstat "succeeded"
+ if { $cmdret != 0 } { set exitstat "failed" }
+ verbose -log "$exitstat with: <$comp_output>"
+ fail $testname
+ return
+ }
+ }
}
set expmsg $opts(error)
@@ -1089,7 +1126,9 @@ proc run_ld_link_tests { ldtests } {
continue
}
- if { [regexp ".*\\.a$" $binfile] } {
+ if { $binfile eq "tmpdir/" } {
+ # compile only
+ } elseif { [regexp ".*\\.a$" $binfile] } {
if { ![ar_simple_create $ar $ld_options $binfile "$objfiles $ld_after"] } {
set failed 1
}
@@ -1292,10 +1331,12 @@ proc run_ld_link_exec_tests { targets_to_xfail ldtests } {
set link_cmd $ld
}
- if ![$link_proc $link_cmd $binfile "-L$srcdir/$subdir $ld_options $objfiles"] {
+ if { $binfile eq "tmpdir/" } {
+ # compile only
+ pass $testname
+ continue;
+ } elseif ![$link_proc $link_cmd $binfile "-L$srcdir/$subdir $ld_options $objfiles"] {
set failed 1
- } else {
- set failed 0
}
# Check if exec_output is expected.
@@ -1383,6 +1424,15 @@ proc run_cc_link_tests { ldtests } {
set is_unresolved 0
set failed 0
+ #verbose -log "testname is $testname"
+ #verbose -log "ldflags is $ldflags"
+ #verbose -log "cflags is $cflags"
+ #verbose -log "src_files is $src_files"
+ #verbose -log "actions is $actions"
+ #verbose -log "binfile is $binfile"
+ #verbose -log "lang is $lang"
+ #verbose -log "warnings is $warnings"
+
# Compile each file in the test.
foreach src_file $src_files {
set fileroot "[file rootname [file tail $src_file]]"
@@ -1408,18 +1458,16 @@ proc run_cc_link_tests { ldtests } {
set cc_cmd $CC
}
- if { [regexp ".*\\.a$" $binfile] } {
+ if { $binfile eq "tmpdir/" } {
+ # compile only
+ } elseif { [regexp ".*\\.a$" $binfile] } {
if { ![ar_simple_create $ar $ldflags $binfile "$objfiles"] } {
fail $testname
set failed 1
- } else {
- set failed 0
}
} else {
if { ![ld_simple_link $cc_cmd $binfile "-L$srcdir/$subdir $ldflags $objfiles"] } {
set failed 1
- } else {
- set failed 0
}
# Check if exec_output is expected.
@@ -1493,16 +1541,13 @@ proc run_cc_link_tests { ldtests } {
}
}
}
-
- if { $failed != 0 } {
- fail $testname
- } else { if { $is_unresolved == 0 } {
- pass $testname
- } }
}
- # Catch action errors.
- if { $is_unresolved != 0 } {
+ if { $failed != 0 } {
+ fail $testname
+ } elseif { $is_unresolved == 0 } {
+ pass $testname
+ } else {
unresolved $testname
continue
}
@@ -1522,7 +1567,6 @@ proc check_gc_sections_available { } {
|| [istarget d30v-*-*]
|| [istarget dlx-*-*]
|| [istarget i960-*-*]
- || [istarget or32-*-*]
|| [istarget pj*-*-*]
|| [istarget alpha-*-*]
|| [istarget hppa*64-*-*]
@@ -1594,8 +1638,8 @@ proc check_shared_lib_support { } {
&& ![istarget moxie-*-*]
&& ![istarget msp430-*-*]
&& ![istarget mt-*-*]
- && ![istarget openrisc-*-*]
- && ![istarget or32-*-*]
+ && ![istarget nds32*-*-*]
+ && ![istarget or1k*-*-*]
&& ![istarget pj-*-*]
&& ![istarget rl78-*-*]
&& ![istarget rx-*-*]
@@ -1616,7 +1660,7 @@ proc check_plugin_api_available { } {
if {![info exists plugin_api_available_saved]} {
# Check if the ld used by gcc supports --plugin.
set ld_output [remote_exec host $ld "--help"]
- if { [ string first "-plugin" $ld_output ] >= 0 } {
+ if { [ string first "-plugin PLUGIN" $ld_output ] >= 0 } {
set plugin_api_available_saved 1
} else {
set plugin_api_available_saved 0
@@ -1625,34 +1669,124 @@ proc check_plugin_api_available { } {
return $plugin_api_available_saved
}
+# Sets ld_sysroot to the current sysroot (empty if not supported) and
+# returns true if the target ld supports sysroot.
+proc check_sysroot_available { } {
+ global ld_sysroot_available_saved ld ld_sysroot
+ if {![info exists ld_sysroot_available_saved]} {
+ # Check if ld supports --sysroot *other* than empty.
+ set ld_sysroot [string trimright [lindex [remote_exec host $ld "--print-sysroot"] 1]]
+ if { $ld_sysroot == "" } {
+ set ld_sysroot_available_saved 0
+ } else {
+ set ld_sysroot_available_saved 1
+ }
+ }
+ return $ld_sysroot_available_saved
+}
+
# Returns true if the target compiler supports LTO
proc check_lto_available { } {
global lto_available_saved
global CC
+
if {![info exists lto_available_saved]} {
- # Check if gcc supports -flto -fuse-linker-plugin
- if { [which $CC] == 0 } {
+ if { [which $CC] == 0 } {
set lto_available_saved 0
return 0
}
- set basename "lto"
- set src ${basename}[pid].c
- set output ${basename}[pid].so
+ # Check if gcc supports -flto -fuse-linker-plugin
+ set flags ""
+ if [board_info [target_info name] exists cflags] {
+ append flags " [board_info [target_info name] cflags]"
+ }
+ if [board_info [target_info name] exists ldflags] {
+ append flags " [board_info [target_info name] ldflags]"
+ }
+
+ set basename "tmpdir/lto[pid]"
+ set src ${basename}.c
+ set output ${basename}.out
set f [open $src "w"]
- puts $f ""
+ puts $f "int main() { return 0; }"
close $f
- set status [remote_exec host $CC "-shared -B[pwd]/tmpdir/ld/ -flto -fuse-linker-plugin $src -o $output"]
- if { [lindex $status 0] == 0 } {
- set lto_available_saved 1
- } else {
- set lto_available_saved 0
- }
+ remote_download host $src
+ set lto_available_saved [run_host_cmd_yesno "$CC" "$flags -flto -fuse-linker-plugin $src -o $output"]
+ remote_file host delete $src
+ remote_file host delete $output
file delete $src
- file delete $output
}
return $lto_available_saved
}
+# Returns true if the target compiler supports LTO -ffat-lto-objects
+proc check_lto_fat_available { } {
+ global lto_fat_available_saved
+ global CC
+
+ if {![info exists lto_fat_available_saved]} {
+ if { [which $CC] == 0 } {
+ set lto_fat_available_saved 0
+ return 0
+ }
+ # Check if gcc supports -flto -fuse-linker-plugin
+ set flags ""
+ if [board_info [target_info name] exists cflags] {
+ append flags " [board_info [target_info name] cflags]"
+ }
+ if [board_info [target_info name] exists ldflags] {
+ append flags " [board_info [target_info name] ldflags]"
+ }
+
+ set basename "tmpdir/lto[pid]"
+ set src ${basename}.c
+ set output ${basename}.out
+ set f [open $src "w"]
+ puts $f "int main() { return 0; }"
+ close $f
+ remote_download host $src
+ set lto_fat_available_saved [run_host_cmd_yesno "$CC" "$flags -flto -ffat-lto-objects -fuse-linker-plugin $src -o $output"]
+ remote_file host delete $src
+ remote_file host delete $output
+ file delete $src
+ }
+ return $lto_fat_available_saved
+}
+
+# Returns true if the target compiler supports LTO and -shared
+proc check_lto_shared_available { } {
+ global lto_shared_available_saved
+ global CC
+
+ if {![info exists lto_shared_available_saved]} {
+ if { [which $CC] == 0 } {
+ set lto_shared_available_saved 0
+ return 0
+ }
+ # Check if gcc supports -flto -fuse-linker-plugin -shared
+ set flags ""
+ if [board_info [target_info name] exists cflags] {
+ append flags " [board_info [target_info name] cflags]"
+ }
+ if [board_info [target_info name] exists ldflags] {
+ append flags " [board_info [target_info name] ldflags]"
+ }
+
+ set basename "tmpdir/lto_shared[pid]"
+ set src ${basename}.c
+ set output ${basename}.so
+ set f [open $src "w"]
+ puts $f ""
+ close $f
+ remote_download host $src
+ set lto_shared_available_saved [run_host_cmd_yesno "$CC" "$flags -shared -fPIC -flto -fuse-linker-plugin $src -o $output"]
+ remote_file host delete $src
+ remote_file host delete $output
+ file delete $src
+ }
+ return $lto_shared_available_saved
+}
+
# Check if the assembler supports CFI statements.
proc check_as_cfi { } {