CVS commit: src/external/gpl3/binutils/dist/ld

2021-04-26 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Apr 26 15:38:11 UTC 2021

Modified Files:
src/external/gpl3/binutils/dist/ld: configure.tgt

Log Message:
fix typos


To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.37 src/external/gpl3/binutils/dist/ld/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/configure.tgt
diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.36 src/external/gpl3/binutils/dist/ld/configure.tgt:1.37
--- src/external/gpl3/binutils/dist/ld/configure.tgt:1.36	Sun Apr 25 19:35:52 2021
+++ src/external/gpl3/binutils/dist/ld/configure.tgt	Mon Apr 26 11:38:11 2021
@@ -508,7 +508,7 @@ mips64*el-*-netbsd*)	targ_emul=elf32ltsm
 			targ_extra_libpath=$targ_extra_emuls
 			;;
 mipsn64*el-*-netbsd*)	targ_emul=elf64ltsmip
-			targ_extra_emuls="elf64btsmip elf64ltsmip elf32ltsmip elf32btsmip elf32btsmipn32 elf32ltsmip32"
+			targ_extra_emuls="elf64btsmip elf32ltsmip elf32btsmip elf32btsmipn32 elf32ltsmipn32"
 			targ_extra_libpath=$targ_extra_emuls
 			;; 	 
 mips64*-*-netbsd*)	targ_emul=elf32btsmipn32



CVS commit: src/external/gpl3/binutils/dist/bfd

2021-04-21 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Thu Apr 22 01:09:48 UTC 2021

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-ppc.c elf64-ppc.c

Log Message:
Fix regression where ld(1) is trapped into infinite loop when
linking binary whose text does not fit within R_PPC_REL24.

Reported upstream as Bug 27755:
https://sourceware.org/bugzilla/show_bug.cgi?id=27755

This problem was introduced to binutils-2-31-1 for our tree.
netbsd-9 is affected, while netbsd-8 is not.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c \
src/external/gpl3/binutils/dist/bfd/elf64-ppc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-ppc.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.15 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.16
--- src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.15	Fri Apr  3 23:48:46 2020
+++ src/external/gpl3/binutils/dist/bfd/elf32-ppc.c	Thu Apr 22 01:09:48 2021
@@ -4235,7 +4235,7 @@ ppc_elf_inline_plt (struct bfd_link_info
 	  return FALSE;
 
 	relend = relstart + sec->reloc_count;
-	for (rel = relstart; rel < relend; )
+	for (rel = relstart; rel < relend; rel++)
 	  {
 		enum elf_ppc_reloc_type r_type;
 		unsigned long r_symndx;
Index: src/external/gpl3/binutils/dist/bfd/elf64-ppc.c
diff -u src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.15 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.16
--- src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.15	Fri Apr  3 23:48:46 2020
+++ src/external/gpl3/binutils/dist/bfd/elf64-ppc.c	Thu Apr 22 01:09:48 2021
@@ -7507,7 +7507,7 @@ ppc64_elf_inline_plt (struct bfd_link_in
 	  return FALSE;
 
 	relend = relstart + sec->reloc_count;
-	for (rel = relstart; rel < relend; )
+	for (rel = relstart; rel < relend; rel++)
 	  {
 		enum elf_ppc64_reloc_type r_type;
 		unsigned long r_symndx;



CVS commit: src/external/gpl3/binutils/dist/ld/emulparams

2021-02-20 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sat Feb 20 14:48:07 UTC 2021

Modified Files:
src/external/gpl3/binutils/dist/ld/emulparams: elf32bmip.sh
elf32bmipn32-defs.sh

Log Message:
Reapply the following change - Simon's first attempt had a missing ';'

release builds done for cobalt and evbmips64-eb

Provide an __eprol symbol in TEXT_START_SYMBOLS.  MIPS overrides
TEXT_START_SYMBOLS so it misses out on the default definition of
this that does provide an __eprol symbol.  Fixes linking of profiled
binaries.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh
cvs rdiff -u -r1.9 -r1.10 \
src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.3 src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.4
--- src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.3	Sat Feb 20 02:47:21 2021
+++ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh	Sat Feb 20 14:48:07 2021
@@ -56,7 +56,7 @@ OTHER_SDATA_SECTIONS="
   .lit8 ${RELOCATING-0} : { *(.lit8) }
   .lit4 ${RELOCATING-0} : { *(.lit4) }
 "
-TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};"
+TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .); ${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};"
 DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};"
 OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};"
 OTHER_SECTIONS="

Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.9 src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.10
--- src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.9	Sat Feb 20 02:47:21 2021
+++ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh	Sat Feb 20 14:48:07 2021
@@ -78,7 +78,7 @@ OTHER_SDATA_SECTIONS="
 "
 
 # Magic symbols.
-TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};"
+TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .); ${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};"
 DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};"
 OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};"
 



CVS commit: src/external/gpl3/binutils/dist/ld/emulparams

2021-02-19 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Sat Feb 20 02:47:21 UTC 2021

Modified Files:
src/external/gpl3/binutils/dist/ld/emulparams: elf32bmip.sh
elf32bmipn32-defs.sh

Log Message:
Revert the MIPS __eprol change.  Unintended fallout that doesn't appear
easy to fix so far.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh
cvs rdiff -u -r1.8 -r1.9 \
src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.2 src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.3
--- src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.2	Fri Feb 19 03:42:02 2021
+++ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh	Sat Feb 20 02:47:21 2021
@@ -56,7 +56,7 @@ OTHER_SDATA_SECTIONS="
   .lit8 ${RELOCATING-0} : { *(.lit8) }
   .lit4 ${RELOCATING-0} : { *(.lit4) }
 "
-TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .); ${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)}"
+TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};"
 DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};"
 OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};"
 OTHER_SECTIONS="

Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.8 src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.9
--- src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.8	Fri Feb 19 03:42:02 2021
+++ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh	Sat Feb 20 02:47:21 2021
@@ -78,7 +78,7 @@ OTHER_SDATA_SECTIONS="
 "
 
 # Magic symbols.
-TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .); ${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};"
+TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};"
 DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};"
 OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};"
 



CVS commit: src/external/gpl3/binutils/dist/ld/emulparams

2021-02-18 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Fri Feb 19 03:42:02 UTC 2021

Modified Files:
src/external/gpl3/binutils/dist/ld/emulparams: elf32bmip.sh
elf32bmipn32-defs.sh

Log Message:
Provide an __eprol symbol in TEXT_START_SYMBOLS.  MIPS overrides
TEXT_START_SYMBOLS so it misses out on the default definition of
this that does provide an __eprol symbol.  Fixes linking of profiled
binaries.

OK: christos@


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.5 -r1.2 \
src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.1.1.5 src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.2
--- src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh:1.1.1.5	Fri Apr  3 23:40:04 2020
+++ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmip.sh	Fri Feb 19 03:42:02 2021
@@ -56,7 +56,7 @@ OTHER_SDATA_SECTIONS="
   .lit8 ${RELOCATING-0} : { *(.lit8) }
   .lit4 ${RELOCATING-0} : { *(.lit4) }
 "
-TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};"
+TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .); ${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)}"
 DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};"
 OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};"
 OTHER_SECTIONS="

Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.7 src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.8
--- src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh:1.7	Fri Apr  3 23:48:49 2020
+++ src/external/gpl3/binutils/dist/ld/emulparams/elf32bmipn32-defs.sh	Fri Feb 19 03:42:02 2021
@@ -78,7 +78,7 @@ OTHER_SDATA_SECTIONS="
 "
 
 # Magic symbols.
-TEXT_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};"
+TEXT_START_SYMBOLS="PROVIDE_HIDDEN (__eprol = .); ${CREATE_SHLIB+PROVIDE (}_ftext = .${CREATE_SHLIB+)};"
 DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fdata = .${CREATE_SHLIB+)};"
 OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_fbss = .${CREATE_SHLIB+)};"
 



CVS commit: src/external/gpl3/binutils/dist/include/elf

2021-02-02 Thread Frederic Cambus
Module Name:src
Committed By:   fcambus
Date:   Tue Feb  2 21:45:39 UTC 2021

Modified Files:
src/external/gpl3/binutils/dist/include/elf: common.h

Log Message:
Fix typo in the comments of local binutils patches: s/Servguard/Segvguard.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 \
src/external/gpl3/binutils/dist/include/elf/common.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/include/elf/common.h
diff -u src/external/gpl3/binutils/dist/include/elf/common.h:1.12 src/external/gpl3/binutils/dist/include/elf/common.h:1.13
--- src/external/gpl3/binutils/dist/include/elf/common.h:1.12	Fri Apr  3 23:48:48 2020
+++ src/external/gpl3/binutils/dist/include/elf/common.h	Tue Feb  2 21:45:39 2021
@@ -868,7 +868,7 @@
 #define NT_NETBSD_PAX_MPROTECT		0x01	/* Force enable Mprotect */
 #define NT_NETBSD_PAX_NOMPROTECT	0x02	/* Force disable Mprotect */
 #define NT_NETBSD_PAX_GUARD		0x04	/* Force enable Segvguard */
-#define NT_NETBSD_PAX_NOGUARD		0x08/* Force disable Servguard */
+#define NT_NETBSD_PAX_NOGUARD		0x08/* Force disable Segvguard */
 #define NT_NETBSD_PAX_ASLR		0x10	/* Force enable ASLR */
 #define NT_NETBSD_PAX_NOASLR		0x20	/* Force disable ASLR */
 



CVS commit: src/external/gpl3/binutils/dist/ld/emulparams

2021-02-01 Thread Frederic Cambus
Module Name:src
Committed By:   fcambus
Date:   Mon Feb  1 18:36:32 UTC 2021

Modified Files:
src/external/gpl3/binutils/dist/ld/emulparams: elf32lriscv.sh
elf32lriscv_ilp32.sh elf32lriscv_ilp32f.sh

Log Message:
Fix typos in the comments of local binutils patches: it's ILP32, not IPL32.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv.sh
cvs rdiff -u -r1.3 -r1.4 \
src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32.sh \
src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32f.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv.sh:1.6 src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv.sh:1.7
--- src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv.sh:1.6	Fri Apr  3 23:48:49 2020
+++ src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv.sh	Mon Feb  1 18:36:32 2021
@@ -12,7 +12,7 @@ case "$target" in
 	LIBPATH_SUFFIX="32/ilp32d 32" ;;
 esac
 ;;
-  # NetBSD puts IPL32 libraries in rv32 subdirectory.
+  # NetBSD puts ILP32 libraries in rv32 subdirectory.
   # XXX d vs f vs ""
   riscv64-*-netbsd*)
 case "$EMULATION_NAME" in

Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32.sh:1.3 src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32.sh:1.4
--- src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32.sh:1.3	Fri Apr  3 23:48:49 2020
+++ src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32.sh	Mon Feb  1 18:36:32 2021
@@ -11,7 +11,7 @@ case "$target" in
 	LIBPATH_SUFFIX="32/ilp32 32" ;;
 esac
 ;;
-  # NetBSD puts IPL32 libraries in rv32 subdirectory.
+  # NetBSD puts ILP32 libraries in rv32 subdirectory.
   # XXX d vs f vs ""
   riscv64-*-netbsd*)
 case "$EMULATION_NAME" in
Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32f.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32f.sh:1.3 src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32f.sh:1.4
--- src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32f.sh:1.3	Fri Apr  3 23:48:49 2020
+++ src/external/gpl3/binutils/dist/ld/emulparams/elf32lriscv_ilp32f.sh	Mon Feb  1 18:36:32 2021
@@ -11,7 +11,7 @@ case "$target" in
 	LIBPATH_SUFFIX="32/ilp32f 32" ;;
 esac
 ;;
-  # NetBSD puts IPL32 libraries in rv32 subdirectory.
+  # NetBSD puts ILP32 libraries in rv32 subdirectory.
   # XXX d vs f vs ""
   riscv64-*-netbsd*)
 case "$EMULATION_NAME" in



CVS commit: src/external/gpl3/binutils/dist/gas/config

2020-10-19 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Mon Oct 19 12:47:53 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/gas/config: tc-aarch64.c

Log Message:
Fix assembling "isb sy" for aarch64{,eb} on LP64BE architectures.
Cherry-picked from upstream:

https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=05cfb0d8cc9b7f8676f5ae55a93642f091d5405f;hp=0ec992e6647c00fc234cdf4c11732b6711b024af

Now, working kernel can be self-built on aarch64eb.

Thanks to ryo@ for fixing and upstreaming this!


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.6 -r1.2 \
src/external/gpl3/binutils/dist/gas/config/tc-aarch64.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/config/tc-aarch64.c
diff -u src/external/gpl3/binutils/dist/gas/config/tc-aarch64.c:1.1.1.6 src/external/gpl3/binutils/dist/gas/config/tc-aarch64.c:1.2
--- src/external/gpl3/binutils/dist/gas/config/tc-aarch64.c:1.1.1.6	Fri Apr  3 23:40:11 2020
+++ src/external/gpl3/binutils/dist/gas/config/tc-aarch64.c	Mon Oct 19 12:47:53 2020
@@ -250,12 +250,6 @@ set_fatal_syntax_error (const char *erro
 typedef struct
 {
   const char *template;
-  unsigned long value;
-} asm_barrier_opt;
-
-typedef struct
-{
-  const char *template;
   uint32_t value;
 } asm_nzcv;
 
@@ -3994,7 +3988,7 @@ static int
 parse_barrier (char **str)
 {
   char *p, *q;
-  const asm_barrier_opt *o;
+  const struct aarch64_name_value_pair *o;
 
   p = q = *str;
   while (ISALPHA (*q))



CVS commit: src/external/gpl3/binutils/dist/ld

2020-09-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sun Sep 13 21:14:02 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/ld: configure.tgt

Log Message:
merge riscv*-netbsd* target support.


To generate a diff of this commit:
cvs rdiff -u -r1.34 -r1.35 src/external/gpl3/binutils/dist/ld/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/configure.tgt
diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.34 src/external/gpl3/binutils/dist/ld/configure.tgt:1.35
--- src/external/gpl3/binutils/dist/ld/configure.tgt:1.34	Thu Apr  9 16:12:28 2020
+++ src/external/gpl3/binutils/dist/ld/configure.tgt	Sun Sep 13 21:14:01 2020
@@ -788,7 +788,8 @@ powerpc-*-lynxos*)	targ_emul=ppclynx
 			;;
 pru*-*-*)		targ_emul=pruelf
 			;;
-riscv32*-*-linux*)	targ_emul=elf32lriscv
+riscv32*-*-linux* | riscv-*-netbsd* | riscv32*-*-netbsd*)
+			targ_emul=elf32lriscv
 			targ_extra_emuls="elf32lriscv_ilp32f elf32lriscv_ilp32 elf64lriscv elf64lriscv_lp64f elf64lriscv_lp64"
 			targ_extra_libpath=$targ_extra_emuls
 			;;
@@ -797,7 +798,8 @@ riscv-*-* | riscv32*-*-*)
 			targ_extra_emuls="elf64lriscv"
 			targ_extra_libpath=$targ_extra_emuls
 			;;
-riscv64*-*-linux*)	targ_emul=elf64lriscv
+riscv64*-*-linux* | riscv64*-*-netbsd*)
+			targ_emul=elf64lriscv
 			targ_extra_emuls="elf64lriscv_lp64f elf64lriscv_lp64 elf32lriscv elf32lriscv_ilp32f elf32lriscv_ilp32"
 			targ_extra_libpath=$targ_extra_emuls
 			;;



CVS commit: src/external/gpl3/binutils/dist/bfd

2020-09-07 Thread Tom Spindler
Module Name:src
Committed By:   dogcow
Date:   Mon Sep  7 19:46:45 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/bfd: Makefile.am Makefile.in

Log Message:
Fix `build.sh tools -j1` compilation, where bfd.h wasn't generated early
enough.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/Makefile.am
cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/bfd/Makefile.in

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/Makefile.am
diff -u src/external/gpl3/binutils/dist/bfd/Makefile.am:1.7 src/external/gpl3/binutils/dist/bfd/Makefile.am:1.8
--- src/external/gpl3/binutils/dist/bfd/Makefile.am:1.7	Fri Apr  3 23:48:45 2020
+++ src/external/gpl3/binutils/dist/bfd/Makefile.am	Mon Sep  7 19:46:45 2020
@@ -363,6 +363,7 @@ BFD32_BACKENDS = \
 	i386bsd.lo \
 	i386lynx.lo \
 	i386msdos.lo \
+	i386netbsd.lo \
 	mach-o.lo \
 	mach-o-i386.lo \
 	mach-o-arm.lo \
@@ -499,6 +500,7 @@ BFD32_BACKENDS_CFILES = \
 	i386bsd.c \
 	i386lynx.c \
 	i386msdos.c \
+	i386netbsd.c \
 	mach-o.c \
 	mach-o-i386.c \
 	mach-o-arm.c \

Index: src/external/gpl3/binutils/dist/bfd/Makefile.in
diff -u src/external/gpl3/binutils/dist/bfd/Makefile.in:1.8 src/external/gpl3/binutils/dist/bfd/Makefile.in:1.9
--- src/external/gpl3/binutils/dist/bfd/Makefile.in:1.8	Fri Apr  3 23:48:45 2020
+++ src/external/gpl3/binutils/dist/bfd/Makefile.in	Mon Sep  7 19:46:45 2020
@@ -792,6 +792,7 @@ BFD32_BACKENDS = \
 	i386bsd.lo \
 	i386lynx.lo \
 	i386msdos.lo \
+	i386netbsd.lo \
 	mach-o.lo \
 	mach-o-i386.lo \
 	mach-o-arm.lo \
@@ -930,6 +931,7 @@ BFD32_BACKENDS_CFILES = \
 	i386bsd.c \
 	i386lynx.c \
 	i386msdos.c \
+	i386netbsd.c \
 	mach-o.c \
 	mach-o-i386.c \
 	mach-o-arm.c \
@@ -1537,6 +1539,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386bsd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386lynx.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386msdos.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386netbsd.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ihex.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/irix-core.Plo@am__quote@



CVS commit: src/external/gpl3/binutils/dist/bfd

2020-08-08 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Aug  8 19:26:09 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/bfd: config.bfd configure configure.ac
targets.c
Added Files:
src/external/gpl3/binutils/dist/bfd: i386netbsd.c

Log Message:
Put back the a.out netbsd and bsd vector. They are useful for debugging
old a.out binaries and take ~0 space.


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/external/gpl3/binutils/dist/bfd/config.bfd
cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/binutils/dist/bfd/configure
cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/bfd/configure.ac
cvs rdiff -u -r0 -r1.3 src/external/gpl3/binutils/dist/bfd/i386netbsd.c
cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/binutils/dist/bfd/targets.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/config.bfd
diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.32 src/external/gpl3/binutils/dist/bfd/config.bfd:1.33
--- src/external/gpl3/binutils/dist/bfd/config.bfd:1.32	Fri Apr  3 19:48:45 2020
+++ src/external/gpl3/binutils/dist/bfd/config.bfd	Sat Aug  8 15:26:09 2020
@@ -622,7 +622,7 @@ case "${targ}" in
 ;;
   i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu)
 targ_defvec=i386_elf32_vec
-targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec"
+targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec i386_aout_bsd_vec i386_aout_nbsd_vec"
 targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec x86_64_pei_vec"
 ;;
   i[3-7]86-*-netbsdpe*)
@@ -686,7 +686,7 @@ case "${targ}" in
 ;;
   x86_64-*-netbsd* | x86_64-*-openbsd*)
 targ_defvec=x86_64_elf64_vec
-targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
+targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec i386_aout_bsd_vec i386_aout_nbsd_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
 want64=true
 ;;
   x86_64-*-linux-*)

Index: src/external/gpl3/binutils/dist/bfd/configure
diff -u src/external/gpl3/binutils/dist/bfd/configure:1.15 src/external/gpl3/binutils/dist/bfd/configure:1.16
--- src/external/gpl3/binutils/dist/bfd/configure:1.15	Fri Apr  3 19:48:45 2020
+++ src/external/gpl3/binutils/dist/bfd/configure	Sat Aug  8 15:26:09 2020
@@ -14752,6 +14752,7 @@ do
 i386_aout_vec)		 tb="$tb i386aout.lo aout32.lo" ;;
 i386_aout_bsd_vec)		 tb="$tb i386bsd.lo aout32.lo" ;;
 i386_aout_lynx_vec)		 tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;;
+i386_aout_nbsd_vec)		 tb="$tb i386netbsd.lo aout32.lo" ;;
 i386_coff_vec)		 tb="$tb coff-i386.lo $coff" ;;
 i386_coff_go32_vec)		 tb="$tb coff-go32.lo $coff" ;;
 i386_coff_go32stubbed_vec)	 tb="$tb coff-stgo32.lo $coff" ;;

Index: src/external/gpl3/binutils/dist/bfd/configure.ac
diff -u src/external/gpl3/binutils/dist/bfd/configure.ac:1.8 src/external/gpl3/binutils/dist/bfd/configure.ac:1.9
--- src/external/gpl3/binutils/dist/bfd/configure.ac:1.8	Fri Apr  3 19:48:46 2020
+++ src/external/gpl3/binutils/dist/bfd/configure.ac	Sat Aug  8 15:26:09 2020
@@ -488,6 +488,7 @@ do
 i386_aout_vec)		 tb="$tb i386aout.lo aout32.lo" ;;
 i386_aout_bsd_vec)		 tb="$tb i386bsd.lo aout32.lo" ;;
 i386_aout_lynx_vec)		 tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;;
+i386_aout_nbsd_vec)		 tb="$tb i386netbsd.lo aout32.lo" ;;
 i386_coff_vec)		 tb="$tb coff-i386.lo $coff" ;;
 i386_coff_go32_vec)		 tb="$tb coff-go32.lo $coff" ;;
 i386_coff_go32stubbed_vec)	 tb="$tb coff-stgo32.lo $coff" ;;

Index: src/external/gpl3/binutils/dist/bfd/targets.c
diff -u src/external/gpl3/binutils/dist/bfd/targets.c:1.11 src/external/gpl3/binutils/dist/bfd/targets.c:1.12
--- src/external/gpl3/binutils/dist/bfd/targets.c:1.11	Fri Apr  3 19:48:46 2020
+++ src/external/gpl3/binutils/dist/bfd/targets.c	Sat Aug  8 15:26:09 2020
@@ -727,6 +727,7 @@ extern const bfd_target hppa_som_vec;
 extern const bfd_target i386_aout_vec;
 extern const bfd_target i386_aout_bsd_vec;
 extern const bfd_target i386_aout_lynx_vec;
+extern const bfd_target i386_aout_nbsd_vec;
 extern const bfd_target i386_coff_vec;
 extern const bfd_target i386_coff_go32_vec;
 extern const bfd_target i386_coff_go32stubbed_vec;

Added files:

Index: src/external/gpl3/binutils/dist/bfd/i386netbsd.c
diff -u /dev/null src/external/gpl3/binutils/dist/bfd/i386netbsd.c:1.3
--- /dev/null	Sat Aug  8 15:26:09 2020
+++ src/external/gpl3/binutils/dist/bfd/i386netbsd.c	Sat Aug  8 15:26:09 2020
@@ -0,0 +1,38 @@
+/* BFD back-end for NetBSD/386 a.out-ish binaries.
+   Copyright (C) 1990-2016 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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
+   

CVS commit: src/external/gpl3/binutils/dist/ld/emultempl

2020-04-16 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Apr 16 15:47:20 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/ld/emultempl: elf.em

Log Message:
Restore --copy-dt-needed as default. There is too much fallout in pkgsrc
mainly from -lcurses needing -lterminfo.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
src/external/gpl3/binutils/dist/ld/emultempl/elf.em

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emultempl/elf.em
diff -u src/external/gpl3/binutils/dist/ld/emultempl/elf.em:1.1.1.1 src/external/gpl3/binutils/dist/ld/emultempl/elf.em:1.2
--- src/external/gpl3/binutils/dist/ld/emultempl/elf.em:1.1.1.1	Fri Apr  3 19:40:02 2020
+++ src/external/gpl3/binutils/dist/ld/emultempl/elf.em	Thu Apr 16 11:47:19 2020
@@ -79,6 +79,7 @@ gld${EMULATION_NAME}_before_parse (void)
 {
   ldfile_set_output_arch ("${OUTPUT_ARCH}", bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`);
   input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
+  input_flags.add_DT_NEEDED_for_dynamic = TRUE;
   config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
   config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`;
   link_info.check_relocs_after_open_input = TRUE;



CVS commit: src/external/gpl3/binutils/dist/ld

2020-04-09 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Thu Apr  9 16:12:28 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/ld: configure.tgt

Log Message:
Fix aarch64 binutils tools build


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 src/external/gpl3/binutils/dist/ld/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/configure.tgt
diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.33 src/external/gpl3/binutils/dist/ld/configure.tgt:1.34
--- src/external/gpl3/binutils/dist/ld/configure.tgt:1.33	Fri Apr  3 23:48:48 2020
+++ src/external/gpl3/binutils/dist/ld/configure.tgt	Thu Apr  9 16:12:28 2020
@@ -75,11 +75,14 @@ aarch64_be-*-linux*)	targ_emul=aarch64li
 			;;
 aarch64-*-linux*)	targ_emul=aarch64linux
 			targ_extra_libpath="aarch64linuxb aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi"
-			targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb $targ_extra_libpath" ;;
+			targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb $targ_extra_libpath"
+			;;
 aarch64_be-*-netbsd*)	targ_emul=aarch64nbsdb
-			targ_extra_emuls="aarch64nbsd aarch64elfb aarch64elf armelfb_nbsd_eabihf armelf_nbsd_eabihf armelfb_nbsd_eabi armelf_nbsd_eabi armelfb_nbsd armelf_nbsd armelf armelfb" ;;
+			targ_extra_emuls="aarch64nbsd aarch64elfb aarch64elf armelfb_nbsd_eabihf armelf_nbsd_eabihf armelfb_nbsd_eabi armelf_nbsd_eabi armelfb_nbsd armelf_nbsd armelf armelfb"
+			;;
 aarch64-*-netbsd*)	targ_emul=aarch64nbsd
-			targ_extra_emuls="aarch64nbsdb aarch64elf aarch64elfb armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd_eabi armelfb_nbsd_eabi armelf_nbsd armelfb_nbsd armelf armelfb" ;;
+			targ_extra_emuls="aarch64nbsdb aarch64elf aarch64elfb armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd_eabi armelfb_nbsd_eabi armelf_nbsd armelfb_nbsd armelf armelfb"
+			;;
 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
 			targ_emul=elf64alpha_fbsd
 			targ_extra_emuls="elf64alpha alpha"



CVS commit: src/external/gpl3/binutils/dist/ld/emulparams

2020-04-09 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Thu Apr  9 11:10:07 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/ld/emulparams: aarch64nbsd.sh

Log Message:
Fix TEMPLATE_NAME for new binutils


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh:1.2 src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh:1.3
--- src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh:1.2	Tue Apr  5 09:52:22 2016
+++ src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh	Thu Apr  9 11:10:07 2020
@@ -9,7 +9,7 @@ BIG_OUTPUT_FORMAT="elf64-bigaarch64"
 LITTLE_OUTPUT_FORMAT="elf64-littleaarch64"
 NO_REL_RELOCS=yes
 
-TEMPLATE_NAME=elf32
+TEMPLATE_NAME=elf
 EXTRA_EM_FILE=aarch64elf
 
 GENERATE_SHLIB_SCRIPT=yes



CVS commit: src/external/gpl3/binutils/dist/binutils/doc

2020-04-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Apr  5 13:25:01 UTC 2020

Removed Files:
src/external/gpl3/binutils/dist/binutils/doc: c++filt.1

Log Message:
We generate this.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r0 src/external/gpl3/binutils/dist/binutils/doc/c++filt.1

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/external/gpl3/binutils/dist/gas/config

2020-04-04 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Apr  4 17:25:39 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/gas/config: tc-arm.c

Log Message:
Adjust for field rename.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 \
src/external/gpl3/binutils/dist/gas/config/tc-arm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/config/tc-arm.c
diff -u src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.12 src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.13
--- src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.12	Fri Apr  3 19:48:47 2020
+++ src/external/gpl3/binutils/dist/gas/config/tc-arm.c	Sat Apr  4 13:25:39 2020
@@ -23120,8 +23120,8 @@ check_pred_blocks_finished (void)
 {
   segment_info_type *seginfo = seg_info (sect);
 
-  if (seginfo && seginfo->tc_segment_info_data.current_it.state
-	  == MANUAL_IT_BLOCK)
+  if (seginfo && seginfo->tc_segment_info_data.current_pred.state
+	  == MANUAL_PRED_BLOCK)
 	{
 	  if (now_pred.type == SCALAR_PRED)
 	as_warn (_("section '%s' finished with an open IT block."),



CVS commit: src/external/gpl3/binutils/dist/libiberty

2020-04-04 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Apr  4 16:14:11 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/libiberty: strsignal.c

Log Message:
const for psignal


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
src/external/gpl3/binutils/dist/libiberty/strsignal.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/libiberty/strsignal.c
diff -u src/external/gpl3/binutils/dist/libiberty/strsignal.c:1.1.1.1 src/external/gpl3/binutils/dist/libiberty/strsignal.c:1.2
--- src/external/gpl3/binutils/dist/libiberty/strsignal.c:1.1.1.1	Tue Aug 18 06:16:42 2009
+++ src/external/gpl3/binutils/dist/libiberty/strsignal.c	Sat Apr  4 12:14:11 2020
@@ -551,7 +551,7 @@ followed by a newline.
 #ifndef HAVE_PSIGNAL
 
 void
-psignal (int signo, char *message)
+psignal (int signo, const char *message)
 {
   if (signal_names == NULL)
 {



CVS commit: src/external/gpl3/binutils/dist/bfd

2020-04-04 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Apr  4 15:30:05 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf.c

Log Message:
Apply fix for --noinhibit-exec from:
https://www.mail-archive.com/bug-binutils@gnu.org/msg33090.html


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/binutils/dist/bfd/elf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf.c
diff -u src/external/gpl3/binutils/dist/bfd/elf.c:1.15 src/external/gpl3/binutils/dist/bfd/elf.c:1.16
--- src/external/gpl3/binutils/dist/bfd/elf.c:1.15	Fri Apr  3 19:48:46 2020
+++ src/external/gpl3/binutils/dist/bfd/elf.c	Sat Apr  4 11:30:05 2020
@@ -5948,7 +5948,11 @@ assign_file_positions_for_load_sections 
 	  _bfd_error_handler (_("%pB: error: PHDR segment not covered"
 " by LOAD segment"),
 			  abfd);
-	  return FALSE;
+	  if (link_info == NULL)
+	return FALSE;
+	  /* Arrange for the linker to exit with an error, deleting
+	 the output file unless --noinhibit-exec is given.  */
+	  link_info->callbacks->info ("%X");
 	}
 
   /* Check that all sections are in a PT_LOAD segment.



CVS commit: src/external/gpl3/binutils/dist/binutils/doc

2020-04-03 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Apr  4 01:44:43 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist/binutils/doc: cxxfilt.man

Log Message:
regen


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/gpl3/binutils/dist/binutils/doc/cxxfilt.man

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/binutils/doc/cxxfilt.man
diff -u src/external/gpl3/binutils/dist/binutils/doc/cxxfilt.man:1.11 src/external/gpl3/binutils/dist/binutils/doc/cxxfilt.man:1.12
--- src/external/gpl3/binutils/dist/binutils/doc/cxxfilt.man:1.11	Fri Apr  3 19:49:38 2020
+++ src/external/gpl3/binutils/dist/binutils/doc/cxxfilt.man	Fri Apr  3 21:44:43 2020
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
+.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
 .\"
 .\" Standard preamble:
 .\" 
@@ -54,16 +54,20 @@
 .\" Avoid warning from groff about undefined register 'F'.
 .de IX
 ..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-.de IX
-.tm Index:\\$1\t\\n%\t"\\$2"
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+.if \nF \{\
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
 ..
-.if !\nF==2 \{\
-.nr % 0
-.nr F 2
+.if !\nF==2 \{\
+.nr % 0
+.nr F 2
+.\}
 .\}
 .\}
+.rr rF
 .\"
 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
@@ -129,13 +133,13 @@
 .\" 
 .\"
 .IX Title "C++FILT 1"
-.TH C++FILT 1 "2018-07-09" "binutils-2.30.90" "GNU Development Tools"
+.TH C++FILT 1 "2020-04-03" "binutils-2.34" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-cxxfilt \- Demangle C++ and Java symbols.
+cxxfilt \- demangle C++ and Java symbols
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
 c++filt [\fB\-_\fR|\fB\-\-strip\-underscore\fR]
@@ -143,6 +147,8 @@ c++filt [\fB\-_\fR|\fB\-\-strip\-undersc
 [\fB\-p\fR|\fB\-\-no\-params\fR]
 [\fB\-t\fR|\fB\-\-types\fR]
 [\fB\-i\fR|\fB\-\-no\-verbose\fR]
+[\fB\-r\fR|\fB\-\-no\-recurse\-limit\fR]
+[\fB\-R\fR|\fB\-\-recurse\-limit\fR]
 [\fB\-s\fR \fIformat\fR|\fB\-\-format=\fR\fIformat\fR]
 [\fB\-\-help\fR]  [\fB\-\-version\fR]  [\fIsymbol\fR...]
 .SH "DESCRIPTION"
@@ -177,7 +183,7 @@ If no \fIsymbol\fR arguments are given, 
 names from the standard input instead.  All the results are printed on
 the standard output.  The difference between reading names from the
 command line versus reading names from the standard input is that
-command line arguments are expected to be just mangled names and no
+command-line arguments are expected to be just mangled names and no
 checking is performed to separate them from surrounding text.  Thus
 for example:
 .PP
@@ -253,6 +259,35 @@ demangled to \*(L"signed char\*(R".
 .PD
 Do not include implementation details (if any) in the demangled
 output.
+.IP "\fB\-r\fR" 4
+.IX Item "-r"
+.PD 0
+.IP "\fB\-R\fR" 4
+.IX Item "-R"
+.IP "\fB\-\-recurse\-limit\fR" 4
+.IX Item "--recurse-limit"
+.IP "\fB\-\-no\-recurse\-limit\fR" 4
+.IX Item "--no-recurse-limit"
+.IP "\fB\-\-recursion\-limit\fR" 4
+.IX Item "--recursion-limit"
+.IP "\fB\-\-no\-recursion\-limit\fR" 4
+.IX Item "--no-recursion-limit"
+.PD
+Enables or disables a limit on the amount of recursion performed
+whilst demangling strings.  Since the name mangling formats allow for
+an inifinite level of recursion it is possible to create strings whose
+decoding will exhaust the amount of stack space available on the host
+machine, triggering a memory fault.  The limit tries to prevent this
+from happening by restricting recursion to 2048 levels of nesting.
+.Sp
+The default is for this limit to be enabled, but disabling it may be
+necessary in order to demangle truly complicated names.  Note however
+that if the recursion limit is disabled then stack exhaustion is
+possible and any bug reports about such an event will be rejected.
+.Sp
+The \fB\-r\fR option is a synonym for the
+\&\fB\-\-no\-recurse\-limit\fR option.  The \fB\-R\fR option is a
+synonym for the \fB\-\-recurse\-limit\fR option.
 .IP "\fB\-s\fR \fIformat\fR" 4
 .IX Item "-s format"
 .PD 0
@@ -331,7 +366,7 @@ MS-DOS this program is named \fB\s-1CXXF
 the Info entries for \fIbinutils\fR.
 .SH "COPYRIGHT"
 .IX Header "COPYRIGHT"
-Copyright (c) 1991\-2018 Free Software Foundation, Inc.
+Copyright (c) 1991\-2020 Free Software Foundation, Inc.
 .PP
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the \s-1GNU\s0 Free 

CVS commit: src/external/gpl3/binutils/dist

2020-04-03 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Apr  3 23:48:50 UTC 2020

Modified Files:
src/external/gpl3/binutils/dist: config.guess config.sub configure
configure.ac
src/external/gpl3/binutils/dist/bfd: ChangeLog Makefile.am Makefile.in
aoutx.h archive.c archures.c bfd-in2.h bfd.c coff-alpha.c
coffcode.h config.bfd configure configure.ac configure.host
cpu-mips.c cpu-or1k.c cpu-riscv.c dwarf2.c elf-bfd.h elf-eh-frame.c
elf.c elf32-arm.c elf32-avr.c elf32-hppa.c elf32-i386.c
elf32-m68k.c elf32-or1k.c elf32-ppc.c elf32-sh.c elf32-vax.c
elf64-alpha.c elf64-mips.c elf64-ppc.c elf64-x86-64.c elflink.c
elfn32-mips.c elfnn-riscv.c elfxx-mips.c elfxx-riscv.c
elfxx-riscv.h elfxx-sparc.c libbfd.h linker.c reloc.c syms.c
targets.c version.h
src/external/gpl3/binutils/dist/bfd/doc: Makefile.in bfdt.texi
bfdver.texi reloc.texi
src/external/gpl3/binutils/dist/binutils: ChangeLog Makefile.in NEWS
ar.c arsup.c bucomm.c configure objcopy.c readelf.c strings.c
src/external/gpl3/binutils/dist/binutils/doc: Makefile.am Makefile.in
binutils.texi
src/external/gpl3/binutils/dist/cpu: or1k.cpu or1k.opc or1kcommon.cpu
or1korbis.cpu or1korfpx.cpu
src/external/gpl3/binutils/dist/gas: ChangeLog Makefile.am Makefile.in
atof-generic.c configure configure.ac configure.tgt remap.c write.c
src/external/gpl3/binutils/dist/gas/config: atof-vax.c obj-elf.c
tc-alpha.c tc-arm.c tc-m68k.c tc-mips.c tc-mips.h tc-or1k.c
tc-or1k.h tc-ppc.c tc-riscv.c tc-riscv.h tc-sparc.c tc-vax.c
tc-vax.h vax-inst.h
src/external/gpl3/binutils/dist/gas/doc: Makefile.am Makefile.in as.1
as.info c-mips.texi c-ppc.texi
src/external/gpl3/binutils/dist/gold: Makefile.am
src/external/gpl3/binutils/dist/gprof: corefile.c gprof.1 gprof.c
gprof.info
src/external/gpl3/binutils/dist/include: ChangeLog bfdlink.h dis-asm.h
objalloc.h
src/external/gpl3/binutils/dist/include/elf: arm.h common.h internal.h
mips.h or1k.h ppc.h riscv.h
src/external/gpl3/binutils/dist/include/opcode: hppa.h mips.h ppc.h
riscv-opc.h riscv.h
src/external/gpl3/binutils/dist/ld: ChangeLog Makefile.am Makefile.in
configure configure.ac configure.host configure.tgt genscripts.sh
ldctor.c ldemul.c ldemul.h ldexp.c ldgram.c ldgram.h ldlang.c
ldlang.h ldlex.c ldlex.h ldlex.l ldmain.c ldmain.h lexsup.c
src/external/gpl3/binutils/dist/ld/emulparams: armelf_nbsd.sh
elf32_sparc.sh elf32bmipn32-defs.sh elf32lriscv-defs.sh
elf32lriscv.sh elf32lriscv_ilp32.sh elf32lriscv_ilp32f.sh
elf32or1k.sh elf32or1k_linux.sh elf64alpha_nbsd.sh
elf64lriscv-defs.sh elf64lriscv.sh elf_i386.sh hppalinux.sh
hppanbsd.sh hppaobsd.sh m68kelf.sh m68kelfnbsd.sh shelf_nbsd.sh
src/external/gpl3/binutils/dist/ld/emultempl: aarch64elf.em armelf.em
beos.em genelf.em mmo.em pe.em pep.em riscvelf.em spuelf.em
xtensaelf.em
src/external/gpl3/binutils/dist/ld/scripttempl: elf.sc sh.sc
src/external/gpl3/binutils/dist/libiberty: Makefile.in configure
configure.ac floatformat.c make-temp-file.c objalloc.c strerror.c
src/external/gpl3/binutils/dist/opcodes: ChangeLog Makefile.am
Makefile.in cgen.sh configure disassemble.c mips-dis.c mips-opc.c
or1k-asm.c or1k-desc.c or1k-desc.h or1k-dis.c or1k-ibld.c
or1k-opc.c or1k-opc.h or1k-opinst.c ppc-dis.c ppc-opc.c riscv-dis.c
riscv-opc.c sparc-dis.c
Removed Files:
src/external/gpl3/binutils/dist/bfd: .gitignore coff-tic80.c
cpu-cr16c.c cpu-tic80.c elf32-cr16c.c elf32-xgate.h
src/external/gpl3/binutils/dist/binutils: .gitignore
src/external/gpl3/binutils/dist/binutils/doc: addr2line.1 ar.1
binutils.info cxxfilt.man dlltool.1 elfedit.1 nm.1 objcopy.1
objdump.1 ranlib.1 readelf.1 size.1 strings.1 strip.1 windmc.1
windres.1
src/external/gpl3/binutils/dist/gas: .gitignore struc-symbol.h
src/external/gpl3/binutils/dist/gprof: .gitignore
src/external/gpl3/binutils/dist/include/coff: tic80.h
src/external/gpl3/binutils/dist/include/elf: cr16c.h
src/external/gpl3/binutils/dist/include/opcode: tic80.h
src/external/gpl3/binutils/dist/ld: .gitignore
src/external/gpl3/binutils/dist/ld/emulparams: arcelf_prof.sh
arclinux_prof.sh elf32cr16c.sh elf_i386_chaos.sh tic80coff.sh
src/external/gpl3/binutils/dist/ld/emultempl: elf32.em
src/external/gpl3/binutils/dist/ld/scripttempl: elf32cr16c.sc
elf32msp430_3.sc tic80coff.sc

CVS commit: src/external/gpl3/binutils/dist/bfd

2019-05-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun May  5 21:49:53 UTC 2019

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-arm.c

Log Message:
Ignore 0 size'd symbols when looking for CMSE veneers.
XXX: Is this correct?


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/external/gpl3/binutils/dist/bfd/elf32-arm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-arm.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.13 src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.14
--- src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.13	Tue Nov  6 20:13:52 2018
+++ src/external/gpl3/binutils/dist/bfd/elf32-arm.c	Sun May  5 17:49:53 2019
@@ -19661,7 +19661,7 @@ elf32_arm_swap_symbol_in (bfd * abfd,
 
   /* Mark CMSE special symbols.  */
   symtab_hdr = & elf_symtab_hdr (abfd);
-  if (symtab_hdr->sh_size)
+  if (symtab_hdr->sh_size && dst->st_size != 0)
 name = bfd_elf_sym_name (abfd, symtab_hdr, dst, NULL);
   if (name && CONST_STRNEQ (name, CMSE_PREFIX))
 ARM_SET_SYM_CMSE_SPCL (dst->st_target_internal);



CVS commit: src/external/gpl3/binutils/dist/bfd

2019-04-15 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Apr 16 02:10:09 UTC 2019

Modified Files:
src/external/gpl3/binutils/dist/bfd: configure.ac

Log Message:
fix merge botch - remove duplicated case statement (not in configure)


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/bfd/configure.ac

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/configure.ac
diff -u src/external/gpl3/binutils/dist/bfd/configure.ac:1.6 src/external/gpl3/binutils/dist/bfd/configure.ac:1.7
--- src/external/gpl3/binutils/dist/bfd/configure.ac:1.6	Wed Nov  7 01:13:51 2018
+++ src/external/gpl3/binutils/dist/bfd/configure.ac	Tue Apr 16 02:10:09 2019
@@ -581,8 +581,6 @@ do
 ns32k_aout_pc532mach_vec)	 tb="$tb pc532-mach.lo aout-ns32k.lo" ;;
 ns32k_aout_pc532nbsd_vec)	 tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;;
 or1k_elf32_vec)		 tb="$tb elf32-or1k.lo elf32.lo $elf" ;;
-riscv_elf32_vec)		 tb="$tb elf32-riskv.lo elffxx-riscv.lo elf32.lo $elf" ;;
-riscv_elf64_vec)		 tb="$tb elf64-riskv.lo elf64.lo elffxx-riscv.lo $elf" target_size=64 ;;
 pdp11_aout_vec)		 tb="$tb pdp11.lo" ;;
 pef_vec)			 tb="$tb pef.lo" ;;
 pef_xlib_vec)		 tb="$tb pef.lo" ;;



CVS commit: src/external/gpl3/binutils/dist

2019-02-09 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Sat Feb  9 19:40:32 UTC 2019

Modified Files:
src/external/gpl3/binutils/dist/bfd: elfnn-riscv.c libbfd.h targets.c
src/external/gpl3/binutils/dist/ld/emultempl: riscvelf.em
src/external/gpl3/binutils/dist/opcodes: riscv-dis.c

Log Message:
Revert all riscv-related local patches.

As for the libbfd.h change: the definitions seem to mostly exist, but we
had duplicated them.

Fixes riscv64 binutils build.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c
cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/libbfd.h
cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/bfd/targets.c
cvs rdiff -u -r1.5 -r1.6 \
src/external/gpl3/binutils/dist/ld/emultempl/riscvelf.em
cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/opcodes/riscv-dis.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c
diff -u src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.5 src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.6
--- src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.5	Wed Nov  7 01:13:52 2018
+++ src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c	Sat Feb  9 19:40:32 2019
@@ -24,12 +24,10 @@
 
 #include "sysdep.h"
 #include "bfd.h"
-#include "libiberty.h"
 #include "libbfd.h"
-#include "bfd_stdint.h"
-#include "elf-bfd.h"
 #include "bfdlink.h"
-#include "objalloc.h"
+#include "genlink.h"
+#include "elf-bfd.h"
 #include "elfxx-riscv.h"
 #include "elf/riscv.h"
 #include "opcode/riscv.h"
@@ -351,7 +349,6 @@ riscv_elf_create_dynamic_sections (bfd *
   if (!_bfd_elf_create_dynamic_sections (dynobj, info))
 return FALSE;
 
-  htab->sdynbss = bfd_get_linker_section (dynobj, ".dynbss");
   if (!bfd_link_pic (info))
 {
   htab->sdyntdata =

Index: src/external/gpl3/binutils/dist/bfd/libbfd.h
diff -u src/external/gpl3/binutils/dist/bfd/libbfd.h:1.10 src/external/gpl3/binutils/dist/bfd/libbfd.h:1.11
--- src/external/gpl3/binutils/dist/bfd/libbfd.h:1.10	Wed Nov  7 01:13:52 2018
+++ src/external/gpl3/binutils/dist/bfd/libbfd.h	Sat Feb  9 19:40:32 2019
@@ -2663,41 +2663,6 @@ static const char *const bfd_reloc_code_
   "BFD_RELOC_OR1K_TLS_TPOFF",
   "BFD_RELOC_OR1K_TLS_DTPOFF",
   "BFD_RELOC_OR1K_TLS_DTPMOD",
-  "BFD_RELOC_RISCV_ADD32",
-  "BFD_RELOC_RISCV_ADD64",
-  "BFD_RELOC_RISCV_SUB32",
-  "BFD_RELOC_RISCV_SUB64",
-  "BFD_RELOC_RISCV_HI20",
-  "BFD_RELOC_RISCV_LO12_I",
-  "BFD_RELOC_RISCV_LO12_S",
-  "BFD_RELOC_RISCV_PCREL_LO12_I",
-  "BFD_RELOC_RISCV_PCREL_LO12_S",
-  "BFD_RELOC_RISCV_CALL",
-  "BFD_RELOC_RISCV_CALL_PLT",
-  "BFD_RELOC_RISCV_PCREL_HI20",
-  "BFD_RELOC_RISCV_JMP",
-  "BFD_RELOC_RISCV_GOT_HI20",
-  "BFD_RELOC_RISCV_GOT_LO12",
-  "BFD_RELOC_RISCV_TLS_DTPMOD32",
-  "BFD_RELOC_RISCV_TLS_DTPREL32",
-  "BFD_RELOC_RISCV_TLS_DTPMOD64",
-  "BFD_RELOC_RISCV_TLS_DTPREL64",
-  "BFD_RELOC_RISCV_TLS_TPREL32",
-  "BFD_RELOC_RISCV_TLS_TPREL64",
-  "BFD_RELOC_RISCV_TPREL_HI20",
-  "BFD_RELOC_RISCV_TPREL_ADD",
-  "BFD_RELOC_RISCV_TPREL_LO12_S",
-  "BFD_RELOC_RISCV_TPREL_LO12_I",
-  "BFD_RELOC_RISCV_TLS_IE_HI20",
-  "BFD_RELOC_RISCV_TLS_IE_LO12",
-  "BFD_RELOC_RISCV_TLS_IE_ADD",
-  "BFD_RELOC_RISCV_TLS_IE_LO12_S",
-  "BFD_RELOC_RISCV_TLS_IE_LO12_I",
-  "BFD_RELOC_RISCV_TLS_GOT_HI20",
-  "BFD_RELOC_RISCV_TLS_GOT_LO12",
-  "BFD_RELOC_RISCV_TLS_GD_HI20",
-  "BFD_RELOC_RISCV_TLS_GD_LO12",
-  "BFD_RELOC_RISCV_TLS_PCREL_LO12",
   "BFD_RELOC_H8_DIR16A8",
   "BFD_RELOC_H8_DIR16R8",
   "BFD_RELOC_H8_DIR24A8",

Index: src/external/gpl3/binutils/dist/bfd/targets.c
diff -u src/external/gpl3/binutils/dist/bfd/targets.c:1.9 src/external/gpl3/binutils/dist/bfd/targets.c:1.10
--- src/external/gpl3/binutils/dist/bfd/targets.c:1.9	Wed Nov  7 01:13:52 2018
+++ src/external/gpl3/binutils/dist/bfd/targets.c	Sat Feb  9 19:40:32 2019
@@ -1168,7 +1168,6 @@ static const bfd_target * const _bfd_tar
 	_elf32_vec,
 
 #ifdef BFD64
-_elf64_vec,
 	_xcoff64_vec,
 	_xcoff64_aix_vec,
 #endif

Index: src/external/gpl3/binutils/dist/ld/emultempl/riscvelf.em
diff -u src/external/gpl3/binutils/dist/ld/emultempl/riscvelf.em:1.5 src/external/gpl3/binutils/dist/ld/emultempl/riscvelf.em:1.6
--- src/external/gpl3/binutils/dist/ld/emultempl/riscvelf.em:1.5	Wed Nov  7 01:13:55 2018
+++ src/external/gpl3/binutils/dist/ld/emultempl/riscvelf.em	Sat Feb  9 19:40:32 2019
@@ -20,18 +20,7 @@
 
 fragment <
-
 #include 
 
 struct riscv_private_data



CVS commit: src/external/gpl3/binutils/dist/bfd

2018-12-30 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Dec 30 22:48:31 UTC 2018

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-ppc.c

Log Message:
forgot to commit compilation fix.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-ppc.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.12 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.13
--- src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.12	Tue Nov  6 20:13:52 2018
+++ src/external/gpl3/binutils/dist/bfd/elf32-ppc.c	Sun Dec 30 17:48:31 2018
@@ -5966,7 +5966,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf
 		   && !UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)))
 	  && !htab->is_vxworks
 	  && !ppc_elf_hash_entry (h)->has_sda_refs
-	  && !readonly_dynrelocs (h, info, FALSE))
+	  && !readonly_dynrelocs (h))
 	{
 	  h->pointer_equality_needed = 0;
 	  /* If we haven't seen a branch reloc and the symbol



CVS commit: src/external/gpl3/binutils/dist/ld

2018-12-28 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Dec 28 20:43:25 UTC 2018

Modified Files:
src/external/gpl3/binutils/dist/ld: configure.tgt

Log Message:
remove armnbsd which is not supported anymore.


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/external/gpl3/binutils/dist/ld/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/configure.tgt
diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.30 src/external/gpl3/binutils/dist/ld/configure.tgt:1.31
--- src/external/gpl3/binutils/dist/ld/configure.tgt:1.30	Fri Dec 28 10:46:30 2018
+++ src/external/gpl3/binutils/dist/ld/configure.tgt	Fri Dec 28 15:43:25 2018
@@ -113,18 +113,18 @@ arm*-*-freebsd* | arm-*-kfreebsd*-gnu)
 			targ_extra_emuls="armelfb_fbsd armelf" ;;
 arm*eb-*-netbsdelf*-*eabihf*)
 			targ_emul=armelfb_nbsd_eabihf;
-			targ_extra_emuls="armelf_nbsd_eabihf armelf_nbsd_eabi armelfb_nbsd_eabi armelf_nbsd armelfb_nbsd armelf armnbsd" ;;
+			targ_extra_emuls="armelf_nbsd_eabihf armelf_nbsd_eabi armelfb_nbsd_eabi armelf_nbsd armelfb_nbsd armelf" ;;
 arm*eb-*-netbsdelf*-*eabi*)
 			targ_emul=armelfb_nbsd_eabi;
-			targ_extra_emuls="armelf_nbsd_eabi armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd armelfb_nbsd armelf armnbsd" ;;
+			targ_extra_emuls="armelf_nbsd_eabi armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd armelfb_nbsd armelf" ;;
 arm*-*-netbsdelf*-*eabihf*)
 			targ_emul=armelf_nbsd_eabihf;
-			targ_extra_emuls="armelfb_nbsd_eabihf armelf_nbsd_eabi armelfb_nbsd_eabi armelf_nbsd armelfb_nbsd armelf armnbsd" ;;
+			targ_extra_emuls="armelfb_nbsd_eabihf armelf_nbsd_eabi armelfb_nbsd_eabi armelf_nbsd armelfb_nbsd armelf" ;;
 arm*-*-netbsdelf*-*eabi*)
 			targ_emul=armelf_nbsd_eabi;
-			targ_extra_emuls="armelfb_nbsd_eabi armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd armelfb_nbsd armelf armnbsd" ;;
+			targ_extra_emuls="armelfb_nbsd_eabi armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd armelfb_nbsd armelf" ;;
 arm*eb-*-netbsdelf*)	targ_emul=armelfb_nbsd;
-			targ_extra_emuls="armelf_nbsd armelf armnbsd" ;;
+			targ_extra_emuls="armelf_nbsd armelf" ;;
 arm-*-netbsdelf*)	targ_emul=armelf_nbsd;
 			targ_extra_emuls="armelfb_nbsd armelf" ;;
 arm-*-nto*)		targ_emul=armnto ;;



CVS commit: src/external/gpl3/binutils/dist

2018-12-28 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Dec 28 15:46:30 UTC 2018

Modified Files:
src/external/gpl3/binutils/dist/bfd: config.bfd
src/external/gpl3/binutils/dist/ld: configure.tgt

Log Message:
remove m68k a.out/4k and sh64 vectors that are not supported anymore.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/external/gpl3/binutils/dist/bfd/config.bfd
cvs rdiff -u -r1.29 -r1.30 src/external/gpl3/binutils/dist/ld/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/config.bfd
diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.28 src/external/gpl3/binutils/dist/bfd/config.bfd:1.29
--- src/external/gpl3/binutils/dist/bfd/config.bfd:1.28	Fri Dec 28 10:28:36 2018
+++ src/external/gpl3/binutils/dist/bfd/config.bfd	Fri Dec 28 10:46:30 2018
@@ -1266,7 +1266,7 @@ case "${targ}" in
 ;;
   sh-*-netbsdelf*)
 targ_defvec=sh_elf32_nbsd_vec
-targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec"
+targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec"
 want64=true
 ;;
 

Index: src/external/gpl3/binutils/dist/ld/configure.tgt
diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.29 src/external/gpl3/binutils/dist/ld/configure.tgt:1.30
--- src/external/gpl3/binutils/dist/ld/configure.tgt:1.29	Fri Dec 28 10:28:36 2018
+++ src/external/gpl3/binutils/dist/ld/configure.tgt	Fri Dec 28 10:46:30 2018
@@ -416,14 +416,8 @@ m68hc11-*-*|m6811-*-*)	targ_emul=m68hc11
 			targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
 m68hc12-*-*|m6812-*-*)	targ_emul=m68hc12elf
 			targ_extra_emuls="m68hc12elfb m68hc11elf m68hc11elfb" ;;
-m68*-*-netbsd*4k*)	targ_emul=m68k4knbsd
-			targ_extra_emuls="m68knbsd m68kelfnbsd" ;;
 m68*-*-netbsdelf* | m5407*-*-netbsdelf*)
-			targ_emul=m68kelfnbsd
-			targ_extra_emuls="m68knbsd m68k4knbsd" ;;
-m68*-*-netbsdaout* | m68*-*-netbsd*)
-			targ_emul=m68knbsd
-			targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;;
+			targ_emul=m68kelfnbsd ;;
 m68*-*-*)		targ_emul=m68kelf ;;
 s12z-*-*)		targ_emul=m9s12zelf
 			;;



CVS commit: src/external/gpl3/binutils/dist

2018-12-28 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Dec 28 15:28:36 UTC 2018

Modified Files:
src/external/gpl3/binutils/dist/bfd: config.bfd
src/external/gpl3/binutils/dist/ld: configure.tgt

Log Message:
remove sparc a.out emulations (not supported anymore)


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/external/gpl3/binutils/dist/bfd/config.bfd
cvs rdiff -u -r1.28 -r1.29 src/external/gpl3/binutils/dist/ld/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/config.bfd
diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.27 src/external/gpl3/binutils/dist/bfd/config.bfd:1.28
--- src/external/gpl3/binutils/dist/bfd/config.bfd:1.27	Wed Nov  7 21:30:06 2018
+++ src/external/gpl3/binutils/dist/bfd/config.bfd	Fri Dec 28 10:28:36 2018
@@ -1313,14 +1313,8 @@ case "${targ}" in
 
   sparc-*-netbsdelf*)
 targ_defvec=sparc_elf32_vec
-targ_selvecs=sparc_aout_nbsd_vec
 want64=true
 ;;
-  sparc-*-netbsdaout* | sparc-*-netbsd*)
-targ_defvec=sparc_aout_nbsd_vec
-targ_selvecs=sparc_elf32_vec
-targ_underscore=yes
-;;
   sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
 targ_defvec=sparc_elf32_sol2_vec
 ;;

Index: src/external/gpl3/binutils/dist/ld/configure.tgt
diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.28 src/external/gpl3/binutils/dist/ld/configure.tgt:1.29
--- src/external/gpl3/binutils/dist/ld/configure.tgt:1.28	Tue Nov  6 20:13:54 2018
+++ src/external/gpl3/binutils/dist/ld/configure.tgt	Fri Dec 28 10:28:36 2018
@@ -755,13 +755,12 @@ sparc*-*-linux-*)	targ_emul=elf32_sparc
 			targ_extra_libpath=elf64_sparc
 			tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` ;;
 sparc64-*-netbsd*)	targ_emul=elf64_sparc
-			targ_extra_emuls="elf32_sparc sparcnbsd"
+			targ_extra_emuls="elf32_sparc"
 			;;
 sparc64-*-openbsd*)	targ_emul=elf64_sparc
 			targ_extra_emuls="elf32_sparc"
 			;;
 sparc*-*-netbsd*elf*)	targ_emul=elf32_sparc
-			targ_extra_emuls=sparcnbsd
 			;;
 sparc*-*-netbsd*)	targ_emul=sparcnbsd ;;
 sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)



CVS commit: src/external/gpl3/binutils/dist/ld

2018-12-27 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Dec 27 14:53:05 UTC 2018

Modified Files:
src/external/gpl3/binutils/dist/ld: configure.ac

Log Message:
Remove initfini array rest (restore original FSF version).


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/ld/configure.ac

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/configure.ac
diff -u src/external/gpl3/binutils/dist/ld/configure.ac:1.6 src/external/gpl3/binutils/dist/ld/configure.ac:1.7
--- src/external/gpl3/binutils/dist/ld/configure.ac:1.6	Tue Nov  6 20:13:54 2018
+++ src/external/gpl3/binutils/dist/ld/configure.ac	Thu Dec 27 09:53:05 2018
@@ -268,23 +268,11 @@ 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],
-	[], [
-AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
-		 gcc_cv_initfini_array, [dnl
-  if test "x${build}" = "x${target}" ; then
-AC_RUN_IFELSE([AC_LANG_SOURCE([
-static int x = -1;
-int main (void) { return x; }
-int foo (void) { x = 0; }
-int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;])],
-	 [gcc_cv_initfini_array=yes], [gcc_cv_initfini_array=no],
-	 [gcc_cv_initfini_array=no])
-   else
- gcc_cv_initfini_array=no
-   fi])
-  enable_initfini_array=$gcc_cv_initfini_array
-])
+[  --disable-initfini-array do not use .init_array/.fini_array sections],
+[case "${enableval}" in
+ yes|no) ;;
+ *) AC_MSG_ERROR([invalid --enable-initfini-array argument]) ;;
+ esac], [enable_initfini_array=yes])
 AC_SUBST(enable_initfini_array)
 if test $enable_initfini_array = yes; then
   AC_DEFINE(HAVE_INITFINI_ARRAY, 1,



CVS commit: src/external/gpl3/binutils/dist/bfd

2018-11-07 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Nov  8 02:30:06 UTC 2018

Modified Files:
src/external/gpl3/binutils/dist/bfd: config.bfd

Log Message:
delete i386 aout vec which has been removed


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/external/gpl3/binutils/dist/bfd/config.bfd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/config.bfd
diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.26 src/external/gpl3/binutils/dist/bfd/config.bfd:1.27
--- src/external/gpl3/binutils/dist/bfd/config.bfd:1.26	Tue Nov  6 20:13:51 2018
+++ src/external/gpl3/binutils/dist/bfd/config.bfd	Wed Nov  7 21:30:06 2018
@@ -620,7 +620,7 @@ case "${targ}" in
 ;;
   i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu)
 targ_defvec=i386_elf32_vec
-targ_selvecs="i386_aout_nbsd_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec"
+targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec"
 targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec x86_64_pei_vec"
 ;;
   i[3-7]86-*-netbsdpe*)



CVS commit: src/external/gpl3/binutils/dist/ld/emultempl

2018-05-19 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat May 19 21:20:35 UTC 2018

Modified Files:
src/external/gpl3/binutils/dist/ld/emultempl: elf32.em

Log Message:
don't prepend sysroots when we already have prepended it (breaks X11 binaries)


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 \
src/external/gpl3/binutils/dist/ld/emultempl/elf32.em

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emultempl/elf32.em
diff -u src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.16 src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.17
--- src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.16	Sun May  6 10:46:58 2018
+++ src/external/gpl3/binutils/dist/ld/emultempl/elf32.em	Sat May 19 17:20:35 2018
@@ -1484,7 +1484,7 @@ fragment <

CVS commit: src/external/gpl3/binutils/dist/bfd

2018-05-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun May  6 15:14:12 UTC 2018

Modified Files:
src/external/gpl3/binutils/dist/bfd: elflink.c

Log Message:
add missed patch


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/binutils/dist/bfd/elflink.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elflink.c
diff -u src/external/gpl3/binutils/dist/bfd/elflink.c:1.15 src/external/gpl3/binutils/dist/bfd/elflink.c:1.16
--- src/external/gpl3/binutils/dist/bfd/elflink.c:1.15	Sun Apr 15 16:06:01 2018
+++ src/external/gpl3/binutils/dist/bfd/elflink.c	Sun May  6 11:14:12 2018
@@ -2804,6 +2804,8 @@ _bfd_elf_fix_symbol_flags (struct elf_li
   if (h->is_weakalias)
 {
   struct elf_link_hash_entry *def = weakdef (h);
+  while (def->root.type == bfd_link_hash_indirect)
+def = (struct elf_link_hash_entry *) def->root.u.i.link;
 
   /* If the real definition is defined by a regular object file,
 	 don't do anything special.  See the longer description in



CVS commit: src/external/gpl3/binutils/dist/ld/emultempl

2018-05-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun May  6 14:46:58 UTC 2018

Modified Files:
src/external/gpl3/binutils/dist/ld/emultempl: elf32.em

Log Message:
fix misapplied patch


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 \
src/external/gpl3/binutils/dist/ld/emultempl/elf32.em

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emultempl/elf32.em
diff -u src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.15 src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.16
--- src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.15	Sun Apr 15 16:06:03 2018
+++ src/external/gpl3/binutils/dist/ld/emultempl/elf32.em	Sun May  6 10:46:58 2018
@@ -1484,7 +1484,7 @@ fragment <

CVS commit: src/external/gpl3/binutils/dist/bfd

2018-03-27 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Tue Mar 27 23:39:23 UTC 2018

Modified Files:
src/external/gpl3/binutils/dist/bfd: elflink.c

Log Message:
When trying to decide the status of a weak symbol, resolve any
indirectness first. In the case of various Qt5 libraries, __bss_start
ends up with a Qt5 version, but it has to be resolved first to match the
actual (implicit) definition. This fixes the root cause of pkg/53089.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/external/gpl3/binutils/dist/bfd/elflink.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elflink.c
diff -u src/external/gpl3/binutils/dist/bfd/elflink.c:1.13 src/external/gpl3/binutils/dist/bfd/elflink.c:1.14
--- src/external/gpl3/binutils/dist/bfd/elflink.c:1.13	Wed Oct 26 18:42:52 2016
+++ src/external/gpl3/binutils/dist/bfd/elflink.c	Tue Mar 27 23:39:23 2018
@@ -2675,14 +2675,17 @@ _bfd_elf_fix_symbol_flags (struct elf_li
  over to the real definition.  */
   if (h->u.weakdef != NULL)
 {
+  struct elf_link_hash_entry *weakdef = h->u.weakdef;
+  while (weakdef->root.type == bfd_link_hash_indirect)
+weakdef = (struct elf_link_hash_entry *) weakdef->root.u.i.link;
+
   /* If the real definition is defined by a regular object file,
 	 don't do anything special.  See the longer description in
 	 _bfd_elf_adjust_dynamic_symbol, below.  */
-  if (h->u.weakdef->def_regular)
+  if (weakdef->def_regular)
 	h->u.weakdef = NULL;
   else
 	{
-	  struct elf_link_hash_entry *weakdef = h->u.weakdef;
 
 	  while (h->root.type == bfd_link_hash_indirect)
 	h = (struct elf_link_hash_entry *) h->root.u.i.link;



CVS commit: src/external/gpl3/binutils/dist/bfd

2017-07-25 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Tue Jul 25 19:44:25 UTC 2017

Modified Files:
src/external/gpl3/binutils/dist/bfd: elfxx-sparc.c

Log Message:
TLS relocations for PIE and non-PIE main executable work the same, so
apply the same relaxation rules and the same static binding rules.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c
diff -u src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.11 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.12
--- src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.11	Wed Oct 26 18:42:52 2016
+++ src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c	Tue Jul 25 19:44:25 2017
@@ -1330,7 +1330,7 @@ sparc_elf_tls_transition (struct bfd_lin
   && ! _bfd_sparc_elf_tdata (abfd)->has_tlsgd)
 r_type = R_SPARC_REV32;
 
-  if (bfd_link_pic (info))
+  if (bfd_link_dll (info))
 return r_type;
 
   switch (r_type)
@@ -1501,13 +1501,13 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, 
 
 	case R_SPARC_TLS_LE_HIX22:
 	case R_SPARC_TLS_LE_LOX10:
-	  if (bfd_link_pic (info))
+	  if (bfd_link_dll (info))
 	goto r_sparc_plt32;
 	  break;
 
 	case R_SPARC_TLS_IE_HI22:
 	case R_SPARC_TLS_IE_LO10:
-	  if (bfd_link_pic (info))
+	  if (bfd_link_dll (info))
 	info->flags |= DF_STATIC_TLS;
 	  /* Fall through */
 
@@ -2334,7 +2334,7 @@ allocate_dynrelocs (struct elf_link_hash
   /* If R_SPARC_TLS_IE_{HI22,LO10} symbol is now local to the binary,
  make it a R_SPARC_TLS_LE_{HI22,LO10} requiring no TLS entry.  */
   if (h->got.refcount > 0
-  && !bfd_link_pic (info)
+  && !bfd_link_dll (info)
   && h->dynindx == -1
   && _bfd_sparc_elf_hash_entry(h)->tls_type == GOT_TLS_IE)
 h->got.offset = (bfd_vma) -1;
@@ -3582,7 +3582,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	  else if (h != NULL)
 	{
 	  tls_type = _bfd_sparc_elf_hash_entry(h)->tls_type;
-	  if (!bfd_link_pic (info)
+	  if (!bfd_link_dll (info)
 		  && h->dynindx == -1
 		  && tls_type == GOT_TLS_IE)
 		switch (SPARC_ELF_R_TYPE (rel->r_info))
@@ -3706,7 +3706,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 
 	case R_SPARC_TLS_LDM_HI22:
 	case R_SPARC_TLS_LDM_LO10:
-	  if (! bfd_link_pic (info))
+	  if (! bfd_link_dll (info))
 	{
 	  bfd_put_32 (output_bfd, SPARC_NOP, contents + rel->r_offset);
 	  continue;
@@ -3717,7 +3717,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 
 	case R_SPARC_TLS_LDO_HIX22:
 	case R_SPARC_TLS_LDO_LOX10:
-	  if (bfd_link_pic (info))
+	  if (bfd_link_dll (info))
 	{
 	  relocation -= dtpoff_base (info);
 	  break;
@@ -3729,7 +3729,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 
 	case R_SPARC_TLS_LE_HIX22:
 	case R_SPARC_TLS_LE_LOX10:
-	  if (bfd_link_pic (info))
+	  if (bfd_link_dll (info))
 	{
 	  Elf_Internal_Rela outrel;
 	  bfd_boolean skip;
@@ -3761,7 +3761,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	  break;
 
 	case R_SPARC_TLS_LDM_CALL:
-	  if (! bfd_link_pic (info))
+	  if (! bfd_link_dll (info))
 	{
 	  /* mov %g0, %o0 */
 	  bfd_put_32 (output_bfd, 0x9010, contents + rel->r_offset);
@@ -3775,13 +3775,13 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	tls_type = _bfd_sparc_elf_local_got_tls_type (input_bfd) [r_symndx];
 	  else if (h != NULL)
 	tls_type = _bfd_sparc_elf_hash_entry(h)->tls_type;
-	  if (! bfd_link_pic (info)
+	  if (! bfd_link_dll (info)
 	  || (r_type == R_SPARC_TLS_GD_CALL && tls_type == GOT_TLS_IE))
 	{
 	  Elf_Internal_Rela *rel2;
 	  bfd_vma insn;
 
-	  if (!bfd_link_pic (info) && (h == NULL || h->dynindx == -1))
+	  if (!bfd_link_dll (info) && (h == NULL || h->dynindx == -1))
 		{
 		  /* GD -> LE */
 		  bfd_put_32 (output_bfd, SPARC_NOP, contents + rel->r_offset);
@@ -3868,12 +3868,12 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 	  continue;
 
 	case R_SPARC_TLS_LDM_ADD:
-	  if (! bfd_link_pic (info))
+	  if (! bfd_link_dll (info))
 	bfd_put_32 (output_bfd, SPARC_NOP, contents + rel->r_offset);
 	  continue;
 
 	case R_SPARC_TLS_LDO_ADD:
-	  if (! bfd_link_pic (info))
+	  if (! bfd_link_dll (info))
 	{
 	  /* Change rs1 into %g7.  */
 	  bfd_vma insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
@@ -3884,7 +3884,7 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 
 	case R_SPARC_TLS_IE_LD:
 	case R_SPARC_TLS_IE_LDX:
-	  if (! bfd_link_pic (info) && (h == NULL || h->dynindx == -1))
+	  if (! bfd_link_dll (info) && (h == NULL || h->dynindx == -1))
 	{
 	  bfd_vma insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
 	  int rs2 = insn & 0x1f;



CVS commit: src/external/gpl3/binutils/dist

2017-07-17 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Mon Jul 17 19:50:23 UTC 2017

Modified Files:
src/external/gpl3/binutils/dist/bfd: elfxx-mips.c
src/external/gpl3/binutils/dist/gas/config: tc-mips.h

Log Message:
Create references as absolute pointers internally for .cfi*.
Do not warn for anonymous relocations in read-only .eh_frame,
they will be turned into relative entries afterwards.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/elfxx-mips.c
cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/gas/config/tc-mips.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elfxx-mips.c
diff -u src/external/gpl3/binutils/dist/bfd/elfxx-mips.c:1.10 src/external/gpl3/binutils/dist/bfd/elfxx-mips.c:1.11
--- src/external/gpl3/binutils/dist/bfd/elfxx-mips.c:1.10	Wed Oct 26 18:42:52 2016
+++ src/external/gpl3/binutils/dist/bfd/elfxx-mips.c	Mon Jul 17 19:50:23 2017
@@ -8596,12 +8596,18 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s
 		  /* In the N32 and 64-bit ABIs there may be multiple
 		 consecutive relocations for the same offset.  If we have
 		 a R_MIPS_GPREL32 followed by a R_MIPS_64 then that
-		 relocation is complete and needs no futher adjustment.  */
+		 relocation is complete and needs no futher adjustment.
+		 
+		 Silently ignore absolute relocations in the .eh_frame
+		 section, they will be dropped latter.
+		   */
 		  if ((rel == relocs
 		  || rel[-1].r_offset != rel->r_offset
 		  || r_type != R_MIPS_64
 		  || ELF_R_TYPE(abfd, rel[-1].r_info) != R_MIPS_GPREL32)
-		  && MIPS_ELF_READONLY_SECTION (sec))
+		  && MIPS_ELF_READONLY_SECTION (sec)
+		  && !((r_type == R_MIPS_32 || r_type == R_MIPS_64)
+		   && strcmp(sec->name, ".eh_frame") == 0))
 		{
 		  /* We tell the dynamic linker that there are
 		 relocations against the text segment.  */

Index: src/external/gpl3/binutils/dist/gas/config/tc-mips.h
diff -u src/external/gpl3/binutils/dist/gas/config/tc-mips.h:1.6 src/external/gpl3/binutils/dist/gas/config/tc-mips.h:1.7
--- src/external/gpl3/binutils/dist/gas/config/tc-mips.h:1.6	Wed Oct 26 18:42:55 2016
+++ src/external/gpl3/binutils/dist/gas/config/tc-mips.h	Mon Jul 17 19:50:23 2017
@@ -178,7 +178,7 @@ extern int mips_dwarf2_addr_size (void);
 #define DWARF2_ADDR_SIZE(bfd) mips_dwarf2_addr_size ()
 #define DWARF2_FDE_RELOC_SIZE (compact_eh ? 4 : mips_dwarf2_addr_size ())
 #define DWARF2_FDE_RELOC_ENCODING(enc) \
-  (enc | (compact_eh ? DW_EH_PE_pcrel : 0))
+  (compact_eh ? (enc)|DW_EH_PE_pcrel : DW_EH_PE_absptr)
 
 #define TARGET_USE_CFIPOP 1
 



CVS commit: src/external/gpl3/binutils/dist

2017-03-29 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Mar 29 15:28:42 UTC 2017

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf.c
src/external/gpl3/binutils/dist/binutils: readelf.c
src/external/gpl3/binutils/dist/include/elf: common.h

Log Message:
Teach me about the NetBSD-CORE ELF AuxV note.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/elf.c
cvs rdiff -u -r1.17 -r1.18 src/external/gpl3/binutils/dist/binutils/readelf.c
cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/include/elf/common.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf.c
diff -u src/external/gpl3/binutils/dist/bfd/elf.c:1.7 src/external/gpl3/binutils/dist/bfd/elf.c:1.8
--- src/external/gpl3/binutils/dist/bfd/elf.c:1.7	Wed Oct 26 14:42:52 2016
+++ src/external/gpl3/binutils/dist/bfd/elf.c	Wed Mar 29 11:28:42 2017
@@ -8741,6 +8741,22 @@ _bfd_elfcore_make_pseudosection (bfd *ab
   return elfcore_maybe_make_sect (abfd, name, sect);
 }
 
+static bfd_boolean
+elfcore_make_auxv_note_section (bfd *abfd, Elf_Internal_Note *note,
+size_t offs)
+{
+  asection *sect = bfd_make_section_anyway_with_flags (abfd, ".auxv",
+SEC_HAS_CONTENTS);
+
+  if (sect == NULL)
+return FALSE;
+  sect->size = note->descsz - offs;
+  sect->filepos = note->descpos + offs;
+  sect->alignment_power = 1 + bfd_get_arch_size (abfd) / 32;
+
+  return TRUE;
+}
+
 /* prstatus_t exists on:
  solaris 2.5+
  linux 2.[01] + glibc
@@ -9461,18 +9477,7 @@ elfcore_grok_note (bfd *abfd, Elf_Intern
 #endif
 
 case NT_AUXV:
-  {
-	asection *sect = bfd_make_section_anyway_with_flags (abfd, ".auxv",
-			 SEC_HAS_CONTENTS);
-
-	if (sect == NULL)
-	  return FALSE;
-	sect->size = note->descsz;
-	sect->filepos = note->descpos;
-	sect->alignment_power = 1 + bfd_get_arch_size (abfd) / 32;
-
-	return TRUE;
-  }
+  return elfcore_make_auxv_note_section (abfd, note, 0);
 
 case NT_FILE:
   return elfcore_make_note_pseudosection (abfd, ".note.linuxcore.file",
@@ -9664,18 +9669,7 @@ elfcore_grok_freebsd_note (bfd *abfd, El
 	return TRUE;
 
 case NT_FREEBSD_PROCSTAT_AUXV:
-  {
-	asection *sect = bfd_make_section_anyway_with_flags (abfd, ".auxv",
-			 SEC_HAS_CONTENTS);
-
-	if (sect == NULL)
-	  return FALSE;
-	sect->size = note->descsz - 4;
-	sect->filepos = note->descpos + 4;
-	sect->alignment_power = 1 + bfd_get_arch_size (abfd) / 32;
-
-	return TRUE;
-  }
+  return elfcore_make_auxv_note_section (abfd, note, 4);
 
 case NT_X86_XSTATE:
   if (note->namesz == 8)
@@ -9721,6 +9715,7 @@ elfcore_grok_netbsd_procinfo (bfd *abfd,
 	  note);
 }
 
+
 static bfd_boolean
 elfcore_grok_netbsd_note (bfd *abfd, Elf_Internal_Note *note)
 {
@@ -9729,17 +9724,24 @@ elfcore_grok_netbsd_note (bfd *abfd, Elf
   if (elfcore_netbsd_get_lwpid (note, ))
 elf_tdata (abfd)->core->lwpid = lwp;
 
-  if (note->type == NT_NETBSDCORE_PROCINFO)
+  switch (note->type)
 {
+case NT_NETBSDCORE_PROCINFO:
   /* NetBSD-specific core "procinfo".  Note that we expect to
 	 find this note before any of the others, which is fine,
 	 since the kernel writes this note out first when it
 	 creates a core file.  */
-
   return elfcore_grok_netbsd_procinfo (abfd, note);
+
+case NT_NETBSDCORE_AUXV:
+  /* NetBSD-specific Elf Auxiliary Vector data. */
+  return elfcore_make_auxv_note_section (abfd, note, 4);
+
+default:
+  break;
 }
 
-  /* As of Jan 2002 there are no other machine-independent notes
+  /* As of March 2017 there are no other machine-independent notes
  defined for NetBSD core files.  If the note type is less
  than the start of the machine-dependent note types, we don't
  understand it.  */
@@ -9837,18 +9839,7 @@ elfcore_grok_openbsd_note (bfd *abfd, El
 return elfcore_make_note_pseudosection (abfd, ".reg-xfp", note);
 
   if (note->type == NT_OPENBSD_AUXV)
-{
-  asection *sect = bfd_make_section_anyway_with_flags (abfd, ".auxv",
-			   SEC_HAS_CONTENTS);
-
-  if (sect == NULL)
-	return FALSE;
-  sect->size = note->descsz;
-  sect->filepos = note->descpos;
-  sect->alignment_power = 1 + bfd_get_arch_size (abfd) / 32;
-
-  return TRUE;
-}
+return elfcore_make_auxv_note_section (abfd, note, 0);
 
   if (note->type == NT_OPENBSD_WCOOKIE)
 {

Index: src/external/gpl3/binutils/dist/binutils/readelf.c
diff -u src/external/gpl3/binutils/dist/binutils/readelf.c:1.17 src/external/gpl3/binutils/dist/binutils/readelf.c:1.18
--- src/external/gpl3/binutils/dist/binutils/readelf.c:1.17	Wed Oct 26 14:42:53 2016
+++ src/external/gpl3/binutils/dist/binutils/readelf.c	Wed Mar 29 11:28:42 2017
@@ -15666,10 +15666,15 @@ get_netbsd_elfcore_note_type (unsigned e
 {
   static char buff[64];
 
-  if (e_type == NT_NETBSDCORE_PROCINFO)
+  

CVS commit: src/external/gpl3/binutils/dist/gas

2017-01-11 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Wed Jan 11 14:13:05 UTC 2017

Modified Files:
src/external/gpl3/binutils/dist/gas: configure.tgt

Log Message:
Fix merge botch. arm eabi targets now match properly and we get the
right defaults.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/binutils/dist/gas/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/configure.tgt
diff -u src/external/gpl3/binutils/dist/gas/configure.tgt:1.11 src/external/gpl3/binutils/dist/gas/configure.tgt:1.12
--- src/external/gpl3/binutils/dist/gas/configure.tgt:1.11	Wed Oct 26 18:42:55 2016
+++ src/external/gpl3/binutils/dist/gas/configure.tgt	Wed Jan 11 14:13:05 2017
@@ -140,6 +140,8 @@ case ${generic_target} in
   arm-*-phoenix*)			fmt=elf ;;
   arm-*-rtems*)fmt=elf ;;
   arm-*-elf)fmt=elf ;;
+  arm-*-netbsdelf*-*eabihf*)		fmt=elf  em=armnbsdeabihf ;;
+  arm-*-netbsdelf*-*eabi*)		fmt=elf  em=armnbsdeabi ;;
   arm-*-eabi*)fmt=elf em=armeabi ;;
   arm-*-symbianelf*)			fmt=elf em=symbian ;;
   arm-*-kaos*)fmt=elf ;;
@@ -151,8 +153,6 @@ case ${generic_target} in
   arm-*-linux*aout*)			fmt=aout em=linux ;;
   arm-*-linux-*eabi*)			fmt=elf  em=armlinuxeabi ;;
   arm-*-linux-*)			fmt=elf  em=linux ;;
-  arm-*-netbsdelf*-*eabihf*)		fmt=elf  em=armnbsdeabihf ;;
-  arm-*-netbsdelf*-*eabi*)		fmt=elf  em=armnbsdeabi ;;
   arm-*-uclinux*eabi*)			fmt=elf  em=armlinuxeabi ;;
   arm-*-uclinux*)			fmt=elf  em=linux ;;
   arm-*-nacl*)fmt=elf  em=nacl ;;



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-12-30 Thread Brian Buhrow
Module Name:src
Committed By:   buhrow
Date:   Fri Dec 30 22:40:24 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-arm.c

Log Message:
Fix problem which prevents cross building on NetBSD systems which predate
NetBSD-6 or non-NetBSD systems.  See discussion on port-arm for details.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/elf32-arm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-arm.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.10 src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.11
--- src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.10	Wed Oct 26 18:42:52 2016
+++ src/external/gpl3/binutils/dist/bfd/elf32-arm.c	Fri Dec 30 22:40:23 2016
@@ -3207,8 +3207,8 @@ ctz (unsigned int mask)
 #endif
 }
 
-#ifndef __NetBSD__
-static inline int
+#if !defined (__NetBSD__) || (__NetBSD_Version__ < 6) 
+unsigned int
 popcount (unsigned int mask)
 {
 #if GCC_VERSION >= 3004



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-11-03 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Fri Nov  4 00:19:32 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf64-ppc.c

Log Message:
Tail calls can use the PLT without a nop after the branch. Since the
callee won't return to the next instruction anyway, it wouldn't work
anyway.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf64-ppc.c
diff -u src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.10 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.11
--- src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.10	Thu Nov  3 01:22:59 2016
+++ src/external/gpl3/binutils/dist/bfd/elf64-ppc.c	Fri Nov  4 00:19:32 2016
@@ -14069,6 +14069,11 @@ ppc64_elf_relocate_section (bfd *output_
 			  can_plt_call = TRUE;
 			}
 		}
+		  else
+		{
+		  /* Tail calls don't need to worry about restoring TOC. */
+		  can_plt_call = TRUE;
+		}
 		}
 
 	  if (!can_plt_call && h != NULL)



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-11-02 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Nov  3 01:22:59 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-ppc.c elf64-ppc.c

Log Message:
More detailed error messages for text relocations on ppc code. Tested by joerg@


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c \
src/external/gpl3/binutils/dist/bfd/elf64-ppc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-ppc.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.9 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.10
--- src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.9	Wed Oct 26 14:42:52 2016
+++ src/external/gpl3/binutils/dist/bfd/elf32-ppc.c	Wed Nov  2 21:22:59 2016
@@ -5557,7 +5557,7 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT
 /* Return true if we have dynamic relocs that apply to read-only sections.  */
 
 static bfd_boolean
-readonly_dynrelocs (struct elf_link_hash_entry *h)
+readonly_dynrelocs (struct elf_link_hash_entry *h, void *inf, bfd_boolean warn)
 {
   struct elf_dyn_relocs *p;
 
@@ -5568,7 +5568,16 @@ readonly_dynrelocs (struct elf_link_hash
   if (s != NULL
 	  && ((s->flags & (SEC_READONLY | SEC_ALLOC))
 	  == (SEC_READONLY | SEC_ALLOC)))
-	return TRUE;
+	{
+	  struct bfd_link_info *info = (struct bfd_link_info *) inf;
+
+	  if (warn && ((info->warn_shared_textrel && bfd_link_pic (info))
+	  || info->error_textrel))
+	info->callbacks->einfo (_("%P: %B: warning: relocation against `%s' in readonly section `%A'\n"),
+p->sec->owner, h->root.root.string,
+p->sec);
+	  return TRUE;
+	}
 }
   return FALSE;
 }
@@ -5642,7 +5651,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf
 	  && h->type != STT_GNU_IFUNC
 	  && !htab->is_vxworks
 	  && !ppc_elf_hash_entry (h)->has_sda_refs
-	  && !readonly_dynrelocs (h))
+	  && !readonly_dynrelocs (h, info, FALSE))
 	{
 	  h->pointer_equality_needed = 0;
 	  h->non_got_ref = 0;
@@ -5662,7 +5671,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf
 		   && h->type != STT_GNU_IFUNC
 		   && !htab->is_vxworks
 		   && !ppc_elf_hash_entry (h)->has_sda_refs
-		   && !readonly_dynrelocs (h))
+		   && !readonly_dynrelocs (h, info, FALSE))
 	h->non_got_ref = 0;
 	}
   h->protected_def = 0;
@@ -5739,7 +5748,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf
   && !ppc_elf_hash_entry (h)->has_sda_refs
   && !htab->is_vxworks
   && !h->def_regular
-  && !readonly_dynrelocs (h))
+  && !readonly_dynrelocs (h, info, FALSE))
 {
   h->non_got_ref = 0;
   return TRUE;
@@ -6249,7 +6258,7 @@ maybe_set_textrel (struct elf_link_hash_
   if (h->root.type == bfd_link_hash_indirect)
 return TRUE;
 
-  if (readonly_dynrelocs (h))
+  if (readonly_dynrelocs (h, info, TRUE))
 {
   ((struct bfd_link_info *) info)->flags |= DF_TEXTREL;
 
Index: src/external/gpl3/binutils/dist/bfd/elf64-ppc.c
diff -u src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.9 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.10
--- src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.9	Wed Oct 26 14:42:52 2016
+++ src/external/gpl3/binutils/dist/bfd/elf64-ppc.c	Wed Nov  2 21:22:59 2016
@@ -7105,7 +7105,7 @@ ppc64_elf_func_desc_adjust (bfd *obfd AT
 /* Return true if we have dynamic relocs that apply to read-only sections.  */
 
 static bfd_boolean
-readonly_dynrelocs (struct elf_link_hash_entry *h)
+readonly_dynrelocs (struct elf_link_hash_entry *h, void *inf, bfd_boolean warn)
 {
   struct ppc_link_hash_entry *eh;
   struct elf_dyn_relocs *p;
@@ -7116,7 +7116,16 @@ readonly_dynrelocs (struct elf_link_hash
   asection *s = p->sec->output_section;
 
   if (s != NULL && (s->flags & SEC_READONLY) != 0)
-	return TRUE;
+	{
+	  struct bfd_link_info *info = (struct bfd_link_info *) inf;
+
+	  if (warn && ((info->warn_shared_textrel && bfd_link_pic (info))
+	  || info->error_textrel))
+	info->callbacks->einfo (_("%P: %B: warning: relocation against `%s' in readonly section `%A'\n"),
+p->sec->owner, h->root.root.string,
+p->sec);
+	  return TRUE;
+	}
 }
   return FALSE;
 }
@@ -7168,7 +7177,7 @@ ppc64_elf_adjust_dynamic_symbol (struct 
 	 be used instead.  */
 	  if (h->pointer_equality_needed
 	  && h->type != STT_GNU_IFUNC
-	  && !readonly_dynrelocs (h))
+	  && !readonly_dynrelocs (h, info, FALSE))
 	{
 	  h->pointer_equality_needed = 0;
 	  h->non_got_ref = 0;
@@ -7186,7 +7195,7 @@ ppc64_elf_adjust_dynamic_symbol (struct 
 	  else if (!h->ref_regular_nonweak
 		   && h->non_got_ref
 		   && h->type != STT_GNU_IFUNC
-		   && !readonly_dynrelocs (h))
+		   && !readonly_dynrelocs (h, info, FALSE))
 	h->non_got_ref = 0;
 
 	  /* If making a plt entry, then we don't need copy relocs.  */
@@ -7235,7 +7244,7 @@ ppc64_elf_adjust_dynamic_symbol (struct 
 

CVS commit: src/external/gpl3/binutils/dist/ld

2016-10-26 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Oct 26 20:26:20 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld: configure configure.ac

Log Message:
restore the initfini array tests


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/binutils/dist/ld/configure
cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/binutils/dist/ld/configure.ac

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/configure
diff -u src/external/gpl3/binutils/dist/ld/configure:1.4 src/external/gpl3/binutils/dist/ld/configure:1.5
--- src/external/gpl3/binutils/dist/ld/configure:1.4	Wed Oct 26 14:43:26 2016
+++ src/external/gpl3/binutils/dist/ld/configure	Wed Oct 26 16:26:20 2016
@@ -1454,7 +1454,7 @@ Optional Features:
   --enable-werror treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings
   --disable-nls   do not use Native Language Support
-  --disable-initfini-array do not use .init_array/.fini_array sections
+  --enable-initfini-array	use .init_array/.fini_array sections
 
 Optional Packages:
   --with-PACKAGE[=ARG]use PACKAGE [ARG=yes]
@@ -16866,14 +16866,44 @@ fi
 
 # Check whether --enable-initfini-array was given.
 if test "${enable_initfini_array+set}" = set; then :
-  enableval=$enable_initfini_array; case "${enableval}" in
- yes|no) ;;
- *) as_fn_error "invalid --enable-initfini-array argument" "$LINENO" 5 ;;
- esac
+  enableval=$enable_initfini_array;
+else
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .preinit_array/.init_array/.fini_array support" >&5
+$as_echo_n "checking for .preinit_array/.init_array/.fini_array support... " >&6; }
+if test "${gcc_cv_initfini_array+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+if test "x${build}" = "x${target}" ; then
+if test "$cross_compiling" = yes; then :
+  gcc_cv_initfini_array=no
 else
-  enable_initfini_array=yes
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+static int x = -1;
+int main (void) { return x; }
+int foo (void) { x = 0; }
+int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gcc_cv_initfini_array=yes
+ else
+  gcc_cv_initfini_array=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
+   else
+ gcc_cv_initfini_array=no
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_initfini_array" >&5
+$as_echo "$gcc_cv_initfini_array" >&6; }
+  enable_initfini_array=$gcc_cv_initfini_array
+
+ fi
 
 if test $enable_initfini_array = yes; then
 

Index: src/external/gpl3/binutils/dist/ld/configure.ac
diff -u src/external/gpl3/binutils/dist/ld/configure.ac:1.3 src/external/gpl3/binutils/dist/ld/configure.ac:1.4
--- src/external/gpl3/binutils/dist/ld/configure.ac:1.3	Wed Oct 26 14:43:26 2016
+++ src/external/gpl3/binutils/dist/ld/configure.ac	Wed Oct 26 16:26:20 2016
@@ -226,11 +226,23 @@ AC_SEARCH_LIBS([dlopen], [dl])
 AM_CONDITIONAL([ENABLE_PLUGINS], [test x$plugins = xyes])
 
 AC_ARG_ENABLE(initfini-array,
-[  --disable-initfini-array do not use .init_array/.fini_array sections],
-[case "${enableval}" in
- yes|no) ;;
- *) AC_MSG_ERROR([invalid --enable-initfini-array argument]) ;;
- esac], [enable_initfini_array=yes])
+	[  --enable-initfini-array	use .init_array/.fini_array sections],
+	[], [
+AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
+		 gcc_cv_initfini_array, [dnl
+  if test "x${build}" = "x${target}" ; then
+AC_RUN_IFELSE([AC_LANG_SOURCE([
+static int x = -1;
+int main (void) { return x; }
+int foo (void) { x = 0; }
+int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;])],
+	 [gcc_cv_initfini_array=yes], [gcc_cv_initfini_array=no],
+	 [gcc_cv_initfini_array=no])
+   else
+ gcc_cv_initfini_array=no
+   fi])
+  enable_initfini_array=$gcc_cv_initfini_array
+])
 AC_SUBST(enable_initfini_array)
 if test $enable_initfini_array = yes; then
   AC_DEFINE(HAVE_INITFINI_ARRAY, 1,



CVS commit: src/external/gpl3/binutils/dist/ld

2016-10-19 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Wed Oct 19 19:09:42 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld: configure.tgt

Log Message:
fix the armeb target list.


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/external/gpl3/binutils/dist/ld/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/configure.tgt
diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.24 src/external/gpl3/binutils/dist/ld/configure.tgt:1.25
--- src/external/gpl3/binutils/dist/ld/configure.tgt:1.24	Tue Oct 18 12:52:32 2016
+++ src/external/gpl3/binutils/dist/ld/configure.tgt	Wed Oct 19 19:09:42 2016
@@ -111,8 +111,6 @@ arm*-*-netbsdelf*-*eabi*)
 			targ_emul=armelf_nbsd_eabi;
 			targ_extra_emuls="armelfb_nbsd_eabi armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd armelfb_nbsd armelf armnbsd" ;;
 arm*eb-*-netbsdelf*)	targ_emul=armelfb_nbsd;
-			targ_extra_emuls="armelfb_nbsd armelf" ;;
-armeb-*-netbsdelf*)	targ_emul=armelfb_nbsd;
 			targ_extra_emuls="armelf_nbsd armelf armnbsd" ;;
 arm-*-netbsdelf*)	targ_emul=armelf_nbsd;
 			targ_extra_emuls="armelfb_nbsd armelf armnbsd" ;;



CVS commit: src/external/gpl3/binutils/dist/ld

2016-10-18 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Oct 18 12:52:32 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld: configure.tgt

Log Message:
fix typo.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/external/gpl3/binutils/dist/ld/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/configure.tgt
diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.23 src/external/gpl3/binutils/dist/ld/configure.tgt:1.24
--- src/external/gpl3/binutils/dist/ld/configure.tgt:1.23	Sat Mar 26 04:41:16 2016
+++ src/external/gpl3/binutils/dist/ld/configure.tgt	Tue Oct 18 08:52:32 2016
@@ -111,7 +111,7 @@ arm*-*-netbsdelf*-*eabi*)
 			targ_emul=armelf_nbsd_eabi;
 			targ_extra_emuls="armelfb_nbsd_eabi armelf_nbsd_eabihf armelfb_nbsd_eabihf armelf_nbsd armelfb_nbsd armelf armnbsd" ;;
 arm*eb-*-netbsdelf*)	targ_emul=armelfb_nbsd;
-			targ_extra_emuls="armelfb_fbsd armelf" ;;
+			targ_extra_emuls="armelfb_nbsd armelf" ;;
 armeb-*-netbsdelf*)	targ_emul=armelfb_nbsd;
 			targ_extra_emuls="armelf_nbsd armelf armnbsd" ;;
 arm-*-netbsdelf*)	targ_emul=armelf_nbsd;



CVS commit: src/external/gpl3/binutils/dist/ld/emulparams

2016-10-11 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Oct 11 07:05:29 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld/emulparams: armelf_nbsd.sh
armelf_nbsd_eabi.sh armelf_nbsd_eabihf.sh

Log Message:
fix the previous - the emul names don't tend to include "32".
tested on shark, though fixes to make compiling for oabi work
remain uncommited.

now an aarch64 build almost completes!


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh \
src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh
cvs rdiff -u -r1.5 -r1.6 \
src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.8 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.9
--- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.8	Tue Oct 11 02:49:38 2016
+++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh	Tue Oct 11 07:05:29 2016
@@ -11,7 +11,7 @@ unset EMBEDDED
 case "$target" in
   aarch64*-*-netbsd* | arm*-*-netbsdelf*-*eabi*)
 case "$EMULATION_NAME" in
-*32*)
+armelf*_nbsd)
   LIB_PATH='=/usr/lib/oabi'
   ;;
 esac
Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh:1.8 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh:1.9
--- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh:1.8	Tue Oct 11 02:49:38 2016
+++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh	Tue Oct 11 07:05:29 2016
@@ -9,14 +9,17 @@ OTHER_READONLY_SECTIONS="
 
 case "$target" in
   arm*-*-netbsdelf*-*eabihf*)
-LIB_PATH='=/usr/lib/eabi'
+case "$EMULATION_NAME" in
+*armelf*eabi)
+  LIB_PATH='=/usr/lib/eabi'
+  ;;
+esac
 ;;
   arm*-*-netbsdelf*-*eabi*)
-LIB_PATH='=/usr/lib'
 ;;
   aarch64*-*-netbsd* | arm*-*-netbsdelf*)
 case "$EMULATION_NAME" in
-*32*)
+*armelf*eabi)
   LIB_PATH='=/usr/lib/eabi'
   ;;
 esac

Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh:1.5 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh:1.6
--- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh:1.5	Tue Oct 11 02:49:38 2016
+++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh	Tue Oct 11 07:05:29 2016
@@ -9,11 +9,10 @@ OTHER_READONLY_SECTIONS="
 
 case "$target" in
   arm*-*-netbsdelf*-*eabihf*)
-LIB_PATH='=/usr/lib'
 ;;
   aarch64*-*-netbsd* | arm*-*-netbsdelf*)
 case "$EMULATION_NAME" in
-*32*)
+*armelf*eabihf)
   LIB_PATH='=/usr/lib/eabihf'
   ;;
 esac



CVS commit: src/external/gpl3/binutils/dist/ld/emulparams

2016-10-10 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Oct 11 02:49:39 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld/emulparams: armelf_nbsd.sh
armelf_nbsd_eabi.sh armelf_nbsd_eabihf.sh

Log Message:
fix emulation path


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh \
src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh
cvs rdiff -u -r1.4 -r1.5 \
src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.7 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.8
--- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.7	Sat May 21 12:23:10 2016
+++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh	Mon Oct 10 22:49:38 2016
@@ -10,6 +10,10 @@ unset EMBEDDED
 
 case "$target" in
   aarch64*-*-netbsd* | arm*-*-netbsdelf*-*eabi*)
-LIB_PATH='=/usr/lib/oabi'
+case "$EMULATION_NAME" in
+*32*)
+  LIB_PATH='=/usr/lib/oabi'
+  ;;
+esac
 ;;
 esac
Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh:1.7 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh:1.8
--- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh:1.7	Sun Aug 10 01:57:30 2014
+++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabi.sh	Mon Oct 10 22:49:38 2016
@@ -15,6 +15,10 @@ case "$target" in
 LIB_PATH='=/usr/lib'
 ;;
   aarch64*-*-netbsd* | arm*-*-netbsdelf*)
-LIB_PATH='=/usr/lib/eabi'
+case "$EMULATION_NAME" in
+*32*)
+  LIB_PATH='=/usr/lib/eabi'
+  ;;
+esac
 ;;
 esac

Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh:1.4 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh:1.5
--- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh:1.4	Sun Aug 10 01:57:30 2014
+++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd_eabihf.sh	Mon Oct 10 22:49:38 2016
@@ -12,6 +12,10 @@ case "$target" in
 LIB_PATH='=/usr/lib'
 ;;
   aarch64*-*-netbsd* | arm*-*-netbsdelf*)
-LIB_PATH='=/usr/lib/eabihf'
+case "$EMULATION_NAME" in
+*32*)
+  LIB_PATH='=/usr/lib/eabihf'
+  ;;
+esac
 ;;
 esac



CVS commit: src/external/gpl3/binutils/dist/ld/emulparams

2016-10-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Oct  6 20:29:33 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld/emulparams: elf32ppc_nbsd.sh

Log Message:
fix ppc64


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
src/external/gpl3/binutils/dist/ld/emulparams/elf32ppc_nbsd.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32ppc_nbsd.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32ppc_nbsd.sh:1.1 src/external/gpl3/binutils/dist/ld/emulparams/elf32ppc_nbsd.sh:1.2
--- src/external/gpl3/binutils/dist/ld/emulparams/elf32ppc_nbsd.sh:1.1	Thu Mar  6 23:13:46 2014
+++ src/external/gpl3/binutils/dist/ld/emulparams/elf32ppc_nbsd.sh	Thu Oct  6 16:29:33 2016
@@ -2,6 +2,9 @@
 
 case "$target" in
   powerpc64*-*-netbsd*)
-LIB_PATH='=/usr/lib/powerpc'
+case "$EMULATION_NAME" in
+*32*)
+  LIB_PATH='=/usr/lib/powerpc'
 ;;
+esac
 esac



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-09-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Sep  5 14:25:33 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elfxx-sparc.c

Log Message:
more errors for text relocations


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c
diff -u src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.9 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.10
--- src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.9	Mon Sep  5 05:17:35 2016
+++ src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c	Mon Sep  5 10:25:33 2016
@@ -2616,7 +2616,13 @@ _bfd_sparc_elf_size_dynamic_sections (bf
 		srel = htab->elf.irelplt;
 		  srel->size += p->count * SPARC_ELF_RELA_BYTES (htab);
 		  if ((p->sec->output_section->flags & SEC_READONLY) != 0)
-		info->flags |= DF_TEXTREL;
+		{
+		  info->flags |= DF_TEXTREL;
+		  if ((info->warn_shared_textrel && bfd_link_pic (info))
+			|| info->error_textrel)
+			info->callbacks->einfo (_("%P: %B: warning: relocation "
+			  "in readonly section `%A'\n"), p->sec->owner, p->sec);
+		}
 		}
 	}
 	}



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-09-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Sep  5 09:17:35 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elfxx-sparc.c

Log Message:
sync error with x86_64.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c
diff -u src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.8 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.9
--- src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.8	Wed Jun 15 10:47:23 2016
+++ src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c	Mon Sep  5 05:17:35 2016
@@ -2514,12 +2514,14 @@ readonly_dynrelocs (struct elf_link_hash
 	{
 	  struct bfd_link_info *info = (struct bfd_link_info *) inf;
 
-  if (info->warn_shared_textrel)
-(*_bfd_error_handler)
-  (_("warning: dynamic relocation to `%s' in readonly section `%s'"),
-  h->root.root.string, s->name);
 	  info->flags |= DF_TEXTREL;
 
+	  if ((info->warn_shared_textrel && bfd_link_pic (info))
+	  || info->error_textrel)
+	info->callbacks->einfo (_("%P: %B: warning: relocation against `%s' in readonly section `%A'\n"),
+p->sec->owner, h->root.root.string,
+p->sec);
+
 	  /* Not an error, just cut short the traversal.  */
 	  return FALSE;
 	}



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-07-20 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Jul 21 00:10:57 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-vax.c

Log Message:
don't die printing a name we don't have


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/external/gpl3/binutils/dist/bfd/elf32-vax.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-vax.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.13 src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.14
--- src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.13	Wed Jun 15 10:47:23 2016
+++ src/external/gpl3/binutils/dist/bfd/elf32-vax.c	Wed Jul 20 20:10:57 2016
@@ -782,7 +782,7 @@ elf_vax_check_relocs (bfd *abfd, struct 
 			if (info->warn_shared_textrel)
 			  (*_bfd_error_handler)
 			(_("warning: dynamic relocation to `%s' in readonly section `%s'"),
-			 h->root.root.string, sec->name);
+			 h ? h->root.root.string : "?", sec->name);
 			info->flags |= DF_TEXTREL;
 		}
 		}



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-06-26 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Sun Jun 26 14:44:10 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-m68k.c

Log Message:
fix build


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-m68k.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.8 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.9
--- src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.8	Wed Jun 15 14:47:23 2016
+++ src/external/gpl3/binutils/dist/bfd/elf32-m68k.c	Sun Jun 26 14:44:10 2016
@@ -3440,7 +3440,7 @@ elf_m68k_discard_copies (struct elf_link
 		if (info->warn_shared_textrel)
 		  (*_bfd_error_handler)
 		(_("warning: dynamic relocation to `%s' in readonly section `%s'"),
-		h->root.root.string, s->name); 
+		h->root.root.string, s->section->name); 
 		info->flags |= DF_TEXTREL;
 		break;
 	  }



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-06-15 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Jun 15 14:47:23 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-hppa.c elf32-i386.c
elf32-m68k.c elf32-sh.c elf32-vax.c elfxx-sparc.c

Log Message:
Harmonize the error messages about dynamic relocations.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/elf32-hppa.c \
src/external/gpl3/binutils/dist/bfd/elf32-m68k.c \
src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c
cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/bfd/elf32-i386.c \
src/external/gpl3/binutils/dist/bfd/elf32-sh.c
cvs rdiff -u -r1.12 -r1.13 src/external/gpl3/binutils/dist/bfd/elf32-vax.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-hppa.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-hppa.c:1.7 src/external/gpl3/binutils/dist/bfd/elf32-hppa.c:1.8
--- src/external/gpl3/binutils/dist/bfd/elf32-hppa.c:1.7	Fri Jan 29 09:42:44 2016
+++ src/external/gpl3/binutils/dist/bfd/elf32-hppa.c	Wed Jun 15 10:47:23 2016
@@ -2185,8 +2185,8 @@ readonly_dynrelocs (struct elf_link_hash
 
   if (info->warn_shared_textrel)
 (*_bfd_error_handler)
-  (_("warning: dynamic relocation in readonly section `%s'"),
-  eh->root.root.string);
+  (_("warning: dynamic relocation to `%s' in readonly section `%s'"),
+  eh->root.root.string, sec->name);
 	  info->flags |= DF_TEXTREL;
 
 	  /* Not an error, just cut short the traversal.  */
Index: src/external/gpl3/binutils/dist/bfd/elf32-m68k.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.7 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.8
--- src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.7	Fri Apr 22 13:40:36 2016
+++ src/external/gpl3/binutils/dist/bfd/elf32-m68k.c	Wed Jun 15 10:47:23 2016
@@ -2816,8 +2816,8 @@ elf_m68k_check_relocs (bfd *abfd,
 		{
 		  if (info->warn_shared_textrel)
 		(*_bfd_error_handler)
-		  (_("warning: dynamic relocation in readonly section `%s'"),
-		  h->root.root.string); 
+		  (_("warning: dynamic relocation to `%s' in readonly section `%s'"),
+		  h->root.root.string, sec->name); 
 		  info->flags |= DF_TEXTREL;
 		}
 
@@ -3439,8 +3439,8 @@ elf_m68k_discard_copies (struct elf_link
 	  {
 		if (info->warn_shared_textrel)
 		  (*_bfd_error_handler)
-		(_("warning: dynamic relocation in readonly section `%s'"),
-		h->root.root.string); 
+		(_("warning: dynamic relocation to `%s' in readonly section `%s'"),
+		h->root.root.string, s->name); 
 		info->flags |= DF_TEXTREL;
 		break;
 	  }
Index: src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c
diff -u src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.7 src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.8
--- src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c:1.7	Fri Jan 29 09:42:44 2016
+++ src/external/gpl3/binutils/dist/bfd/elfxx-sparc.c	Wed Jun 15 10:47:23 2016
@@ -2516,8 +2516,8 @@ readonly_dynrelocs (struct elf_link_hash
 
   if (info->warn_shared_textrel)
 (*_bfd_error_handler)
-  (_("warning: dynamic relocation in readonly section `%s'"),
-  h->root.root.string);
+  (_("warning: dynamic relocation to `%s' in readonly section `%s'"),
+  h->root.root.string, s->name);
 	  info->flags |= DF_TEXTREL;
 
 	  /* Not an error, just cut short the traversal.  */

Index: src/external/gpl3/binutils/dist/bfd/elf32-i386.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-i386.c:1.6 src/external/gpl3/binutils/dist/bfd/elf32-i386.c:1.7
--- src/external/gpl3/binutils/dist/bfd/elf32-i386.c:1.6	Fri Jan 29 09:42:44 2016
+++ src/external/gpl3/binutils/dist/bfd/elf32-i386.c	Wed Jun 15 10:47:23 2016
@@ -2718,8 +2718,8 @@ elf_i386_readonly_dynrelocs (struct elf_
 	  struct bfd_link_info *info = (struct bfd_link_info *) inf;
 	  if (info->warn_shared_textrel)
 	(*_bfd_error_handler)
-	  (_("warning: dynamic relocation in readonly section `%s'"),
-	  h->root.root.string); 
+	  (_("warning: dynamic relocation to `%s' in readonly section `%s'"),
+	  h->root.root.string, s->name); 
 	  info->flags |= DF_TEXTREL;
 
 	  if ((info->warn_shared_textrel && bfd_link_pic (info))
Index: src/external/gpl3/binutils/dist/bfd/elf32-sh.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-sh.c:1.6 src/external/gpl3/binutils/dist/bfd/elf32-sh.c:1.7
--- src/external/gpl3/binutils/dist/bfd/elf32-sh.c:1.6	Fri Jan 29 09:42:44 2016
+++ src/external/gpl3/binutils/dist/bfd/elf32-sh.c	Wed Jun 15 10:47:23 2016
@@ -3304,8 +3304,8 @@ readonly_dynrelocs (struct elf_link_hash
 
   if (info->warn_shared_textrel)
 (*_bfd_error_handler)
-  (_("warning: dynamic relocation in readonly section `%s'"),
-  h->root.root.string);
+   

CVS commit: src/external/gpl3/binutils/dist/ld/emulparams

2016-05-21 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat May 21 16:23:10 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld/emulparams: armelf_nbsd.sh

Log Message:
PIE in the face!


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.6 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.7
--- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.6	Sun Aug 10 01:57:30 2014
+++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh	Sat May 21 12:23:10 2016
@@ -2,6 +2,7 @@
 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
 TEXT_START_ADDR=0x0001
 TARGET2_TYPE=got-rel
+GENERATE_PIE_SCRIPT=yes
 
 unset DATA_START_SYMBOLS
 unset STACK_ADDR



CVS commit: src/external/gpl3/binutils/dist/ld/emultempl

2016-05-02 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon May  2 23:22:39 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld/emultempl: elf32.em

Log Message:
search for the proper variable in the sysroot case.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/gpl3/binutils/dist/ld/emultempl/elf32.em

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emultempl/elf32.em
diff -u src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.11 src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.12
--- src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.11	Fri Jan 29 09:42:47 2016
+++ src/external/gpl3/binutils/dist/ld/emultempl/elf32.em	Mon May  2 19:22:39 2016
@@ -1289,7 +1289,7 @@ fragment by
-		   && gld${EMULATION_NAME}_search_needed (rp->name,
+		   && gld${EMULATION_NAME}_search_needed (tmpname,
 			  ,
 			  force, 1));
 	  if (tmpname != rp->name)



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-04-29 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Fri Apr 29 16:25:55 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elflink.c

Log Message:
Revert. For whatever reasons, the ELF visibility attributes are not
meant to be a useful indicator of what an object expects, so for linking
against a protected symbol, it must be declared as normal.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/elflink.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elflink.c
diff -u src/external/gpl3/binutils/dist/bfd/elflink.c:1.10 src/external/gpl3/binutils/dist/bfd/elflink.c:1.11
--- src/external/gpl3/binutils/dist/bfd/elflink.c:1.10	Fri Mar 25 23:04:41 2016
+++ src/external/gpl3/binutils/dist/bfd/elflink.c	Fri Apr 29 16:25:55 2016
@@ -1252,7 +1252,6 @@ _bfd_elf_merge_symbol (bfd *abfd,
  definition from a dynamic object.  */
   if (newdyn
   && ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
-  && ELF_ST_VISIBILITY (h->other) != STV_PROTECTED
   && !bfd_is_und_section (sec))
 {
   *skip = TRUE;
@@ -1270,7 +1269,6 @@ _bfd_elf_merge_symbol (bfd *abfd,
 }
   else if (!newdyn
 	   && ELF_ST_VISIBILITY (sym->st_other) != STV_DEFAULT
-	   && ELF_ST_VISIBILITY (sym->st_other) != STV_PROTECTED
 	   && h->def_dynamic)
 {
   /* If the new symbol with non-default visibility comes from a
@@ -9337,11 +9335,10 @@ elf_link_output_extsym (struct bfd_hash_
   && h->def_dynamic)
 sym.st_size = 0;
 
-  /* If a non-weak symbol with non-public visibility is not defined
+  /* If a non-weak symbol with non-default visibility is not defined
  locally, it is a fatal error.  */
   if (!bfd_link_relocatable (flinfo->info)
   && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT
-  && ELF_ST_VISIBILITY (sym.st_other) != STV_PROTECTED
   && ELF_ST_BIND (sym.st_info) != STB_WEAK
   && h->root.type == bfd_link_hash_undefined
   && !h->def_regular)



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-04-22 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Apr 22 17:40:36 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-m68k.c

Log Message:
Print the symbol that caused the text relocation for m68k like we do for
other platforms.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-m68k.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.6 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.7
--- src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.6	Fri Jan 29 09:42:44 2016
+++ src/external/gpl3/binutils/dist/bfd/elf32-m68k.c	Fri Apr 22 13:40:36 2016
@@ -2813,7 +2813,13 @@ elf_m68k_check_relocs (bfd *abfd,
 		  && !(ELF32_R_TYPE (rel->r_info) == R_68K_PC8
 		   || ELF32_R_TYPE (rel->r_info) == R_68K_PC16
 		   || ELF32_R_TYPE (rel->r_info) == R_68K_PC32))
-		info->flags |= DF_TEXTREL;
+		{
+		  if (info->warn_shared_textrel)
+		(*_bfd_error_handler)
+		  (_("warning: dynamic relocation in readonly section `%s'"),
+		  h->root.root.string); 
+		  info->flags |= DF_TEXTREL;
+		}
 
 	  sreloc->size += sizeof (Elf32_External_Rela);
 
@@ -3431,6 +3437,10 @@ elf_m68k_discard_copies (struct elf_link
 	   s = s->next)
 	if ((s->section->flags & SEC_READONLY) != 0)
 	  {
+		if (info->warn_shared_textrel)
+		  (*_bfd_error_handler)
+		(_("warning: dynamic relocation in readonly section `%s'"),
+		h->root.root.string); 
 		info->flags |= DF_TEXTREL;
 		break;
 	  }



CVS commit: src/external/gpl3/binutils/dist/ld/emulparams

2016-04-05 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Tue Apr  5 09:52:22 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld/emulparams: aarch64nbsd.sh

Log Message:
Set ELFSIZE to 64


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh:1.1 src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh:1.2
--- src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh:1.1	Sun Aug 10 05:47:36 2014
+++ src/external/gpl3/binutils/dist/ld/emulparams/aarch64nbsd.sh	Tue Apr  5 09:52:22 2016
@@ -3,6 +3,7 @@ MACHINE=
 NOP=0
 
 SCRIPT_NAME=elf
+ELFSIZE=64
 OUTPUT_FORMAT="elf64-littleaarch64"
 BIG_OUTPUT_FORMAT="elf64-bigaarch64"
 LITTLE_OUTPUT_FORMAT="elf64-littleaarch64"



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-04-04 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Apr  4 06:58:48 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: configure configure.ac

Log Message:
Don't use secureplt on alpha yet


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/bfd/configure
cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/binutils/dist/bfd/configure.ac

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/configure
diff -u src/external/gpl3/binutils/dist/bfd/configure:1.9 src/external/gpl3/binutils/dist/bfd/configure:1.10
--- src/external/gpl3/binutils/dist/bfd/configure:1.9	Fri Jan 29 18:05:18 2016
+++ src/external/gpl3/binutils/dist/bfd/configure	Mon Apr  4 06:58:48 2016
@@ -12147,7 +12147,7 @@ if test "${enable_secureplt+set}" = set;
   *)as_fn_error "bad value ${enableval} for secureplt option" "$LINENO" 5 ;;
 esac
 else
-  use_secureplt=true
+  use_secureplt=false
 fi
 if test $use_secureplt = true; then
 

Index: src/external/gpl3/binutils/dist/bfd/configure.ac
diff -u src/external/gpl3/binutils/dist/bfd/configure.ac:1.2 src/external/gpl3/binutils/dist/bfd/configure.ac:1.3
--- src/external/gpl3/binutils/dist/bfd/configure.ac:1.2	Fri Jan 29 18:05:18 2016
+++ src/external/gpl3/binutils/dist/bfd/configure.ac	Mon Apr  4 06:58:48 2016
@@ -82,7 +82,7 @@ AC_ARG_ENABLE(secureplt,
   yes)  use_secureplt=true  ;;
   no)   use_secureplt=false ;;
   *)AC_MSG_ERROR(bad value ${enableval} for secureplt option) ;;
-esac],[use_secureplt=true])dnl
+esac],[use_secureplt=false])dnl
 if test $use_secureplt = true; then
   AC_DEFINE(USE_SECUREPLT, 1,
 [Define if we should default to creating read-only plt entries])



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-03-28 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Mar 28 09:01:24 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: config.bfd

Log Message:
Add some more mips targets for martin


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/external/gpl3/binutils/dist/bfd/config.bfd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/config.bfd
diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.21 src/external/gpl3/binutils/dist/bfd/config.bfd:1.22
--- src/external/gpl3/binutils/dist/bfd/config.bfd:1.21	Fri Mar 25 09:27:43 2016
+++ src/external/gpl3/binutils/dist/bfd/config.bfd	Mon Mar 28 09:01:24 2016
@@ -1082,11 +1082,11 @@ case "${targ}" in
 ;;
   mips*el-*-netbsd*)
 targ_defvec=mips_elf32_trad_le_vec
-targ_selvecs="mips_elf32_trad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec"
+targ_selvecs="mips_elf32_trad_be_vec mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec"
 ;;
   mips*-*-netbsd*)
 targ_defvec=mips_elf32_trad_be_vec
-targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
+targ_selvecs="mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec mips_ecoff_be_vec mips_ecoff_le_vec"
 ;;
   mips64*-*-openbsd*)
 targ_defvec=mips_elf64_trad_be_vec



CVS commit: src/external/gpl3/binutils/dist/ld

2016-03-26 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sat Mar 26 08:41:16 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld: configure.tgt

Log Message:
Too many ;; in previous


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/external/gpl3/binutils/dist/ld/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/configure.tgt
diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.22 src/external/gpl3/binutils/dist/ld/configure.tgt:1.23
--- src/external/gpl3/binutils/dist/ld/configure.tgt:1.22	Sat Mar 26 08:39:55 2016
+++ src/external/gpl3/binutils/dist/ld/configure.tgt	Sat Mar 26 08:41:16 2016
@@ -499,11 +499,11 @@ mips*-sgi-irix6*)	targ_emul=elf32bmipn32
 			targ_extra_libpath=$targ_extra_emuls ;;
 mips64*el-*-netbsd*)	targ_emul=elf32ltsmipn32 	 
 			targ_extra_emuls="elf64btsmip elf64ltsmip elf32ltsmip elf32btsmipn32 elf32btsmip" 	 
-			targ_extra_libpath=$targ_extra_emuls ;;
+			targ_extra_libpath=$targ_extra_emuls
 			;; 	 
 mips64*-*-netbsd*)	targ_emul=elf32btsmipn32
 			targ_extra_emuls="elf64ltsmip elf64btsmip elf32btsmip elf32ltsmipn32 elf32ltsmip"
-			targ_extra_libpath=$targ_extra_emuls ;;
+			targ_extra_libpath=$targ_extra_emuls
   			;;
 mips*el-*-netbsd*)	targ_emul=elf32ltsmip
 			targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip"



CVS commit: src/external/gpl3/binutils/dist/ld

2016-03-26 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sat Mar 26 08:39:55 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld: configure.tgt

Log Message:
Attempt to fix mergo for mips


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/external/gpl3/binutils/dist/ld/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/configure.tgt
diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.21 src/external/gpl3/binutils/dist/ld/configure.tgt:1.22
--- src/external/gpl3/binutils/dist/ld/configure.tgt:1.21	Fri Feb 26 14:34:06 2016
+++ src/external/gpl3/binutils/dist/ld/configure.tgt	Sat Mar 26 08:39:55 2016
@@ -497,6 +497,14 @@ mips*-sgi-irix5*)	targ_emul=elf32bsmip ;
 mips*-sgi-irix6*)	targ_emul=elf32bmipn32
 	targ_extra_emuls="elf32bsmip elf64bmip"
 			targ_extra_libpath=$targ_extra_emuls ;;
+mips64*el-*-netbsd*)	targ_emul=elf32ltsmipn32 	 
+			targ_extra_emuls="elf64btsmip elf64ltsmip elf32ltsmip elf32btsmipn32 elf32btsmip" 	 
+			targ_extra_libpath=$targ_extra_emuls ;;
+			;; 	 
+mips64*-*-netbsd*)	targ_emul=elf32btsmipn32
+			targ_extra_emuls="elf64ltsmip elf64btsmip elf32btsmip elf32ltsmipn32 elf32ltsmip"
+			targ_extra_libpath=$targ_extra_emuls ;;
+  			;;
 mips*el-*-netbsd*)	targ_emul=elf32ltsmip
 			targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip"
 			;;
@@ -504,9 +512,6 @@ mips*-*-netbsd*)	targ_emul=elf32btsmip
 			targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip"
 			;;
 mips*-*-bsd*)		targ_emul=mipsbig ;;
-mips64*-*-netbsd*)	targ_emul=elf32btsmipn32
-			targ_extra_emuls="elf64ltsmip elf64btsmip elf32btsmip elf32ltsmipn32 elf32ltsmip"
-  			;;
 mips*vr4300el-*-elf*)	targ_emul=elf32l4300 ;;
 mips*vr4300-*-elf*)	targ_emul=elf32b4300 ;;
 mips*vr4100el-*-elf*)	targ_emul=elf32l4300 ;;



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-03-25 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Fri Mar 25 23:04:41 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elflink.c

Log Message:
If a protected symbol is defined in a shared library, it should still
provide an implementation. Fix the merging rules.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/bfd/elflink.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elflink.c
diff -u src/external/gpl3/binutils/dist/bfd/elflink.c:1.9 src/external/gpl3/binutils/dist/bfd/elflink.c:1.10
--- src/external/gpl3/binutils/dist/bfd/elflink.c:1.9	Fri Jan 29 14:42:44 2016
+++ src/external/gpl3/binutils/dist/bfd/elflink.c	Fri Mar 25 23:04:41 2016
@@ -1252,6 +1252,7 @@ _bfd_elf_merge_symbol (bfd *abfd,
  definition from a dynamic object.  */
   if (newdyn
   && ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+  && ELF_ST_VISIBILITY (h->other) != STV_PROTECTED
   && !bfd_is_und_section (sec))
 {
   *skip = TRUE;
@@ -1269,6 +1270,7 @@ _bfd_elf_merge_symbol (bfd *abfd,
 }
   else if (!newdyn
 	   && ELF_ST_VISIBILITY (sym->st_other) != STV_DEFAULT
+	   && ELF_ST_VISIBILITY (sym->st_other) != STV_PROTECTED
 	   && h->def_dynamic)
 {
   /* If the new symbol with non-default visibility comes from a
@@ -9335,10 +9337,11 @@ elf_link_output_extsym (struct bfd_hash_
   && h->def_dynamic)
 sym.st_size = 0;
 
-  /* If a non-weak symbol with non-default visibility is not defined
+  /* If a non-weak symbol with non-public visibility is not defined
  locally, it is a fatal error.  */
   if (!bfd_link_relocatable (flinfo->info)
   && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT
+  && ELF_ST_VISIBILITY (sym.st_other) != STV_PROTECTED
   && ELF_ST_BIND (sym.st_info) != STB_WEAK
   && h->root.type == bfd_link_hash_undefined
   && !h->def_regular)



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-03-25 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Fri Mar 25 09:27:43 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: config.bfd

Log Message:
Fix mergo for mips


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/external/gpl3/binutils/dist/bfd/config.bfd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/config.bfd
diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.20 src/external/gpl3/binutils/dist/bfd/config.bfd:1.21
--- src/external/gpl3/binutils/dist/bfd/config.bfd:1.20	Sun Mar  6 09:39:42 2016
+++ src/external/gpl3/binutils/dist/bfd/config.bfd	Fri Mar 25 09:27:43 2016
@@ -998,16 +998,7 @@ case "${targ}" in
 targ_defvec=mips_ecoff_be_vec
 targ_selvecs=mips_ecoff_le_vec
 ;;
-#ifdef BFD64
-  mips*el-*-netbsd*)
-targ_defvec=mips_elf32_trad_le_vec
-targ_selvecs="mips_elf32_trad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec"
-;;
-  mips*-*-netbsd*)
-targ_defvec=mips_elf32_trad_be_vec
-targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
-;;
-#endif
+
   mips*-dec-* | mips*el-*-ecoff*)
 targ_defvec=mips_ecoff_le_vec
 targ_selvecs=mips_ecoff_be_vec
@@ -1081,6 +1072,22 @@ case "${targ}" in
 targ_defvec=mips_elf32_be_vec
 targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
 ;;
+  mips64*el-*-netbsd*)
+targ_defvec=mips_elf32_ntrad_le_vec
+targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
+;;
+  mips64*-*-netbsd*)
+targ_defvec=mips_elf32_ntrad_be_vec
+targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
+;;
+  mips*el-*-netbsd*)
+targ_defvec=mips_elf32_trad_le_vec
+targ_selvecs="mips_elf32_trad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec"
+;;
+  mips*-*-netbsd*)
+targ_defvec=mips_elf32_trad_be_vec
+targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
+;;
   mips64*-*-openbsd*)
 targ_defvec=mips_elf64_trad_be_vec
 targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec"



CVS commit: src/external/gpl3/binutils/dist/gas/config

2016-03-23 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Wed Mar 23 06:59:59 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/gas/config: obj-elf.c

Log Message:
avoid unused variables.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/binutils/dist/gas/config/obj-elf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/config/obj-elf.c
diff -u src/external/gpl3/binutils/dist/gas/config/obj-elf.c:1.3 src/external/gpl3/binutils/dist/gas/config/obj-elf.c:1.4
--- src/external/gpl3/binutils/dist/gas/config/obj-elf.c:1.3	Fri Jan 29 14:42:45 2016
+++ src/external/gpl3/binutils/dist/gas/config/obj-elf.c	Wed Mar 23 06:59:59 2016
@@ -1922,10 +1922,10 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSE
 	   || strcmp (type_name, "10") == 0
 	   || strcmp (type_name, "STT_GNU_IFUNC") == 0)
 {
+#if 0
   const struct elf_backend_data *bed;
 
   bed = get_elf_backend_data (stdoutput);
-#if 0
   if (!(bed->elf_osabi == ELFOSABI_GNU
 	|| bed->elf_osabi == ELFOSABI_FREEBSD
 	/* GNU is still using the default value 0.  */



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-03-06 Thread Takeshi Nakayama
Module Name:src
Committed By:   nakayama
Date:   Sun Mar  6 09:39:42 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: config.bfd

Log Message:
Remove unnecessary local change.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/external/gpl3/binutils/dist/bfd/config.bfd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/config.bfd
diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.19 src/external/gpl3/binutils/dist/bfd/config.bfd:1.20
--- src/external/gpl3/binutils/dist/bfd/config.bfd:1.19	Sun Mar  6 09:38:08 2016
+++ src/external/gpl3/binutils/dist/bfd/config.bfd	Sun Mar  6 09:39:42 2016
@@ -1611,10 +1611,6 @@ case "${targ}" in
 targ_selvecs="sparc_elf32_vec sparc_aout_linux_vec sparc_aout_sunos_be_vec"
 want64=true
 ;;
-  sparc64-*-netbsd*)
-targ_defvec=bfd_elf64_sparc_vec
-targ_selvecs="bfd_elf32_sparc_vec sparcnetbsd_vec sunos_big_vec"
-;;
   sparc64-*-elf* | sparc64-*-rtems* )
 targ_defvec=sparc_elf64_vec
 targ_selvecs=sparc_elf32_vec



CVS commit: src/external/gpl3/binutils/dist/ld/emulparams

2016-02-28 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Feb 28 16:06:27 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld/emulparams: elf32_sparc.sh

Log Message:
Only override LIB_PATH to /usr/lib/sparc when doing elf32 for sparc64.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/gpl3/binutils/dist/ld/emulparams/elf32_sparc.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emulparams/elf32_sparc.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf32_sparc.sh:1.4 src/external/gpl3/binutils/dist/ld/emulparams/elf32_sparc.sh:1.5
--- src/external/gpl3/binutils/dist/ld/emulparams/elf32_sparc.sh:1.4	Mon Apr 14 21:09:02 2014
+++ src/external/gpl3/binutils/dist/ld/emulparams/elf32_sparc.sh	Sun Feb 28 16:06:27 2016
@@ -20,6 +20,10 @@ NO_SMALL_DATA=yes
 
 case "$target" in
   sparc64-*-netbsd*)
-LIB_PATH='=/usr/lib/sparc'
+case "$EMULATION_NAME" in
+  *32*)
+	LIB_PATH='=/usr/lib/sparc'
+	;;
+esac
 ;;
 esac



CVS commit: src/external/gpl3/binutils/dist/binutils

2016-02-26 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Feb 26 16:26:24 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/binutils: objcopy.c

Log Message:
CID 270355 fix memory leak


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/binutils/objcopy.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/binutils/objcopy.c
diff -u src/external/gpl3/binutils/dist/binutils/objcopy.c:1.6 src/external/gpl3/binutils/dist/binutils/objcopy.c:1.7
--- src/external/gpl3/binutils/dist/binutils/objcopy.c:1.6	Fri Jan 29 09:42:44 2016
+++ src/external/gpl3/binutils/dist/binutils/objcopy.c	Fri Feb 26 11:26:24 2016
@@ -2453,6 +2453,7 @@ copy_object (bfd *ibfd, bfd *obfd, const
 		  off, now))
 		{
 		  bfd_nonfatal_message (NULL, obfd, osections[i], NULL);
+		  free (buf);
 		  return FALSE;
 		}
 
@@ -2461,6 +2462,7 @@ copy_object (bfd *ibfd, bfd *obfd, const
 		}
 	}
 	}
+  free (buf);
 }
 
   /* Allow the BFD backend to copy any private data it understands



CVS commit: src/external/gpl3/binutils/dist/ld

2016-02-26 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Feb 26 14:34:06 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld: configure.tgt

Log Message:
Restore old netbsd emulation names, requested by joerg.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/external/gpl3/binutils/dist/ld/configure.tgt

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/configure.tgt
diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.20 src/external/gpl3/binutils/dist/ld/configure.tgt:1.21
--- src/external/gpl3/binutils/dist/ld/configure.tgt:1.20	Fri Jan 29 09:42:46 2016
+++ src/external/gpl3/binutils/dist/ld/configure.tgt	Fri Feb 26 09:34:06 2016
@@ -611,11 +611,26 @@ powerpc64-*-freebsd*)
 			tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
 			tdir_elf32ppc_fbsd=$tdir_elf32ppc
 			;;
+powerpc-*-netbsd*)
+			targ_emul=elf32ppc_nbsd
+			targ_extra_emuls="elf32ppc elf32ppcsim"
+			targ_extra_libpath=elf32ppc;
+			tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'`
+			targ64_extra_emuls=elf64ppc
+			targ64_extra_libpath=elf64ppc
+			;;
+powerpc64-*-netbsd*)
+			targ_emul=elf64ppc
+			targ_extra_emuls="elf32ppc elf32ppc_nbsd elf32ppcsim"
+			targ_extra_libpath="elf32ppc_nbsd elf32ppc"
+			tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
+			tdir_elf32ppc_fbsd=$tdir_elf32ppc
+			;;
 powerpc-*-vxworks*)
 			targ_emul=elf32ppcvxworks
 			targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" ;;
 powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \
-  | powerpc*-*-linux* | powerpc*-*-netbsd* | powerpc*-*-openbsd* \
+  | powerpc*-*-linux* | powerpc*-*-openbsd* \
   | powerpc*-*-solaris* | powerpc*-*-kaos* | powerpc*-*-vxworks*)
 			case "${targ}" in
 			*64*)	targ_emul=elf64ppc



CVS commit: src/external/gpl3/binutils/dist

2016-02-14 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Feb 14 19:00:04 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-vax.c
src/external/gpl3/binutils/dist/gas/config: tc-vax.c

Log Message:
Make the vax target buildable


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/binutils/dist/bfd/elf32-vax.c
cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/gas/config/tc-vax.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-vax.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.11 src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.12
--- src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.11	Fri Jan 29 14:42:44 2016
+++ src/external/gpl3/binutils/dist/bfd/elf32-vax.c	Sun Feb 14 19:00:04 2016
@@ -1365,7 +1365,8 @@ elf_vax_instantiate_got_entries (struct 
 	}
 
   /* Allocate space in the .got and .rela.got sections.  */
-  if (info->shared || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h))
+  if (bfd_link_pic (info) || WILL_CALL_FINISH_DYNAMIC_SYMBOL (
+  elf_hash_table (info)->dynamic_sections_created, 0, h))
 	{
 	  sgot->size += 4;
 	  srelgot->size += sizeof (Elf32_External_Rela);

Index: src/external/gpl3/binutils/dist/gas/config/tc-vax.c
diff -u src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.9 src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.10
--- src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.9	Fri Jan 29 14:42:45 2016
+++ src/external/gpl3/binutils/dist/gas/config/tc-vax.c	Sun Feb 14 19:00:04 2016
@@ -3598,8 +3598,6 @@ tc_vax_regname_to_dw2regnum (char *regna
 void
 vax_cfi_emit_pcrel_expr (expressionS *expP, unsigned int nbytes)
 {
-  vax_cons_special_reloc = "pcrel";
   expP->X_add_number += nbytes;
   emit_expr (expP, nbytes);
-  vax_cons_special_reloc = NULL;
 }



CVS commit: src/external/gpl3/binutils/dist/ld/emulparams

2016-02-06 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Sat Feb  6 19:22:01 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld/emulparams: elf_i386.sh

Log Message:
Override default LIB_PATH for i386 emulation. Unlike older binutils, we
now have to check the emulation and not that the target as the change
otherwise leaks into the native 64bit linker scripts as well.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh:1.8 src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh:1.9
--- src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh:1.8	Fri Jan 29 14:42:47 2016
+++ src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh	Sat Feb  6 19:22:00 2016
@@ -19,10 +19,11 @@ IREL_IN_PLT=
 
 case "$target" in
   x86_64-*-netbsd*)
-# Don't override autoconf entry
-if [ -z "$LIB_PATH" ]; then
-  LIB_PATH='=/usr/lib/i386'
-fi
+case "$EMULATION_NAME" in
+  *i386*)
+   LIB_PATH='=/usr/lib/i386'
+   ;;
+esac
 ;;
 esac
 



CVS commit: src/external/gpl3/binutils/dist/ld

2016-02-06 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Sat Feb  6 19:20:49 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/ld: genscripts.sh

Log Message:
We don't want to target-specific search directories on NetBSD in the
linker scripts, they just add noise.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.4 -r1.2 src/external/gpl3/binutils/dist/ld/genscripts.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/genscripts.sh
diff -u src/external/gpl3/binutils/dist/ld/genscripts.sh:1.1.1.4 src/external/gpl3/binutils/dist/ld/genscripts.sh:1.2
--- src/external/gpl3/binutils/dist/ld/genscripts.sh:1.1.1.4	Fri Jan 29 12:45:12 2016
+++ src/external/gpl3/binutils/dist/ld/genscripts.sh	Sat Feb  6 19:20:49 2016
@@ -209,7 +209,8 @@ if [ "${LIB_PATH}" != ":" ] ; then
 esac
 libs="${exec_prefix}/${TOOL_LIB}/lib ${libs}"
   fi
-  append_to_lib_path ${libs}
+  #NetBSD: don't spam linker scripts like this.
+  #append_to_lib_path ${libs}
 fi
 
 if [ "x${LIB_PATH}" = "x" ] && [ "x${USE_LIBPATH}" = xyes ] ; then



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-02-03 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Wed Feb  3 13:24:12 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: config.bfd

Log Message:
Fix mergo


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/external/gpl3/binutils/dist/bfd/config.bfd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/config.bfd
diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.17 src/external/gpl3/binutils/dist/bfd/config.bfd:1.18
--- src/external/gpl3/binutils/dist/bfd/config.bfd:1.17	Fri Jan 29 20:54:09 2016
+++ src/external/gpl3/binutils/dist/bfd/config.bfd	Wed Feb  3 13:24:12 2016
@@ -287,11 +287,11 @@ case "${targ}" in
 targ64_selvecs="x86_64_elf32_nacl_vec x86_64_elf64_nacl_vec"
 targ_archs="$targ_archs bfd_i386_arch"
 ;;
-  armeb-*-netbsdelf*)
+  arm*eb-*-netbsdelf*)
 targ_defvec=arm_elf32_be_vec
 targ_selvecs="arm_elf32_le_vec arm_aout_nbsd_vec"
 ;;
-  arm-*-netbsdelf*)
+  arm*-*-netbsdelf*)
 targ_defvec=arm_elf32_le_vec
 targ_selvecs="arm_elf32_be_vec arm_aout_nbsd_vec"
 ;;



CVS commit: src/external/gpl3/binutils/dist/gas/config

2016-01-29 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jan 29 17:01:55 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/gas/config: tc-mips.c

Log Message:
try to fix loongson hacks.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 \
src/external/gpl3/binutils/dist/gas/config/tc-mips.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/config/tc-mips.c
diff -u src/external/gpl3/binutils/dist/gas/config/tc-mips.c:1.16 src/external/gpl3/binutils/dist/gas/config/tc-mips.c:1.17
--- src/external/gpl3/binutils/dist/gas/config/tc-mips.c:1.16	Fri Jan 29 09:42:45 2016
+++ src/external/gpl3/binutils/dist/gas/config/tc-mips.c	Fri Jan 29 12:01:55 2016
@@ -1488,6 +1488,8 @@ enum options
 OPTION_NAN,
 OPTION_ODD_SPREG,
 OPTION_NO_ODD_SPREG,
+OPTION_FIX_LOONGSON2F_BTB,
+OPTION_NO_FIX_LOONGSON2F_BTB,
 OPTION_END_OF_ENUM
   };
 
@@ -1559,6 +1561,8 @@ struct option md_longopts[] =
   {"mno-fix-loongson2f-jump", no_argument, NULL, OPTION_NO_FIX_LOONGSON2F_JUMP},
   {"mfix-loongson2f-nop", no_argument, NULL, OPTION_FIX_LOONGSON2F_NOP},
   {"mno-fix-loongson2f-nop", no_argument, NULL, OPTION_NO_FIX_LOONGSON2F_NOP},
+  {"mfix-loongson2f-btb", no_argument, NULL, OPTION_FIX_LOONGSON2F_BTB},
+  {"mno-fix-loongson2f-btb", no_argument, NULL, OPTION_NO_FIX_LOONGSON2F_BTB},
   {"mfix-vr4120",no_argument, NULL, OPTION_FIX_VR4120},
   {"mno-fix-vr4120", no_argument, NULL, OPTION_NO_FIX_VR4120},
   {"mfix-vr4130",no_argument, NULL, OPTION_FIX_VR4130},
@@ -5596,11 +5600,6 @@ match_save_restore_list_operand (struct 
 		 | (frame_size & 0x0f));
 }
 
-  if (mips_fix_loongson2f)
-fix_loongson2f (ip);
-  if (mips_trap_zero_jump)
-trap_zero_jump (ip);
-
   /* If the branch is itself the target of a branch, we can not swap.
  We cheat on this; all we check for is whether there is a label on
  this instruction.  If there are any branches to anything other than
@@ -6682,6 +6681,11 @@ can_swap_branch_p (struct mips_cl_insn *
   if (mips_opts.mips16 && history[0].fixp[0])
 return FALSE;
 
+  if (mips_fix_loongson2f)
+fix_loongson2f (ip);
+  if (mips_trap_zero_jump)
+trap_zero_jump (ip);
+
   /* If the branch is itself the target of a branch, we can not swap.
  We cheat on this; all we check for is whether there is a label on
  this instruction.  If there are any branches to anything other than
@@ -11011,6 +11015,26 @@ macro (struct mips_cl_insn *ip, char *st
 	macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t", op[0], tempreg, breg);
   break;
 
+case M_JR_S:
+  macro_build_jrpatch (, op[2]);
+  macro_build (NULL, "jr", "s", op[2]);
+  return;	/* didn't modify $at */
+
+case M_J_S:
+  macro_build_jrpatch (, op[2]);
+  macro_build (NULL, "j", "s", op[2]);
+  return;	/* didn't modify $at */
+
+case M_JALR_S:
+  macro_build_jrpatch (, op[2]);
+  macro_build (NULL, "jalr", "s", op[2]);
+  return;	/* didn't modify $at */
+
+case M_JALR_DS:
+  macro_build_jrpatch (, op[2]);
+  macro_build (NULL, "jalr", "d,s", op[0], op[2]);
+  return;	/* didn't modify $at */
+
 case M_MSGSND:
   gas_assert (!mips_opts.micromips);
   macro_build (NULL, "c2", "C", (op[0] << 16) | 0x01);



CVS commit: src/external/gpl3/binutils/dist/gas

2016-01-29 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jan 29 16:23:51 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/gas: configure.ac

Log Message:
fix bogus == bashism.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 src/external/gpl3/binutils/dist/gas/configure.ac

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/configure.ac
diff -u src/external/gpl3/binutils/dist/gas/configure.ac:1.1.1.1 src/external/gpl3/binutils/dist/gas/configure.ac:1.2
--- src/external/gpl3/binutils/dist/gas/configure.ac:1.1.1.1	Fri Jan 29 07:44:31 2016
+++ src/external/gpl3/binutils/dist/gas/configure.ac	Fri Jan 29 11:23:51 2016
@@ -549,7 +549,7 @@ changequote([,])dnl
 
 done
 
-if test x$ac_default_compressed_debug_sections == xyes ; then
+if test x$ac_default_compressed_debug_sections = xyes ; then
   AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed debug sections by default.])
 fi
 



CVS commit: src/external/gpl3/binutils/dist/gas

2016-01-29 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jan 29 16:24:00 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/gas: configure

Log Message:
fix bogus == bashism.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/binutils/dist/gas/configure

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/configure
diff -u src/external/gpl3/binutils/dist/gas/configure:1.3 src/external/gpl3/binutils/dist/gas/configure:1.4
--- src/external/gpl3/binutils/dist/gas/configure:1.3	Fri Jan 29 09:42:44 2016
+++ src/external/gpl3/binutils/dist/gas/configure	Fri Jan 29 11:24:00 2016
@@ -12505,7 +12505,7 @@ _ACEOF
 
 done
 
-if test x$ac_default_compressed_debug_sections == xyes ; then
+if test x$ac_default_compressed_debug_sections = xyes ; then
 
 $as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >>confdefs.h
 



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-01-29 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jan 29 18:05:18 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: config.bfd configure configure.ac
targets.c

Log Message:
try to adjust riscv


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/binutils/dist/bfd/config.bfd
cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/bfd/configure
cvs rdiff -u -r1.1.1.1 -r1.2 src/external/gpl3/binutils/dist/bfd/configure.ac
cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/bfd/targets.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/config.bfd
diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.15 src/external/gpl3/binutils/dist/bfd/config.bfd:1.16
--- src/external/gpl3/binutils/dist/bfd/config.bfd:1.15	Fri Jan 29 09:42:43 2016
+++ src/external/gpl3/binutils/dist/bfd/config.bfd	Fri Jan 29 13:05:18 2016
@@ -1363,8 +1363,8 @@ case "${targ}" in
 
 #ifdef BFD64 
   riscv*-*-*)
-targ_defvec=bfd_elf64_riscv_vec
-targ_selvecs="bfd_elf32_riscv_vec bfd_elf64_riscv_vec"
+targ_defvec=riscv_elf64_vec
+targ_selvecs="riscv_elf32_vec riscv_elf64_vec"
 want64=true  
 ;;
 #endif   

Index: src/external/gpl3/binutils/dist/bfd/configure
diff -u src/external/gpl3/binutils/dist/bfd/configure:1.8 src/external/gpl3/binutils/dist/bfd/configure:1.9
--- src/external/gpl3/binutils/dist/bfd/configure:1.8	Fri Jan 29 09:42:43 2016
+++ src/external/gpl3/binutils/dist/bfd/configure	Fri Jan 29 13:05:18 2016
@@ -15453,6 +15453,8 @@ do
 ns32k_aout_pc532mach_vec)	 tb="$tb pc532-mach.lo aout-ns32k.lo" ;;
 ns32k_aout_pc532nbsd_vec)	 tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;;
 or1k_elf32_vec)		 tb="$tb elf32-or1k.lo elf32.lo $elf" ;;
+riscv_elf32_vec)		 tb="$tb elf32-riscv.lo elfxx-riscv.lo elf32.lo $elf" ;;
+riscv_elf64_vec)		 tb="$tb elf64-riscv.lo elf64.lo elfxx-riscv.lo $elf"; target_size=64 ;;
 pdp11_aout_vec)		 tb="$tb pdp11.lo" ;;
 pef_vec)			 tb="$tb pef.lo" ;;
 pef_xlib_vec)		 tb="$tb pef.lo" ;;

Index: src/external/gpl3/binutils/dist/bfd/configure.ac
diff -u src/external/gpl3/binutils/dist/bfd/configure.ac:1.1.1.1 src/external/gpl3/binutils/dist/bfd/configure.ac:1.2
--- src/external/gpl3/binutils/dist/bfd/configure.ac:1.1.1.1	Fri Jan 29 07:44:14 2016
+++ src/external/gpl3/binutils/dist/bfd/configure.ac	Fri Jan 29 13:05:18 2016
@@ -898,6 +898,8 @@ do
 ns32k_aout_pc532mach_vec)	 tb="$tb pc532-mach.lo aout-ns32k.lo" ;;
 ns32k_aout_pc532nbsd_vec)	 tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;;
 or1k_elf32_vec)		 tb="$tb elf32-or1k.lo elf32.lo $elf" ;;
+riscv_elf32_vec)		 tb="$tb elf32-riskv.lo elffxx-riscv.lo elf32.lo $elf" ;;
+riscv_elf64_vec)		 tb="$tb elf64-riskv.lo elf64.lo elffxx-riscv.lo $elf" target_size=64 ;;
 pdp11_aout_vec)		 tb="$tb pdp11.lo" ;;
 pef_vec)			 tb="$tb pef.lo" ;;
 pef_xlib_vec)		 tb="$tb pef.lo" ;;

Index: src/external/gpl3/binutils/dist/bfd/targets.c
diff -u src/external/gpl3/binutils/dist/bfd/targets.c:1.5 src/external/gpl3/binutils/dist/bfd/targets.c:1.6
--- src/external/gpl3/binutils/dist/bfd/targets.c:1.5	Fri Jan 29 09:42:44 2016
+++ src/external/gpl3/binutils/dist/bfd/targets.c	Fri Jan 29 13:05:18 2016
@@ -793,6 +793,8 @@ extern const bfd_target powerpc_pe_le_ve
 extern const bfd_target powerpc_pei_vec;
 extern const bfd_target powerpc_pei_le_vec;
 extern const bfd_target powerpc_xcoff_vec;
+extern const bfd_target riscv_elf32_vec;
+extern const bfd_target riscv_elf64_vec;
 extern const bfd_target rl78_elf32_vec;
 extern const bfd_target rs6000_xcoff64_vec;
 extern const bfd_target rs6000_xcoff64_aix_vec;
@@ -1295,9 +1297,11 @@ static const bfd_target * const _bfd_tar
 	_xcoff_vec,
 #endif
 
+	_elf32_vec,
 	_elf32_vec,
 
 #ifdef BFD64
+_elf64_vec,
 	_xcoff64_vec,
 	_xcoff64_aix_vec,
 #endif



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-01-29 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jan 29 22:39:00 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elfnn-riscv.c

Log Message:
fix bfd for riscv.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c
diff -u src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.2 src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.3
--- src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.2	Sat Mar 28 03:51:20 2015
+++ src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c	Fri Jan 29 17:39:00 2016
@@ -26,10 +26,12 @@
 
 #include "sysdep.h"
 #include "bfd.h"
+#include "libiberty.h"
 #include "libbfd.h"
-#include "bfdlink.h"
-#include "genlink.h"
+#include "bfd_stdint.h"
 #include "elf-bfd.h"
+#include "bfdlink.h"
+#include "objalloc.h"
 #include "elfxx-riscv.h"
 #include "elf/riscv.h"
 #include "opcode/riscv.h"
@@ -358,7 +360,7 @@ riscv_elf_create_dynamic_sections (bfd *
 return FALSE;
 
   htab->sdynbss = bfd_get_linker_section (dynobj, ".dynbss");
-  if (!info->shared)
+  if (!bfd_link_pic (info))
 {
   htab->srelbss = bfd_get_linker_section (dynobj, ".rela.bss");
   htab->sdyntdata =
@@ -367,7 +369,7 @@ riscv_elf_create_dynamic_sections (bfd *
 }
 
   if (!htab->elf.splt || !htab->elf.srelplt || !htab->sdynbss
-  || (!info->shared && (!htab->srelbss || !htab->sdyntdata)))
+  || (!bfd_link_pic (info) && (!htab->srelbss || !htab->sdyntdata)))
 abort ();
 
   return TRUE;
@@ -498,7 +500,7 @@ riscv_elf_check_relocs (bfd *abfd, struc
   const Elf_Internal_Rela *rel;
   asection *sreloc = NULL;
 
-  if (info->relocatable)
+  if (bfd_link_relocatable (info))
 return TRUE;
 
   htab = riscv_elf_hash_table (info);
@@ -547,7 +549,7 @@ riscv_elf_check_relocs (bfd *abfd, struc
 	  break;
 
 	case R_RISCV_TLS_GOT_HI20:
-	  if (info->shared)
+	  if (bfd_link_pic (info))
 	info->flags |= DF_STATIC_TLS;
 	  if (!riscv_elf_record_got_reference (abfd, info, h, r_symndx)
 	  || !riscv_elf_record_tls_type (abfd, h, r_symndx, GOT_TLS_IE))
@@ -579,19 +581,19 @@ riscv_elf_check_relocs (bfd *abfd, struc
 	case R_RISCV_BRANCH:
 	case R_RISCV_PCREL_HI20:
 	  /* In shared libs, these relocs are known to bind locally.  */
-	  if (info->shared)
+	  if (bfd_link_pic (info))
 	break;
 	  goto static_reloc;
 
 	case R_RISCV_TPREL_HI20:
-	  if (!info->executable)
+	  if (!bfd_link_executable (info))
 	return bad_static_reloc (abfd, r_type, h);
 	  if (h != NULL)
 	riscv_elf_record_tls_type (abfd, h, r_symndx, GOT_TLS_LE);
 	  goto static_reloc;
 
 	case R_RISCV_HI20:
-	  if (info->shared)
+	  if (bfd_link_pic (info))
 	return bad_static_reloc (abfd, r_type, h);
 	  /* Fall through.  */
 
@@ -606,7 +608,7 @@ riscv_elf_check_relocs (bfd *abfd, struc
 	  if (h != NULL)
 	h->non_got_ref = 1;
 
-	  if (h != NULL && !info->shared)
+	  if (h != NULL && !bfd_link_pic (info))
 	{
 	  /* We may need a .plt entry if the function this reloc
 		 refers to is in a shared lib.  */
@@ -634,14 +636,14 @@ riscv_elf_check_relocs (bfd *abfd, struc
 	 may need to keep relocations for symbols satisfied by a
 	 dynamic library if we manage to avoid copy relocs for the
 	 symbol.  */
-	  if ((info->shared
+	  if ((bfd_link_pic (info)
 	   && (sec->flags & SEC_ALLOC) != 0
 	   && (! riscv_elf_rtype_to_howto (r_type)->pc_relative
 		   || (h != NULL
 		   && (! info->symbolic
 			   || h->root.type == bfd_link_hash_defweak
 			   || !h->def_regular
-	  || (!info->shared
+	  || (!bfd_link_pic (info)
 		  && (sec->flags & SEC_ALLOC) != 0
 		  && h != NULL
 		  && (h->root.type == bfd_link_hash_defweak
@@ -757,7 +759,7 @@ riscv_elf_gc_sweep_hook (bfd *abfd, stru
   struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (abfd);
   bfd_signed_vma *local_got_refcounts = elf_local_got_refcounts (abfd);
 
-  if (info->relocatable)
+  if (bfd_link_relocatable (info))
 return TRUE;
 
   elf_section_data (sec)->local_dynrel = NULL;
@@ -816,7 +818,7 @@ riscv_elf_gc_sweep_hook (bfd *abfd, stru
 	case R_RISCV_BRANCH:
 	case R_RISCV_CALL:
 	case R_RISCV_JAL:
-	  if (info->shared)
+	  if (bfd_link_pic (info))
 	break;
 	  /* Fall through.  */
 
@@ -908,7 +910,7 @@ riscv_elf_adjust_dynamic_symbol (struct 
  only references to the symbol are via the global offset table.
  For such cases we need not do anything here; the relocations will
  be handled correctly by relocate_section.  */
-  if (info->shared)
+  if (bfd_link_pic (info))
 return TRUE;
 
   /* If there are no references to this symbol that do not use the
@@ -960,9 +962,9 @@ riscv_elf_adjust_dynamic_symbol (struct 
 }
 
   if (eh->tls_type & ~GOT_NORMAL)
-return _bfd_elf_adjust_dynamic_copy (h, htab->sdyntdata);

CVS commit: src/external/gpl3/binutils/dist/bfd

2016-01-29 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jan 29 20:53:14 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-arm.c

Log Message:
we have our own popcount.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/elf32-arm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-arm.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.7 src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.8
--- src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.7	Fri Jan 29 09:42:43 2016
+++ src/external/gpl3/binutils/dist/bfd/elf32-arm.c	Fri Jan 29 15:53:14 2016
@@ -3133,6 +3133,7 @@ ctz (unsigned int mask)
 #endif
 }
 
+#ifndef __NetBSD__
 static inline int
 popcount (unsigned int mask)
 {
@@ -3150,6 +3151,7 @@ popcount (unsigned int mask)
   return sum;
 #endif
 }
+#endif
 
 /* Create an entry in an ARM ELF linker hash table.  */
 



CVS commit: src/external/gpl3/binutils/dist/bfd

2016-01-29 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jan 29 20:54:10 UTC 2016

Modified Files:
src/external/gpl3/binutils/dist/bfd: config.bfd

Log Message:
fix aarch64


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/external/gpl3/binutils/dist/bfd/config.bfd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/config.bfd
diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.16 src/external/gpl3/binutils/dist/bfd/config.bfd:1.17
--- src/external/gpl3/binutils/dist/bfd/config.bfd:1.16	Fri Jan 29 13:05:18 2016
+++ src/external/gpl3/binutils/dist/bfd/config.bfd	Fri Jan 29 15:54:09 2016
@@ -191,26 +191,16 @@ case "${targ}" in
 targ_selvecs=aarch64_elf64_be_cloudabi_vec
 want64=true
 ;;
-  aarch64-*-linux*)
+  aarch64-*-linux* | aarch64-*-netbsd*)
 targ_defvec=aarch64_elf64_le_vec
 targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec"
 want64=true
 ;;
-  aarch64_be-*-linux*)
+  aarch64_be-*-linux* | aarch64_be-*-netbsd*)
 targ_defvec=aarch64_elf64_be_vec
 targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec"
 want64=true
 ;;
-  aarch64-*-netbsd*)
-targ_defvec=bfd_elf64_littleaarch64_vec
-targ_selvecs="bfd_elf64_bigaarch64_vec bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
-want64=true
-;;
-  aarch64_be-*-netbsd*)
-targ_defvec=bfd_elf64_bigaarch64_vec
-targ_selvecs="bfd_elf64_littleaarch64_vec bfd_elf32_bigarm_vec bfd_elf32_littlearm_vec"
-want64=true
-;;
   alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
 targ_defvec=alpha_elf64_fbsd_vec
 targ_selvecs="alpha_elf64_vec alpha_ecoff_le_vec"



CVS commit: src/external/gpl3/binutils/dist/binutils

2015-10-26 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Oct 26 15:14:33 UTC 2015

Modified Files:
src/external/gpl3/binutils/dist/binutils: arsup.c

Log Message:
use asprintf(3)


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.2 -r1.2 src/external/gpl3/binutils/dist/binutils/arsup.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/binutils/arsup.c
diff -u src/external/gpl3/binutils/dist/binutils/arsup.c:1.1.1.2 src/external/gpl3/binutils/dist/binutils/arsup.c:1.2
--- src/external/gpl3/binutils/dist/binutils/arsup.c:1.1.1.2	Sat Sep 24 18:39:13 2011
+++ src/external/gpl3/binutils/dist/binutils/arsup.c	Mon Oct 26 11:14:33 2015
@@ -149,13 +149,20 @@ maybequit (void)
 void
 ar_open (char *name, int t)
 {
-  char *tname = (char *) xmalloc (strlen (name) + 10);
+  char *tname;
   const char *bname = lbasename (name);
   real_name = name;
 
   /* Prepend tmp- to the beginning, to avoid file-name clashes after
  truncation on filesystems with limited namespaces (DOS).  */
-  sprintf (tname, "%.*stmp-%s", (int) (bname - name), name, bname);
+  if (asprintf (, "%.*stmp-%s", (int) (bname - name), name, bname) == -1)
+{
+  fprintf (stderr, _("%s: Can't allocate memory for temp name (%s)\n"),
+	program_name, strerror(errno));
+  maybequit ();
+  return;
+}
+
   obfd = bfd_openw (tname, NULL);
 
   if (!obfd)



CVS commit: src/external/gpl3/binutils/dist/gas/config

2015-05-29 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri May 29 22:18:51 UTC 2015

Modified Files:
src/external/gpl3/binutils/dist/gas/config: tc-mips.c

Log Message:
Fix a bug where the octeon+ saa/saad instructions think they are using the AT
register when they actually aren't.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 \
src/external/gpl3/binutils/dist/gas/config/tc-mips.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/config/tc-mips.c
diff -u src/external/gpl3/binutils/dist/gas/config/tc-mips.c:1.14 src/external/gpl3/binutils/dist/gas/config/tc-mips.c:1.15
--- src/external/gpl3/binutils/dist/gas/config/tc-mips.c:1.14	Tue Dec 10 18:15:43 2013
+++ src/external/gpl3/binutils/dist/gas/config/tc-mips.c	Fri May 29 22:18:51 2015
@@ -9235,18 +9235,28 @@ macro (struct mips_cl_insn *ip)
 
 	
 case M_SAA_AB:
-  ab = 1;
+  ab = (offset_expr.X_op != O_constant || offset_expr.X_add_number != 0);
 case M_SAA_OB:
   s = saa;
   off0 = 1;
   fmt = t,(b);
+  if (!ab)
+	{
+	  tempreg = AT;
+	  goto ld_noat;
+	}
   goto ld_st;
 case M_SAAD_AB:
-  ab = 1;
+  ab = (offset_expr.X_op != O_constant || offset_expr.X_add_number != 0);
 case M_SAAD_OB:
   s = saad;
   off0 = 1;
   fmt = t,(b);
+  if (!ab)
+	{
+	  tempreg = AT;
+	  goto ld_noat;
+	}
   goto ld_st;
 
/* New code added to support COPZ instructions.



CVS commit: src/external/gpl3/binutils/dist/bfd

2015-05-13 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Wed May 13 06:24:18 UTC 2015

Modified Files:
src/external/gpl3/binutils/dist/bfd: elfn32-mips.c

Log Message:
Make sure mips_elf_n32_is_local_label_name is used.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/binutils/dist/bfd/elfn32-mips.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elfn32-mips.c
diff -u src/external/gpl3/binutils/dist/bfd/elfn32-mips.c:1.4 src/external/gpl3/binutils/dist/bfd/elfn32-mips.c:1.5
--- src/external/gpl3/binutils/dist/bfd/elfn32-mips.c:1.4	Sun Sep 29 14:03:29 2013
+++ src/external/gpl3/binutils/dist/bfd/elfn32-mips.c	Wed May 13 06:24:18 2015
@@ -3377,6 +3377,9 @@ static const struct ecoff_debug_swap mip
 #define elf_backend_write_section	_bfd_mips_elf_write_section
 #define elf_backend_mips_irix_compat	elf_n32_mips_irix_compat
 #define elf_backend_mips_rtype_to_howto	mips_elf_n32_rtype_to_howto
+
+#define bfd_elf32_bfd_is_local_label_name \
+	mips_elf_n32_is_local_label_name
 #define bfd_elf32_bfd_is_target_special_symbol \
 	_bfd_mips_elf_is_target_special_symbol
 #define bfd_elf32_find_nearest_line	_bfd_mips_elf_find_nearest_line



CVS commit: src/external/gpl3/binutils/dist/bfd

2015-05-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sat May  9 17:43:24 UTC 2015

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-arm.c

Log Message:
Fix TEXTREL message to print out the section name


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/bfd/elf32-arm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-arm.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.5 src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.6
--- src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.5	Thu Jun 26 22:55:23 2014
+++ src/external/gpl3/binutils/dist/bfd/elf32-arm.c	Sat May  9 17:43:23 2015
@@ -13477,8 +13477,8 @@ elf32_arm_readonly_dynrelocs (struct elf
 
   if (info-warn_shared_textrel)
 (*_bfd_error_handler)
-  (_(warning: dynamic relocation in readonly section `%s'),
-  h-root.root.string);
+  (_(warning: dynamic relocation to `%s' in readonly section `%s'),
+  h-root.root.string, s-name);
 	  info-flags |= DF_TEXTREL;
 
 	  /* Not an error, just cut short the traversal.  */



CVS commit: src/external/gpl3/binutils/dist/bfd

2015-05-08 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Fri May  8 15:13:53 UTC 2015

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf64-mips.c

Log Message:
Define bfd_elf64_bfd_is_local_label_name so that local symbols really
get stripped, etc.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/binutils/dist/bfd/elf64-mips.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf64-mips.c
diff -u src/external/gpl3/binutils/dist/bfd/elf64-mips.c:1.4 src/external/gpl3/binutils/dist/bfd/elf64-mips.c:1.5
--- src/external/gpl3/binutils/dist/bfd/elf64-mips.c:1.4	Sun Sep 29 14:03:29 2013
+++ src/external/gpl3/binutils/dist/bfd/elf64-mips.c	Fri May  8 15:13:53 2015
@@ -4154,9 +4154,8 @@ const struct elf_size_info mips_elf64_si
 
 #define elf_backend_write_section	_bfd_mips_elf_write_section
 
-/* We don't set bfd_elf64_bfd_is_local_label_name because the 32-bit
-   MIPS-specific function only applies to IRIX5, which had no 64-bit
-   ABI.  */
+#define bfd_elf64_bfd_is_local_label_name \
+	mips_elf64_is_local_label_name
 #define bfd_elf64_bfd_is_target_special_symbol \
 	_bfd_mips_elf_is_target_special_symbol
 #define bfd_elf64_find_nearest_line	_bfd_mips_elf_find_nearest_line



CVS commit: src/external/gpl3/binutils/dist/bfd

2015-03-28 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sat Mar 28 07:51:20 UTC 2015

Modified Files:
src/external/gpl3/binutils/dist/bfd: elfnn-riscv.c

Log Message:
Deal with GNU IFUNCs properly.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c
diff -u src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.1 src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.2
--- src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c:1.1	Fri Mar 27 06:34:31 2015
+++ src/external/gpl3/binutils/dist/bfd/elfnn-riscv.c	Sat Mar 28 07:51:20 2015
@@ -860,6 +860,7 @@ riscv_elf_adjust_dynamic_symbol (struct 
   /* Make sure we know what is going on here.  */
   BFD_ASSERT (dynobj != NULL
 	   (h-needs_plt
+		  || h-type == STT_GNU_IFUNC
 		  || h-u.weakdef != NULL
 		  || (h-def_dynamic
 		   h-ref_regular
@@ -868,7 +869,7 @@ riscv_elf_adjust_dynamic_symbol (struct 
   /* If this is a function, put it in the procedure linkage table.  We
  will fill in the contents of the procedure linkage table later
  (although we could actually do it here).  */
-  if (h-type == STT_FUNC || h-needs_plt)
+  if (h-type == STT_FUNC || h-type == STT_GNU_IFUNC || h-needs_plt)
 {
   if (h-plt.refcount = 0
 	  || SYMBOL_CALLS_LOCAL (info, h)



CVS commit: src/external/gpl3/binutils/dist/ld/emultempl

2015-02-18 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Wed Feb 18 15:05:44 UTC 2015

Modified Files:
src/external/gpl3/binutils/dist/ld/emultempl: aarch64elf.em armelf.em

Log Message:
Apply elf32.em r1.8 to the corresponding sections of armelf.em and
aarch64elf.em. Original commit message:

Recursively add DT_NEEDED entries from shared libraries if symbols are
used indirectly. This is more in line with the old GNU ld behavior, but
not exactly the desired semantic.

Patch from Martin Husemann.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
src/external/gpl3/binutils/dist/ld/emultempl/aarch64elf.em
cvs rdiff -u -r1.1.1.3 -r1.2 \
src/external/gpl3/binutils/dist/ld/emultempl/armelf.em

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emultempl/aarch64elf.em
diff -u src/external/gpl3/binutils/dist/ld/emultempl/aarch64elf.em:1.1.1.1 src/external/gpl3/binutils/dist/ld/emultempl/aarch64elf.em:1.2
--- src/external/gpl3/binutils/dist/ld/emultempl/aarch64elf.em:1.1.1.1	Sun Sep 29 13:45:51 2013
+++ src/external/gpl3/binutils/dist/ld/emultempl/aarch64elf.em	Wed Feb 18 15:05:43 2015
@@ -38,6 +38,7 @@ gld${EMULATION_NAME}_before_parse (void)
   ldfile_set_output_arch (`echo ${ARCH}`, bfd_arch_unknown);
 #endif /* not TARGET_ */
   input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
+  input_flags.add_DT_NEEDED_for_dynamic = TRUE;
   config.has_shared = `if test -n $GENERATE_SHLIB_SCRIPT ; then echo TRUE ; else echo FALSE ; fi`;
   config.separate_code = `if test x${SEPARATE_CODE} = xyes ; then echo TRUE ; else echo FALSE ; fi`;
 }

Index: src/external/gpl3/binutils/dist/ld/emultempl/armelf.em
diff -u src/external/gpl3/binutils/dist/ld/emultempl/armelf.em:1.1.1.3 src/external/gpl3/binutils/dist/ld/emultempl/armelf.em:1.2
--- src/external/gpl3/binutils/dist/ld/emultempl/armelf.em:1.1.1.3	Sun Sep 29 13:45:51 2013
+++ src/external/gpl3/binutils/dist/ld/emultempl/armelf.em	Wed Feb 18 15:05:43 2015
@@ -51,6 +51,7 @@ gld${EMULATION_NAME}_before_parse (void)
   ldfile_set_output_arch (`echo ${ARCH}`, bfd_arch_unknown);
 #endif /* not TARGET_ */
   input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
+  input_flags.add_DT_NEEDED_for_dynamic = TRUE;
   config.has_shared = `if test -n $GENERATE_SHLIB_SCRIPT ; then echo TRUE ; else echo FALSE ; fi`;
   config.separate_code = `if test x${SEPARATE_CODE} = xyes ; then echo TRUE ; else echo FALSE ; fi`;
 }



CVS commit: src/external/gpl3/binutils/dist/bfd

2015-01-02 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jan  2 19:50:03 UTC 2015

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf64-ppc.c

Log Message:
Bring in 2 patches from binutils:

From Alan Modra: Wed, 3 Jul 2013 11:51:56 +0930: powerpc64 call stubs:
This brings powerpc64 ld in line with gold regarding calls allowed to
go via a plt call stub or toc-adjusting stub without a following nop.
A long time ago ld allowed tail calls, but this is wrong because we'll
return to the caller's caller with the wrong toc pointer.  I fixed
that for shared libraries but allowed tail calls in an executable for
some reason.  Probably just muddy thinking on my part, because there's
no difference between an executable and a shared library regarding the
need to restore the toc pointer.  Perhaps it was because some testcase
failed, most likely due to the g++ issue I comment on in the patch.

From Alan Modra: 29 Aug 2014 01:22:29 +: PowerPC64 call lacks nop error:
Enough people accidentally or otherwise use -mcmodel=small then wonder
why a call that is local is behaving as if it is going via the PLT.

* elf64-ppc.c (ppc64_elf_relocate_section): Report a different
error for calls via a toc adjusting stub without a nop.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf64-ppc.c
diff -u src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.5 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.6
--- src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.5	Thu Mar  6 04:33:14 2014
+++ src/external/gpl3/binutils/dist/bfd/elf64-ppc.c	Fri Jan  2 14:50:02 2015
@@ -3618,9 +3618,6 @@ struct ppc_stub_hash_entry {
   struct ppc_link_hash_entry *h;
   struct plt_entry *plt_ent;
 
-  /* And the reloc addend that this was derived from.  */
-  bfd_vma addend;
-
   /* Where this stub is being called from, or, in the case of combined
  stub sections, the first input section in the group.  */
   asection *id_sec;
@@ -11669,7 +11666,6 @@ ppc64_elf_size_stubs (struct bfd_link_in
 		}
 		  stub_entry-h = hash;
 		  stub_entry-plt_ent = plt_ent;
-		  stub_entry-addend = irela-r_addend;
 
 		  if (stub_entry-h != NULL)
 		htab-stub_globals += 1;
@@ -12910,60 +12906,96 @@ ppc64_elf_relocate_section (bfd *output_
 	{
 	  bfd_boolean can_plt_call = FALSE;
 
+	  /* All of these stubs will modify r2, so there must be a
+		 branch and link followed by a nop.  The nop is
+		 replaced by an insn to restore r2.  */
 	  if (rel-r_offset + 8 = input_section-size)
 		{
-		  unsigned long nop;
-		  nop = bfd_get_32 (input_bfd, contents + rel-r_offset + 4);
-		  if (nop == NOP
-		  || nop == CROR_151515 || nop == CROR_313131)
-		{
-		  if (h != NULL
-			   (h == htab-tls_get_addr_fd
-			  || h == htab-tls_get_addr)
-			   !htab-no_tls_get_addr_opt)
+		  unsigned long br;
+
+		  br = bfd_get_32 (input_bfd,
+   contents + rel-r_offset);
+		  if ((br  1) != 0)
+		{
+		  unsigned long nop;
+
+		  nop = bfd_get_32 (input_bfd,
+	contents + rel-r_offset + 4);
+		  if (nop == NOP
+			  || nop == CROR_151515 || nop == CROR_313131)
 			{
-			  /* Special stub used, leave nop alone.  */
+			  if (h != NULL
+			   (h == htab-tls_get_addr_fd
+  || h == htab-tls_get_addr)
+			   !htab-no_tls_get_addr_opt)
+			{
+			  /* Special stub used, leave nop alone.  */
+			}
+			  else
+			bfd_put_32 (input_bfd, LD_R2_40R1,
+	contents + rel-r_offset + 4);
+			  can_plt_call = TRUE;
 			}
-		  else
-			bfd_put_32 (input_bfd, LD_R2_40R1,
-contents + rel-r_offset + 4);
-		  can_plt_call = TRUE;
 		}
 		}
 
-	  if (!can_plt_call)
+	  if (!can_plt_call  h != NULL)
 		{
-		  if (stub_entry-stub_type == ppc_stub_plt_call
-		  || stub_entry-stub_type == ppc_stub_plt_call_r2save)
-		{
-		  /* If this is a plain branch rather than a branch
-			 and link, don't require a nop.  However, don't
-			 allow tail calls in a shared library as they
-			 will result in r2 being corrupted.  */
-		  unsigned long br;
-		  br = bfd_get_32 (input_bfd, contents + rel-r_offset);
-		  if (info-executable  (br  1) == 0)
-			can_plt_call = TRUE;
-		  else
-			stub_entry = NULL;
-		}
-		  else if (h != NULL
-			strcmp (h-elf.root.root.string,
-  .__libc_start_main) == 0)
+		  const char *name = h-elf.root.root.string;
+
+		  if (*name == '.')
+		++name;
+
+		  if (strncmp (name, __libc_start_main, 17) == 0
+		   (name[17] == 0 || name[17] == '@'))
 		{
-		  /* Allow crt1 branch to go via a toc adjusting stub.  */
+		  /* Allow crt1 branch to go via a toc adjusting
+			 stub.  Other calls that never return could do
+		

CVS commit: src/external/gpl3/binutils/dist

2014-12-13 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Dec 13 18:32:59 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/binutils: readelf.c
src/external/gpl3/binutils/dist/binutils/doc: readelf.1
src/external/gpl3/binutils/dist/include/elf: common.h

Log Message:
- Add -f to allow processing non-plain files.
- Align NetBSD note printing properly
- Add handling of PaX notes correctly. Perhaps we should rename them
  to NetBSD now.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/external/gpl3/binutils/dist/binutils/readelf.c
cvs rdiff -u -r1.4 -r1.5 \
src/external/gpl3/binutils/dist/binutils/doc/readelf.1
cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/include/elf/common.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/binutils/readelf.c
diff -u src/external/gpl3/binutils/dist/binutils/readelf.c:1.13 src/external/gpl3/binutils/dist/binutils/readelf.c:1.14
--- src/external/gpl3/binutils/dist/binutils/readelf.c:1.13	Fri Sep 19 13:19:53 2014
+++ src/external/gpl3/binutils/dist/binutils/readelf.c	Sat Dec 13 13:32:59 2014
@@ -185,6 +185,7 @@ static Elf_Internal_Phdr * program_heade
 static Elf_Internal_Dyn *  dynamic_section;
 static Elf_Internal_Shdr * symtab_shndx_hdr;
 static int show_name;
+static int do_special_files;
 static int do_dynamic;
 static int do_syms;
 static int do_dyn_syms;
@@ -3201,6 +3202,7 @@ static struct option options[] =
   {relocs,	   no_argument, 0, 'r'},
   {notes,	   no_argument, 0, 'n'},
   {dynamic,	   no_argument, 0, 'd'},
+  {special-files,no_argument, 0, 'f'},
   {arch-specific,no_argument, 0, 'A'},
   {version-info, no_argument, 0, 'V'},
   {use-dynamic,  no_argument, 0, 'D'},
@@ -3246,6 +3248,7 @@ usage (FILE * stream)
   -r --relocsDisplay the relocations (if present)\n\
   -u --unwindDisplay the unwind info (if present)\n\
   -d --dynamic   Display the dynamic section (if present)\n\
+  -f --special-files Process non-plain files too\n\
   -V --version-info  Display the version sections (if present)\n\
   -A --arch-specific Display architecture specific information (if any)\n\
   -c --archive-index Display the symbol/file index in an archive\n\
@@ -3365,7 +3368,7 @@ parse_args (int argc, char ** argv)
 usage (stderr);
 
   while ((c = getopt_long
-	  (argc, argv, ADHINR:SVWacdeghi:lnp:rstuvw::x:, options, NULL)) != EOF)
+	  (argc, argv, ADHINR:SVWacdefghi:lnp:rstuvw::x:, options, NULL)) != EOF)
 {
   switch (c)
 	{
@@ -3415,6 +3418,9 @@ parse_args (int argc, char ** argv)
 	case 'u':
 	  do_unwind++;
 	  break;
+	case 'f':
+	  do_special_files++;
+	  break;
 	case 'h':
 	  do_header++;
 	  break;
@@ -12706,14 +12712,24 @@ process_netbsd_elf_note (Elf_Internal_No
 		(version / 1) % 100  26 ? Z : ,
 		'A' + (version / 1) % 26); 
   else
-	printf (  NetBSD\t0x%08lx\tIDENT %u (%u.%u.%u)\n, pnote-descsz,
+	printf (  NetBSD\t\t0x%08lx\tIDENT %u (%u.%u.%u)\n, pnote-descsz,
 	version, version / 1, (version / 100) % 100,
 		(version / 100) % 100); 
   return 1;
 case NT_NETBSD_MARCH:
-  printf (  NetBSD\t0x%08lx\tMARCH %s\n, pnote-descsz,
+  printf (  NetBSD\t\t0x%08lx\tMARCH %s\n, pnote-descsz,
 	  pnote-descdata);
   return 1;
+case NT_NETBSD_PAX:
+  version = byte_get((unsigned char *)pnote-descdata, sizeof(version));
+  printf (  NetBSD\t\t0x%08lx\tPaX %s%s%s%s%s%s\n, pnote-descsz,
+	  ((version  NT_NETBSD_PAX_MPROTECT) ? +mprotect : ),
+	  ((version  NT_NETBSD_PAX_NOMPROTECT) ? -mprotect : ),
+	  ((version  NT_NETBSD_PAX_GUARD) ? +guard : ),
+	  ((version  NT_NETBSD_PAX_NOGUARD) ? -guard : ),
+	  ((version  NT_NETBSD_PAX_ASLR) ? +ASLR : ),
+	  ((version  NT_NETBSD_PAX_NOASLR) ? -ASLR : ));
+  return 1;
 default:
   break;
 }
@@ -13050,6 +13066,10 @@ process_note (Elf_Internal_Note * pnote)
 /* NetBSD-specific core file notes.  */
 return process_netbsd_elf_note (pnote);
 
+  else if (const_strneq (pnote-namedata, PaX))
+/* NetBSD-specific core file notes.  */
+return process_netbsd_elf_note (pnote);
+
   else if (const_strneq (pnote-namedata, NetBSD-CORE))
 /* NetBSD-specific core file notes.  */
 nt = get_netbsd_elfcore_note_type (pnote-type);
@@ -13789,7 +13809,7 @@ process_file (char * file_name)
   return 1;
 }
 
-  if (! S_ISREG (statbuf.st_mode))
+  if (!do_special_files  ! S_ISREG (statbuf.st_mode))
 {
   error (_('%s' is not an ordinary file\n), file_name);
   return 1;

Index: src/external/gpl3/binutils/dist/binutils/doc/readelf.1
diff -u src/external/gpl3/binutils/dist/binutils/doc/readelf.1:1.4 src/external/gpl3/binutils/dist/binutils/doc/readelf.1:1.5
--- src/external/gpl3/binutils/dist/binutils/doc/readelf.1:1.4	Sun Sep 29 10:03:30 2013

CVS commit: src/external/gpl3/binutils/dist/gas/config

2014-11-20 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Thu Nov 20 21:44:56 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/gas/config: tc-arm.c

Log Message:
Merge upstream d840c081f8082e8b9e63fead5306643975a97bb3 to fix
UB as seen by a clang compiled as.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/gas/config/tc-arm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/config/tc-arm.c
diff -u src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.6 src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.7
--- src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.6	Sun Sep 29 14:03:30 2013
+++ src/external/gpl3/binutils/dist/gas/config/tc-arm.c	Thu Nov 20 21:44:56 2014
@@ -6936,7 +6936,7 @@ parse_operands (char *str, const unsigne
 
 /* Functions for operand encoding.  ARM, then Thumb.  */
 
-#define rotate_left(v, n) (v  n | v  (32 - n))
+#define rotate_left(v, n) (v  (n  31) | v  ((32 - n)  31))
 
 /* If VAL can be encoded in the immediate field of an ARM instruction,
return the encoded form.  Otherwise, return FAIL.  */



CVS commit: src/external/gpl3/binutils/dist/gas/config

2014-10-11 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Oct 11 20:50:59 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/gas/config: tc-riscv.c

Log Message:
this doesn't need execinfo.h, which doesn't exist on older hosts.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
src/external/gpl3/binutils/dist/gas/config/tc-riscv.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/config/tc-riscv.c
diff -u src/external/gpl3/binutils/dist/gas/config/tc-riscv.c:1.1 src/external/gpl3/binutils/dist/gas/config/tc-riscv.c:1.2
--- src/external/gpl3/binutils/dist/gas/config/tc-riscv.c:1.1	Fri Sep 19 17:19:53 2014
+++ src/external/gpl3/binutils/dist/gas/config/tc-riscv.c	Sat Oct 11 20:50:59 2014
@@ -30,7 +30,6 @@
 #include dwarf2dbg.h
 #include dw2gencfi.h
 
-#include execinfo.h
 #include stdint.h
 
 #ifdef DEBUG



CVS commit: src/external/gpl3/binutils/dist/opcodes

2014-09-19 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sat Sep 20 04:53:19 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/opcodes: riscv-dis.c

Log Message:
When disassembling an auipc/jalr pair, print the address eventually being
called:
auipc   t0,0x2b3
jalrt0,-616 # 802b2e98 memset


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/gpl3/binutils/dist/opcodes/riscv-dis.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/opcodes/riscv-dis.c
diff -u src/external/gpl3/binutils/dist/opcodes/riscv-dis.c:1.1 src/external/gpl3/binutils/dist/opcodes/riscv-dis.c:1.2
--- src/external/gpl3/binutils/dist/opcodes/riscv-dis.c:1.1	Fri Sep 19 17:19:53 2014
+++ src/external/gpl3/binutils/dist/opcodes/riscv-dis.c	Sat Sep 20 04:53:19 2014
@@ -398,7 +398,7 @@ print_insn_args (const char *d, insn_t l
 	case 'o':
 	  maybe_print_address (pd, rs1, EXTRACT_ITYPE_IMM (l));
 	case 'j':
-	  if ((l  MASK_ADDI) == MATCH_ADDI)
+	  if ((l  MASK_ADDI) == MATCH_ADDI || (l  MASK_JALR) == MATCH_JALR)
 	maybe_print_address (pd, rs1, EXTRACT_ITYPE_IMM (l));
 	  (*info-fprintf_func) (info-stream, %d, (int)EXTRACT_ITYPE_IMM (l));
 	  break;



CVS commit: src/external/gpl3/binutils/dist/bfd

2014-08-26 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 26 16:39:49 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/bfd: elfxx-mips.c

Log Message:
Allow STT_GNU_IFUNC to be a dynamic symbol.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/elfxx-mips.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elfxx-mips.c
diff -u src/external/gpl3/binutils/dist/bfd/elfxx-mips.c:1.7 src/external/gpl3/binutils/dist/bfd/elfxx-mips.c:1.8
--- src/external/gpl3/binutils/dist/bfd/elfxx-mips.c:1.7	Sun Sep 29 14:03:29 2013
+++ src/external/gpl3/binutils/dist/bfd/elfxx-mips.c	Tue Aug 26 16:39:49 2014
@@ -8626,6 +8626,7 @@ _bfd_mips_elf_adjust_dynamic_symbol (str
   /* Make sure we know what is going on here.  */
   BFD_ASSERT (dynobj != NULL
 	   (h-needs_plt
+		  || h-type == STT_GNU_IFUNC
 		  || h-u.weakdef != NULL
 		  || (h-def_dynamic
 		   h-ref_regular



CVS commit: src/external/gpl3/binutils/dist/bfd

2014-08-26 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 26 17:03:51 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-m68k.c elf32-sh.c
elf32-vax.c

Log Message:
Allow STT_GNU_IFUNC to be dynamic symbols


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c \
src/external/gpl3/binutils/dist/bfd/elf32-sh.c
cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/bfd/elf32-vax.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-m68k.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.4 src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.5
--- src/external/gpl3/binutils/dist/bfd/elf32-m68k.c:1.4	Sun Sep 29 14:03:29 2013
+++ src/external/gpl3/binutils/dist/bfd/elf32-m68k.c	Tue Aug 26 17:03:51 2014
@@ -3104,6 +3104,7 @@ elf_m68k_adjust_dynamic_symbol (struct b
   /* Make sure we know what is going on here.  */
   BFD_ASSERT (dynobj != NULL
 	   (h-needs_plt
+		  || h-type == STT_GNU_IFUNC
 		  || h-u.weakdef != NULL
 		  || (h-def_dynamic
 		   h-ref_regular
@@ -3112,7 +3113,7 @@ elf_m68k_adjust_dynamic_symbol (struct b
   /* If this is a function, put it in the procedure linkage table.  We
  will fill in the contents of the procedure linkage table later,
  when we know the address of the .got section.  */
-  if (h-type == STT_FUNC
+  if ((h-type == STT_FUNC || h-type == STT_GNU_IFUNC)
   || h-needs_plt)
 {
   if ((h-plt.refcount = 0
Index: src/external/gpl3/binutils/dist/bfd/elf32-sh.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-sh.c:1.4 src/external/gpl3/binutils/dist/bfd/elf32-sh.c:1.5
--- src/external/gpl3/binutils/dist/bfd/elf32-sh.c:1.4	Sun Sep 29 14:03:29 2013
+++ src/external/gpl3/binutils/dist/bfd/elf32-sh.c	Tue Aug 26 17:03:51 2014
@@ -2808,6 +2808,7 @@ sh_elf_adjust_dynamic_symbol (struct bfd
   /* Make sure we know what is going on here.  */
   BFD_ASSERT (htab-root.dynobj != NULL
 	   (h-needs_plt
+		  || h-type == STT_GNU_IFUNC
 		  || h-u.weakdef != NULL
 		  || (h-def_dynamic
 		   h-ref_regular
@@ -2816,7 +2817,7 @@ sh_elf_adjust_dynamic_symbol (struct bfd
   /* If this is a function, put it in the procedure linkage table.  We
  will fill in the contents of the procedure linkage table later,
  when we know the address of the .got section.  */
-  if (h-type == STT_FUNC
+  if ((h-type == STT_FUNC || h-type == STT_GNU_IFUNC)
   || h-needs_plt)
 {
   if (h-plt.refcount = 0

Index: src/external/gpl3/binutils/dist/bfd/elf32-vax.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.9 src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.10
--- src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.9	Thu Oct  3 12:06:04 2013
+++ src/external/gpl3/binutils/dist/bfd/elf32-vax.c	Tue Aug 26 17:03:51 2014
@@ -946,6 +946,7 @@ elf_vax_adjust_dynamic_symbol (info, h)
   /* Make sure we know what is going on here.  */
   BFD_ASSERT (dynobj != NULL
 	   (h-needs_plt
+		  || h-type == STT_GNU_IFUNC
 		  || h-u.weakdef != NULL
 		  || (h-def_dynamic
 		   h-ref_regular
@@ -954,7 +955,7 @@ elf_vax_adjust_dynamic_symbol (info, h)
   /* If this is a function, put it in the procedure linkage table.  We
  will fill in the contents of the procedure linkage table later,
  when we know the address of the .got section.  */
-  if (h-type == STT_FUNC
+  if ((h-type == STT_FUNC || h-type == STT_GNU_IFUNC)
   || h-needs_plt)
 {
   if (h-plt.refcount = 0



CVS commit: src/external/gpl3/binutils/dist/gas/config

2014-08-25 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Mon Aug 25 20:34:36 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/gas/config: obj-elf.c

Log Message:
Allow creation of indirection functions on all platforms, not just GNU
and FreeBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.2 \
src/external/gpl3/binutils/dist/gas/config/obj-elf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/config/obj-elf.c
diff -u src/external/gpl3/binutils/dist/gas/config/obj-elf.c:1.1.1.3 src/external/gpl3/binutils/dist/gas/config/obj-elf.c:1.2
--- src/external/gpl3/binutils/dist/gas/config/obj-elf.c:1.1.1.3	Sun Sep 29 13:41:19 2013
+++ src/external/gpl3/binutils/dist/gas/config/obj-elf.c	Mon Aug 25 20:34:36 2014
@@ -1705,12 +1705,14 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSE
   const struct elf_backend_data *bed;
 
   bed = get_elf_backend_data (stdoutput);
+#if 0
   if (!(bed-elf_osabi == ELFOSABI_GNU
 	|| bed-elf_osabi == ELFOSABI_FREEBSD
 	/* GNU is still using the default value 0.  */
 	|| bed-elf_osabi == ELFOSABI_NONE))
 	as_bad (_(symbol type \%s\ is supported only by GNU and FreeBSD targets),
 		type_name);
+#endif
   type = BSF_FUNCTION | BSF_GNU_INDIRECT_FUNCTION;
 }
   else if (strcmp (type_name, gnu_unique_object) == 0)



CVS commit: src/external/gpl3/binutils/dist/bfd

2014-08-11 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Aug 11 20:53:16 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/bfd: ChangeLog elflink.c

Log Message:
Apply change from upstream to fix PR/48709 - port-alpha/48709: static
threaded programs crash.

With this fix the new weak symbol's st_other is not merged in, i.e. NOPV
is not copied from the libc __libc_thr_init.

* elflink.c (_bfd_elf_merge_symbol): If merging a new weak
symbol that will be skipped, we don't have a new definition.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/bfd/ChangeLog
cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/bfd/elflink.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/ChangeLog
diff -u src/external/gpl3/binutils/dist/bfd/ChangeLog:1.5 src/external/gpl3/binutils/dist/bfd/ChangeLog:1.6
--- src/external/gpl3/binutils/dist/bfd/ChangeLog:1.5	Sun Sep 29 14:03:29 2013
+++ src/external/gpl3/binutils/dist/bfd/ChangeLog	Mon Aug 11 20:53:16 2014
@@ -1,3 +1,8 @@
+2013-12-14  Alan Modra  amo...@gmail.com
+
+	* elflink.c (_bfd_elf_merge_symbol): If merging a new weak
+	symbol that will be skipped, we don't have a new definition.
+
 2013-03-25  Tristan Gingold  ging...@adacore.com
 
 	* configure.in: Bump version to 2.23.2

Index: src/external/gpl3/binutils/dist/bfd/elflink.c
diff -u src/external/gpl3/binutils/dist/bfd/elflink.c:1.7 src/external/gpl3/binutils/dist/bfd/elflink.c:1.8
--- src/external/gpl3/binutils/dist/bfd/elflink.c:1.7	Sun Sep 29 14:03:29 2013
+++ src/external/gpl3/binutils/dist/bfd/elflink.c	Mon Aug 11 20:53:16 2014
@@ -1442,7 +1442,10 @@ _bfd_elf_merge_symbol (bfd *abfd,
   if (!(oldbfd != NULL
 	 (oldbfd-flags  BFD_PLUGIN) != 0
 	 (abfd-flags  BFD_PLUGIN) == 0))
-	*skip = TRUE;
+	{
+	  newdef = FALSE;
+	  *skip = TRUE;
+	}
 
   /* Merge st_other.  If the symbol already has a dynamic index,
 	 but visibility says it should not be visible, turn it into a



CVS commit: src/external/gpl3/binutils/dist/binutils

2014-08-11 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Aug 11 20:57:28 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/binutils: readelf.c

Log Message:
Decode alpha st_other


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/binutils/readelf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/binutils/readelf.c
diff -u src/external/gpl3/binutils/dist/binutils/readelf.c:1.10 src/external/gpl3/binutils/dist/binutils/readelf.c:1.11
--- src/external/gpl3/binutils/dist/binutils/readelf.c:1.10	Tue Mar 18 23:41:02 2014
+++ src/external/gpl3/binutils/dist/binutils/readelf.c	Mon Aug 11 20:57:28 2014
@@ -8847,6 +8847,20 @@ get_symbol_visibility (unsigned int visi
 }
 
 static const char *
+get_alpha_symbol_other (unsigned int other)
+{   
+  switch (other)
+{
+case STO_ALPHA_NOPV:
+  return NOPV;
+case STO_ALPHA_STD_GPLOAD:
+  return STD GPLOAD;
+default:
+  return NULL;
+} 
+}
+
+static const char *
 get_mips_symbol_other (unsigned int other)
 {
   switch (other)
@@ -8940,6 +8954,9 @@ get_symbol_other (unsigned int other)
 
   switch (elf_header.e_machine)
 {
+case EM_ALPHA:
+  result = get_alpha_symbol_other (other);
+  break;
 case EM_MIPS:
   result = get_mips_symbol_other (other);
   break;



CVS commit: src/external/gpl3/binutils/dist

2014-06-26 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu Jun 26 22:55:23 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-arm.c
src/external/gpl3/binutils/dist/ld/emulparams: armelf_nbsd.sh

Log Message:
Change ARM ELF_MAXPAGESIZE to 0x1 and also change TEXT_START_ADDR for
nbsd to 0x1.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/binutils/dist/bfd/elf32-arm.c
cvs rdiff -u -r1.4 -r1.5 \
src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-arm.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.4 src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.5
--- src/external/gpl3/binutils/dist/bfd/elf32-arm.c:1.4	Sun Sep 29 14:03:29 2013
+++ src/external/gpl3/binutils/dist/bfd/elf32-arm.c	Thu Jun 26 22:55:23 2014
@@ -15644,7 +15644,7 @@ const struct elf_size_info elf32_arm_siz
 #ifdef __QNXTARGET__
 #define ELF_MAXPAGESIZE			0x1000
 #else
-#define ELF_MAXPAGESIZE			0x8000
+#define ELF_MAXPAGESIZE			0x1
 #endif
 #define ELF_MINPAGESIZE			0x1000
 #define ELF_COMMONPAGESIZE		0x1000
@@ -15773,9 +15773,6 @@ elf32_arm_nacl_modify_segment_map (bfd *
 #undef	elf_backend_modify_program_headers
 #define	elf_backend_modify_program_headers	nacl_modify_program_headers
 
-#undef	ELF_MAXPAGESIZE
-#define ELF_MAXPAGESIZE			0x1
-
 #include elf32-target.h
 
 /* Reset to defaults.  */

Index: src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh
diff -u src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.4 src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.5
--- src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh:1.4	Fri Nov 29 23:01:54 2013
+++ src/external/gpl3/binutils/dist/ld/emulparams/armelf_nbsd.sh	Thu Jun 26 22:55:23 2014
@@ -1,6 +1,6 @@
 . ${srcdir}/emulparams/armelf.sh
 MAXPAGESIZE=CONSTANT (MAXPAGESIZE)
-TEXT_START_ADDR=0x8000
+TEXT_START_ADDR=0x0001
 TARGET2_TYPE=got-rel
 
 unset DATA_START_SYMBOLS



CVS commit: src/external/gpl3/binutils/dist/gas/config

2014-03-25 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Mar 25 16:17:33 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/gas/config: tc-vax.c

Log Message:
Bias the cfi pc expr by nbytes since vax pcrel are relative to end of the
relocation, not the beginning.  By adding the size of relocation, it will
become relative to the start of the relocation.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/gpl3/binutils/dist/gas/config/tc-vax.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/config/tc-vax.c
diff -u src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.7 src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.8
--- src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.7	Tue Mar 18 23:41:36 2014
+++ src/external/gpl3/binutils/dist/gas/config/tc-vax.c	Tue Mar 25 16:17:33 2014
@@ -3599,9 +3599,10 @@ tc_vax_regname_to_dw2regnum (char *regna
 }
 
 void
-vax_cfi_emit_pcrel_expr (expressionS *exp, unsigned int nbytes)
+vax_cfi_emit_pcrel_expr (expressionS *expP, unsigned int nbytes)
 {
   vax_cons_special_reloc = pcrel;
-  emit_expr (exp, nbytes);
+  expP-X_add_number += nbytes;
+  emit_expr (expP, nbytes);
   vax_cons_special_reloc = NULL;
 }



CVS commit: src/external/gpl3/binutils/dist/binutils

2014-03-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Mar 18 23:41:02 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/binutils: readelf.c

Log Message:
Make readelf know what the vax pcrel32 reloc number is.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/binutils/dist/binutils/readelf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/binutils/readelf.c
diff -u src/external/gpl3/binutils/dist/binutils/readelf.c:1.9 src/external/gpl3/binutils/dist/binutils/readelf.c:1.10
--- src/external/gpl3/binutils/dist/binutils/readelf.c:1.9	Thu Nov 14 12:44:25 2013
+++ src/external/gpl3/binutils/dist/binutils/readelf.c	Tue Mar 18 23:41:02 2014
@@ -10020,6 +10020,8 @@ is_32bit_pcrel_reloc (unsigned int reloc
 case EM_L1OM:
 case EM_K1OM:
   return reloc_type == 2;  /* R_X86_64_PC32.  */
+case EM_VAX:
+  return reloc_type == 4;  /* R_VAX_PCREL32.  */
 case EM_XTENSA_OLD:
 case EM_XTENSA:
   return reloc_type == 14; /* R_XTENSA_32_PCREL.  */



CVS commit: src/external/gpl3/binutils/dist/gas/config

2014-03-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Mar 18 23:41:36 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/gas/config: tc-vax.c tc-vax.h

Log Message:
Add support for the .cfi pseudo-ops for VAX.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/gas/config/tc-vax.c
cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/binutils/dist/gas/config/tc-vax.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/gas/config/tc-vax.c
diff -u src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.6 src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.7
--- src/external/gpl3/binutils/dist/gas/config/tc-vax.c:1.6	Tue Jul 17 20:29:44 2012
+++ src/external/gpl3/binutils/dist/gas/config/tc-vax.c	Tue Mar 18 23:41:36 2014
@@ -24,6 +24,7 @@
 
 #include vax-inst.h
 #include obstack.h		/* For FRAG_APPEND_1_CHAR macro in frags.h */
+#include dw2gencfi.h
 #include subsegs.h
 #include safe-ctype.h
 
@@ -3570,3 +3571,37 @@ md_atof (int type, char * litP, int * si
 {
   return vax_md_atof (type, litP, sizeP);
 }
+
+void
+vax_cfi_frame_initial_instructions (void)
+{
+  cfi_add_CFA_def_cfa (14, 0);
+}
+
+int
+tc_vax_regname_to_dw2regnum (char *regname)
+{
+  unsigned int i;
+  static const struct { char *name; int dw2regnum; } regnames[] =
+{
+  { r0,   0 }, { r1,  1 }, { r2,   2 }, { r3,   3 },
+  { r4,   4 }, { r5,  5 }, { r6,   6 }, { r7,   7 },
+  { r8,   8 }, { r9,  9 }, { r10, 10 }, { r11, 11 },
+  { ap,  12 }, { fp, 13 }, { sp,  14 }, { pc,  15 },
+  { psw, 16 },
+};
+
+  for (i = 0; i  ARRAY_SIZE (regnames); ++i)
+if (strcmp (regnames[i].name, regname) == 0)
+  return regnames[i].dw2regnum;
+
+  return -1;
+}
+
+void
+vax_cfi_emit_pcrel_expr (expressionS *exp, unsigned int nbytes)
+{
+  vax_cons_special_reloc = pcrel;
+  emit_expr (exp, nbytes);
+  vax_cons_special_reloc = NULL;
+}

Index: src/external/gpl3/binutils/dist/gas/config/tc-vax.h
diff -u src/external/gpl3/binutils/dist/gas/config/tc-vax.h:1.3 src/external/gpl3/binutils/dist/gas/config/tc-vax.h:1.4
--- src/external/gpl3/binutils/dist/gas/config/tc-vax.h:1.3	Thu Apr 14 07:49:48 2011
+++ src/external/gpl3/binutils/dist/gas/config/tc-vax.h	Tue Mar 18 23:41:36 2014
@@ -71,9 +71,17 @@ extern const struct relax_type md_relax_
 		 == S_GET_SEGMENT ((FIX)-fx_addsy)))	\
 	 || S_IS_LOCAL ((FIX)-fx_addsy)))
 
-/*
- * Local Variables:
- * comment-column: 0
- * fill-column: 131
- * End:
- */
+#define TARGET_USE_CFIPOP 1
+
+#define tc_cfi_frame_initial_instructions vax_cfi_frame_initial_instructions
+extern void vax_cfi_frame_initial_instructions (void);
+
+#define tc_regname_to_dw2regnum tc_vax_regname_to_dw2regnum
+extern int tc_vax_regname_to_dw2regnum (char *);
+
+#define tc_cfi_emit_pcrel_expr vax_cfi_emit_pcrel_expr
+extern void vax_cfi_emit_pcrel_expr (expressionS *, unsigned int);
+
+#define DWARF2_LINE_MIN_INSN_LENGTH 1
+#define DWARF2_DEFAULT_RETURN_COLUMN15
+#define DWARF2_CIE_DATA_ALIGNMENT   -4



CVS commit: src/external/gpl3/binutils/dist/bfd

2014-03-10 Thread Takeshi Nakayama
Module Name:src
Committed By:   nakayama
Date:   Mon Mar 10 12:01:19 UTC 2014

Modified Files:
src/external/gpl3/binutils/dist/bfd: config.bfd

Log Message:
Enable 64-bit integer handling for gas even on 32-bit host since
sparc64 kernel now uses 64-bit constant with %hh operator.

Fix for PR toolchain/48630.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/config.bfd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/config.bfd
diff -u src/external/gpl3/binutils/dist/bfd/config.bfd:1.10 src/external/gpl3/binutils/dist/bfd/config.bfd:1.11
--- src/external/gpl3/binutils/dist/bfd/config.bfd:1.10	Tue Dec 24 15:06:39 2013
+++ src/external/gpl3/binutils/dist/bfd/config.bfd	Mon Mar 10 12:01:19 2014
@@ -1460,6 +1460,7 @@ case ${targ} in
   sparc-*-netbsdelf*)
 targ_defvec=bfd_elf32_sparc_vec
 targ_selvecs=sparcnetbsd_vec sunos_big_vec
+want64=true
 ;;
   sparc-*-netbsd*)
 targ_defvec=sparcnetbsd_vec



  1   2   >