mknative-gcc and mknative-binutils for riscv32. mostly builds. trunk
authormrg <mrg@NetBSD.org>
Wed, 17 Apr 2019 09:37:49 +0000
branchtrunk
changeset 450543 1979f7358b2c
parent 450542 c4aac29e1d95
child 450544 3d3d68685987
mknative-gcc and mknative-binutils for riscv32. mostly builds.
external/gpl3/binutils/lib/libbfd/arch/riscv32/bfd.h
external/gpl3/binutils/lib/libbfd/arch/riscv32/bfd_stdint.h
external/gpl3/binutils/lib/libbfd/arch/riscv32/bfdver.h
external/gpl3/binutils/lib/libbfd/arch/riscv32/config.h
external/gpl3/binutils/lib/libbfd/arch/riscv32/defs.mk
external/gpl3/binutils/lib/libiberty/arch/riscv32/config.h
external/gpl3/binutils/lib/libiberty/arch/riscv32/defs.mk
external/gpl3/binutils/lib/libopcodes/arch/riscv32/config.h
external/gpl3/binutils/usr.bin/common/arch/riscv32/config.h
external/gpl3/binutils/usr.bin/common/arch/riscv32/defs.mk
external/gpl3/binutils/usr.bin/gas/arch/riscv32/config.h
external/gpl3/binutils/usr.bin/gas/arch/riscv32/targ-env.h
external/gpl3/binutils/usr.bin/gprof/arch/riscv32/defs.mk
external/gpl3/binutils/usr.bin/gprof/arch/riscv32/gconfig.h
external/gpl3/binutils/usr.bin/ld/arch/riscv32/config.h
external/gpl3/binutils/usr.bin/ld/arch/riscv32/defs.mk
external/gpl3/gcc/lib/libbacktrace/arch/riscv32/backtrace-supported.h
external/gpl3/gcc/lib/libbacktrace/arch/riscv32/config.h
external/gpl3/gcc/lib/libgcc/arch/riscv32/defs.mk
external/gpl3/gcc/lib/libgomp/arch/riscv32/libgomp.spec
external/gpl3/gcc/lib/libgomp/arch/riscv32/libgomp_f.h
external/gpl3/gcc/lib/libgomp/arch/riscv32/omp.h
external/gpl3/gcc/lib/libiberty/arch/riscv32/config.h
external/gpl3/gcc/lib/libobjc/arch/riscv32/config.h
external/gpl3/gcc/lib/libobjc/arch/riscv32/defs.mk
external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/c++config.h
external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/defs.mk
external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/gstdint.h
external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/symver-config.h
external/gpl3/gcc/usr.bin/gcc/arch/riscv32/auto-host.h
external/gpl3/gcc/usr.bin/gcc/arch/riscv32/bversion.h
external/gpl3/gcc/usr.bin/gcc/arch/riscv32/configargs.h
external/gpl3/gcc/usr.bin/gcc/arch/riscv32/defs.mk
external/gpl3/gcc/usr.bin/gcc/arch/riscv32/gtyp-input.list
external/gpl3/gcc/usr.bin/gcc/arch/riscv32/plugin-version.h
external/gpl3/gcc/usr.bin/libcpp/arch/riscv32/config.h
--- a/external/gpl3/binutils/lib/libbfd/arch/riscv32/bfd.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/lib/libbfd/arch/riscv32/bfd.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,17 +1,17 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
-
-/* DO NOT EDIT!  -*- buffer-read-only: t -*-  This file is automatically 
-   generated from "bfd-in.h", "init.c", "opncls.c", "libbfd.c", 
-   "bfdio.c", "bfdwin.c", "section.c", "archures.c", "reloc.c", 
-   "syms.c", "bfd.c", "archive.c", "corefile.c", "targets.c", "format.c", 
+/* Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
+
+/* DO NOT EDIT!  -*- buffer-read-only: t -*-  This file is automatically
+   generated from "bfd-in.h", "init.c", "opncls.c", "libbfd.c",
+   "bfdio.c", "bfdwin.c", "section.c", "archures.c", "reloc.c",
+   "syms.c", "bfd.c", "archive.c", "corefile.c", "targets.c", "format.c",
    "linker.c", "simple.c" and "compress.c".
    Run "make headers" in your build bfd/ to regenerate.  */
 
 /* Main header file for the bfd library -- portable access to object files.
 
-   Copyright (C) 1990-2015 Free Software Foundation, Inc.
+   Copyright (C) 1990-2018 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.
 
@@ -45,6 +45,8 @@
 
 #include "ansidecl.h"
 #include "symcat.h"
+#include "diagnostics.h"
+#include <stdarg.h>
 #include <sys/stat.h>
 
 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
@@ -90,7 +92,7 @@
 #define BFD_ARCH_SIZE 64
 
 /* The word size of the default bfd target.  */
-#define BFD_DEFAULT_TARGET_SIZE 64
+#define BFD_DEFAULT_TARGET_SIZE 32
 
 #define BFD_HOST_64BIT_LONG 0
 #define BFD_HOST_64BIT_LONG_LONG 1
@@ -101,6 +103,24 @@
 typedef BFD_HOST_U_64_BIT bfd_uint64_t;
 #endif
 
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if BFD_HOST_64BIT_LONG
+#  define BFD_PRI64 "l"
+# elif defined (__MSVCRT__)
+#  define BFD_PRI64 "I64"
+# else
+#  define BFD_PRI64 "ll"
+# endif
+# undef PRId64
+# define PRId64 BFD_PRI64 "d"
+# undef PRIu64
+# define PRIu64 BFD_PRI64 "u"
+# undef PRIx64
+# define PRIx64 BFD_PRI64 "x"
+#endif
+
 #if BFD_ARCH_SIZE >= 64
 #define BFD64
 #endif
@@ -114,7 +134,7 @@
 #endif
 
 /* Declaring a type wide enough to hold a host long and a host pointer.  */
-#define BFD_HOSTPTR_T	unsigned long
+#define BFD_HOSTPTR_T unsigned long
 typedef BFD_HOSTPTR_T bfd_hostptr_t;
 
 /* Forward declaration.  */
@@ -257,7 +277,7 @@
 
 /* Used in generating armaps (archive tables of contents).
    Perhaps just a forward definition would do?  */
-struct orl 			/* Output ranlib.  */
+struct orl		/* Output ranlib.  */
 {
   char **name;		/* Symbol name.  */
   union
@@ -267,7 +287,7 @@
   } u;			/* bfd* or file position.  */
   int namidx;		/* Index into string table.  */
 };
-
+
 /* Linenumber stuff.  */
 typedef struct lineno_cache_entry
 {
@@ -275,17 +295,25 @@
   union
   {
     struct bfd_symbol *sym;	/* Function name.  */
-    bfd_vma offset;	    		/* Offset into section.  */
+    bfd_vma offset;		/* Offset into section.  */
   } u;
 }
 alent;
 
 /* Object and core file sections.  */
+typedef struct bfd_section *sec_ptr;
 
 #define	align_power(addr, align)	\
   (((addr) + ((bfd_vma) 1 << (align)) - 1) & (-((bfd_vma) 1 << (align))))
 
-typedef struct bfd_section *sec_ptr;
+/* Align an address upward to a boundary, expressed as a number of bytes.
+   E.g. align to an 8-byte boundary with argument of 8.  Take care never
+   to wrap around if the address is within boundary-1 of the end of the
+   address space.  */
+#define BFD_ALIGN(this, boundary)					  \
+  ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this))		  \
+   ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \
+   : ~ (bfd_vma) 0)
 
 #define bfd_get_section_name(bfd, ptr) ((void) bfd, (ptr)->name)
 #define bfd_get_section_vma(bfd, ptr) ((void) bfd, (ptr)->vma)
@@ -331,11 +359,11 @@
 {
   symvalue value;
   char type;
-  const char *name;            /* Symbol name.  */
-  unsigned char stab_type;     /* Stab type.  */
-  char stab_other;             /* Stab other.  */
-  short stab_desc;             /* Stab desc.  */
-  const char *stab_name;       /* String for stab type.  */
+  const char *name;		/* Symbol name.  */
+  unsigned char stab_type;	/* Stab type.  */
+  char stab_other;		/* Stab other.  */
+  short stab_desc;		/* Stab desc.  */
+  const char *stab_name;	/* String for stab type.  */
 } symbol_info;
 
 /* Get the name of a stabs type code.  */
@@ -373,7 +401,7 @@
      only if the argument is NULL.  */
   struct bfd_hash_entry *(*newfunc)
     (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
-   /* An objalloc for this hash table.  This is a struct objalloc *,
+  /* An objalloc for this hash table.  This is a struct objalloc *,
      but we use void * to avoid requiring the inclusion of objalloc.h.  */
   void *memory;
   /* The number of slots in the hash table.  */
@@ -488,20 +516,20 @@
 /* Deprecated old routines.  */
 #if __GNUC__
 #define bfd_read(BUF, ELTSIZE, NITEMS, ABFD)				\
-  (warn_deprecated ("bfd_read", __FILE__, __LINE__, __FUNCTION__),	\
+  (_bfd_warn_deprecated ("bfd_read", __FILE__, __LINE__, __FUNCTION__),	\
    bfd_bread ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
 #define bfd_write(BUF, ELTSIZE, NITEMS, ABFD)				\
-  (warn_deprecated ("bfd_write", __FILE__, __LINE__, __FUNCTION__),	\
+  (_bfd_warn_deprecated ("bfd_write", __FILE__, __LINE__, __FUNCTION__), \
    bfd_bwrite ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
 #else
 #define bfd_read(BUF, ELTSIZE, NITEMS, ABFD)				\
-  (warn_deprecated ("bfd_read", (const char *) 0, 0, (const char *) 0), \
+  (_bfd_warn_deprecated ("bfd_read", (const char *) 0, 0, (const char *) 0), \
    bfd_bread ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
 #define bfd_write(BUF, ELTSIZE, NITEMS, ABFD)				\
-  (warn_deprecated ("bfd_write", (const char *) 0, 0, (const char *) 0),\
+  (_bfd_warn_deprecated ("bfd_write", (const char *) 0, 0, (const char *) 0),\
    bfd_bwrite ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
 #endif
-extern void warn_deprecated (const char *, const char *, int, const char *);
+extern void _bfd_warn_deprecated (const char *, const char *, int, const char *);
 
 /* Cast from const char * to char * so that caller can assign to
    a char * without a warning.  */
@@ -522,7 +550,6 @@
 #define bfd_get_file_flags(abfd) ((abfd)->flags)
 #define bfd_applicable_file_flags(abfd) ((abfd)->xvec->object_flags)
 #define bfd_applicable_section_flags(abfd) ((abfd)->xvec->section_flags)
-#define bfd_my_archive(abfd) ((abfd)->my_archive)
 #define bfd_has_map(abfd) ((abfd)->has_armap)
 #define bfd_is_thin_archive(abfd) ((abfd)->is_thin_archive)
 
@@ -566,6 +593,8 @@
 void bfd_putl64 (bfd_uint64_t, void *);
 void bfd_putb32 (bfd_vma, void *);
 void bfd_putl32 (bfd_vma, void *);
+void bfd_putb24 (bfd_vma, void *);
+void bfd_putl24 (bfd_vma, void *);
 void bfd_putb16 (bfd_vma, void *);
 void bfd_putl16 (bfd_vma, void *);
 
@@ -593,8 +622,6 @@
 
 /* Externally visible ECOFF routines.  */
 
-extern bfd_vma bfd_ecoff_get_gp_value
-  (bfd * abfd);
 extern bfd_boolean bfd_ecoff_set_gp_value
   (bfd *abfd, bfd_vma gp_value);
 extern bfd_boolean bfd_ecoff_set_regmasks
@@ -763,8 +790,6 @@
 
 extern bfd_boolean bfd_i386linux_size_dynamic_sections
   (bfd *, struct bfd_link_info *);
-extern bfd_boolean bfd_m68klinux_size_dynamic_sections
-  (bfd *, struct bfd_link_info *);
 extern bfd_boolean bfd_sparclinux_size_dynamic_sections
   (bfd *, struct bfd_link_info *);
 
@@ -833,9 +858,6 @@
 extern bfd_boolean bfd_coff_set_symbol_class
   (bfd *, struct bfd_symbol *, unsigned int);
 
-extern bfd_boolean bfd_m68k_coff_create_embedded_relocs
-  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
-
 /* ARM VFP11 erratum workaround support.  */
 typedef enum
 {
@@ -904,9 +926,27 @@
 extern bfd_boolean bfd_elf32_arm_process_before_allocation
   (bfd *, struct bfd_link_info *);
 
-void bfd_elf32_arm_set_target_relocs
-  (bfd *, struct bfd_link_info *, int, char *, int, int, bfd_arm_vfp11_fix,
-   bfd_arm_stm32l4xx_fix, int, int, int, int, int);
+struct elf32_arm_params {
+  char *thumb_entry_symbol;
+  int byteswap_code;
+  int target1_is_rel;
+  char * target2_type;
+  int fix_v4bx;
+  int use_blx;
+  bfd_arm_vfp11_fix vfp11_denorm_fix;
+  bfd_arm_stm32l4xx_fix stm32l4xx_fix;
+  int no_enum_size_warning;
+  int no_wchar_size_warning;
+  int pic_veneer;
+  int fix_cortex_a8;
+  int fix_arm1176;
+  int merge_exidx_entries;
+  int cmse_implib;
+  bfd *in_implib_bfd;
+};
+
+void bfd_elf32_arm_set_target_params
+  (bfd *, struct bfd_link_info *, struct elf32_arm_params *);
 
 extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
   (bfd *, struct bfd_link_info *);
@@ -914,10 +954,13 @@
 extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd
   (bfd *, struct bfd_link_info *);
 
+extern void bfd_elf32_arm_keep_private_stub_output_sections
+  (struct bfd_link_info *);
+
 /* ELF ARM mapping symbol support.  */
 #define BFD_ARM_SPECIAL_SYM_TYPE_MAP	(1 << 0)
 #define BFD_ARM_SPECIAL_SYM_TYPE_TAG	(1 << 1)
-#define BFD_ARM_SPECIAL_SYM_TYPE_OTHER  (1 << 2)
+#define BFD_ARM_SPECIAL_SYM_TYPE_OTHER	(1 << 2)
 #define BFD_ARM_SPECIAL_SYM_TYPE_ANY	(~0)
 
 extern bfd_boolean bfd_is_arm_special_symbol_name
@@ -945,7 +988,8 @@
   (struct bfd_link_info *, struct bfd_section *);
 extern bfd_boolean elf32_arm_size_stubs
   (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma,
-   struct bfd_section * (*) (const char *, struct bfd_section *, unsigned int),
+   struct bfd_section * (*) (const char *, struct bfd_section *,
+			     struct bfd_section *, unsigned int),
    void (*) (void));
 extern bfd_boolean elf32_arm_build_stubs
   (struct bfd_link_info *);
@@ -958,13 +1002,6 @@
 extern bfd_boolean elf32_tic6x_fix_exidx_coverage
 (struct bfd_section **, unsigned int, struct bfd_link_info *, bfd_boolean);
 
-/* PowerPC @tls opcode transform/validate.  */
-extern unsigned int _bfd_elf_ppc_at_tls_transform
-  (unsigned int, unsigned int);
-/* PowerPC @tprel opcode transform/validate.  */
-extern unsigned int _bfd_elf_ppc_at_tprel_transform
-  (unsigned int, unsigned int);
-
 extern void bfd_elf64_aarch64_init_maps
   (bfd *);
 
@@ -972,10 +1009,10 @@
   (bfd *);
 
 extern void bfd_elf64_aarch64_set_options
-  (bfd *, struct bfd_link_info *, int, int, int, int, int);
+  (bfd *, struct bfd_link_info *, int, int, int, int, int, int);
 
 extern void bfd_elf32_aarch64_set_options
-  (bfd *, struct bfd_link_info *, int, int, int, int, int);
+  (bfd *, struct bfd_link_info *, int, int, int, int, int, int);
 
 /* ELF AArch64 mapping symbol support.  */
 #define BFD_AARCH64_SPECIAL_SYM_TYPE_MAP	(1 << 0)
@@ -1033,6 +1070,10 @@
 
 extern bfd_boolean v850_elf_set_note
   (bfd *, unsigned int, unsigned int);
+
+/* MIPS ABI flags data access.  For the disassembler.  */
+struct elf_internal_abiflags_v0;
+extern struct elf_internal_abiflags_v0 *bfd_mips_elf_get_abiflags (bfd *);
 /* Extracted from init.c.  */
 void bfd_init (void);
 
@@ -1046,7 +1087,8 @@
 
 bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
 
-bfd *bfd_openstreamr (const char * filename, const char * target, void * stream);
+bfd *bfd_openstreamr (const char * filename, const char * target,
+    void * stream);
 
 bfd *bfd_openr_iovec (const char *filename, const char *target,
     void *(*open_func) (struct bfd *nbfd,
@@ -1098,6 +1140,8 @@
 bfd_boolean bfd_fill_in_gnu_debuglink_section
    (bfd *abfd, struct bfd_section *sect, const char *filename);
 
+char *bfd_follow_build_id_debuglink (bfd *abfd, const char *dir);
+
 /* Extracted from libbfd.c.  */
 
 /* Byte swapping macros for user section data.  */
@@ -1147,9 +1191,9 @@
 
 #define bfd_put(bits, abfd, val, ptr)                  \
   ((bits) == 8 ? bfd_put_8  (abfd, val, ptr)           \
-   : (bits) == 16 ? bfd_put_16 (abfd, val, ptr)                \
-   : (bits) == 32 ? bfd_put_32 (abfd, val, ptr)                \
-   : (bits) == 64 ? bfd_put_64 (abfd, val, ptr)                \
+   : (bits) == 16 ? bfd_put_16 (abfd, val, ptr)        \
+   : (bits) == 32 ? bfd_put_32 (abfd, val, ptr)        \
+   : (bits) == 64 ? bfd_put_64 (abfd, val, ptr)        \
    : (abort (), (void) 0))
 
 
@@ -1214,7 +1258,9 @@
 /* Extracted from bfdio.c.  */
 long bfd_get_mtime (bfd *abfd);
 
-file_ptr bfd_get_size (bfd *abfd);
+ufile_ptr bfd_get_size (bfd *abfd);
+
+ufile_ptr bfd_get_file_size (bfd *abfd);
 
 void *bfd_mmap (bfd *abfd, void *addr, bfd_size_type len,
     int prot, int flags, file_ptr offset,
@@ -1246,31 +1292,31 @@
      synthesized from other information.  */
   flagword flags;
 
-#define SEC_NO_FLAGS   0x000
+#define SEC_NO_FLAGS                      0x0
 
   /* Tells the OS to allocate space for this section when loading.
      This is clear for a section containing debug information only.  */
-#define SEC_ALLOC      0x001
+#define SEC_ALLOC                         0x1
 
   /* Tells the OS to load the section from the file when loading.
      This is clear for a .bss section.  */
-#define SEC_LOAD       0x002
+#define SEC_LOAD                          0x2
 
   /* The section contains data still to be relocated, so there is
      some relocation information too.  */
-#define SEC_RELOC      0x004
+#define SEC_RELOC                         0x4
 
   /* A signal to the OS that the section contains read only data.  */
-#define SEC_READONLY   0x008
+#define SEC_READONLY                      0x8
 
   /* The section contains code only.  */
-#define SEC_CODE       0x010
+#define SEC_CODE                         0x10
 
   /* The section contains data only.  */
-#define SEC_DATA       0x020
+#define SEC_DATA                         0x20
 
   /* The section will reside in ROM.  */
-#define SEC_ROM        0x040
+#define SEC_ROM                          0x40
 
   /* The section contains constructor information. This section
      type is used by the linker to create lists of constructors and
@@ -1282,75 +1328,72 @@
      sections called <<__CTOR_LIST__>> and relocate the data
      contained within - exactly the operations it would peform on
      standard data.  */
-#define SEC_CONSTRUCTOR 0x080
+#define SEC_CONSTRUCTOR                  0x80
 
   /* The section has contents - a data section could be
      <<SEC_ALLOC>> | <<SEC_HAS_CONTENTS>>; a debug section could be
      <<SEC_HAS_CONTENTS>>  */
-#define SEC_HAS_CONTENTS 0x100
+#define SEC_HAS_CONTENTS                0x100
 
   /* An instruction to the linker to not output the section
      even if it has information which would normally be written.  */
-#define SEC_NEVER_LOAD 0x200
+#define SEC_NEVER_LOAD                  0x200
 
   /* The section contains thread local data.  */
-#define SEC_THREAD_LOCAL 0x400
-
-  /* The section has GOT references.  This flag is only for the
-     linker, and is currently only used by the elf32-hppa back end.
-     It will be set if global offset table references were detected
-     in this section, which indicate to the linker that the section
-     contains PIC code, and must be handled specially when doing a
-     static link.  */
-#define SEC_HAS_GOT_REF 0x800
+#define SEC_THREAD_LOCAL                0x400
+
+  /* The section's size is fixed.  Generic linker code will not
+     recalculate it and it is up to whoever has set this flag to
+     get the size right.  */
+#define SEC_FIXED_SIZE                  0x800
 
   /* The section contains common symbols (symbols may be defined
      multiple times, the value of a symbol is the amount of
      space it requires, and the largest symbol value is the one
      used).  Most targets have exactly one of these (which we
      translate to bfd_com_section_ptr), but ECOFF has two.  */
-#define SEC_IS_COMMON 0x1000
+#define SEC_IS_COMMON                  0x1000
 
   /* The section contains only debugging information.  For
      example, this is set for ELF .debug and .stab sections.
      strip tests this flag to see if a section can be
      discarded.  */
-#define SEC_DEBUGGING 0x2000
+#define SEC_DEBUGGING                  0x2000
 
   /* The contents of this section are held in memory pointed to
      by the contents field.  This is checked by bfd_get_section_contents,
      and the data is retrieved from memory if appropriate.  */
-#define SEC_IN_MEMORY 0x4000
+#define SEC_IN_MEMORY                  0x4000
 
   /* The contents of this section are to be excluded by the
      linker for executable and shared objects unless those
      objects are to be further relocated.  */
-#define SEC_EXCLUDE 0x8000
+#define SEC_EXCLUDE                    0x8000
 
   /* The contents of this section are to be sorted based on the sum of
      the symbol and addend values specified by the associated relocation
      entries.  Entries without associated relocation entries will be
      appended to the end of the section in an unspecified order.  */
-#define SEC_SORT_ENTRIES 0x10000
+#define SEC_SORT_ENTRIES              0x10000
 
   /* When linking, duplicate sections of the same name should be
      discarded, rather than being combined into a single section as
      is usually done.  This is similar to how common symbols are
      handled.  See SEC_LINK_DUPLICATES below.  */
-#define SEC_LINK_ONCE 0x20000
+#define SEC_LINK_ONCE                 0x20000
 
   /* If SEC_LINK_ONCE is set, this bitfield describes how the linker
      should handle duplicate sections.  */
-#define SEC_LINK_DUPLICATES 0xc0000
+#define SEC_LINK_DUPLICATES           0xc0000
 
   /* This value for SEC_LINK_DUPLICATES means that duplicate
      sections with the same name should simply be discarded.  */
-#define SEC_LINK_DUPLICATES_DISCARD 0x0
+#define SEC_LINK_DUPLICATES_DISCARD       0x0
 
   /* This value for SEC_LINK_DUPLICATES means that the linker
      should warn if there are any duplicate sections, although
      it should still only link one copy.  */
-#define SEC_LINK_DUPLICATES_ONE_ONLY 0x40000
+#define SEC_LINK_DUPLICATES_ONE_ONLY  0x40000
 
   /* This value for SEC_LINK_DUPLICATES means that the linker
      should warn if any duplicate sections are a different size.  */
@@ -1366,28 +1409,28 @@
      relocation or other arcane processing.  It is skipped when
      going through the first-pass output, trusting that someone
      else up the line will take care of it later.  */
-#define SEC_LINKER_CREATED 0x100000
+#define SEC_LINKER_CREATED           0x100000
 
   /* This section should not be subject to garbage collection.
      Also set to inform the linker that this section should not be
      listed in the link map as discarded.  */
-#define SEC_KEEP 0x200000
+#define SEC_KEEP                     0x200000
 
   /* This section contains "short" data, and should be placed
      "near" the GP.  */
-#define SEC_SMALL_DATA 0x400000
+#define SEC_SMALL_DATA               0x400000
 
   /* Attempt to merge identical entities in the section.
      Entity size is given in the entsize field.  */
-#define SEC_MERGE 0x800000
+#define SEC_MERGE                    0x800000
 
   /* If given with SEC_MERGE, entities to merge are zero terminated
      strings where entsize specifies character size instead of fixed
      size entries.  */
-#define SEC_STRINGS 0x1000000
+#define SEC_STRINGS                 0x1000000
 
   /* This section contains data about section groups.  */
-#define SEC_GROUP 0x2000000
+#define SEC_GROUP                   0x2000000
 
   /* The section is a COFF shared library section.  This flag is
      only for the linker.  If this type of section appears in
@@ -1398,43 +1441,46 @@
      might be cleaner to have some more general mechanism to
      allow the back end to control what the linker does with
      sections.  */
-#define SEC_COFF_SHARED_LIBRARY 0x4000000
+#define SEC_COFF_SHARED_LIBRARY     0x4000000
 
   /* This input section should be copied to output in reverse order
      as an array of pointers.  This is for ELF linker internal use
      only.  */
-#define SEC_ELF_REVERSE_COPY 0x4000000
+#define SEC_ELF_REVERSE_COPY        0x4000000
 
   /* This section contains data which may be shared with other
      executables or shared objects. This is for COFF only.  */
-#define SEC_COFF_SHARED 0x8000000
+#define SEC_COFF_SHARED             0x8000000
 
   /* This section should be compressed.  This is for ELF linker
      internal use only.  */
-#define SEC_ELF_COMPRESS 0x8000000
+#define SEC_ELF_COMPRESS            0x8000000
 
   /* When a section with this flag is being linked, then if the size of
      the input section is less than a page, it should not cross a page
      boundary.  If the size of the input section is one page or more,
      it should be aligned on a page boundary.  This is for TI
      TMS320C54X only.  */
-#define SEC_TIC54X_BLOCK 0x10000000
+#define SEC_TIC54X_BLOCK           0x10000000
 
   /* This section should be renamed.  This is for ELF linker
      internal use only.  */
-#define SEC_ELF_RENAME 0x10000000
+#define SEC_ELF_RENAME             0x10000000
 
   /* Conditionally link this section; do not link if there are no
      references found to any symbol in the section.  This is for TI
      TMS320C54X only.  */
-#define SEC_TIC54X_CLINK 0x20000000
+#define SEC_TIC54X_CLINK           0x20000000
 
   /* This section contains vliw code.  This is for Toshiba MeP only.  */
-#define SEC_MEP_VLIW 0x20000000
+#define SEC_MEP_VLIW               0x20000000
 
   /* Indicate that section has the no read flag set. This happens
      when memory read flag isn't set. */
-#define SEC_COFF_NOREAD 0x40000000
+#define SEC_COFF_NOREAD            0x40000000
+
+  /* Indicate that section has the purecode flag set.  */
+#define SEC_ELF_PURECODE           0x80000000
 
   /*  End of section flags.  */
 
@@ -1502,7 +1548,7 @@
       information.  */
   bfd_vma lma;
 
-  /* The size of the section in octets, as it will be output.
+  /* The size of the section in *octets*, as it will be output.
      Contains a value even if the section has no contents (e.g., the
      size of <<.bss>>).  */
   bfd_size_type size;
@@ -1632,7 +1678,8 @@
    would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
    compilers will complain about comma expressions that have no effect.  */
 static inline bfd_boolean
-bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val)
+bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr,
+                          void * val)
 {
   ptr->userdata = val;
   return TRUE;
@@ -1647,7 +1694,8 @@
 }
 
 static inline bfd_boolean
-bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val)
+bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr,
+                           unsigned int val)
 {
   ptr->alignment_power = val;
   return TRUE;
@@ -1772,9 +1820,9 @@
 #define bfd_section_removed_from_list(ABFD, S) \
   ((S)->next == NULL ? (ABFD)->section_last != (S) : (S)->next->prev != (S))
 
-#define BFD_FAKE_SECTION(SEC, FLAGS, SYM, NAME, IDX)                   \
+#define BFD_FAKE_SECTION(SEC, SYM, NAME, IDX, FLAGS)                   \
   /* name, id,  index, next, prev, flags, user_set_vma,            */  \
-  { NAME,  IDX, 0,     NULL, NULL, FLAGS, 0,                           \
+  {  NAME, IDX, 0,     NULL, NULL, FLAGS, 0,                           \
                                                                        \
   /* linker_mark, linker_has_input, gc_mark, decompress_status,    */  \
      0,           0,                1,       0,                        \
@@ -1810,6 +1858,18 @@
      { NULL }, { NULL }                                                \
     }
 
+/* We use a macro to initialize the static asymbol structures because
+   traditional C does not permit us to initialize a union member while
+   gcc warns if we don't initialize it.
+   the_bfd, name, value, attr, section [, udata]  */
+#ifdef __STDC__
+#define GLOBAL_SYM_INIT(NAME, SECTION) \
+  { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 }}
+#else
+#define GLOBAL_SYM_INIT(NAME, SECTION) \
+  { 0, NAME, 0, BSF_SECTION_SYM, SECTION }
+#endif
+
 void bfd_section_list_clear (bfd *);
 
 asection *bfd_get_section_by_name (bfd *abfd, const char *name);
@@ -1839,8 +1899,6 @@
 
 asection *bfd_make_section (bfd *, const char *name);
 
-int bfd_get_next_section_id (void);
-
 bfd_boolean bfd_set_section_flags
    (bfd *abfd, asection *sec, flagword flags);
 
@@ -1875,8 +1933,8 @@
    (bfd *ibfd, asection *isec, bfd *obfd, asection *osec);
 
 #define bfd_copy_private_section_data(ibfd, isection, obfd, osection) \
-     BFD_SEND (obfd, _bfd_copy_private_section_data, \
-               (ibfd, isection, obfd, osection))
+       BFD_SEND (obfd, _bfd_copy_private_section_data, \
+                 (ibfd, isection, obfd, osection))
 bfd_boolean bfd_generic_is_group_section (bfd *, const asection *sec);
 
 bfd_boolean bfd_generic_discard_group (bfd *abfd, asection *group);
@@ -1886,62 +1944,45 @@
 {
   bfd_arch_unknown,   /* File arch not known.  */
   bfd_arch_obscure,   /* Arch known, not one of these.  */
-  bfd_arch_m68k,      /* Motorola 68xxx */
-#define bfd_mach_m68000 1
-#define bfd_mach_m68008 2
-#define bfd_mach_m68010 3
-#define bfd_mach_m68020 4
-#define bfd_mach_m68030 5
-#define bfd_mach_m68040 6
-#define bfd_mach_m68060 7
-#define bfd_mach_cpu32  8
-#define bfd_mach_fido   9
-#define bfd_mach_mcf_isa_a_nodiv 10
-#define bfd_mach_mcf_isa_a 11
-#define bfd_mach_mcf_isa_a_mac 12
-#define bfd_mach_mcf_isa_a_emac 13
-#define bfd_mach_mcf_isa_aplus 14
-#define bfd_mach_mcf_isa_aplus_mac 15
-#define bfd_mach_mcf_isa_aplus_emac 16
-#define bfd_mach_mcf_isa_b_nousp 17
-#define bfd_mach_mcf_isa_b_nousp_mac 18
-#define bfd_mach_mcf_isa_b_nousp_emac 19
-#define bfd_mach_mcf_isa_b 20
-#define bfd_mach_mcf_isa_b_mac 21
-#define bfd_mach_mcf_isa_b_emac 22
-#define bfd_mach_mcf_isa_b_float 23
-#define bfd_mach_mcf_isa_b_float_mac 24
-#define bfd_mach_mcf_isa_b_float_emac 25
-#define bfd_mach_mcf_isa_c 26
-#define bfd_mach_mcf_isa_c_mac 27
-#define bfd_mach_mcf_isa_c_emac 28
-#define bfd_mach_mcf_isa_c_nodiv 29
-#define bfd_mach_mcf_isa_c_nodiv_mac 30
-#define bfd_mach_mcf_isa_c_nodiv_emac 31
-  bfd_arch_vax,       /* DEC Vax */
-  bfd_arch_i960,      /* Intel 960 */
-    /* The order of the following is important.
-       lower number indicates a machine type that
-       only accepts a subset of the instructions
-       available to machines with higher numbers.
-       The exception is the "ca", which is
-       incompatible with all other machines except
-       "core".  */
-
-#define bfd_mach_i960_core      1
-#define bfd_mach_i960_ka_sa     2
-#define bfd_mach_i960_kb_sb     3
-#define bfd_mach_i960_mc        4
-#define bfd_mach_i960_xa        5
-#define bfd_mach_i960_ca        6
-#define bfd_mach_i960_jx        7
-#define bfd_mach_i960_hx        8
-
-  bfd_arch_or1k,      /* OpenRISC 1000 */
-#define bfd_mach_or1k           1
-#define bfd_mach_or1knd         2
-
-  bfd_arch_sparc,     /* SPARC */
+  bfd_arch_m68k,      /* Motorola 68xxx.  */
+#define bfd_mach_m68000                1
+#define bfd_mach_m68008                2
+#define bfd_mach_m68010                3
+#define bfd_mach_m68020                4
+#define bfd_mach_m68030                5
+#define bfd_mach_m68040                6
+#define bfd_mach_m68060                7
+#define bfd_mach_cpu32                 8
+#define bfd_mach_fido                  9
+#define bfd_mach_mcf_isa_a_nodiv       10
+#define bfd_mach_mcf_isa_a             11
+#define bfd_mach_mcf_isa_a_mac         12
+#define bfd_mach_mcf_isa_a_emac        13
+#define bfd_mach_mcf_isa_aplus         14
+#define bfd_mach_mcf_isa_aplus_mac     15
+#define bfd_mach_mcf_isa_aplus_emac    16
+#define bfd_mach_mcf_isa_b_nousp       17
+#define bfd_mach_mcf_isa_b_nousp_mac   18
+#define bfd_mach_mcf_isa_b_nousp_emac  19
+#define bfd_mach_mcf_isa_b             20
+#define bfd_mach_mcf_isa_b_mac         21
+#define bfd_mach_mcf_isa_b_emac        22
+#define bfd_mach_mcf_isa_b_float       23
+#define bfd_mach_mcf_isa_b_float_mac   24
+#define bfd_mach_mcf_isa_b_float_emac  25
+#define bfd_mach_mcf_isa_c             26
+#define bfd_mach_mcf_isa_c_mac         27
+#define bfd_mach_mcf_isa_c_emac        28
+#define bfd_mach_mcf_isa_c_nodiv       29
+#define bfd_mach_mcf_isa_c_nodiv_mac   30
+#define bfd_mach_mcf_isa_c_nodiv_emac  31
+  bfd_arch_vax,       /* DEC Vax.  */
+
+  bfd_arch_or1k,      /* OpenRISC 1000.  */
+#define bfd_mach_or1k          1
+#define bfd_mach_or1knd        2
+
+  bfd_arch_sparc,     /* SPARC.  */
 #define bfd_mach_sparc                 1
 /* The difference between v8plus and v9 is that v9 is a true 64 bit env.  */
 #define bfd_mach_sparc_sparclet        2
@@ -1953,16 +1994,35 @@
 #define bfd_mach_sparc_v9a             8 /* with ultrasparc add'ns.  */
 #define bfd_mach_sparc_v8plusb         9 /* with cheetah add'ns.  */
 #define bfd_mach_sparc_v9b             10 /* with cheetah add'ns.  */
+#define bfd_mach_sparc_v8plusc         11 /* with UA2005 and T1 add'ns.  */
+#define bfd_mach_sparc_v9c             12 /* with UA2005 and T1 add'ns.  */
+#define bfd_mach_sparc_v8plusd         13 /* with UA2007 and T3 add'ns.  */
+#define bfd_mach_sparc_v9d             14 /* with UA2007 and T3 add'ns.  */
+#define bfd_mach_sparc_v8pluse         15 /* with OSA2001 and T4 add'ns (no IMA).  */
+#define bfd_mach_sparc_v9e             16 /* with OSA2001 and T4 add'ns (no IMA).  */
+#define bfd_mach_sparc_v8plusv         17 /* with OSA2011 and T4 and IMA and FJMAU add'ns.  */
+#define bfd_mach_sparc_v9v             18 /* with OSA2011 and T4 and IMA and FJMAU add'ns.  */
+#define bfd_mach_sparc_v8plusm         19 /* with OSA2015 and M7 add'ns.  */
+#define bfd_mach_sparc_v9m             20 /* with OSA2015 and M7 add'ns.  */
+#define bfd_mach_sparc_v8plusm8        21 /* with OSA2017 and M8 add'ns.  */
+#define bfd_mach_sparc_v9m8            22 /* with OSA2017 and M8 add'ns.  */
 /* Nonzero if MACH has the v9 instruction set.  */
 #define bfd_mach_sparc_v9_p(mach) \
-  ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \
+  ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9m8 \
    && (mach) != bfd_mach_sparc_sparclite_le)
 /* Nonzero if MACH is a 64 bit sparc architecture.  */
 #define bfd_mach_sparc_64bit_p(mach) \
-  ((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb)
-  bfd_arch_spu,       /* PowerPC SPU */
+  ((mach) >= bfd_mach_sparc_v9 \
+   && (mach) != bfd_mach_sparc_v8plusb \
+   && (mach) != bfd_mach_sparc_v8plusc \
+   && (mach) != bfd_mach_sparc_v8plusd \
+   && (mach) != bfd_mach_sparc_v8pluse \
+   && (mach) != bfd_mach_sparc_v8plusv \
+   && (mach) != bfd_mach_sparc_v8plusm \
+   && (mach) != bfd_mach_sparc_v8plusm8)
+  bfd_arch_spu,       /* PowerPC SPU.  */
 #define bfd_mach_spu           256
-  bfd_arch_mips,      /* MIPS Rxxxx */
+  bfd_arch_mips,      /* MIPS Rxxxx.  */
 #define bfd_mach_mips3000              3000
 #define bfd_mach_mips3900              3900
 #define bfd_mach_mips4000              4000
@@ -1991,12 +2051,13 @@
 #define bfd_mach_mips_loongson_2e      3001
 #define bfd_mach_mips_loongson_2f      3002
 #define bfd_mach_mips_loongson_3a      3003
-#define bfd_mach_mips_sb1              12310201 /* octal 'SB', 01 */
+#define bfd_mach_mips_sb1              12310201 /* octal 'SB', 01.  */
 #define bfd_mach_mips_octeon           6501
 #define bfd_mach_mips_octeonp          6601
 #define bfd_mach_mips_octeon2          6502
 #define bfd_mach_mips_octeon3          6503
-#define bfd_mach_mips_xlr              887682   /* decimal 'XLR'  */
+#define bfd_mach_mips_xlr              887682   /* decimal 'XLR'.  */
+#define bfd_mach_mips_interaptiv_mr2   736550   /* decimal 'IA2'.  */
 #define bfd_mach_mipsisa32             32
 #define bfd_mach_mipsisa32r2           33
 #define bfd_mach_mipsisa32r3           34
@@ -2008,7 +2069,7 @@
 #define bfd_mach_mipsisa64r5           68
 #define bfd_mach_mipsisa64r6           69
 #define bfd_mach_mips_micromips        96
-  bfd_arch_i386,      /* Intel 386 */
+  bfd_arch_i386,      /* Intel 386.  */
 #define bfd_mach_i386_intel_syntax     (1 << 0)
 #define bfd_mach_i386_i8086            (1 << 1)
 #define bfd_mach_i386_i386             (1 << 2)
@@ -2017,40 +2078,35 @@
 #define bfd_mach_i386_i386_intel_syntax (bfd_mach_i386_i386 | bfd_mach_i386_intel_syntax)
 #define bfd_mach_x86_64_intel_syntax   (bfd_mach_x86_64 | bfd_mach_i386_intel_syntax)
 #define bfd_mach_x64_32_intel_syntax   (bfd_mach_x64_32 | bfd_mach_i386_intel_syntax)
-  bfd_arch_l1om,   /* Intel L1OM */
+  bfd_arch_l1om,      /* Intel L1OM.  */
 #define bfd_mach_l1om                  (1 << 5)
 #define bfd_mach_l1om_intel_syntax     (bfd_mach_l1om | bfd_mach_i386_intel_syntax)
-  bfd_arch_k1om,   /* Intel K1OM */
+  bfd_arch_k1om,      /* Intel K1OM.  */
 #define bfd_mach_k1om                  (1 << 6)
 #define bfd_mach_k1om_intel_syntax     (bfd_mach_k1om | bfd_mach_i386_intel_syntax)
 #define bfd_mach_i386_nacl             (1 << 7)
 #define bfd_mach_i386_i386_nacl        (bfd_mach_i386_i386 | bfd_mach_i386_nacl)
 #define bfd_mach_x86_64_nacl           (bfd_mach_x86_64 | bfd_mach_i386_nacl)
 #define bfd_mach_x64_32_nacl           (bfd_mach_x64_32 | bfd_mach_i386_nacl)
-  bfd_arch_iamcu,   /* Intel MCU */
+  bfd_arch_iamcu,     /* Intel MCU.  */
 #define bfd_mach_iamcu                 (1 << 8)
 #define bfd_mach_i386_iamcu            (bfd_mach_i386_i386 | bfd_mach_iamcu)
 #define bfd_mach_i386_iamcu_intel_syntax (bfd_mach_i386_iamcu | bfd_mach_i386_intel_syntax)
-  bfd_arch_we32k,     /* AT&T WE32xxx */
-  bfd_arch_tahoe,     /* CCI/Harris Tahoe */
-  bfd_arch_i860,      /* Intel 860 */
-  bfd_arch_i370,      /* IBM 360/370 Mainframes */
-  bfd_arch_romp,      /* IBM ROMP PC/RT */
-  bfd_arch_convex,    /* Convex */
-  bfd_arch_m88k,      /* Motorola 88xxx */
-  bfd_arch_m98k,      /* Motorola 98xxx */
-  bfd_arch_pyramid,   /* Pyramid Technology */
-  bfd_arch_h8300,     /* Renesas H8/300 (formerly Hitachi H8/300) */
-#define bfd_mach_h8300    1
-#define bfd_mach_h8300h   2
-#define bfd_mach_h8300s   3
-#define bfd_mach_h8300hn  4
-#define bfd_mach_h8300sn  5
-#define bfd_mach_h8300sx  6
-#define bfd_mach_h8300sxn 7
-  bfd_arch_pdp11,     /* DEC PDP-11 */
+  bfd_arch_romp,      /* IBM ROMP PC/RT.  */
+  bfd_arch_convex,    /* Convex.  */
+  bfd_arch_m98k,      /* Motorola 98xxx.  */
+  bfd_arch_pyramid,   /* Pyramid Technology.  */
+  bfd_arch_h8300,     /* Renesas H8/300 (formerly Hitachi H8/300).  */
+#define bfd_mach_h8300         1
+#define bfd_mach_h8300h        2
+#define bfd_mach_h8300s        3
+#define bfd_mach_h8300hn       4
+#define bfd_mach_h8300sn       5
+#define bfd_mach_h8300sx       6
+#define bfd_mach_h8300sxn      7
+  bfd_arch_pdp11,     /* DEC PDP-11.  */
   bfd_arch_plugin,
-  bfd_arch_powerpc,   /* PowerPC */
+  bfd_arch_powerpc,   /* PowerPC.  */
 #define bfd_mach_ppc           32
 #define bfd_mach_ppc64         64
 #define bfd_mach_ppc_403       403
@@ -2077,62 +2133,59 @@
 #define bfd_mach_ppc_e6500     5007
 #define bfd_mach_ppc_titan     83
 #define bfd_mach_ppc_vle       84
-  bfd_arch_riscv,     /* RISC-V */
-#define bfd_mach_riscv32       132
-#define bfd_mach_riscv64       164
-  bfd_arch_rs6000,    /* IBM RS/6000 */
+  bfd_arch_rs6000,    /* IBM RS/6000.  */
 #define bfd_mach_rs6k          6000
 #define bfd_mach_rs6k_rs1      6001
 #define bfd_mach_rs6k_rsc      6003
 #define bfd_mach_rs6k_rs2      6002
-  bfd_arch_hppa,      /* HP PA RISC */
+  bfd_arch_hppa,      /* HP PA RISC.  */
 #define bfd_mach_hppa10        10
 #define bfd_mach_hppa11        11
 #define bfd_mach_hppa20        20
 #define bfd_mach_hppa20w       25
-  bfd_arch_d10v,      /* Mitsubishi D10V */
+  bfd_arch_d10v,      /* Mitsubishi D10V.  */
 #define bfd_mach_d10v          1
 #define bfd_mach_d10v_ts2      2
 #define bfd_mach_d10v_ts3      3
-  bfd_arch_d30v,      /* Mitsubishi D30V */
-  bfd_arch_dlx,       /* DLX */
-  bfd_arch_m68hc11,   /* Motorola 68HC11 */
-  bfd_arch_m68hc12,   /* Motorola 68HC12 */
+  bfd_arch_d30v,      /* Mitsubishi D30V.  */
+  bfd_arch_dlx,       /* DLX.  */
+  bfd_arch_m68hc11,   /* Motorola 68HC11.  */
+  bfd_arch_m68hc12,   /* Motorola 68HC12.  */
 #define bfd_mach_m6812_default 0
 #define bfd_mach_m6812         1
 #define bfd_mach_m6812s        2
-  bfd_arch_m9s12x,   /* Freescale S12X */
-  bfd_arch_m9s12xg,  /* Freescale XGATE */
-  bfd_arch_z8k,       /* Zilog Z8000 */
+  bfd_arch_m9s12x,    /* Freescale S12X.  */
+  bfd_arch_m9s12xg,   /* Freescale XGATE.  */
+  bfd_arch_s12z,    /* Freescale S12Z.  */
+#define bfd_mach_s12z_default 0
+  bfd_arch_z8k,       /* Zilog Z8000.  */
 #define bfd_mach_z8001         1
 #define bfd_mach_z8002         2
-  bfd_arch_h8500,     /* Renesas H8/500 (formerly Hitachi H8/500) */
-  bfd_arch_sh,        /* Renesas / SuperH SH (formerly Hitachi SH) */
-#define bfd_mach_sh            1
-#define bfd_mach_sh2        0x20
-#define bfd_mach_sh_dsp     0x2d
-#define bfd_mach_sh2a       0x2a
-#define bfd_mach_sh2a_nofpu 0x2b
+  bfd_arch_sh,        /* Renesas / SuperH SH (formerly Hitachi SH).  */
+#define bfd_mach_sh                            1
+#define bfd_mach_sh2                           0x20
+#define bfd_mach_sh_dsp                        0x2d
+#define bfd_mach_sh2a                          0x2a
+#define bfd_mach_sh2a_nofpu                    0x2b
 #define bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu 0x2a1
-#define bfd_mach_sh2a_nofpu_or_sh3_nommu 0x2a2
-#define bfd_mach_sh2a_or_sh4  0x2a3
-#define bfd_mach_sh2a_or_sh3e 0x2a4
-#define bfd_mach_sh2e       0x2e
-#define bfd_mach_sh3        0x30
-#define bfd_mach_sh3_nommu  0x31
-#define bfd_mach_sh3_dsp    0x3d
-#define bfd_mach_sh3e       0x3e
-#define bfd_mach_sh4        0x40
-#define bfd_mach_sh4_nofpu  0x41
-#define bfd_mach_sh4_nommu_nofpu  0x42
-#define bfd_mach_sh4a       0x4a
-#define bfd_mach_sh4a_nofpu 0x4b
-#define bfd_mach_sh4al_dsp  0x4d
-#define bfd_mach_sh5        0x50
-  bfd_arch_alpha,     /* Dec Alpha */
-#define bfd_mach_alpha_ev4  0x10
-#define bfd_mach_alpha_ev5  0x20
-#define bfd_mach_alpha_ev6  0x30
+#define bfd_mach_sh2a_nofpu_or_sh3_nommu       0x2a2
+#define bfd_mach_sh2a_or_sh4                   0x2a3
+#define bfd_mach_sh2a_or_sh3e                  0x2a4
+#define bfd_mach_sh2e                          0x2e
+#define bfd_mach_sh3                           0x30
+#define bfd_mach_sh3_nommu                     0x31
+#define bfd_mach_sh3_dsp                       0x3d
+#define bfd_mach_sh3e                          0x3e
+#define bfd_mach_sh4                           0x40
+#define bfd_mach_sh4_nofpu                     0x41
+#define bfd_mach_sh4_nommu_nofpu               0x42
+#define bfd_mach_sh4a                          0x4a
+#define bfd_mach_sh4a_nofpu                    0x4b
+#define bfd_mach_sh4al_dsp                     0x4d
+  bfd_arch_alpha,     /* Dec Alpha.  */
+#define bfd_mach_alpha_ev4     0x10
+#define bfd_mach_alpha_ev5     0x20
+#define bfd_mach_alpha_ev6     0x30
   bfd_arch_arm,       /* Advanced Risc Machines ARM.  */
 #define bfd_mach_arm_unknown   0
 #define bfd_mach_arm_2         1
@@ -2148,46 +2201,45 @@
 #define bfd_mach_arm_ep9312    11
 #define bfd_mach_arm_iWMMXt    12
 #define bfd_mach_arm_iWMMXt2   13
-  bfd_arch_nds32,     /* Andes NDS32 */
+  bfd_arch_nds32,     /* Andes NDS32.  */
 #define bfd_mach_n1            1
 #define bfd_mach_n1h           2
 #define bfd_mach_n1h_v2        3
 #define bfd_mach_n1h_v3        4
 #define bfd_mach_n1h_v3m       5
-  bfd_arch_ns32k,     /* National Semiconductors ns32000 */
-  bfd_arch_w65,       /* WDC 65816 */
-  bfd_arch_tic30,     /* Texas Instruments TMS320C30 */
-  bfd_arch_tic4x,     /* Texas Instruments TMS320C3X/4X */
+  bfd_arch_ns32k,     /* National Semiconductors ns32000.  */
+  bfd_arch_tic30,     /* Texas Instruments TMS320C30.  */
+  bfd_arch_tic4x,     /* Texas Instruments TMS320C3X/4X.  */
 #define bfd_mach_tic3x         30
 #define bfd_mach_tic4x         40
-  bfd_arch_tic54x,    /* Texas Instruments TMS320C54X */
-  bfd_arch_tic6x,     /* Texas Instruments TMS320C6X */
-  bfd_arch_tic80,     /* TI TMS320c80 (MVP) */
-  bfd_arch_v850,      /* NEC V850 */
-  bfd_arch_v850_rh850,/* NEC V850 (using RH850 ABI) */
+  bfd_arch_tic54x,    /* Texas Instruments TMS320C54X.  */
+  bfd_arch_tic6x,     /* Texas Instruments TMS320C6X.  */
+  bfd_arch_tic80,     /* TI TMS320c80 (MVP).  */
+  bfd_arch_v850,      /* NEC V850.  */
+  bfd_arch_v850_rh850,/* NEC V850 (using RH850 ABI).  */
 #define bfd_mach_v850          1
 #define bfd_mach_v850e         'E'
 #define bfd_mach_v850e1        '1'
 #define bfd_mach_v850e2        0x4532
 #define bfd_mach_v850e2v3      0x45325633
-#define bfd_mach_v850e3v5      0x45335635 /* ('E'|'3'|'V'|'5') */
-  bfd_arch_arc,       /* ARC Cores */
+#define bfd_mach_v850e3v5      0x45335635 /* ('E'|'3'|'V'|'5').  */
+  bfd_arch_arc,       /* ARC Cores.  */
 #define bfd_mach_arc_a4        0
 #define bfd_mach_arc_a5        1
 #define bfd_mach_arc_arc600    2
 #define bfd_mach_arc_arc601    4
 #define bfd_mach_arc_arc700    3
 #define bfd_mach_arc_arcv2     5
- bfd_arch_m32c,     /* Renesas M16C/M32C.  */
-#define bfd_mach_m16c        0x75
-#define bfd_mach_m32c        0x78
-  bfd_arch_m32r,      /* Renesas M32R (formerly Mitsubishi M32R/D) */
+ bfd_arch_m32c,       /* Renesas M16C/M32C.  */
+#define bfd_mach_m16c          0x75
+#define bfd_mach_m32c          0x78
+  bfd_arch_m32r,      /* Renesas M32R (formerly Mitsubishi M32R/D).  */
 #define bfd_mach_m32r          1 /* For backwards compatibility.  */
 #define bfd_mach_m32rx         'x'
 #define bfd_mach_m32r2         '2'
-  bfd_arch_mn10200,   /* Matsushita MN10200 */
-  bfd_arch_mn10300,   /* Matsushita MN10300 */
-#define bfd_mach_mn10300               300
+  bfd_arch_mn10200,   /* Matsushita MN10200.  */
+  bfd_arch_mn10300,   /* Matsushita MN10300.  */
+#define bfd_mach_mn10300       300
 #define bfd_mach_am33          330
 #define bfd_mach_am33_2        332
   bfd_arch_fr30,
@@ -2198,13 +2250,14 @@
 #define bfd_mach_fr300         300
 #define bfd_mach_fr400         400
 #define bfd_mach_fr450         450
-#define bfd_mach_frvtomcat     499     /* fr500 prototype */
+#define bfd_mach_frvtomcat     499     /* fr500 prototype.  */
 #define bfd_mach_fr500         500
 #define bfd_mach_fr550         550
-  bfd_arch_moxie,       /* The moxie processor */
+  bfd_arch_moxie,     /* The moxie processor.  */
 #define bfd_mach_moxie         1
-  bfd_arch_ft32,       /* The ft32 processor */
+  bfd_arch_ft32,      /* The ft32 processor.  */
 #define bfd_mach_ft32          1
+#define bfd_mach_ft32b         2
   bfd_arch_mcore,
   bfd_arch_mep,
 #define bfd_mach_mep           1
@@ -2212,7 +2265,7 @@
 #define bfd_mach_mep_c5        0x6335
   bfd_arch_metag,
 #define bfd_mach_metag         1
-  bfd_arch_ia64,      /* HP/Intel ia64 */
+  bfd_arch_ia64,      /* HP/Intel ia64.  */
 #define bfd_mach_ia64_elf64    64
 #define bfd_mach_ia64_elf32    32
   bfd_arch_ip2k,      /* Ubicom IP2K microcontrollers. */
@@ -2221,7 +2274,7 @@
  bfd_arch_iq2000,     /* Vitesse IQ2000.  */
 #define bfd_mach_iq2000        1
 #define bfd_mach_iq10          2
-  bfd_arch_epiphany,   /* Adapteva EPIPHANY */
+  bfd_arch_epiphany,  /* Adapteva EPIPHANY.  */
 #define bfd_mach_epiphany16    1
 #define bfd_mach_epiphany32    2
   bfd_arch_mt,
@@ -2240,94 +2293,104 @@
 #define bfd_mach_avr5          5
 #define bfd_mach_avr51         51
 #define bfd_mach_avr6          6
-#define bfd_mach_avrtiny   100
-#define bfd_mach_avrxmega1 101
-#define bfd_mach_avrxmega2 102
-#define bfd_mach_avrxmega3 103
-#define bfd_mach_avrxmega4 104
-#define bfd_mach_avrxmega5 105
-#define bfd_mach_avrxmega6 106
-#define bfd_mach_avrxmega7 107
-  bfd_arch_bfin,        /* ADI Blackfin */
+#define bfd_mach_avrtiny       100
+#define bfd_mach_avrxmega1     101
+#define bfd_mach_avrxmega2     102
+#define bfd_mach_avrxmega3     103
+#define bfd_mach_avrxmega4     104
+#define bfd_mach_avrxmega5     105
+#define bfd_mach_avrxmega6     106
+#define bfd_mach_avrxmega7     107
+  bfd_arch_bfin,      /* ADI Blackfin.  */
 #define bfd_mach_bfin          1
-  bfd_arch_cr16,       /* National Semiconductor CompactRISC (ie CR16). */
+  bfd_arch_cr16,      /* National Semiconductor CompactRISC (ie CR16).  */
 #define bfd_mach_cr16          1
-  bfd_arch_cr16c,       /* National Semiconductor CompactRISC. */
+  bfd_arch_cr16c,     /* National Semiconductor CompactRISC.  */
 #define bfd_mach_cr16c         1
   bfd_arch_crx,       /*  National Semiconductor CRX.  */
 #define bfd_mach_crx           1
-  bfd_arch_cris,      /* Axis CRIS */
+  bfd_arch_cris,      /* Axis CRIS.  */
 #define bfd_mach_cris_v0_v10   255
 #define bfd_mach_cris_v32      32
 #define bfd_mach_cris_v10_v32  1032
+  bfd_arch_riscv,
+#define bfd_mach_riscv32       132
+#define bfd_mach_riscv64       164
   bfd_arch_rl78,
-#define bfd_mach_rl78  0x75
+#define bfd_mach_rl78          0x75
   bfd_arch_rx,        /* Renesas RX.  */
 #define bfd_mach_rx            0x75
-  bfd_arch_s390,      /* IBM s390 */
+  bfd_arch_s390,      /* IBM s390.  */
 #define bfd_mach_s390_31       31
 #define bfd_mach_s390_64       64
-  bfd_arch_score,     /* Sunplus score */
-#define bfd_mach_score3         3
-#define bfd_mach_score7         7
+  bfd_arch_score,     /* Sunplus score.  */
+#define bfd_mach_score3        3
+#define bfd_mach_score7        7
   bfd_arch_mmix,      /* Donald Knuth's educational processor.  */
   bfd_arch_xstormy16,
 #define bfd_mach_xstormy16     1
   bfd_arch_msp430,    /* Texas Instruments MSP430 architecture.  */
-#define bfd_mach_msp11          11
-#define bfd_mach_msp110         110
-#define bfd_mach_msp12          12
-#define bfd_mach_msp13          13
-#define bfd_mach_msp14          14
-#define bfd_mach_msp15          15
-#define bfd_mach_msp16          16
-#define bfd_mach_msp20          20
-#define bfd_mach_msp21          21
-#define bfd_mach_msp22          22
-#define bfd_mach_msp23          23
-#define bfd_mach_msp24          24
-#define bfd_mach_msp26          26
-#define bfd_mach_msp31          31
-#define bfd_mach_msp32          32
-#define bfd_mach_msp33          33
-#define bfd_mach_msp41          41
-#define bfd_mach_msp42          42
-#define bfd_mach_msp43          43
-#define bfd_mach_msp44          44
-#define bfd_mach_msp430x        45
-#define bfd_mach_msp46          46
-#define bfd_mach_msp47          47
-#define bfd_mach_msp54          54
-  bfd_arch_xc16x,     /* Infineon's XC16X Series.               */
+#define bfd_mach_msp11         11
+#define bfd_mach_msp110        110
+#define bfd_mach_msp12         12
+#define bfd_mach_msp13         13
+#define bfd_mach_msp14         14
+#define bfd_mach_msp15         15
+#define bfd_mach_msp16         16
+#define bfd_mach_msp20         20
+#define bfd_mach_msp21         21
+#define bfd_mach_msp22         22
+#define bfd_mach_msp23         23
+#define bfd_mach_msp24         24
+#define bfd_mach_msp26         26
+#define bfd_mach_msp31         31
+#define bfd_mach_msp32         32
+#define bfd_mach_msp33         33
+#define bfd_mach_msp41         41
+#define bfd_mach_msp42         42
+#define bfd_mach_msp43         43
+#define bfd_mach_msp44         44
+#define bfd_mach_msp430x       45
+#define bfd_mach_msp46         46
+#define bfd_mach_msp47         47
+#define bfd_mach_msp54         54
+  bfd_arch_xc16x,     /* Infineon's XC16X Series.  */
 #define bfd_mach_xc16x         1
 #define bfd_mach_xc16xl        2
 #define bfd_mach_xc16xs        3
-  bfd_arch_xgate,   /* Freescale XGATE */
+  bfd_arch_xgate,     /* Freescale XGATE.  */
 #define bfd_mach_xgate         1
   bfd_arch_xtensa,    /* Tensilica's Xtensa cores.  */
 #define bfd_mach_xtensa        1
   bfd_arch_z80,
-#define bfd_mach_z80strict      1 /* No undocumented opcodes.  */
-#define bfd_mach_z80            3 /* With ixl, ixh, iyl, and iyh.  */
-#define bfd_mach_z80full        7 /* All undocumented instructions.  */
-#define bfd_mach_r800           11 /* R800: successor with multiplication.  */
-  bfd_arch_lm32,      /* Lattice Mico32 */
-#define bfd_mach_lm32      1
-  bfd_arch_microblaze,/* Xilinx MicroBlaze. */
-  bfd_arch_tilepro,   /* Tilera TILEPro */
-  bfd_arch_tilegx, /* Tilera TILE-Gx */
-#define bfd_mach_tilepro   1
-#define bfd_mach_tilegx    1
-#define bfd_mach_tilegx32  2
-  bfd_arch_aarch64,   /* AArch64  */
+#define bfd_mach_z80strict     1 /* No undocumented opcodes.  */
+#define bfd_mach_z80           3 /* With ixl, ixh, iyl, and iyh.  */
+#define bfd_mach_z80full       7 /* All undocumented instructions.  */
+#define bfd_mach_r800          11 /* R800: successor with multiplication.  */
+  bfd_arch_lm32,      /* Lattice Mico32.  */
+#define bfd_mach_lm32          1
+  bfd_arch_microblaze,/* Xilinx MicroBlaze.  */
+  bfd_arch_tilepro,   /* Tilera TILEPro.  */
+  bfd_arch_tilegx,    /* Tilera TILE-Gx.  */
+#define bfd_mach_tilepro       1
+#define bfd_mach_tilegx        1
+#define bfd_mach_tilegx32      2
+  bfd_arch_aarch64,   /* AArch64.  */
 #define bfd_mach_aarch64 0
 #define bfd_mach_aarch64_ilp32 32
-  bfd_arch_nios2,      /* Nios II */
+  bfd_arch_nios2,     /* Nios II.  */
 #define bfd_mach_nios2         0
 #define bfd_mach_nios2r1       1
 #define bfd_mach_nios2r2       2
-  bfd_arch_visium,     /* Visium */
+  bfd_arch_visium,    /* Visium.  */
 #define bfd_mach_visium        1
+  bfd_arch_wasm32,    /* WebAssembly.  */
+#define bfd_mach_wasm32        1
+  bfd_arch_pru,       /* PRU.  */
+#define bfd_mach_pru           0
+  bfd_arch_nfp,       /* Netronome Flow Processor */
+#define bfd_mach_nfp3200       0x3200
+#define bfd_mach_nfp6000       0x6000
   bfd_arch_last
   };
 
@@ -2345,8 +2408,8 @@
      The default arch should be the first entry for an arch so that
      all the entries for that arch can be accessed via <<next>>.  */
   bfd_boolean the_default;
-  const struct bfd_arch_info * (*compatible)
-    (const struct bfd_arch_info *a, const struct bfd_arch_info *b);
+  const struct bfd_arch_info * (*compatible) (const struct bfd_arch_info *,
+                                              const struct bfd_arch_info *);
 
   bfd_boolean (*scan) (const struct bfd_arch_info *, const char *);
 
@@ -2371,6 +2434,9 @@
 
 void bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg);
 
+bfd_boolean bfd_default_set_arch_mach
+   (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
+
 enum bfd_architecture bfd_get_arch (bfd *abfd);
 
 unsigned long bfd_get_mach (bfd *abfd);
@@ -2396,8 +2462,9 @@
 
 typedef enum bfd_reloc_status
 {
-  /* No errors detected.  */
-  bfd_reloc_ok,
+  /* No errors detected.  Note - the value 2 is used so that it
+     will not be mistaken for the boolean TRUE or FALSE values.  */
+  bfd_reloc_ok = 2,
 
   /* The relocation was performed, but there was an overflow.  */
   bfd_reloc_overflow,
@@ -2417,10 +2484,9 @@
   /* The symbol to relocate against was undefined.  */
   bfd_reloc_undefined,
 
-  /* The relocation was performed, but may not be ok - presently
-     generated only when linking i960 coff files with i960 b.out
-     symbols.  If this type is returned, the error_message argument
-     to bfd_perform_relocation will be set.  */
+  /* The relocation was performed, but may not be ok.  If this type is
+     returned, the error_message argument to bfd_perform_relocation
+     will be set.  */
   bfd_reloc_dangerous
  }
  bfd_reloc_status_type;
@@ -2500,8 +2566,7 @@
 
   /* If this field is non null, then the supplied function is
      called rather than the normal function.  This allows really
-     strange relocation methods to be accommodated (e.g., i960 callj
-     instructions).  */
+     strange relocation methods to be accommodated.  */
   bfd_reloc_status_type (*special_function)
     (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
      bfd *, char **);
@@ -2545,7 +2610,7 @@
      slot of the instruction, so that a PC relative relocation can
      be made just by adding in an ordinary offset (e.g., sun3 a.out).
      Some formats leave the displacement part of an instruction
-     empty (e.g., m88k bcs); this flag signals the fact.  */
+     empty (e.g., ELF); this flag signals the fact.  */
   bfd_boolean pcrel_offset;
 };
 
@@ -2559,19 +2624,19 @@
   HOWTO ((C), 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL, \
          NULL, FALSE, 0, 0, FALSE)
 
-#define HOWTO_PREPARE(relocation, symbol)               \
-  {                                                     \
-    if (symbol != NULL)                                 \
-      {                                                 \
-        if (bfd_is_com_section (symbol->section))       \
-          {                                             \
-            relocation = 0;                             \
-          }                                             \
-        else                                            \
-          {                                             \
-            relocation = symbol->value;                 \
-          }                                             \
-      }                                                 \
+#define HOWTO_PREPARE(relocation, symbol)              \
+  {                                                    \
+    if (symbol != NULL)                                \
+      {                                                \
+        if (bfd_is_com_section (symbol->section))      \
+          {                                            \
+            relocation = 0;                            \
+          }                                            \
+        else                                           \
+          {                                            \
+            relocation = symbol->value;                \
+          }                                            \
+      }                                                \
   }
 
 unsigned int bfd_get_reloc_size (reloc_howto_type *);
@@ -2590,6 +2655,12 @@
     unsigned int addrsize,
     bfd_vma relocation);
 
+bfd_boolean bfd_reloc_offset_in_range
+   (reloc_howto_type *howto,
+    bfd *abfd,
+    asection *section,
+    bfd_size_type offset);
+
 bfd_reloc_status_type bfd_perform_relocation
    (bfd *abfd,
     arelent *reloc_entry,
@@ -2620,9 +2691,7 @@
 
 /* PC-relative relocations.  Sometimes these are relative to the address
 of the relocation itself; sometimes they are relative to the start of
-the section containing the relocation.  It depends on the specific target.
-
-The 24-bit relocation is used in some Intel 960 configurations.  */
+the section containing the relocation.  It depends on the specific target.  */
   BFD_RELOC_64_PCREL,
   BFD_RELOC_32_PCREL,
   BFD_RELOC_24_PCREL,
@@ -2714,9 +2783,6 @@
   BFD_RELOC_GPREL16,
   BFD_RELOC_GPREL32,
 
-/* Reloc types used for i960/b.out.  */
-  BFD_RELOC_I960_CALLJ,
-
 /* SPARC ELF relocations.  There is probably some overlap with other
 relocation types already defined.  */
   BFD_RELOC_NONE,
@@ -2990,6 +3056,9 @@
   BFD_RELOC_MICROMIPS_10_PCREL_S1,
   BFD_RELOC_MICROMIPS_16_PCREL_S1,
 
+/* MIPS16 PC-relative relocation.  */
+  BFD_RELOC_MIPS16_16_PCREL_S1,
+
 /* MIPS PC-relative relocations.  */
   BFD_RELOC_MIPS_21_PCREL_S2,
   BFD_RELOC_MIPS_26_PCREL_S2,
@@ -3075,6 +3144,11 @@
   BFD_RELOC_FT32_20,
   BFD_RELOC_FT32_17,
   BFD_RELOC_FT32_18,
+  BFD_RELOC_FT32_RELAX,
+  BFD_RELOC_FT32_SC0,
+  BFD_RELOC_FT32_SC1,
+  BFD_RELOC_FT32_15,
+  BFD_RELOC_FT32_DIFF32,
 
 
 /* Fujitsu Frv Relocations.  */
@@ -3310,6 +3384,7 @@
   BFD_RELOC_PPC_VLE_SDAREL_HI16D,
   BFD_RELOC_PPC_VLE_SDAREL_HA16A,
   BFD_RELOC_PPC_VLE_SDAREL_HA16D,
+  BFD_RELOC_PPC_16DX_HA,
   BFD_RELOC_PPC_REL16DX_HA,
   BFD_RELOC_PPC64_HIGHER,
   BFD_RELOC_PPC64_HIGHER_S,
@@ -3461,6 +3536,15 @@
   BFD_RELOC_ARM_THUMB_MOVW_PCREL,
   BFD_RELOC_ARM_THUMB_MOVT_PCREL,
 
+/* ARM FDPIC specific relocations.  */
+  BFD_RELOC_ARM_GOTFUNCDESC,
+  BFD_RELOC_ARM_GOTOFFFUNCDESC,
+  BFD_RELOC_ARM_FUNCDESC,
+  BFD_RELOC_ARM_FUNCDESC_VALUE,
+  BFD_RELOC_ARM_TLS_GD32_FDPIC,
+  BFD_RELOC_ARM_TLS_LDM32_FDPIC,
+  BFD_RELOC_ARM_TLS_IE32_FDPIC,
+
 /* Relocations for setting up GOTs and PLTs for shared libraries.  */
   BFD_RELOC_ARM_JUMP_SLOT,
   BFD_RELOC_ARM_GLOB_DAT,
@@ -3523,6 +3607,12 @@
 /* ARM support for STT_GNU_IFUNC.  */
   BFD_RELOC_ARM_IRELATIVE,
 
+/* Thumb1 relocations to support execute-only code.  */
+  BFD_RELOC_ARM_THUMB_ALU_ABS_G0_NC,
+  BFD_RELOC_ARM_THUMB_ALU_ABS_G1_NC,
+  BFD_RELOC_ARM_THUMB_ALU_ABS_G2_NC,
+  BFD_RELOC_ARM_THUMB_ALU_ABS_G3_NC,
+
 /* These relocs are only used within the ARM assembler.  They are not
 (at present) written to any object files.  */
   BFD_RELOC_ARM_IMMEDIATE,
@@ -3685,13 +3775,14 @@
   BFD_RELOC_AC_SECTOFF_U8,
   BFD_RELOC_AC_SECTOFF_U8_1,
   BFD_RELOC_AC_SECTOFF_U8_2,
-  BFD_RELOC_AC_SECTFOFF_S9,
-  BFD_RELOC_AC_SECTFOFF_S9_1,
-  BFD_RELOC_AC_SECTFOFF_S9_2,
+  BFD_RELOC_AC_SECTOFF_S9,
+  BFD_RELOC_AC_SECTOFF_S9_1,
+  BFD_RELOC_AC_SECTOFF_S9_2,
   BFD_RELOC_ARC_SECTOFF_ME_1,
   BFD_RELOC_ARC_SECTOFF_ME_2,
   BFD_RELOC_ARC_SECTOFF_1,
   BFD_RELOC_ARC_SECTOFF_2,
+  BFD_RELOC_ARC_SDA_12,
   BFD_RELOC_ARC_SDA16_ST2,
   BFD_RELOC_ARC_32_PCREL,
   BFD_RELOC_ARC_PC32,
@@ -3718,6 +3809,8 @@
   BFD_RELOC_ARC_TLS_LE_32,
   BFD_RELOC_ARC_S25W_PCREL_PLT,
   BFD_RELOC_ARC_S21H_PCREL_PLT,
+  BFD_RELOC_ARC_NPS_CMEM16,
+  BFD_RELOC_ARC_JLI_SECTOFF,
 
 /* ADI Blackfin 16 bit immediate absolute reloc.  */
   BFD_RELOC_BFIN_16_IMM,
@@ -4642,6 +4735,56 @@
 number for the SBIC, SBIS, SBI and CBI instructions  */
   BFD_RELOC_AVR_PORT5,
 
+/* RISC-V relocations.  */
+  BFD_RELOC_RISCV_HI20,
+  BFD_RELOC_RISCV_PCREL_HI20,
+  BFD_RELOC_RISCV_PCREL_LO12_I,
+  BFD_RELOC_RISCV_PCREL_LO12_S,
+  BFD_RELOC_RISCV_LO12_I,
+  BFD_RELOC_RISCV_LO12_S,
+  BFD_RELOC_RISCV_GPREL12_I,
+  BFD_RELOC_RISCV_GPREL12_S,
+  BFD_RELOC_RISCV_TPREL_HI20,
+  BFD_RELOC_RISCV_TPREL_LO12_I,
+  BFD_RELOC_RISCV_TPREL_LO12_S,
+  BFD_RELOC_RISCV_TPREL_ADD,
+  BFD_RELOC_RISCV_CALL,
+  BFD_RELOC_RISCV_CALL_PLT,
+  BFD_RELOC_RISCV_ADD8,
+  BFD_RELOC_RISCV_ADD16,
+  BFD_RELOC_RISCV_ADD32,
+  BFD_RELOC_RISCV_ADD64,
+  BFD_RELOC_RISCV_SUB8,
+  BFD_RELOC_RISCV_SUB16,
+  BFD_RELOC_RISCV_SUB32,
+  BFD_RELOC_RISCV_SUB64,
+  BFD_RELOC_RISCV_GOT_HI20,
+  BFD_RELOC_RISCV_TLS_GOT_HI20,
+  BFD_RELOC_RISCV_TLS_GD_HI20,
+  BFD_RELOC_RISCV_JMP,
+  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_ALIGN,
+  BFD_RELOC_RISCV_RVC_BRANCH,
+  BFD_RELOC_RISCV_RVC_JUMP,
+  BFD_RELOC_RISCV_RVC_LUI,
+  BFD_RELOC_RISCV_GPREL_I,
+  BFD_RELOC_RISCV_GPREL_S,
+  BFD_RELOC_RISCV_TPREL_I,
+  BFD_RELOC_RISCV_TPREL_S,
+  BFD_RELOC_RISCV_RELAX,
+  BFD_RELOC_RISCV_CFA,
+  BFD_RELOC_RISCV_SUB6,
+  BFD_RELOC_RISCV_SET6,
+  BFD_RELOC_RISCV_SET8,
+  BFD_RELOC_RISCV_SET16,
+  BFD_RELOC_RISCV_SET32,
+  BFD_RELOC_RISCV_32_PCREL,
+
 /* Renesas RL78 Relocations.  */
   BFD_RELOC_RL78_NEG8,
   BFD_RELOC_RL78_NEG16,
@@ -5119,6 +5262,11 @@
 a matching LO8XG part.  */
   BFD_RELOC_M68HC12_HI8XG,
 
+/* Freescale S12Z reloc.
+This is a 15 bit relative address.  If the most significant bits are all zero
+then it may be truncated to 8 bits.  */
+  BFD_RELOC_S12Z_15_PCREL,
+
 /* NS CR16C Relocations.  */
   BFD_RELOC_16C_NUM08,
   BFD_RELOC_16C_NUM08_C,
@@ -5272,40 +5420,6 @@
   BFD_RELOC_CRIS_DTPMOD,
   BFD_RELOC_CRIS_32_IE,
 
-/* Intel i860 Relocations.  */
-  BFD_RELOC_860_COPY,
-  BFD_RELOC_860_GLOB_DAT,
-  BFD_RELOC_860_JUMP_SLOT,
-  BFD_RELOC_860_RELATIVE,
-  BFD_RELOC_860_PC26,
-  BFD_RELOC_860_PLT26,
-  BFD_RELOC_860_PC16,
-  BFD_RELOC_860_LOW0,
-  BFD_RELOC_860_SPLIT0,
-  BFD_RELOC_860_LOW1,
-  BFD_RELOC_860_SPLIT1,
-  BFD_RELOC_860_LOW2,
-  BFD_RELOC_860_SPLIT2,
-  BFD_RELOC_860_LOW3,
-  BFD_RELOC_860_LOGOT0,
-  BFD_RELOC_860_SPGOT0,
-  BFD_RELOC_860_LOGOT1,
-  BFD_RELOC_860_SPGOT1,
-  BFD_RELOC_860_LOGOTOFF0,
-  BFD_RELOC_860_SPGOTOFF0,
-  BFD_RELOC_860_LOGOTOFF1,
-  BFD_RELOC_860_SPGOTOFF1,
-  BFD_RELOC_860_LOGOTOFF2,
-  BFD_RELOC_860_LOGOTOFF3,
-  BFD_RELOC_860_LOPC,
-  BFD_RELOC_860_HIGHADJ,
-  BFD_RELOC_860_HAGOT,
-  BFD_RELOC_860_HAGOTOFF,
-  BFD_RELOC_860_HAPC,
-  BFD_RELOC_860_HIGH,
-  BFD_RELOC_860_HIGOT,
-  BFD_RELOC_860_HIGOTOFF,
-
 /* OpenRISC 1000 Relocations.  */
   BFD_RELOC_OR1K_REL_26,
   BFD_RELOC_OR1K_GOTPC_HI16,
@@ -5332,41 +5446,6 @@
   BFD_RELOC_OR1K_TLS_DTPOFF,
   BFD_RELOC_OR1K_TLS_DTPMOD,
 
-/* RISC-V relocations.  */
-  BFD_RELOC_RISCV_HI20,
-  BFD_RELOC_RISCV_PCREL_HI20,
-  BFD_RELOC_RISCV_PCREL_LO12_I,
-  BFD_RELOC_RISCV_PCREL_LO12_S,
-  BFD_RELOC_RISCV_LO12_I,
-  BFD_RELOC_RISCV_LO12_S,
-  BFD_RELOC_RISCV_GPREL12_I,
-  BFD_RELOC_RISCV_GPREL12_S,
-  BFD_RELOC_RISCV_TPREL_HI20,
-  BFD_RELOC_RISCV_TPREL_LO12_I,
-  BFD_RELOC_RISCV_TPREL_LO12_S,
-  BFD_RELOC_RISCV_TPREL_ADD,
-  BFD_RELOC_RISCV_CALL,
-  BFD_RELOC_RISCV_CALL_PLT,
-  BFD_RELOC_RISCV_ADD8,
-  BFD_RELOC_RISCV_ADD16,
-  BFD_RELOC_RISCV_ADD32,
-  BFD_RELOC_RISCV_ADD64,
-  BFD_RELOC_RISCV_SUB8,
-  BFD_RELOC_RISCV_SUB16,
-  BFD_RELOC_RISCV_SUB32,
-  BFD_RELOC_RISCV_SUB64,
-  BFD_RELOC_RISCV_GOT_HI20,
-  BFD_RELOC_RISCV_TLS_GOT_HI20,
-  BFD_RELOC_RISCV_TLS_GD_HI20,
-  BFD_RELOC_RISCV_JMP,
-  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_ALIGN,
-
 /* H8 elf Relocations.  */
   BFD_RELOC_H8_DIR16A8,
   BFD_RELOC_H8_DIR16R8,
@@ -5492,6 +5571,41 @@
   BFD_RELOC_NIOS2_R2_T1X1I6,
   BFD_RELOC_NIOS2_R2_T1X1I6_2,
 
+/* PRU LDI 16-bit unsigned data-memory relocation.  */
+  BFD_RELOC_PRU_U16,
+
+/* PRU LDI 16-bit unsigned instruction-memory relocation.  */
+  BFD_RELOC_PRU_U16_PMEMIMM,
+
+/* PRU relocation for two consecutive LDI load instructions that load a
+32 bit value into a register. If the higher bits are all zero, then
+the second instruction may be relaxed.  */
+  BFD_RELOC_PRU_LDI32,
+
+/* PRU QBBx 10-bit signed PC-relative relocation.  */
+  BFD_RELOC_PRU_S10_PCREL,
+
+/* PRU 8-bit unsigned relocation used for the LOOP instruction.  */
+  BFD_RELOC_PRU_U8_PCREL,
+
+/* PRU Program Memory relocations.  Used to convert from byte addressing to
+32-bit word addressing.  */
+  BFD_RELOC_PRU_32_PMEM,
+  BFD_RELOC_PRU_16_PMEM,
+
+/* PRU relocations to mark the difference of two local symbols.
+These are only needed to support linker relaxation and can be ignored
+when not relaxing.  The field is set to the value of the difference
+assuming no relaxation.  The relocation encodes the position of the
+second symbol so the linker can determine whether to adjust the field
+value. The PMEM variants encode the word difference, instead of byte
+difference between symbols.  */
+  BFD_RELOC_PRU_GNU_DIFF8,
+  BFD_RELOC_PRU_GNU_DIFF16,
+  BFD_RELOC_PRU_GNU_DIFF32,
+  BFD_RELOC_PRU_GNU_DIFF16_PMEM,
+  BFD_RELOC_PRU_GNU_DIFF32_PMEM,
+
 /* IQ2000 Relocations.  */
   BFD_RELOC_IQ2000_OFFSET_16,
   BFD_RELOC_IQ2000_OFFSET_21,
@@ -5618,6 +5732,12 @@
 /* Pair of relocation.  Contains the first symbol.  */
   BFD_RELOC_MACH_O_PAIR,
 
+/* Symbol will be substracted.  Must be followed by a BFD_RELOC_32.  */
+  BFD_RELOC_MACH_O_SUBTRACTOR32,
+
+/* Symbol will be substracted.  Must be followed by a BFD_RELOC_64.  */
+  BFD_RELOC_MACH_O_SUBTRACTOR64,
+
 /* PCREL relocations.  They are marked as branch to create PLT entry if
 required.  */
   BFD_RELOC_MACH_O_X86_64_BRANCH32,
@@ -5630,12 +5750,6 @@
 the linker could optimize the movq to a leaq if possible.  */
   BFD_RELOC_MACH_O_X86_64_GOT_LOAD,
 
-/* Symbol will be substracted.  Must be followed by a BFD_RELOC_64.  */
-  BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32,
-
-/* Symbol will be substracted.  Must be followed by a BFD_RELOC_64.  */
-  BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64,
-
 /* Same as BFD_RELOC_32_PCREL but with an implicit -1 addend.  */
   BFD_RELOC_MACH_O_X86_64_PCREL32_1,
 
@@ -5645,6 +5759,21 @@
 /* Same as BFD_RELOC_32_PCREL but with an implicit -4 addend.  */
   BFD_RELOC_MACH_O_X86_64_PCREL32_4,
 
+/* Used when referencing a TLV entry.  */
+  BFD_RELOC_MACH_O_X86_64_TLV,
+
+/* Addend for PAGE or PAGEOFF.  */
+  BFD_RELOC_MACH_O_ARM64_ADDEND,
+
+/* Relative offset to page of GOT slot.  */
+  BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21,
+
+/* Relative offset within page of GOT slot.  */
+  BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12,
+
+/* Address of a GOT entry.  */
+  BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT,
+
 /* This is a 32 bit reloc for the microblaze that stores the
 low 16 bits of a value  */
   BFD_RELOC_MICROBLAZE_32_LO,
@@ -5729,12 +5858,25 @@
 to two words (uses imm instruction).  */
   BFD_RELOC_MICROBLAZE_64_TLSTPREL,
 
+/* This is a 64 bit reloc that stores the 32 bit pc relative
+value in two words (with an imm instruction).  The relocation is
+PC-relative offset from start of TEXT.  */
+  BFD_RELOC_MICROBLAZE_64_TEXTPCREL,
+
+/* This is a 64 bit reloc that stores the 32 bit offset
+value in two words (with an imm instruction).  The relocation is
+relative offset from start of TEXT.  */
+  BFD_RELOC_MICROBLAZE_64_TEXTREL,
+
 /* AArch64 pseudo relocation code to mark the start of the AArch64
 relocation enumerators.  N.B. the order of the enumerators is
 important as several tables in the AArch64 bfd backend are indexed
 by these enumerators; make sure they are all synced.  */
   BFD_RELOC_AARCH64_RELOC_START,
 
+/* Deprecated AArch64 null relocation code.  */
+  BFD_RELOC_AARCH64_NULL,
+
 /* AArch64 null relocation code.  */
   BFD_RELOC_AARCH64_NONE,
 
@@ -5794,6 +5936,36 @@
 value's sign.  */
   BFD_RELOC_AARCH64_MOVW_G2_S,
 
+/* AArch64 MOV[NZ] instruction with most significant bits 0 to 15
+of a signed value.  Changes instruction to MOVZ or MOVN depending on the
+value's sign.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G0,
+
+/* AArch64 MOV[NZ] instruction with most significant bits 0 to 15
+of a signed value.  Changes instruction to MOVZ or MOVN depending on the
+value's sign.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
+
+/* AArch64 MOVK instruction with most significant bits 16 to 31
+of a signed value.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G1,
+
+/* AArch64 MOVK instruction with most significant bits 16 to 31
+of a signed value.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
+
+/* AArch64 MOVK instruction with most significant bits 32 to 47
+of a signed value.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G2,
+
+/* AArch64 MOVK instruction with most significant bits 32 to 47
+of a signed value.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
+
+/* AArch64 MOVK instruction with most significant bits 47 to 63
+of a signed value.  */
+  BFD_RELOC_AARCH64_MOVW_PREL_G3,
+
 /* AArch64 Load Literal instruction, holding a 19 bit pc-relative word
 offset.  The lowest two bits must be zero and are not stored in the
 instruction, giving a 21 bit signed byte offset.  */
@@ -5869,12 +6041,12 @@
 
 /* Unsigned 12 bit byte offset for 64 bit load/store from the page of
 the GOT entry for this symbol.  Used in conjunction with
-BFD_RELOC_AARCH64_ADR_GOTPAGE.  Valid in LP64 ABI only.  */
+BFD_RELOC_AARCH64_ADR_GOT_PAGE.  Valid in LP64 ABI only.  */
   BFD_RELOC_AARCH64_LD64_GOT_LO12_NC,
 
 /* Unsigned 12 bit byte offset for 32 bit load/store from the page of
 the GOT entry for this symbol.  Used in conjunction with
-BFD_RELOC_AARCH64_ADR_GOTPAGE.  Valid in ILP32 ABI only.  */
+BFD_RELOC_AARCH64_ADR_GOT_PAGE.  Valid in ILP32 ABI only.  */
   BFD_RELOC_AARCH64_LD32_GOT_LO12_NC,
 
 /* Unsigned 16 bit byte offset for 64 bit load/store from the GOT entry
@@ -6021,6 +6193,34 @@
 /* AArch64 TLS LOCAL EXEC relocation.  */
   BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC,
 
+/* bit[11:1] of byte offset to module TLS base address, encoded in ldst
+instructions.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
+
+/* Similar as BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12, but no overflow check.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
+
+/* bit[11:2] of byte offset to module TLS base address, encoded in ldst
+instructions.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
+
+/* Similar as BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12, but no overflow check.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
+
+/* bit[11:3] of byte offset to module TLS base address, encoded in ldst
+instructions.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
+
+/* Similar as BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12, but no overflow check.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
+
+/* bit[11:0] of byte offset to module TLS base address, encoded in ldst
+instructions.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
+
+/* Similar as BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12, but no overflow check.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC,
+
 /* AArch64 TLS DESC relocation.  */
   BFD_RELOC_AARCH64_TLSDESC_LD_PREL19,
 
@@ -6031,13 +6231,13 @@
   BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21,
 
 /* AArch64 TLS DESC relocation.  */
-  BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC,
+  BFD_RELOC_AARCH64_TLSDESC_LD64_LO12,
 
 /* AArch64 TLS DESC relocation.  */
   BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC,
 
 /* AArch64 TLS DESC relocation.  */
-  BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC,
+  BFD_RELOC_AARCH64_TLSDESC_ADD_LO12,
 
 /* AArch64 TLS DESC relocation.  */
   BFD_RELOC_AARCH64_TLSDESC_OFF_G1,
@@ -6104,6 +6304,14 @@
 /* Similar as BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12, but no overflow check.  */
   BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC,
 
+/* AArch64 pseudo relocation code for TLS local exec mode.  It's to be
+used internally by the AArch64 assembler and not (currently) written to
+any object files.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12,
+
+/* Similar as BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12, but no overflow check.  */
+  BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC,
+
 /* AArch64 pseudo relocation code to be used internally by the AArch64
 assembler and not (currently) written to any object files.  */
   BFD_RELOC_AARCH64_LD_GOT_LO12_NC,
@@ -6337,6 +6545,18 @@
   BFD_RELOC_VISIUM_HI16_PCREL,
   BFD_RELOC_VISIUM_LO16_PCREL,
   BFD_RELOC_VISIUM_IM16_PCREL,
+
+/* WebAssembly relocations.  */
+  BFD_RELOC_WASM32_LEB128,
+  BFD_RELOC_WASM32_LEB128_GOT,
+  BFD_RELOC_WASM32_LEB128_GOT_CODE,
+  BFD_RELOC_WASM32_LEB128_PLT,
+  BFD_RELOC_WASM32_PLT_INDEX,
+  BFD_RELOC_WASM32_ABS32_CODE,
+  BFD_RELOC_WASM32_COPY,
+  BFD_RELOC_WASM32_CODE_POINTER,
+  BFD_RELOC_WASM32_INDEX,
+  BFD_RELOC_WASM32_PLT_SIG,
   BFD_RELOC_UNUSED };
 
 typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
@@ -6372,97 +6592,98 @@
   symvalue value;
 
   /* Attributes of a symbol.  */
-#define BSF_NO_FLAGS           0x00
+#define BSF_NO_FLAGS            0
 
   /* The symbol has local scope; <<static>> in <<C>>. The value
      is the offset into the section of the data.  */
-#define BSF_LOCAL              (1 << 0)
+#define BSF_LOCAL               (1 << 0)
 
   /* The symbol has global scope; initialized data in <<C>>. The
      value is the offset into the section of the data.  */
-#define BSF_GLOBAL             (1 << 1)
+#define BSF_GLOBAL              (1 << 1)
 
   /* The symbol has global scope and is exported. The value is
      the offset into the section of the data.  */
-#define BSF_EXPORT     BSF_GLOBAL /* No real difference.  */
+#define BSF_EXPORT              BSF_GLOBAL /* No real difference.  */
 
   /* A normal C symbol would be one of:
-     <<BSF_LOCAL>>, <<BSF_COMMON>>,  <<BSF_UNDEFINED>> or
-     <<BSF_GLOBAL>>.  */
+     <<BSF_LOCAL>>, <<BSF_UNDEFINED>> or <<BSF_GLOBAL>>.  */
 
   /* The symbol is a debugging record. The value has an arbitrary
      meaning, unless BSF_DEBUGGING_RELOC is also set.  */
-#define BSF_DEBUGGING          (1 << 2)
+#define BSF_DEBUGGING           (1 << 2)
 
   /* The symbol denotes a function entry point.  Used in ELF,
      perhaps others someday.  */
-#define BSF_FUNCTION           (1 << 3)
+#define BSF_FUNCTION            (1 << 3)
 
   /* Used by the linker.  */
-#define BSF_KEEP               (1 << 5)
-#define BSF_KEEP_G             (1 << 6)
+#define BSF_KEEP                (1 << 5)
+
+  /* An ELF common symbol.  */
+#define BSF_ELF_COMMON          (1 << 6)
 
   /* A weak global symbol, overridable without warnings by
      a regular global symbol of the same name.  */
-#define BSF_WEAK               (1 << 7)
+#define BSF_WEAK                (1 << 7)
 
   /* This symbol was created to point to a section, e.g. ELF's
      STT_SECTION symbols.  */
-#define BSF_SECTION_SYM        (1 << 8)
+#define BSF_SECTION_SYM         (1 << 8)
 
   /* The symbol used to be a common symbol, but now it is
      allocated.  */
-#define BSF_OLD_COMMON         (1 << 9)
+#define BSF_OLD_COMMON          (1 << 9)
 
   /* In some files the type of a symbol sometimes alters its
      location in an output file - ie in coff a <<ISFCN>> symbol
      which is also <<C_EXT>> symbol appears where it was
      declared and not at the end of a section.  This bit is set
      by the target BFD part to convey this information.  */
-#define BSF_NOT_AT_END         (1 << 10)
+#define BSF_NOT_AT_END          (1 << 10)
 
   /* Signal that the symbol is the label of constructor section.  */
-#define BSF_CONSTRUCTOR        (1 << 11)
+#define BSF_CONSTRUCTOR         (1 << 11)
 
   /* Signal that the symbol is a warning symbol.  The name is a
      warning.  The name of the next symbol is the one to warn about;
      if a reference is made to a symbol with the same name as the next
      symbol, a warning is issued by the linker.  */
-#define BSF_WARNING            (1 << 12)
+#define BSF_WARNING             (1 << 12)
 
   /* Signal that the symbol is indirect.  This symbol is an indirect
      pointer to the symbol with the same name as the next symbol.  */
-#define BSF_INDIRECT           (1 << 13)
+#define BSF_INDIRECT            (1 << 13)
 
   /* BSF_FILE marks symbols that contain a file name.  This is used
      for ELF STT_FILE symbols.  */
-#define BSF_FILE               (1 << 14)
+#define BSF_FILE                (1 << 14)
 
   /* Symbol is from dynamic linking information.  */
-#define BSF_DYNAMIC            (1 << 15)
+#define BSF_DYNAMIC             (1 << 15)
 
   /* The symbol denotes a data object.  Used in ELF, and perhaps
      others someday.  */
-#define BSF_OBJECT             (1 << 16)
+#define BSF_OBJECT              (1 << 16)
 
   /* This symbol is a debugging symbol.  The value is the offset
      into the section of the data.  BSF_DEBUGGING should be set
      as well.  */
-#define BSF_DEBUGGING_RELOC    (1 << 17)
+#define BSF_DEBUGGING_RELOC     (1 << 17)
 
   /* This symbol is thread local.  Used in ELF.  */
-#define BSF_THREAD_LOCAL       (1 << 18)
+#define BSF_THREAD_LOCAL        (1 << 18)
 
   /* This symbol represents a complex relocation expression,
      with the expression tree serialized in the symbol name.  */
-#define BSF_RELC               (1 << 19)
+#define BSF_RELC                (1 << 19)
 
   /* This symbol represents a signed complex relocation expression,
      with the expression tree serialized in the symbol name.  */
-#define BSF_SRELC              (1 << 20)
+#define BSF_SRELC               (1 << 20)
 
   /* This symbol was created by bfd_get_synthetic_symtab.  */
-#define BSF_SYNTHETIC          (1 << 21)
+#define BSF_SYNTHETIC           (1 << 21)
 
   /* This symbol is an indirect code object.  Unrelated to BSF_INDIRECT.
      The dynamic linker will compute the value of this symbol by
@@ -6472,7 +6693,7 @@
   /* This symbol is a globally unique data object.  The dynamic linker
      will make sure that in the entire process there is just one symbol
      with this name and type in use.  BSF_OBJECT must also be set.  */
-#define BSF_GNU_UNIQUE         (1 << 23)
+#define BSF_GNU_UNIQUE          (1 << 23)
 
   flagword flags;
 
@@ -6492,22 +6713,22 @@
 asymbol;
 
 #define bfd_get_symtab_upper_bound(abfd) \
-     BFD_SEND (abfd, _bfd_get_symtab_upper_bound, (abfd))
+       BFD_SEND (abfd, _bfd_get_symtab_upper_bound, (abfd))
 
 bfd_boolean bfd_is_local_label (bfd *abfd, asymbol *sym);
 
 bfd_boolean bfd_is_local_label_name (bfd *abfd, const char *name);
 
 #define bfd_is_local_label_name(abfd, name) \
-  BFD_SEND (abfd, _bfd_is_local_label_name, (abfd, name))
+       BFD_SEND (abfd, _bfd_is_local_label_name, (abfd, name))
 
 bfd_boolean bfd_is_target_special_symbol (bfd *abfd, asymbol *sym);
 
 #define bfd_is_target_special_symbol(abfd, sym) \
-  BFD_SEND (abfd, _bfd_is_target_special_symbol, (abfd, sym))
+       BFD_SEND (abfd, _bfd_is_target_special_symbol, (abfd, sym))
 
 #define bfd_canonicalize_symtab(abfd, location) \
-  BFD_SEND (abfd, _bfd_canonicalize_symtab, (abfd, location))
+       BFD_SEND (abfd, _bfd_canonicalize_symtab, (abfd, location))
 
 bfd_boolean bfd_set_symtab
    (bfd *abfd, asymbol **location, unsigned int count);
@@ -6515,12 +6736,12 @@
 void bfd_print_symbol_vandf (bfd *abfd, void *file, asymbol *symbol);
 
 #define bfd_make_empty_symbol(abfd) \
-  BFD_SEND (abfd, _bfd_make_empty_symbol, (abfd))
+       BFD_SEND (abfd, _bfd_make_empty_symbol, (abfd))
 
 asymbol *_bfd_generic_make_empty_symbol (bfd *);
 
 #define bfd_make_debug_symbol(abfd,ptr,size) \
-  BFD_SEND (abfd, _bfd_make_debug_symbol, (abfd, ptr, size))
+       BFD_SEND (abfd, _bfd_make_debug_symbol, (abfd, ptr, size))
 
 int bfd_decode_symclass (asymbol *symbol);
 
@@ -6532,8 +6753,8 @@
    (bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym);
 
 #define bfd_copy_private_symbol_data(ibfd, isymbol, obfd, osymbol) \
-  BFD_SEND (obfd, _bfd_copy_private_symbol_data, \
-            (ibfd, isymbol, obfd, osymbol))
+       BFD_SEND (obfd, _bfd_copy_private_symbol_data, \
+                 (ibfd, isymbol, obfd, osymbol))
 
 /* Extracted from bfd.c.  */
 
@@ -6547,7 +6768,7 @@
 
 enum bfd_plugin_format
   {
-    bfd_plugin_uknown = 0,
+    bfd_plugin_unknown = 0,
     bfd_plugin_yes = 1,
     bfd_plugin_no = 2
   };
@@ -6575,8 +6796,9 @@
      least-recently-used list of BFDs.  */
   struct bfd *lru_prev, *lru_next;
 
-  /* When a file is closed by the caching routines, BFD retains
-     state information on the file here...  */
+  /* Track current file position (or current buffer offset for
+     in-memory BFDs).  When a file is closed by the caching routines,
+     BFD retains state information on the file here.  */
   ufile_ptr where;
 
   /* File modified time, if mtime_set is TRUE.  */
@@ -6592,7 +6814,7 @@
   ENUM_BITFIELD (bfd_direction) direction : 2;
 
   /* Format_specific flags.  */
-  flagword flags : 18;
+  flagword flags : 20;
 
   /* Values that may appear in the flags field of a BFD.  These also
      appear in the object_flags field of the bfd_target structure, where
@@ -6601,59 +6823,59 @@
      the object_flags values have mostly just been copied from backend
      to another, and are not necessarily correct).  */
 
-#define BFD_NO_FLAGS   0x00
+#define BFD_NO_FLAGS                0x0
 
   /* BFD contains relocation entries.  */
-#define HAS_RELOC      0x01
+#define HAS_RELOC                   0x1
 
   /* BFD is directly executable.  */
-#define EXEC_P         0x02
+#define EXEC_P                      0x2
 
   /* BFD has line number information (basically used for F_LNNO in a
      COFF header).  */
-#define HAS_LINENO     0x04
+#define HAS_LINENO                  0x4
 
   /* BFD has debugging information.  */
-#define HAS_DEBUG      0x08
+#define HAS_DEBUG                  0x08
 
   /* BFD has symbols.  */
-#define HAS_SYMS       0x10
+#define HAS_SYMS                   0x10
 
   /* BFD has local symbols (basically used for F_LSYMS in a COFF
      header).  */
-#define HAS_LOCALS     0x20
+#define HAS_LOCALS                 0x20
 
   /* BFD is a dynamic object.  */
-#define DYNAMIC        0x40
+#define DYNAMIC                    0x40
 
   /* Text section is write protected (if D_PAGED is not set, this is
      like an a.out NMAGIC file) (the linker sets this by default, but
      clears it for -r or -N).  */
-#define WP_TEXT        0x80
+#define WP_TEXT                    0x80
 
   /* BFD is dynamically paged (this is like an a.out ZMAGIC file) (the
      linker sets this by default, but clears it for -r or -n or -N).  */
-#define D_PAGED        0x100
+#define D_PAGED                   0x100
 
   /* BFD is relaxable (this means that bfd_relax_section may be able to
      do something) (sometimes bfd_relax_section can do something even if
      this is not set).  */
-#define BFD_IS_RELAXABLE 0x200
+#define BFD_IS_RELAXABLE          0x200
 
   /* This may be set before writing out a BFD to request using a
      traditional format.  For example, this is used to request that when
      writing out an a.out object the symbols not be hashed to eliminate
      duplicates.  */
-#define BFD_TRADITIONAL_FORMAT 0x400
+#define BFD_TRADITIONAL_FORMAT    0x400
 
   /* This flag indicates that the BFD contents are actually cached
      in memory.  If this is set, iostream points to a bfd_in_memory
      struct.  */
-#define BFD_IN_MEMORY 0x800
+#define BFD_IN_MEMORY             0x800
 
   /* This BFD has been created by the linker and doesn't correspond
      to any input file.  */
-#define BFD_LINKER_CREATED 0x1000
+#define BFD_LINKER_CREATED       0x1000
 
   /* This may be set before writing out a BFD to request that it
      be written using values for UIDs, GIDs, timestamps, etc. that
@@ -6661,27 +6883,35 @@
 #define BFD_DETERMINISTIC_OUTPUT 0x2000
 
   /* Compress sections in this BFD.  */
-#define BFD_COMPRESS 0x4000
+#define BFD_COMPRESS             0x4000
 
   /* Decompress sections in this BFD.  */
-#define BFD_DECOMPRESS 0x8000
+#define BFD_DECOMPRESS           0x8000
 
   /* BFD is a dummy, for plugins.  */
-#define BFD_PLUGIN 0x10000
+#define BFD_PLUGIN              0x10000
 
   /* Compress sections in this BFD with SHF_COMPRESSED from gABI.  */
-#define BFD_COMPRESS_GABI 0x20000
+#define BFD_COMPRESS_GABI       0x20000
+
+  /* Convert ELF common symbol type to STT_COMMON or STT_OBJECT in this
+     BFD.  */
+#define BFD_CONVERT_ELF_COMMON  0x40000
+
+  /* Use the ELF STT_COMMON type in this BFD.  */
+#define BFD_USE_ELF_STT_COMMON  0x80000
 
   /* Flags bits to be saved in bfd_preserve_save.  */
 #define BFD_FLAGS_SAVED \
-  (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS | BFD_PLUGIN \
-   | BFD_COMPRESS_GABI)
+  (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS | BFD_LINKER_CREATED \
+   | BFD_PLUGIN | BFD_COMPRESS_GABI | BFD_CONVERT_ELF_COMMON \
+   | BFD_USE_ELF_STT_COMMON)
 
   /* Flags bits which are for BFD use only.  */
 #define BFD_FLAGS_FOR_BFD_USE_MASK \
   (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS | BFD_LINKER_CREATED \
    | BFD_PLUGIN | BFD_TRADITIONAL_FORMAT | BFD_DETERMINISTIC_OUTPUT \
-   | BFD_COMPRESS_GABI)
+   | BFD_COMPRESS_GABI | BFD_CONVERT_ELF_COMMON | BFD_USE_ELF_STT_COMMON)
 
   /* Is the file descriptor being cached?  That is, can it be closed as
      needed, and re-opened when accessed later?  */
@@ -6797,21 +7027,15 @@
     {
       struct aout_data_struct *aout_data;
       struct artdata *aout_ar_data;
-      struct _oasys_data *oasys_obj_data;
-      struct _oasys_ar_data *oasys_ar_data;
       struct coff_tdata *coff_obj_data;
       struct pe_tdata *pe_obj_data;
       struct xcoff_tdata *xcoff_obj_data;
       struct ecoff_tdata *ecoff_obj_data;
-      struct ieee_data_struct *ieee_data;
-      struct ieee_ar_data_struct *ieee_ar_data;
       struct srec_data_struct *srec_data;
       struct verilog_data_struct *verilog_data;
       struct ihex_data_struct *ihex_data;
       struct tekhex_data_struct *tekhex_data;
       struct elf_obj_tdata *elf_obj_data;
-      struct nlm_obj_tdata *nlm_obj_data;
-      struct bout_data_struct *bout_data;
       struct mmo_data_struct *mmo_data;
       struct sun_core_struct *sun_core_data;
       struct sco5_core_struct *sco5_core_data;
@@ -6885,21 +7109,23 @@
 
 bfd_error_type bfd_get_error (void);
 
-void bfd_set_error (bfd_error_type error_tag, ...);
+void bfd_set_error (bfd_error_type error_tag);
+
+void bfd_set_input_error (bfd *input, bfd_error_type error_tag);
 
 const char *bfd_errmsg (bfd_error_type error_tag);
 
 void bfd_perror (const char *message);
 
 
-typedef void (*bfd_error_handler_type) (const char *, ...);
+typedef void (*bfd_error_handler_type) (const char *, va_list);
+
+void _bfd_error_handler (const char *fmt, ...) ATTRIBUTE_PRINTF_1;
 
 bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type);
 
 void bfd_set_error_program_name (const char *);
 
-bfd_error_handler_type bfd_get_error_handler (void);
-
 
 typedef void (*bfd_assert_handler_type) (const char *bfd_formatmsg,
                                          const char *bfd_version,
@@ -6908,8 +7134,6 @@
 
 bfd_assert_handler_type bfd_set_assert_handler (bfd_assert_handler_type);
 
-bfd_assert_handler_type bfd_get_assert_handler (void);
-
 long bfd_get_reloc_upper_bound (bfd *abfd, asection *sect);
 
 long bfd_canonicalize_reloc
@@ -6918,6 +7142,8 @@
 void bfd_set_reloc
    (bfd *abfd, asection *sec, arelent **rel, unsigned int count);
 
+#define bfd_set_reloc(abfd, asect, location, count) \
+       BFD_SEND (abfd, _bfd_set_reloc, (abfd, asect, location, count))
 bfd_boolean bfd_set_file_flags (bfd *abfd, flagword flags);
 
 int bfd_get_arch_size (bfd *abfd);
@@ -6935,22 +7161,17 @@
 bfd_boolean bfd_copy_private_header_data (bfd *ibfd, bfd *obfd);
 
 #define bfd_copy_private_header_data(ibfd, obfd) \
-     BFD_SEND (obfd, _bfd_copy_private_header_data, \
-               (ibfd, obfd))
+       BFD_SEND (obfd, _bfd_copy_private_header_data, \
+                 (ibfd, obfd))
 bfd_boolean bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd);
 
 #define bfd_copy_private_bfd_data(ibfd, obfd) \
-     BFD_SEND (obfd, _bfd_copy_private_bfd_data, \
-               (ibfd, obfd))
-bfd_boolean bfd_merge_private_bfd_data (bfd *ibfd, bfd *obfd);
-
-#define bfd_merge_private_bfd_data(ibfd, obfd) \
-     BFD_SEND (obfd, _bfd_merge_private_bfd_data, \
-               (ibfd, obfd))
+       BFD_SEND (obfd, _bfd_copy_private_bfd_data, \
+                 (ibfd, obfd))
 bfd_boolean bfd_set_private_flags (bfd *abfd, flagword flags);
 
 #define bfd_set_private_flags(abfd, flags) \
-     BFD_SEND (abfd, _bfd_set_private_flags, (abfd, flags))
+       BFD_SEND (abfd, _bfd_set_private_flags, (abfd, flags))
 #define bfd_sizeof_headers(abfd, info) \
        BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, info))
 
@@ -6959,7 +7180,7 @@
                  (abfd, syms, sec, off, file, func, line, NULL))
 
 #define bfd_find_nearest_line_discriminator(abfd, sec, syms, off, file, func, \
-                                            line, disc) \
+                                           line, disc) \
        BFD_SEND (abfd, _bfd_find_nearest_line, \
                  (abfd, syms, sec, off, file, func, line, disc))
 
@@ -7051,7 +7272,7 @@
 
 void bfd_emul_set_maxpagesize (const char *, bfd_vma);
 
-bfd_vma bfd_emul_get_commonpagesize (const char *);
+bfd_vma bfd_emul_get_commonpagesize (const char *, bfd_boolean);
 
 void bfd_emul_set_commonpagesize (const char *, bfd_vma);
 
@@ -7125,9 +7346,6 @@
   bfd_target_ecoff_flavour,
   bfd_target_xcoff_flavour,
   bfd_target_elf_flavour,
-  bfd_target_ieee_flavour,
-  bfd_target_nlm_flavour,
-  bfd_target_oasys_flavour,
   bfd_target_tekhex_flavour,
   bfd_target_srec_flavour,
   bfd_target_verilog_flavour,
@@ -7218,7 +7436,8 @@
      within the target vector structure, one for each format to check.  */
 
   /* Check the format of a file being read.  Return a <<bfd_target *>> or zero.  */
-  const struct bfd_target *(*_bfd_check_format[bfd_type_end]) (bfd *);
+  const struct bfd_target *
+              (*_bfd_check_format[bfd_type_end]) (bfd *);
 
   /* Set the format of a file being written.  */
   bfd_boolean (*_bfd_set_format[bfd_type_end]) (bfd *);
@@ -7242,10 +7461,11 @@
   /* Called when a new section is created.  */
   bfd_boolean (*_new_section_hook) (bfd *, sec_ptr);
   /* Read the contents of a section.  */
-  bfd_boolean (*_bfd_get_section_contents)
-    (bfd *, sec_ptr, void *, file_ptr, bfd_size_type);
-  bfd_boolean (*_bfd_get_section_contents_in_window)
-    (bfd *, sec_ptr, bfd_window *, file_ptr, bfd_size_type);
+  bfd_boolean (*_bfd_get_section_contents) (bfd *, sec_ptr, void *, file_ptr,
+                                            bfd_size_type);
+  bfd_boolean (*_bfd_get_section_contents_in_window) (bfd *, sec_ptr,
+                                                      bfd_window *, file_ptr,
+                                                      bfd_size_type);
 
   /* Entry points to copy private data.  */
 #define BFD_JUMP_TABLE_COPY(NAME) \
@@ -7263,25 +7483,26 @@
   bfd_boolean (*_bfd_copy_private_bfd_data) (bfd *, bfd *);
   /* Called to merge BFD general private data from one object file
      to a common output file when linking.  */
-  bfd_boolean (*_bfd_merge_private_bfd_data) (bfd *, bfd *);
+  bfd_boolean (*_bfd_merge_private_bfd_data) (bfd *, struct bfd_link_info *);
   /* Called to initialize BFD private section data from one object file
      to another.  */
 #define bfd_init_private_section_data(ibfd, isec, obfd, osec, link_info) \
-  BFD_SEND (obfd, _bfd_init_private_section_data, (ibfd, isec, obfd, osec, link_info))
-  bfd_boolean (*_bfd_init_private_section_data)
-    (bfd *, sec_ptr, bfd *, sec_ptr, struct bfd_link_info *);
+       BFD_SEND (obfd, _bfd_init_private_section_data, \
+                 (ibfd, isec, obfd, osec, link_info))
+  bfd_boolean (*_bfd_init_private_section_data) (bfd *, sec_ptr, bfd *,
+                                                 sec_ptr,
+                                                 struct bfd_link_info *);
   /* Called to copy BFD private section data from one object file
      to another.  */
-  bfd_boolean (*_bfd_copy_private_section_data)
-    (bfd *, sec_ptr, bfd *, sec_ptr);
+  bfd_boolean (*_bfd_copy_private_section_data) (bfd *, sec_ptr, bfd *,
+                                                 sec_ptr);
   /* Called to copy BFD private symbol data from one symbol
      to another.  */
-  bfd_boolean (*_bfd_copy_private_symbol_data)
-    (bfd *, asymbol *, bfd *, asymbol *);
+  bfd_boolean (*_bfd_copy_private_symbol_data) (bfd *, asymbol *, bfd *,
+                                                asymbol *);
   /* Called to copy BFD private header data from one object file
      to another.  */
-  bfd_boolean (*_bfd_copy_private_header_data)
-    (bfd *, bfd *);
+  bfd_boolean (*_bfd_copy_private_header_data) (bfd *, bfd *);
   /* Called to set private backend flags.  */
   bfd_boolean (*_bfd_set_private_flags) (bfd *, flagword);
 
@@ -7316,15 +7537,17 @@
 
   bfd_boolean (*_bfd_slurp_armap) (bfd *);
   bfd_boolean (*_bfd_slurp_extended_name_table) (bfd *);
-  bfd_boolean (*_bfd_construct_extended_name_table)
-    (bfd *, char **, bfd_size_type *, const char **);
+  bfd_boolean (*_bfd_construct_extended_name_table) (bfd *, char **,
+                                                     bfd_size_type *,
+                                                     const char **);
   void        (*_bfd_truncate_arname) (bfd *, const char *, char *);
-  bfd_boolean (*write_armap)
-    (bfd *, unsigned int, struct orl *, unsigned int, int);
+  bfd_boolean (*write_armap) (bfd *, unsigned int, struct orl *,
+                              unsigned int, int);
   void *      (*_bfd_read_ar_hdr_fn) (bfd *);
   bfd_boolean (*_bfd_write_ar_hdr_fn) (bfd *, bfd *);
   bfd *       (*openr_next_archived_file) (bfd *, bfd *);
-#define bfd_get_elt_at_index(b,i) BFD_SEND (b, _bfd_get_elt_at_index, (b,i))
+#define bfd_get_elt_at_index(b,i) \
+       BFD_SEND (b, _bfd_get_elt_at_index, (b,i))
   bfd *       (*_bfd_get_elt_at_index) (bfd *, symindex);
   int         (*_bfd_stat_arch_elt) (bfd *, struct stat *);
   bfd_boolean (*_bfd_update_armap_timestamp) (bfd *);
@@ -7348,70 +7571,73 @@
   NAME##_minisymbol_to_symbol
 
   long        (*_bfd_get_symtab_upper_bound) (bfd *);
-  long        (*_bfd_canonicalize_symtab)
-    (bfd *, struct bfd_symbol **);
+  long        (*_bfd_canonicalize_symtab) (bfd *, struct bfd_symbol **);
   struct bfd_symbol *
               (*_bfd_make_empty_symbol) (bfd *);
-  void        (*_bfd_print_symbol)
-    (bfd *, void *, struct bfd_symbol *, bfd_print_symbol_type);
-#define bfd_print_symbol(b,p,s,e) BFD_SEND (b, _bfd_print_symbol, (b,p,s,e))
-  void        (*_bfd_get_symbol_info)
-    (bfd *, struct bfd_symbol *, symbol_info *);
-#define bfd_get_symbol_info(b,p,e) BFD_SEND (b, _bfd_get_symbol_info, (b,p,e))
-  const char *(*_bfd_get_symbol_version_string)
-    (bfd *, struct bfd_symbol *, bfd_boolean *);
-#define bfd_get_symbol_version_string(b,s,h) BFD_SEND (b, _bfd_get_symbol_version_string, (b,s,h))
+  void        (*_bfd_print_symbol) (bfd *, void *, struct bfd_symbol *,
+                                    bfd_print_symbol_type);
+#define bfd_print_symbol(b,p,s,e) \
+       BFD_SEND (b, _bfd_print_symbol, (b,p,s,e))
+  void        (*_bfd_get_symbol_info) (bfd *, struct bfd_symbol *,
+                                       symbol_info *);
+#define bfd_get_symbol_info(b,p,e) \
+       BFD_SEND (b, _bfd_get_symbol_info, (b,p,e))
+  const char *(*_bfd_get_symbol_version_string) (bfd *, struct bfd_symbol *,
+                                                 bfd_boolean *);
+#define bfd_get_symbol_version_string(b,s,h) \
+       BFD_SEND (b, _bfd_get_symbol_version_string, (b,s,h))
   bfd_boolean (*_bfd_is_local_label_name) (bfd *, const char *);
   bfd_boolean (*_bfd_is_target_special_symbol) (bfd *, asymbol *);
   alent *     (*_get_lineno) (bfd *, struct bfd_symbol *);
-  bfd_boolean (*_bfd_find_nearest_line)
-    (bfd *, struct bfd_symbol **, struct bfd_section *, bfd_vma,
-     const char **, const char **, unsigned int *, unsigned int *);
-  bfd_boolean (*_bfd_find_line)
-    (bfd *, struct bfd_symbol **, struct bfd_symbol *,
-     const char **, unsigned int *);
+  bfd_boolean (*_bfd_find_nearest_line) (bfd *, struct bfd_symbol **,
+                                         struct bfd_section *, bfd_vma,
+                                         const char **, const char **,
+                                         unsigned int *, unsigned int *);
+  bfd_boolean (*_bfd_find_line) (bfd *, struct bfd_symbol **,
+                                 struct bfd_symbol *, const char **,
+                                 unsigned int *);
   bfd_boolean (*_bfd_find_inliner_info)
     (bfd *, const char **, const char **, unsigned int *);
  /* Back-door to allow format-aware applications to create debug symbols
     while using BFD for everything else.  Currently used by the assembler
     when creating COFF files.  */
-  asymbol *   (*_bfd_make_debug_symbol)
-    (bfd *, void *, unsigned long size);
+  asymbol *   (*_bfd_make_debug_symbol) (bfd *, void *, unsigned long size);
 #define bfd_read_minisymbols(b, d, m, s) \
-  BFD_SEND (b, _read_minisymbols, (b, d, m, s))
-  long        (*_read_minisymbols)
-    (bfd *, bfd_boolean, void **, unsigned int *);
+       BFD_SEND (b, _read_minisymbols, (b, d, m, s))
+  long        (*_read_minisymbols) (bfd *, bfd_boolean, void **,
+                                    unsigned int *);
 #define bfd_minisymbol_to_symbol(b, d, m, f) \
-  BFD_SEND (b, _minisymbol_to_symbol, (b, d, m, f))
-  asymbol *   (*_minisymbol_to_symbol)
-    (bfd *, bfd_boolean, const void *, asymbol *);
+       BFD_SEND (b, _minisymbol_to_symbol, (b, d, m, f))
+  asymbol *   (*_minisymbol_to_symbol) (bfd *, bfd_boolean, const void *,
+                                        asymbol *);
 
   /* Routines for relocs.  */
 #define BFD_JUMP_TABLE_RELOCS(NAME) \
   NAME##_get_reloc_upper_bound, \
   NAME##_canonicalize_reloc, \
+  NAME##_set_reloc, \
   NAME##_bfd_reloc_type_lookup, \
   NAME##_bfd_reloc_name_lookup
 
   long        (*_get_reloc_upper_bound) (bfd *, sec_ptr);
-  long        (*_bfd_canonicalize_reloc)
-    (bfd *, sec_ptr, arelent **, struct bfd_symbol **);
+  long        (*_bfd_canonicalize_reloc) (bfd *, sec_ptr, arelent **,
+                                          struct bfd_symbol **);
+  void        (*_bfd_set_reloc) (bfd *, sec_ptr, arelent **, unsigned int);
   /* See documentation on reloc types.  */
   reloc_howto_type *
               (*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
   reloc_howto_type *
               (*reloc_name_lookup) (bfd *, const char *);
 
-
   /* Routines used when writing an object file.  */
 #define BFD_JUMP_TABLE_WRITE(NAME) \
   NAME##_set_arch_mach, \
   NAME##_set_section_contents
 
-  bfd_boolean (*_bfd_set_arch_mach)
-    (bfd *, enum bfd_architecture, unsigned long);
-  bfd_boolean (*_bfd_set_section_contents)
-    (bfd *, sec_ptr, const void *, file_ptr, bfd_size_type);
+  bfd_boolean (*_bfd_set_arch_mach) (bfd *, enum bfd_architecture,
+                                     unsigned long);
+  bfd_boolean (*_bfd_set_section_contents) (bfd *, sec_ptr, const void *,
+                                            file_ptr, bfd_size_type);
 
   /* Routines used by the linker.  */
 #define BFD_JUMP_TABLE_LINK(NAME) \
@@ -7424,21 +7650,26 @@
   NAME##_bfd_copy_link_hash_symbol_type, \
   NAME##_bfd_final_link, \
   NAME##_bfd_link_split_section, \
+  NAME##_bfd_link_check_relocs, \
   NAME##_bfd_gc_sections, \
   NAME##_bfd_lookup_section_flags, \
   NAME##_bfd_merge_sections, \
   NAME##_bfd_is_group_section, \
   NAME##_bfd_discard_group, \
   NAME##_section_already_linked, \
-  NAME##_bfd_define_common_symbol
+  NAME##_bfd_define_common_symbol, \
+  NAME##_bfd_link_hide_symbol, \
+  NAME##_bfd_define_start_stop
 
   int         (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
-  bfd_byte *  (*_bfd_get_relocated_section_contents)
-    (bfd *, struct bfd_link_info *, struct bfd_link_order *,
-     bfd_byte *, bfd_boolean, struct bfd_symbol **);
-
-  bfd_boolean (*_bfd_relax_section)
-    (bfd *, struct bfd_section *, struct bfd_link_info *, bfd_boolean *);
+  bfd_byte *  (*_bfd_get_relocated_section_contents) (bfd *,
+                                                      struct bfd_link_info *,
+                                                      struct bfd_link_order *,
+                                                      bfd_byte *, bfd_boolean,
+                                                      struct bfd_symbol **);
+
+  bfd_boolean (*_bfd_relax_section) (bfd *, struct bfd_section *,
+                                     struct bfd_link_info *, bfd_boolean *);
 
   /* Create a hash table for the linker.  Different backends store
      different information in this table.  */
@@ -7454,9 +7685,10 @@
   /* Copy the symbol type and other attributes for a linker script
      assignment of one symbol to another.  */
 #define bfd_copy_link_hash_symbol_type(b, t, f) \
-  BFD_SEND (b, _bfd_copy_link_hash_symbol_type, (b, t, f))
-  void (*_bfd_copy_link_hash_symbol_type)
-    (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *);
+       BFD_SEND (b, _bfd_copy_link_hash_symbol_type, (b, t, f))
+  void        (*_bfd_copy_link_hash_symbol_type) (bfd *,
+                                                  struct bfd_link_hash_entry *,
+                                                  struct bfd_link_hash_entry *);
 
   /* Do a link based on the link_order structures attached to each
      section of the BFD.  */
@@ -7465,13 +7697,15 @@
   /* Should this section be split up into smaller pieces during linking.  */
   bfd_boolean (*_bfd_link_split_section) (bfd *, struct bfd_section *);
 
+  /* Check the relocations in the bfd for validity.  */
+  bfd_boolean (* _bfd_link_check_relocs)(bfd *, struct bfd_link_info *);
+
   /* Remove sections that are not referenced from the output.  */
   bfd_boolean (*_bfd_gc_sections) (bfd *, struct bfd_link_info *);
 
   /* Sets the bitmask of allowed and disallowed section flags.  */
   bfd_boolean (*_bfd_lookup_section_flags) (struct bfd_link_info *,
-                                            struct flag_info *,
-                                            asection *);
+                                            struct flag_info *, asection *);
 
   /* Attempt to merge SEC_MERGE sections.  */
   bfd_boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *);
@@ -7491,6 +7725,15 @@
   bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
                                             struct bfd_link_hash_entry *);
 
+  /* Hide a symbol.  */
+  void (*_bfd_link_hide_symbol) (bfd *, struct bfd_link_info *,
+                                 struct bfd_link_hash_entry *);
+
+  /* Define a __start, __stop, .startof. or .sizeof. symbol.  */
+  struct bfd_link_hash_entry *
+              (*_bfd_define_start_stop) (struct bfd_link_info *, const char *,
+                                         asection *);
+
   /* Routines to handle dynamic symbols and relocs.  */
 #define BFD_JUMP_TABLE_DYNAMIC(NAME) \
   NAME##_get_dynamic_symtab_upper_bound, \
@@ -7502,20 +7745,19 @@
   /* Get the amount of memory required to hold the dynamic symbols.  */
   long        (*_bfd_get_dynamic_symtab_upper_bound) (bfd *);
   /* Read in the dynamic symbols.  */
-  long        (*_bfd_canonicalize_dynamic_symtab)
-    (bfd *, struct bfd_symbol **);
+  long        (*_bfd_canonicalize_dynamic_symtab) (bfd *, struct bfd_symbol **);
   /* Create synthetized symbols.  */
-  long        (*_bfd_get_synthetic_symtab)
-    (bfd *, long, struct bfd_symbol **, long, struct bfd_symbol **,
-     struct bfd_symbol **);
+  long        (*_bfd_get_synthetic_symtab) (bfd *, long, struct bfd_symbol **,
+                                            long, struct bfd_symbol **,
+                                            struct bfd_symbol **);
   /* Get the amount of memory required to hold the dynamic relocs.  */
   long        (*_bfd_get_dynamic_reloc_upper_bound) (bfd *);
   /* Read in the dynamic relocs.  */
-  long        (*_bfd_canonicalize_dynamic_reloc)
-    (bfd *, arelent **, struct bfd_symbol **);
+  long        (*_bfd_canonicalize_dynamic_reloc) (bfd *, arelent **,
+                                                  struct bfd_symbol **);
 
   /* Opposite endian version of this target.  */
-  const struct bfd_target * alternative_target;
+  const struct bfd_target *alternative_target;
 
   /* Data for use by back-end routines, which isn't
      generic enough to belong in this structure.  */
@@ -7534,9 +7776,9 @@
     const char **def_target_arch);
 const char ** bfd_target_list (void);
 
-const bfd_target *bfd_search_for_target
-   (int (*search_func) (const bfd_target *, void *),
-    void *);
+const bfd_target *bfd_iterate_over_targets
+   (int (*func) (const bfd_target *, void *),
+    void *data);
 
 const char *bfd_flavour_name (enum bfd_flavour flavour);
 
@@ -7570,6 +7812,20 @@
 #define bfd_define_common_symbol(output_bfd, info, h) \
        BFD_SEND (output_bfd, _bfd_define_common_symbol, (output_bfd, info, h))
 
+void _bfd_generic_link_hide_symbol
+   (bfd *output_bfd, struct bfd_link_info *info,
+    struct bfd_link_hash_entry *h);
+
+#define bfd_link_hide_symbol(output_bfd, info, h) \
+       BFD_SEND (output_bfd, _bfd_link_hide_symbol, (output_bfd, info, h))
+
+struct bfd_link_hash_entry *bfd_generic_define_start_stop
+   (struct bfd_link_info *info,
+    const char *symbol, asection *sec);
+
+#define bfd_define_start_stop(output_bfd, info, symbol, sec) \
+       BFD_SEND (output_bfd, _bfd_define_start_stop, (info, symbol, sec))
+
 struct bfd_elf_version_tree * bfd_find_version_for_sym
    (struct bfd_elf_version_tree *verdefs,
     const char *sym_name, bfd_boolean *hide);
@@ -7577,6 +7833,18 @@
 bfd_boolean bfd_hide_sym_by_version
    (struct bfd_elf_version_tree *verdefs, const char *sym_name);
 
+bfd_boolean bfd_link_check_relocs
+   (bfd *abfd, struct bfd_link_info *info);
+
+bfd_boolean _bfd_generic_link_check_relocs
+   (bfd *abfd, struct bfd_link_info *info);
+
+bfd_boolean bfd_merge_private_bfd_data
+   (bfd *ibfd, struct bfd_link_info *info);
+
+#define bfd_merge_private_bfd_data(ibfd, info) \
+       BFD_SEND ((info)->output_bfd, _bfd_merge_private_bfd_data, \
+                 (ibfd, info))
 /* Extracted from simple.c.  */
 bfd_byte *bfd_simple_get_relocated_section_contents
    (bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table);
--- a/external/gpl3/binutils/lib/libbfd/arch/riscv32/bfd_stdint.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/lib/libbfd/arch/riscv32/bfd_stdint.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,8 +1,8 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
-/* generated for  riscv32--netbsd-gcc (NetBSD nb3 20151015) 4.8.5 */
+/* generated for  riscv32--netbsd-gcc (NetBSD nb3 20190319) 7.4.0 */
 
 #ifndef GCC_GENERATED_STDINT_H
 #define GCC_GENERATED_STDINT_H 1
--- a/external/gpl3/binutils/lib/libbfd/arch/riscv32/bfdver.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/lib/libbfd/arch/riscv32/bfdver.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,8 +1,26 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
+
+/* The date below is automatically updated every day by a bot.  During
+   development, we include the date in the tools' version strings
+   (visible in 'ld -v' etc.) because people build binutils from a
+   variety of sources - git, tarballs, distro sources - and we want
+   something that can easily identify the source they used when they
+   report bugs.  The bfd version plus date is usually good enough for
+   that purpose.
 
-#define BFD_VERSION_DATE 20160629
-#define BFD_VERSION 226010000
-#define BFD_VERSION_STRING  "(NetBSD Binutils nb1) " "2.26.1"
+   During development, this date ends up in libbfd and libopcodes
+   sonames because people naturally expect shared libraries with the
+   same soname to have compatible ABIs.  We could bump the bfd version
+   on every ABI change, but that's just another thing contributors and
+   maintainers would need to remember.  Instead, it's much easier for
+   all if the soname contains the date.  This is not perfect but is
+   good enough.
+
+   In releases, the date is not included in either version strings or
+   sonames.  */
+#define BFD_VERSION_DATE 20180718
+#define BFD_VERSION 231010000
+#define BFD_VERSION_STRING  "(NetBSD Binutils nb1) " "2.31.1"
 #define REPORT_BUGS_TO "<http://www.NetBSD.org/support/send-pr.html>"
--- a/external/gpl3/binutils/lib/libbfd/arch/riscv32/config.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/lib/libbfd/arch/riscv32/config.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,6 +1,6 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* config.h.  Generated from config.in by configure.  */
 /* config.in.  Generated from configure.ac by autoheader.  */
@@ -15,6 +15,10 @@
 /* Name of host specific core header file to include in elf.c. */
 /* #undef CORE_HEADER */
 
+/* Define to 1 if you want to enable -z separate-code in ELF linker by
+   default. */
+#define DEFAULT_LD_Z_SEPARATE_CODE 0
+
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
 #define ENABLE_NLS 1
@@ -135,9 +139,18 @@
 /* Define to 1 if you have the `getuid' function. */
 #define HAVE_GETUID 1
 
+/* Define if your compiler supports hidden visibility. */
+#define HAVE_HIDDEN 1
+
 /* Define to 1 if you have the <inttypes.h> header file. */
 #define HAVE_INTTYPES_H 1
 
+/* Define to 1 if the system has the type `long double'. */
+#define HAVE_LONG_DOUBLE 1
+
+/* Define to 1 if the system has the type `long long'. */
+#define HAVE_LONG_LONG 1
+
 /* Define if <sys/procfs.h> has lwpstatus_t. */
 /* #undef HAVE_LWPSTATUS_T */
 
@@ -251,6 +264,9 @@
    */
 /* #undef HAVE_SYS_NDIR_H */
 
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
 /* Define to 1 if you have the <sys/procfs.h> header file. */
 /* #undef HAVE_SYS_PROCFS_H */
 
@@ -298,7 +314,7 @@
 #define PACKAGE_NAME "bfd"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "bfd 2.26.1"
+#define PACKAGE_STRING "bfd 2.31.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "bfd"
@@ -307,7 +323,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.26.1"
+#define PACKAGE_VERSION "2.31.1"
 
 /* The size of `char', as computed by sizeof. */
 /* #undef SIZEOF_CHAR */
@@ -342,6 +358,9 @@
 /* Name of host specific header file to include in trad-core.c. */
 /* #undef TRAD_HEADER */
 
+/* Define if 64-bit archives should always be used. */
+/* #undef USE_64_BIT_ARCHIVE */
+
 /* Use b modifier when opening binary files? */
 /* #undef USE_BINARY_FOPEN */
 
@@ -354,9 +373,6 @@
 /* Define if we should default to creating read-only plt entries */
 /* #undef USE_SECUREPLT */
 
-/* Define if we may generate symbols with ELF's STT_COMMON type */
-/* #undef USE_STT_COMMON */
-
 /* Enable extensions on AIX 3, Interix.  */
 #ifndef _ALL_SOURCE
 # define _ALL_SOURCE 1
@@ -380,7 +396,12 @@
 
 
 /* Version number of package */
-#define VERSION "2.26.1"
+#define VERSION "2.31.1"
+
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
 
 /* Number of bits in a file offset, on hosts where this is settable. */
 /* #undef _FILE_OFFSET_BITS */
--- a/external/gpl3/binutils/lib/libbfd/arch/riscv32/defs.mk	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/lib/libbfd/arch/riscv32/defs.mk	Wed Apr 17 09:37:49 2019 +0000
@@ -1,9 +1,10 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp 
-# Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp 
+# Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp 
+# Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp 
 #
-G_libbfd_la_DEPENDENCIES=elf64-riscv.lo elf64.lo elfxx-riscv.lo elf.lo elflink.lo elf-attrs.lo elf-strtab.lo elf-eh-frame.lo dwarf1.lo dwarf2.lo elf32-riscv.lo elf32.lo elf64-gen.lo elf32-gen.lo plugin.lo cpu-riscv.lo cpu-plugin.lo  archive64.lo ofiles
+G_libbfd_la_DEPENDENCIES=elf32-riscv.lo elfxx-riscv.lo elf32.lo elf.lo elflink.lo elf-attrs.lo elf-strtab.lo elf-properties.lo elf-eh-frame.lo dwarf1.lo dwarf2.lo elf64-riscv.lo elf64.lo elf64-gen.lo elf32-gen.lo plugin.lo cpu-riscv.lo cpu-plugin.lo  archive64.lo ofiles
 G_libbfd_la_OBJECTS=archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo  cache.lo coff-bfd.lo compress.lo corefile.lo format.lo hash.lo  init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo  section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo  binary.lo ihex.lo srec.lo tekhex.lo verilog.lo
 G_DEFS=-DHAVE_CONFIG_H
-G_INCLUDES=-I. -I${GNUHOSTDIST}/bfd -I${GNUHOSTDIST}/bfd/../include   -DHAVE_riscv_elf64_vec -DHAVE_riscv_elf32_vec -DHAVE_elf64_le_vec -DHAVE_elf64_be_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec -DHAVE_plugin_vec -I./../intl
-G_TDEFAULTS=-DDEFAULT_VECTOR=riscv_elf64_vec -DSELECT_VECS='&riscv_elf64_vec,&riscv_elf32_vec,&elf64_le_vec,&elf64_be_vec,&elf32_le_vec,&elf32_be_vec,&plugin_vec' -DSELECT_ARCHITECTURES='&bfd_riscv_arch,&bfd_plugin_arch'
+G_INCLUDES=
+G_TDEFAULTS=-DDEFAULT_VECTOR=riscv_elf32_vec -DSELECT_VECS='&riscv_elf32_vec,&riscv_elf64_vec,&elf64_le_vec,&elf64_be_vec,&elf32_le_vec,&elf32_be_vec,&plugin_vec' -DSELECT_ARCHITECTURES='&bfd_riscv_arch,&bfd_plugin_arch'
+G_HAVEVECS=-DHAVE_riscv_elf32_vec -DHAVE_riscv_elf64_vec -DHAVE_elf64_le_vec -DHAVE_elf64_be_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec -DHAVE_plugin_vec
--- a/external/gpl3/binutils/lib/libiberty/arch/riscv32/config.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/lib/libiberty/arch/riscv32/config.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,6 +1,6 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* config.h.  Generated from config.in by configure.  */
 /* config.in.  Generated from configure.ac by autoheader.  */
@@ -84,6 +84,10 @@
    don't. */
 #define HAVE_DECL_SNPRINTF 1
 
+/* Define to 1 if you have the declaration of `strnlen', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRNLEN 1
+
 /* Define to 1 if you have the declaration of `strtol', and to 0 if you don't.
    */
 #define HAVE_DECL_STRTOL 1
@@ -527,6 +531,11 @@
 # endif
 #endif
 
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
 /* Number of bits in a file offset, on hosts where this is settable. */
 /* #undef _FILE_OFFSET_BITS */
 
--- a/external/gpl3/binutils/lib/libiberty/arch/riscv32/defs.mk	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/lib/libiberty/arch/riscv32/defs.mk	Wed Apr 17 09:37:49 2019 +0000
@@ -1,8 +1,8 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp 
-# Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp 
+# Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp 
+# Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp 
 #
 G_ALLOCA=
 G_EXTRA_OFILES=
 G_LIBOBJS=mempcpy.o strverscmp.o vfork.o
-G_REQUIRED_OFILES=regex.o cplus-dem.o cp-demangle.o  md5.o sha1.o alloca.o		 argv.o						 choose-temp.o concat.o			 cp-demint.o crc32.o d-demangle.o	 dwarfnames.o dyn-string.o			 fdmatch.o fibheap.o				 filename_cmp.o floatformat.o		 fnmatch.o fopen_unlocked.o			 getopt.o getopt1.o getpwd.o	 getruntime.o hashtab.o hex.o	 lbasename.o lrealpath.o			 make-relative-prefix.o make-temp-file.o	 objalloc.o						 obstack.o						 partition.o pexecute.o physmem.o	 pex-common.o pex-one.o			 pex-unix.o vprintf-support.o		 safe-ctype.o						 simple-object.o simple-object-coff.o	 simple-object-elf.o simple-object-mach-o.o	 simple-object-xcoff.o					 sort.o spaces.o				 splay-tree.o stack-limit.o			 strerror.o strsignal.o			 timeval-utils.o unlink-if-ordinary.o	 xasprintf.o xatexit.o xexit.o	 xmalloc.o xmemdup.o xstrdup.o	 xstrerror.o xstrndup.o			 xvasprintf.o
+G_REQUIRED_OFILES=regex.o cplus-dem.o cp-demangle.o  md5.o sha1.o alloca.o		 argv.o						 choose-temp.o concat.o			 cp-demint.o crc32.o d-demangle.o	 dwarfnames.o dyn-string.o			 fdmatch.o fibheap.o				 filename_cmp.o floatformat.o		 fnmatch.o fopen_unlocked.o			 getopt.o getopt1.o getpwd.o	 getruntime.o hashtab.o hex.o	 lbasename.o lrealpath.o			 make-relative-prefix.o make-temp-file.o	 objalloc.o						 obstack.o						 partition.o pexecute.o physmem.o	 pex-common.o pex-one.o			 pex-unix.o vprintf-support.o		 rust-demangle.o					 safe-ctype.o						 simple-object.o simple-object-coff.o	 simple-object-elf.o simple-object-mach-o.o	 simple-object-xcoff.o					 sort.o spaces.o				 splay-tree.o stack-limit.o			 strerror.o strsignal.o			 timeval-utils.o unlink-if-ordinary.o	 xasprintf.o xatexit.o xexit.o	 xmalloc.o xmemdup.o xstrdup.o	 xstrerror.o xstrndup.o			 xvasprintf.o
--- a/external/gpl3/binutils/lib/libopcodes/arch/riscv32/config.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/lib/libopcodes/arch/riscv32/config.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,6 +1,6 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* config.h.  Generated from config.in by configure.  */
 /* config.in.  Generated from configure.ac by autoheader.  */
@@ -74,7 +74,7 @@
 #define PACKAGE_NAME "opcodes"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "opcodes 2.26.1"
+#define PACKAGE_STRING "opcodes 2.31.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "opcodes"
@@ -83,7 +83,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.26.1"
+#define PACKAGE_VERSION "2.31.1"
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
@@ -114,7 +114,7 @@
 
 
 /* Version number of package */
-#define VERSION "2.26.1"
+#define VERSION "2.31.1"
 
 /* Define to 1 if on MINIX. */
 /* #undef _MINIX */
--- a/external/gpl3/binutils/usr.bin/common/arch/riscv32/config.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/usr.bin/common/arch/riscv32/config.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,6 +1,6 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* config.h.  Generated from config.in by configure.  */
 /* config.in.  Generated from configure.ac by autoheader.  */
@@ -40,6 +40,10 @@
    */
 /* #undef HAVE_ALLOCA_H */
 
+/* Define to 1 if you have the declaration of `asprintf', and to 0 if you
+   don't. */
+#define HAVE_DECL_ASPRINTF 1
+
 /* Define to 1 if you have the declaration of `environ', and to 0 if you
    don't. */
 #define HAVE_DECL_ENVIRON 0
@@ -202,7 +206,7 @@
 #define PACKAGE_NAME "binutils"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "binutils 2.26.1"
+#define PACKAGE_STRING "binutils 2.31.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "binutils"
@@ -211,7 +215,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.26.1"
+#define PACKAGE_VERSION "2.31.1"
 
 /* The size of `long', as computed by sizeof. */
 #define SIZEOF_LONG 4
@@ -234,7 +238,7 @@
 #define STRING_WITH_STRINGS 1
 
 /* Configured target name. */
-#define TARGET "riscv32-ucb-netbsd"
+#define TARGET "riscv32--netbsd"
 
 /* Define to 1 if user symbol names have a leading underscore, 0 if not. */
 #define TARGET_PREPENDS_UNDERSCORE 0
@@ -265,12 +269,17 @@
 
 
 /* Version number of package */
-#define VERSION "2.26.1"
+#define VERSION "2.31.1"
 
 /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
    `char[]'. */
 #define YYTEXT_POINTER 1
 
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
 /* Number of bits in a file offset, on hosts where this is settable. */
 /* #undef _FILE_OFFSET_BITS */
 
@@ -286,3 +295,6 @@
 
 /* Define to 1 if you need to in order for `stat' and other things to work. */
 /* #undef _POSIX_SOURCE */
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
--- a/external/gpl3/binutils/usr.bin/common/arch/riscv32/defs.mk	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/usr.bin/common/arch/riscv32/defs.mk	Wed Apr 17 09:37:49 2019 +0000
@@ -1,18 +1,18 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp 
-# Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp 
+# Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp 
+# Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp 
 #
-G_VERSION=2.26.1
+G_VERSION=2.31.1
 G_DEFS=-DHAVE_CONFIG_H
 G_INCLUDES=
-G_PROGRAMS=size objdump ar  strings ranlib objcopy   addr2line readelf  elfedit nm-new strip-new cxxfilt bfdtest1 bfdtest2
-G_man_MANS=addr2line.1  ar.1  dlltool.1  nlmconv.1  nm.1  objcopy.1  objdump.1  ranlib.1  readelf.1  size.1  strings.1  strip.1  elfedit.1  windres.1  windmc.1  c++filt.1
+G_PROGRAMS=size objdump ar  strings ranlib objcopy   addr2line readelf elfedit   nm-new strip-new cxxfilt bfdtest1 bfdtest2
+G_man_MANS=addr2line.1  ar.1  dlltool.1  nm.1  objcopy.1  objdump.1  ranlib.1  readelf.1  size.1  strings.1  strip.1  elfedit.1  windres.1  windmc.1  c++filt.1
 G_TEXINFOS=binutils.texi
 G_PKGVERSION=(NetBSD Binutils nb1) 
 G_REPORT_BUGS_TEXI=@uref{http://www.NetBSD.org/support/send-pr.html}
 G_size_OBJECTS=size.o bucomm.o version.o filemode.o
 G_size_DEPENDENCIES=./../intl/libintl.a ../libiberty/libiberty.a ../bfd/libbfd.la
-G_objdump_OBJECTS=objdump.o dwarf.o prdbg.o  rddbg.o debug.o stabs.o  ieee.o rdcoff.o bucomm.o version.o filemode.o elfcomm.o
+G_objdump_OBJECTS=objdump.o dwarf.o prdbg.o  rddbg.o debug.o stabs.o  rdcoff.o bucomm.o version.o filemode.o elfcomm.o
 G_objdump_DEPENDENCIES=./../intl/libintl.a ../libiberty/libiberty.a ../bfd/libbfd.la ../opcodes/libopcodes.la 
 G_ar_OBJECTS=arparse.o arlex.o ar.o  not-ranlib.o arsup.o rename.o  binemul.o emul_vanilla.o bucomm.o version.o filemode.o
 G_ar_DEPENDENCIES=./../intl/libintl.a ../libiberty/libiberty.a ../bfd/libbfd.la
@@ -20,7 +20,7 @@
 G_strings_DEPENDENCIES=./../intl/libintl.a ../libiberty/libiberty.a ../bfd/libbfd.la
 G_ranlib_OBJECTS=ar.o is-ranlib.o arparse.o  arlex.o arsup.o rename.o  binemul.o emul_vanilla.o bucomm.o version.o filemode.o
 G_ranlib_DEPENDENCIES=./../intl/libintl.a ../libiberty/libiberty.a ../bfd/libbfd.la
-G_objcopy_OBJECTS=objcopy.o not-strip.o  rename.o rddbg.o debug.o stabs.o  ieee.o rdcoff.o wrstabs.o bucomm.o version.o filemode.o
+G_objcopy_OBJECTS=objcopy.o not-strip.o  rename.o rddbg.o debug.o stabs.o  rdcoff.o wrstabs.o bucomm.o version.o filemode.o
 G_objcopy_DEPENDENCIES=./../intl/libintl.a ../libiberty/libiberty.a ../bfd/libbfd.la
 G_addr2line_OBJECTS=addr2line.o bucomm.o version.o filemode.o
 G_addr2line_DEPENDENCIES=./../intl/libintl.a ../libiberty/libiberty.a ../bfd/libbfd.la
@@ -30,7 +30,7 @@
 G_elfedit_DEPENDENCIES=./../intl/libintl.a ../libiberty/libiberty.a
 G_nm_new_OBJECTS=nm.o bucomm.o version.o filemode.o
 G_nm_new_DEPENDENCIES=./../intl/libintl.a ../libiberty/libiberty.a ../bfd/libbfd.la
-G_strip_new_OBJECTS=objcopy.o is-strip.o  rename.o rddbg.o debug.o stabs.o  ieee.o rdcoff.o wrstabs.o bucomm.o version.o filemode.o
+G_strip_new_OBJECTS=objcopy.o is-strip.o  rename.o rddbg.o debug.o stabs.o  rdcoff.o wrstabs.o bucomm.o version.o filemode.o
 G_strip_new_DEPENDENCIES=./../intl/libintl.a ../libiberty/libiberty.a ../bfd/libbfd.la
 G_cxxfilt_OBJECTS=cxxfilt.o bucomm.o version.o filemode.o
 G_cxxfilt_DEPENDENCIES=./../intl/libintl.a ../libiberty/libiberty.a ../bfd/libbfd.la
--- a/external/gpl3/binutils/usr.bin/gas/arch/riscv32/config.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/usr.bin/gas/arch/riscv32/config.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,6 +1,6 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* config.h.  Generated from config.in by configure.  */
 /* config.in.  Generated from configure.ac by autoheader.  */
@@ -33,7 +33,7 @@
 /* #undef C_ALLOCA */
 
 /* Default architecture. */
-/* #undef DEFAULT_ARCH */
+#define DEFAULT_ARCH "riscv32"
 
 /* Default CRIS architecture. */
 /* #undef DEFAULT_CRIS_ARCH */
@@ -44,6 +44,14 @@
 /* Define if you want compressed debug sections by default. */
 /* #undef DEFAULT_FLAG_COMPRESS_DEBUG */
 
+/* Define to 1 if you want to generate GNU Build attribute notes by default,
+   if none are contained in the input. */
+#define DEFAULT_GENERATE_BUILD_NOTES 0
+
+/* Define to 1 if you want to generate ELF common symbols with the STT_COMMON
+   type by default. */
+#define DEFAULT_GENERATE_ELF_STT_COMMON 0
+
 /* Define to 1 if you want to generate x86 relax relocations by default. */
 #define DEFAULT_GENERATE_X86_RELAX_RELOCATIONS 1
 
@@ -145,6 +153,9 @@
 /* Define to 1 if you have the <string.h> header file. */
 #define HAVE_STRING_H 1
 
+/* Define to 1 if you have the `strsignal' function. */
+#define HAVE_STRSIGNAL 1
+
 /* Define if <sys/stat.h> has struct stat.st_mtim.tv_nsec */
 #define HAVE_ST_MTIM_TV_NSEC 1
 
@@ -179,12 +190,6 @@
    */
 #define LT_OBJDIR ".libs/"
 
-/* Using m68k COFF? */
-/* #undef M68KCOFF */
-
-/* Using m88k COFF? */
-/* #undef M88KCOFF */
-
 /* Default CPU for MIPS targets. */
 /* #undef MIPS_CPU_STRING_DEFAULT */
 
@@ -236,9 +241,6 @@
 /* a.out support? */
 /* #undef OBJ_MAYBE_AOUT */
 
-/* b.out support? */
-/* #undef OBJ_MAYBE_BOUT */
-
 /* COFF support? */
 /* #undef OBJ_MAYBE_COFF */
 
@@ -264,7 +266,7 @@
 #define PACKAGE_NAME "gas"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "gas 2.26.1"
+#define PACKAGE_STRING "gas 2.31.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gas"
@@ -273,10 +275,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.26.1"
-
-/* Define if defaulting to ELF on SCO 5. */
-/* #undef SCO_ELF */
+#define PACKAGE_VERSION "2.31.1"
 
 /* If using the C implementation of alloca, define if you know the
    direction of stack growth for your system; otherwise it will be
@@ -302,7 +301,7 @@
 #define TARGET_BYTES_BIG_ENDIAN 0
 
 /* Canonical target. */
-#define TARGET_CANONICAL "riscv32-ucb-netbsd"
+#define TARGET_CANONICAL "riscv32--netbsd"
 
 /* Target CPU. */
 #define TARGET_CPU "riscv32"
@@ -313,11 +312,11 @@
 /* Define if default target is PowerPC Solaris. */
 /* #undef TARGET_SOLARIS_COMMENT */
 
-/* Define if target is Symbian OS. */
-/* #undef TARGET_SYMBIAN */
+/* Target vendor. */
+#define TARGET_VENDOR ""
 
-/* Target vendor. */
-#define TARGET_VENDOR "ucb"
+/* Target specific CPU. */
+/* #undef TARGET_WITH_CPU */
 
 /* Use b modifier when opening binary files? */
 /* #undef USE_BINARY_FOPEN */
@@ -354,7 +353,7 @@
 /* #undef USING_CGEN */
 
 /* Version number of package */
-#define VERSION "2.26.1"
+#define VERSION "2.31.1"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
@@ -372,6 +371,11 @@
    `char[]'. */
 #define YYTEXT_POINTER 1
 
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
 /* Number of bits in a file offset, on hosts where this is settable. */
 /* #undef _FILE_OFFSET_BITS */
 
@@ -393,3 +397,6 @@
 #ifndef __cplusplus
 /* #undef inline */
 #endif
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
--- a/external/gpl3/binutils/usr.bin/gas/arch/riscv32/targ-env.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/usr.bin/gas/arch/riscv32/targ-env.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,5 +1,5 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
-#include "te-nbsd.h"
+#include "te-generic.h"
--- a/external/gpl3/binutils/usr.bin/gprof/arch/riscv32/defs.mk	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/usr.bin/gprof/arch/riscv32/defs.mk	Wed Apr 17 09:37:49 2019 +0000
@@ -1,8 +1,8 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp 
-# Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp 
+# Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp 
+# Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp 
 #
 G_DEFS=-DHAVE_CONFIG_H
-G_gprof_OBJECTS=basic_blocks.o call_graph.o  cg_arcs.o cg_dfn.o cg_print.o  corefile.o gmon_io.o gprof.o  hertz.o hist.o source.o  search_list.o symtab.o sym_ids.o  utils.o i386.o alpha.o vax.o  tahoe.o sparc.o mips.o  aarch64.o flat_bl.o  bsd_callg_bl.o fsf_callg_bl.o
+G_gprof_OBJECTS=basic_blocks.o call_graph.o  cg_arcs.o cg_dfn.o cg_print.o  corefile.o gmon_io.o gprof.o  hertz.o hist.o source.o  search_list.o symtab.o sym_ids.o  utils.o i386.o alpha.o vax.o  sparc.o mips.o aarch64.o flat_bl.o  bsd_callg_bl.o fsf_callg_bl.o
 G_INCLUDES=
 G_TEXINFOS=gprof.texi
--- a/external/gpl3/binutils/usr.bin/gprof/arch/riscv32/gconfig.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/usr.bin/gprof/arch/riscv32/gconfig.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,6 +1,6 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* gconfig.h.  Generated from gconfig.in by configure.  */
 /* gconfig.in.  Generated from configure.ac by autoheader.  */
@@ -65,7 +65,7 @@
 #define PACKAGE_NAME "gprof"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "gprof 2.26.1"
+#define PACKAGE_STRING "gprof 2.31.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gprof"
@@ -74,7 +74,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.26.1"
+#define PACKAGE_VERSION "2.31.1"
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
@@ -102,7 +102,12 @@
 
 
 /* Version number of package */
-#define VERSION "2.26.1"
+#define VERSION "2.31.1"
+
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
 
 /* Number of bits in a file offset, on hosts where this is settable. */
 /* #undef _FILE_OFFSET_BITS */
--- a/external/gpl3/binutils/usr.bin/ld/arch/riscv32/config.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/usr.bin/ld/arch/riscv32/config.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,6 +1,6 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* config.h.  Generated from config.in by configure.  */
 /* config.in.  Generated from configure.ac by autoheader.  */
@@ -12,9 +12,26 @@
 #endif
 #define __CONFIG_H__ 1
 
+/* Define to 1 if you want to emit gnu hash in the ELF linker by default. */
+#define DEFAULT_EMIT_GNU_HASH 0
+
+/* Define to 1 if you want to emit sysv hash in the ELF linker by default. */
+#define DEFAULT_EMIT_SYSV_HASH 1
+
 /* Define if you want compressed debug sections by default. */
 /* #undef DEFAULT_FLAG_COMPRESS_DEBUG */
 
+/* Define to 1 if you want to enable -z relro in ELF linker by default. */
+#define DEFAULT_LD_Z_RELRO 0
+
+/* Define to 1 if you want to enable -z separate-code in ELF linker by
+   default. */
+#define DEFAULT_LD_Z_SEPARATE_CODE 0
+
+/* Define to 1 if you want to set DT_RUNPATH instead of DT_RPATH by default.
+   */
+#define DEFAULT_NEW_DTAGS 0
+
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
 #define ENABLE_NLS 1
@@ -170,7 +187,7 @@
 #define PACKAGE_NAME "ld"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "ld 2.26.1"
+#define PACKAGE_STRING "ld 2.31.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "ld"
@@ -179,7 +196,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.26.1"
+#define PACKAGE_VERSION "2.31.1"
 
 /* The size of `void *', as computed by sizeof. */
 #define SIZEOF_VOID_P 4
@@ -216,12 +233,17 @@
 
 
 /* Version number of package */
-#define VERSION "2.26.1"
+#define VERSION "2.31.1"
 
 /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
    `char[]'. */
 #define YYTEXT_POINTER 1
 
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
 /* Number of bits in a file offset, on hosts where this is settable. */
 /* #undef _FILE_OFFSET_BITS */
 
--- a/external/gpl3/binutils/usr.bin/ld/arch/riscv32/defs.mk	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/binutils/usr.bin/ld/arch/riscv32/defs.mk	Wed Apr 17 09:37:49 2019 +0000
@@ -1,6 +1,6 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp 
-# Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp 
+# Generated from: NetBSD: mknative-binutils,v 1.11 2018/11/08 02:08:35 christos Exp 
+# Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp 
 #
 G_DEFS=-DHAVE_CONFIG_H
 G_EMUL=elf32lriscv
@@ -8,6 +8,6 @@
 G_INCLUDES=
 G_OFILES=ldgram.o ldlex-wrapper.o lexsup.o ldlang.o  mri.o ldctor.o ldmain.o plugin.o  ldwrite.o ldexp.o  ldemul.o ldver.o ldmisc.o  ldfile.o ldcref.o eelf32lriscv.o eelf64lriscv.o   ldbuildid.o
 G_STRINGIFY=astring.sed
-G_TEXINFOS=ld.texinfo
+G_TEXINFOS=ld.texi
 G_target_alias=riscv32--netbsd
 G_enable_initfini_array=no
--- a/external/gpl3/gcc/lib/libbacktrace/arch/riscv32/backtrace-supported.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libbacktrace/arch/riscv32/backtrace-supported.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,9 +1,9 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* backtrace-supported.h.in -- Whether stack backtrace is supported.
-   Copyright (C) 2012-2013 Free Software Foundation, Inc.
+   Copyright (C) 2012-2017 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Google.
 
 Redistribution and use in source and binary forms, with or without
@@ -11,13 +11,13 @@
 met:
 
     (1) Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer. 
+    notice, this list of conditions and the following disclaimer.
 
     (2) Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in
     the documentation and/or other materials provided with the
-    distribution.  
-    
+    distribution.
+
     (3) The name of the author may not be used to
     endorse or promote products derived from this software without
     specific prior written permission.
@@ -63,3 +63,8 @@
    as 0.  */
 
 #define BACKTRACE_SUPPORTS_THREADS 1
+
+/* BACKTRACE_SUPPORTS_DATA will be #defined'd as 1 if the backtrace_syminfo
+   will work for variables.  It will always work for functions.  */
+
+#define BACKTRACE_SUPPORTS_DATA 1
--- a/external/gpl3/gcc/lib/libbacktrace/arch/riscv32/config.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libbacktrace/arch/riscv32/config.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,6 +1,6 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* config.h.  Generated from config.h.in by configure.  */
 /* config.h.in.  Generated from configure.ac by autoheader.  */
@@ -8,6 +8,9 @@
 /* ELF size: 32 or 64 */
 #define BACKTRACE_ELF_SIZE 32
 
+/* Define to 1 if you have the __atomic functions */
+#define HAVE_ATOMIC_FUNCTIONS 1
+
 /* Define to 1 if you have the declaration of `strnlen', and to 0 if you
    don't. */
 #define HAVE_DECL_STRNLEN 1
--- a/external/gpl3/gcc/lib/libgcc/arch/riscv32/defs.mk	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libgcc/arch/riscv32/defs.mk	Wed Apr 17 09:37:49 2019 +0000
@@ -3,7 +3,7 @@
 # Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp 
 #
 G_INCLUDES=-I. -I. -I../.././gcc -I${GNUHOSTDIST}/libgcc -I${GNUHOSTDIST}/libgcc/. -I${GNUHOSTDIST}/libgcc/../gcc -I${GNUHOSTDIST}/libgcc/../include 
-G_INTERNAL_CFLAGS=-g -O2 -O2  -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fPIC -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector   -fPIC -I. -I. -I../.././gcc -I${GNUHOSTDIST}/libgcc -I${GNUHOSTDIST}/libgcc/. -I${GNUHOSTDIST}/libgcc/../gcc -I${GNUHOSTDIST}/libgcc/../include  -DHAVE_CC_TLS 
+G_INTERNAL_CFLAGS=-g -O2 -O2  -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fPIC -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector   -fPIC -I. -I. -I../.././gcc -I${GNUHOSTDIST}/libgcc -I${GNUHOSTDIST}/libgcc/. -I${GNUHOSTDIST}/libgcc/../gcc -I${GNUHOSTDIST}/libgcc/../include  -DHAVE_CC_TLS 
 G_LIB2ADD= ${GNUHOSTDIST}/libgcc/soft-fp/addtf3.c ${GNUHOSTDIST}/libgcc/soft-fp/divtf3.c ${GNUHOSTDIST}/libgcc/soft-fp/eqtf2.c ${GNUHOSTDIST}/libgcc/soft-fp/getf2.c ${GNUHOSTDIST}/libgcc/soft-fp/letf2.c ${GNUHOSTDIST}/libgcc/soft-fp/multf3.c ${GNUHOSTDIST}/libgcc/soft-fp/negtf2.c ${GNUHOSTDIST}/libgcc/soft-fp/subtf3.c ${GNUHOSTDIST}/libgcc/soft-fp/unordtf2.c ${GNUHOSTDIST}/libgcc/soft-fp/fixtfsi.c ${GNUHOSTDIST}/libgcc/soft-fp/fixunstfsi.c ${GNUHOSTDIST}/libgcc/soft-fp/floatsitf.c ${GNUHOSTDIST}/libgcc/soft-fp/floatunsitf.c ${GNUHOSTDIST}/libgcc/soft-fp/extendsftf2.c ${GNUHOSTDIST}/libgcc/soft-fp/extenddftf2.c ${GNUHOSTDIST}/libgcc/soft-fp/trunctfsf2.c ${GNUHOSTDIST}/libgcc/soft-fp/trunctfdf2.c enable-execute-stack.c
 G_LIB2ADDEH=${GNUHOSTDIST}/libgcc/unwind-dw2.c ${GNUHOSTDIST}/libgcc/unwind-dw2-fde-dip.c ${GNUHOSTDIST}/libgcc/unwind-sjlj.c ${GNUHOSTDIST}/libgcc/unwind-c.c ${GNUHOSTDIST}/libgcc/emutls.c
 G_LIB2ADD_ST=
@@ -12,7 +12,7 @@
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _divmoddi4 _udivdi3 _umoddi3 _udivmoddi4 _udiv_w_sdiv
 G_LIB2FUNCS_ST=_eprintf __gcc_bcmp
 G_LIB2FUNCS_EXTRA=
-G_LIBGCC2_CFLAGS=-O2  -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fPIC -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector 
+G_LIBGCC2_CFLAGS=-O2  -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fPIC -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector 
 G_SHLIB_MKMAP=${GNUHOSTDIST}/libgcc/mkmap-symver.awk
 G_SHLIB_MKMAP_OPTS=
 G_SHLIB_MAPFILES=libgcc-std.ver
--- a/external/gpl3/gcc/lib/libgomp/arch/riscv32/libgomp.spec	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libgomp/arch/riscv32/libgomp.spec	Wed Apr 17 09:37:49 2019 +0000
@@ -1,7 +1,7 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp 
-# Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp 
+# Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp 
+# Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp 
 #
 # This spec file is read by gcc when linking.  It is used to specify the
-# standard libraries we need in order to link with -fopenmp.
+# standard libraries we need in order to link with libgomp.
 *link_gomp: -lgomp %{static: }
--- a/external/gpl3/gcc/lib/libgomp/arch/riscv32/libgomp_f.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libgomp/arch/riscv32/libgomp_f.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,11 +1,12 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.8 2006/05/26 19:17:21 mrg Exp  */
+/* Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
-/* Copyright (C) 2005-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
    Contributed by Jakub Jelinek <jakub@redhat.com>.
 
-   This file is part of the GNU OpenMP Library (libgomp).
+   This file is part of the GNU Offloading and Multi Processing Library
+   (libgomp).
 
    Libgomp is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by
--- a/external/gpl3/gcc/lib/libgomp/arch/riscv32/omp.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libgomp/arch/riscv32/omp.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,5 +1,5 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.94 2018/09/04 22:57:25 mrg Exp  */
+/* Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* Copyright (C) 2005-2017 Free Software Foundation, Inc.
@@ -38,14 +38,14 @@
 
 typedef struct
 {
-  unsigned char _x[8] 
-    __attribute__((__aligned__(8)));
+  unsigned char _x[4] 
+    __attribute__((__aligned__(4)));
 } omp_lock_t;
 
 typedef struct
 {
-  unsigned char _x[24] 
-    __attribute__((__aligned__(8)));
+  unsigned char _x[12] 
+    __attribute__((__aligned__(4)));
 } omp_nest_lock_t;
 #endif
 
--- a/external/gpl3/gcc/lib/libiberty/arch/riscv32/config.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libiberty/arch/riscv32/config.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,6 +1,6 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* config.h.  Generated from config.in by configure.  */
 /* config.in.  Generated from configure.ac by autoheader.  */
@@ -84,6 +84,22 @@
    don't. */
 #define HAVE_DECL_SNPRINTF 1
 
+/* Define to 1 if you have the declaration of `strtol', and to 0 if you don't.
+   */
+#define HAVE_DECL_STRTOL 1
+
+/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRTOLL 1
+
+/* Define to 1 if you have the declaration of `strtoul', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRTOUL 1
+
+/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRTOULL 1
+
 /* Define to 1 if you have the declaration of `strverscmp', and to 0 if you
    don't. */
 #define HAVE_DECL_STRVERSCMP 0
@@ -141,6 +157,9 @@
 /* Define to 1 if you have the <limits.h> header file. */
 #define HAVE_LIMITS_H 1
 
+/* Define if you have the `long long' type. */
+#define HAVE_LONG_LONG 1
+
 /* Define to 1 if you have the <machine/hal_sysinfo.h> header file. */
 /* #undef HAVE_MACHINE_HAL_SYSINFO_H */
 
@@ -285,9 +304,15 @@
 /* Define to 1 if you have the `strtol' function. */
 #define HAVE_STRTOL 1
 
+/* Define to 1 if you have the `strtoll' function. */
+#define HAVE_STRTOLL 1
+
 /* Define to 1 if you have the `strtoul' function. */
 #define HAVE_STRTOUL 1
 
+/* Define to 1 if you have the `strtoull' function. */
+#define HAVE_STRTOULL 1
+
 /* Define to 1 if you have the `strverscmp' function. */
 /* #undef HAVE_STRVERSCMP */
 
@@ -444,6 +469,15 @@
 /* The size of `int', as computed by sizeof. */
 #define SIZEOF_INT 4
 
+/* The size of `long', as computed by sizeof. */
+#define SIZEOF_LONG 4
+
+/* The size of `long long', as computed by sizeof. */
+#define SIZEOF_LONG_LONG 8
+
+/* The size of `size_t', as computed by sizeof. */
+#define SIZEOF_SIZE_T 4
+
 /* Define if you know the direction of stack growth for your system; otherwise
    it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows
    toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses
@@ -459,6 +493,28 @@
 /* Define to an unsigned 64-bit type available in the compiler. */
 #define UNSIGNED_64BIT_TYPE uint64_t
 
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+
+
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
 #if defined AC_APPLE_UNIVERSAL_BUILD
@@ -477,6 +533,16 @@
 /* Define for large files, on AIX-style hosts. */
 /* #undef _LARGE_FILES */
 
+/* Define to 1 if on MINIX. */
+/* #undef _MINIX */
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+/* #undef _POSIX_SOURCE */
+
 /* Define to empty if `const' does not conform to ANSI C. */
 /* #undef const */
 
--- a/external/gpl3/gcc/lib/libobjc/arch/riscv32/config.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libobjc/arch/riscv32/config.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,10 +1,13 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* config.h.  Generated from config.h.in by configure.  */
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
+/* Define if the type of bitfields effects alignment. */
+#define HAVE_BITFIELD_TYPE_MATTERS 1
+
 /* Define to 1 if the target assembler supports thread-local storage. */
 /* #undef HAVE_CC_TLS */
 
@@ -69,8 +72,5 @@
 /* Define to the version of this package. */
 #define PACKAGE_VERSION "version-unused"
 
-/* Define if the compiler is configured for setjmp/longjmp exceptions. */
-/* #undef SJLJ_EXCEPTIONS */
-
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
--- a/external/gpl3/gcc/lib/libobjc/arch/riscv32/defs.mk	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libobjc/arch/riscv32/defs.mk	Wed Apr 17 09:37:49 2019 +0000
@@ -1,11 +1,10 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp 
-# Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp 
+# Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp 
+# Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp 
 #
-G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c-family/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/riscv/riscv.opt ${GNUHOSTDIST}/gcc/config/netbsd.opt ${GNUHOSTDIST}/gcc/config/netbsd-elf.opt
+G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/brig/lang.opt ${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c-family/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/riscv/riscv.opt ${GNUHOSTDIST}/gcc/config/netbsd.opt ${GNUHOSTDIST}/gcc/config/netbsd-elf.opt
 G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc   -g -O2  -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions
 G_INCLUDES=-I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../libgcc -I../libgcc -I${GNUHOSTDIST}/libobjc/../include 
 G_OBJC_SOURCE_FILES=NXConstStr.m Object.m Protocol.m accessors.m linking.m
 G_C_SOURCE_FILES=class.c encoding.c error.c gc.c hash.c init.c ivars.c memory.c methods.c nil_method.c objc-foreach.c objc-sync.c objects.c protocols.c sarray.c selector.c sendmsg.c thr.c exception.c
 G_OBJC_H=objc.h objc-exception.h objc-sync.h NXConstStr.h Object.h Protocol.h message.h objc-decls.h runtime.h thr.h
-G_CONFIG_LINKS=${GNUHOSTDIST}/libgcc/enable-execute-stack-mprotect.c  enable-execute-stack.c ${GNUHOSTDIST}/libgcc/unwind-generic.h  unwind.h ${GNUHOSTDIST}/libgcc/config/no-unwind.h  md-unwind-support.h ${GNUHOSTDIST}/libgcc/config/no-sfp-machine.h  sfp-machine.h ${GNUHOSTDIST}/libgcc/gthr-posix.h  gthr-default.h 
--- a/external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/c++config.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/c++config.h	Wed Apr 17 09:37:49 2019 +0000
@@ -648,34 +648,34 @@
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
 /* Define to 1 if you have the `acosf' function. */
-#define _GLIBCXX_HAVE_ACOSF 1
+/* #undef _GLIBCXX_HAVE_ACOSF */
 
 /* Define to 1 if you have the `acosl' function. */
-#define _GLIBCXX_HAVE_ACOSL 1
+/* #undef _GLIBCXX_HAVE_ACOSL */
 
 /* Define to 1 if you have the `aligned_alloc' function. */
 #define _GLIBCXX_HAVE_ALIGNED_ALLOC 1
 
 /* Define to 1 if you have the `asinf' function. */
-#define _GLIBCXX_HAVE_ASINF 1
+/* #undef _GLIBCXX_HAVE_ASINF */
 
 /* Define to 1 if you have the `asinl' function. */
-#define _GLIBCXX_HAVE_ASINL 1
+/* #undef _GLIBCXX_HAVE_ASINL */
 
 /* Define to 1 if the target assembler supports .symver directive. */
 #define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1
 
 /* Define to 1 if you have the `atan2f' function. */
-#define _GLIBCXX_HAVE_ATAN2F 1
+/* #undef _GLIBCXX_HAVE_ATAN2F */
 
 /* Define to 1 if you have the `atan2l' function. */
-#define _GLIBCXX_HAVE_ATAN2L 1
+/* #undef _GLIBCXX_HAVE_ATAN2L */
 
 /* Define to 1 if you have the `atanf' function. */
-#define _GLIBCXX_HAVE_ATANF 1
+/* #undef _GLIBCXX_HAVE_ATANF */
 
 /* Define to 1 if you have the `atanl' function. */
-#define _GLIBCXX_HAVE_ATANL 1
+/* #undef _GLIBCXX_HAVE_ATANL */
 
 /* Define to 1 if you have the `at_quick_exit' function. */
 #define _GLIBCXX_HAVE_AT_QUICK_EXIT 1
@@ -684,25 +684,25 @@
 /* #undef _GLIBCXX_HAVE_CC_TLS */
 
 /* Define to 1 if you have the `ceilf' function. */
-#define _GLIBCXX_HAVE_CEILF 1
+/* #undef _GLIBCXX_HAVE_CEILF */
 
 /* Define to 1 if you have the `ceill' function. */
-#define _GLIBCXX_HAVE_CEILL 1
+/* #undef _GLIBCXX_HAVE_CEILL */
 
 /* Define to 1 if you have the <complex.h> header file. */
 #define _GLIBCXX_HAVE_COMPLEX_H 1
 
 /* Define to 1 if you have the `cosf' function. */
-#define _GLIBCXX_HAVE_COSF 1
+/* #undef _GLIBCXX_HAVE_COSF */
 
 /* Define to 1 if you have the `coshf' function. */
-#define _GLIBCXX_HAVE_COSHF 1
+/* #undef _GLIBCXX_HAVE_COSHF */
 
 /* Define to 1 if you have the `coshl' function. */
-#define _GLIBCXX_HAVE_COSHL 1
+/* #undef _GLIBCXX_HAVE_COSHL */
 
 /* Define to 1 if you have the `cosl' function. */
-#define _GLIBCXX_HAVE_COSL 1
+/* #undef _GLIBCXX_HAVE_COSL */
 
 /* Define to 1 if you have the <dirent.h> header file. */
 #define _GLIBCXX_HAVE_DIRENT_H 1
@@ -777,16 +777,16 @@
 #define _GLIBCXX_HAVE_EXECINFO_H 1
 
 /* Define to 1 if you have the `expf' function. */
-#define _GLIBCXX_HAVE_EXPF 1
+/* #undef _GLIBCXX_HAVE_EXPF */
 
 /* Define to 1 if you have the `expl' function. */
-#define _GLIBCXX_HAVE_EXPL 1
+/* #undef _GLIBCXX_HAVE_EXPL */
 
 /* Define to 1 if you have the `fabsf' function. */
-#define _GLIBCXX_HAVE_FABSF 1
+/* #undef _GLIBCXX_HAVE_FABSF */
 
 /* Define to 1 if you have the `fabsl' function. */
-#define _GLIBCXX_HAVE_FABSL 1
+/* #undef _GLIBCXX_HAVE_FABSL */
 
 /* Define to 1 if you have the <fcntl.h> header file. */
 #define _GLIBCXX_HAVE_FCNTL_H 1
@@ -795,10 +795,10 @@
 #define _GLIBCXX_HAVE_FENV_H 1
 
 /* Define to 1 if you have the `finite' function. */
-#define _GLIBCXX_HAVE_FINITE 1
+/* #undef _GLIBCXX_HAVE_FINITE */
 
 /* Define to 1 if you have the `finitef' function. */
-#define _GLIBCXX_HAVE_FINITEF 1
+/* #undef _GLIBCXX_HAVE_FINITEF */
 
 /* Define to 1 if you have the `finitel' function. */
 /* #undef _GLIBCXX_HAVE_FINITEL */
@@ -807,16 +807,16 @@
 #define _GLIBCXX_HAVE_FLOAT_H 1
 
 /* Define to 1 if you have the `floorf' function. */
-#define _GLIBCXX_HAVE_FLOORF 1
+/* #undef _GLIBCXX_HAVE_FLOORF */
 
 /* Define to 1 if you have the `floorl' function. */
-#define _GLIBCXX_HAVE_FLOORL 1
+/* #undef _GLIBCXX_HAVE_FLOORL */
 
 /* Define to 1 if you have the `fmodf' function. */
-#define _GLIBCXX_HAVE_FMODF 1
+/* #undef _GLIBCXX_HAVE_FMODF */
 
 /* Define to 1 if you have the `fmodl' function. */
-#define _GLIBCXX_HAVE_FMODL 1
+/* #undef _GLIBCXX_HAVE_FMODL */
 
 /* Define to 1 if you have the `fpclass' function. */
 /* #undef _GLIBCXX_HAVE_FPCLASS */
@@ -825,10 +825,10 @@
 /* #undef _GLIBCXX_HAVE_FP_H */
 
 /* Define to 1 if you have the `frexpf' function. */
-#define _GLIBCXX_HAVE_FREXPF 1
+/* #undef _GLIBCXX_HAVE_FREXPF */
 
 /* Define to 1 if you have the `frexpl' function. */
-#define _GLIBCXX_HAVE_FREXPL 1
+/* #undef _GLIBCXX_HAVE_FREXPL */
 
 /* Define if _Unwind_GetIPInfo is available. */
 #define _GLIBCXX_HAVE_GETIPINFO 1
@@ -837,13 +837,13 @@
 #define _GLIBCXX_HAVE_GETS 1
 
 /* Define to 1 if you have the `hypot' function. */
-#define _GLIBCXX_HAVE_HYPOT 1
+/* #undef _GLIBCXX_HAVE_HYPOT */
 
 /* Define to 1 if you have the `hypotf' function. */
-#define _GLIBCXX_HAVE_HYPOTF 1
+/* #undef _GLIBCXX_HAVE_HYPOTF */
 
 /* Define to 1 if you have the `hypotl' function. */
-#define _GLIBCXX_HAVE_HYPOTL 1
+/* #undef _GLIBCXX_HAVE_HYPOTL */
 
 /* Define if you have the iconv() function. */
 #define _GLIBCXX_HAVE_ICONV 1
@@ -855,10 +855,10 @@
 #define _GLIBCXX_HAVE_INT64_T 1
 
 /* Define if int64_t is a long. */
-#define _GLIBCXX_HAVE_INT64_T_LONG 1
+/* #undef _GLIBCXX_HAVE_INT64_T_LONG */
 
 /* Define if int64_t is a long long. */
-/* #undef _GLIBCXX_HAVE_INT64_T_LONG_LONG */
+#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1
 
 /* Define to 1 if you have the <inttypes.h> header file. */
 #define _GLIBCXX_HAVE_INTTYPES_H 1
@@ -867,7 +867,7 @@
 #define _GLIBCXX_HAVE_ISINF 1
 
 /* Define to 1 if you have the `isinff' function. */
-#define _GLIBCXX_HAVE_ISINFF 1
+/* #undef _GLIBCXX_HAVE_ISINFF */
 
 /* Define to 1 if you have the `isinfl' function. */
 /* #undef _GLIBCXX_HAVE_ISINFL */
@@ -876,7 +876,7 @@
 #define _GLIBCXX_HAVE_ISNAN 1
 
 /* Define to 1 if you have the `isnanf' function. */
-#define _GLIBCXX_HAVE_ISNANF 1
+/* #undef _GLIBCXX_HAVE_ISNANF */
 
 /* Define to 1 if you have the `isnanl' function. */
 /* #undef _GLIBCXX_HAVE_ISNANL */
@@ -888,10 +888,10 @@
 #define _GLIBCXX_HAVE_LC_MESSAGES 1
 
 /* Define to 1 if you have the `ldexpf' function. */
-#define _GLIBCXX_HAVE_LDEXPF 1
+/* #undef _GLIBCXX_HAVE_LDEXPF */
 
 /* Define to 1 if you have the `ldexpl' function. */
-#define _GLIBCXX_HAVE_LDEXPL 1
+/* #undef _GLIBCXX_HAVE_LDEXPL */
 
 /* Define to 1 if you have the <libintl.h> header file. */
 /* #undef _GLIBCXX_HAVE_LIBINTL_H */
@@ -918,16 +918,16 @@
 #define _GLIBCXX_HAVE_LOCALE_H 1
 
 /* Define to 1 if you have the `log10f' function. */
-#define _GLIBCXX_HAVE_LOG10F 1
+/* #undef _GLIBCXX_HAVE_LOG10F */
 
 /* Define to 1 if you have the `log10l' function. */
-#define _GLIBCXX_HAVE_LOG10L 1
+/* #undef _GLIBCXX_HAVE_LOG10L */
 
 /* Define to 1 if you have the `logf' function. */
-#define _GLIBCXX_HAVE_LOGF 1
+/* #undef _GLIBCXX_HAVE_LOGF */
 
 /* Define to 1 if you have the `logl' function. */
-#define _GLIBCXX_HAVE_LOGL 1
+/* #undef _GLIBCXX_HAVE_LOGL */
 
 /* Define to 1 if you have the <machine/endian.h> header file. */
 #define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1
@@ -945,13 +945,13 @@
 #define _GLIBCXX_HAVE_MEMORY_H 1
 
 /* Define to 1 if you have the `modf' function. */
-#define _GLIBCXX_HAVE_MODF 1
+/* #undef _GLIBCXX_HAVE_MODF */
 
 /* Define to 1 if you have the `modff' function. */
-#define _GLIBCXX_HAVE_MODFF 1
+/* #undef _GLIBCXX_HAVE_MODFF */
 
 /* Define to 1 if you have the `modfl' function. */
-#define _GLIBCXX_HAVE_MODFL 1
+/* #undef _GLIBCXX_HAVE_MODFL */
 
 /* Define to 1 if you have the <nan.h> header file. */
 /* #undef _GLIBCXX_HAVE_NAN_H */
@@ -963,16 +963,16 @@
 /* #undef _GLIBCXX_HAVE_OBSOLETE_ISNAN */
 
 /* Define if poll is available in <poll.h>. */
-#define _GLIBCXX_HAVE_POLL 1
+/* #undef _GLIBCXX_HAVE_POLL */
 
 /* Define to 1 if you have the `posix_memalign' function. */
 #define _GLIBCXX_HAVE_POSIX_MEMALIGN 1
 
 /* Define to 1 if you have the `powf' function. */
-#define _GLIBCXX_HAVE_POWF 1
+/* #undef _GLIBCXX_HAVE_POWF */
 
 /* Define to 1 if you have the `powl' function. */
-#define _GLIBCXX_HAVE_POWL 1
+/* #undef _GLIBCXX_HAVE_POWL */
 
 /* Define to 1 if you have the `qfpclass' function. */
 /* #undef _GLIBCXX_HAVE_QFPCLASS */
@@ -993,25 +993,25 @@
 /* #undef _GLIBCXX_HAVE_SINCOSL */
 
 /* Define to 1 if you have the `sinf' function. */
-#define _GLIBCXX_HAVE_SINF 1
+/* #undef _GLIBCXX_HAVE_SINF */
 
 /* Define to 1 if you have the `sinhf' function. */
-#define _GLIBCXX_HAVE_SINHF 1
+/* #undef _GLIBCXX_HAVE_SINHF */
 
 /* Define to 1 if you have the `sinhl' function. */
-#define _GLIBCXX_HAVE_SINHL 1
+/* #undef _GLIBCXX_HAVE_SINHL */
 
 /* Define to 1 if you have the `sinl' function. */
-#define _GLIBCXX_HAVE_SINL 1
+/* #undef _GLIBCXX_HAVE_SINL */
 
 /* Defined if sleep exists. */
-/* #undef _GLIBCXX_HAVE_SLEEP */
+#define _GLIBCXX_HAVE_SLEEP 1
 
 /* Define to 1 if you have the `sqrtf' function. */
-#define _GLIBCXX_HAVE_SQRTF 1
+/* #undef _GLIBCXX_HAVE_SQRTF */
 
 /* Define to 1 if you have the `sqrtl' function. */
-#define _GLIBCXX_HAVE_SQRTL 1
+/* #undef _GLIBCXX_HAVE_SQRTL */
 
 /* Define to 1 if you have the <stdalign.h> header file. */
 #define _GLIBCXX_HAVE_STDALIGN_H 1
@@ -1044,7 +1044,7 @@
 #define _GLIBCXX_HAVE_STRTOLD 1
 
 /* Define to 1 if `d_type' is a member of `struct dirent'. */
-#define _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE 1
+/* #undef _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE */
 
 /* Define if strxfrm_l is available in <string.h>. */
 /* #undef _GLIBCXX_HAVE_STRXFRM_L */
@@ -1102,19 +1102,19 @@
 /* #undef _GLIBCXX_HAVE_S_IFREG */
 
 /* Define if S_ISREG is available in <sys/stat.h>. */
-#define _GLIBCXX_HAVE_S_ISREG 1
+/* #undef _GLIBCXX_HAVE_S_ISREG */
 
 /* Define to 1 if you have the `tanf' function. */
-#define _GLIBCXX_HAVE_TANF 1
+/* #undef _GLIBCXX_HAVE_TANF */
 
 /* Define to 1 if you have the `tanhf' function. */
-#define _GLIBCXX_HAVE_TANHF 1
+/* #undef _GLIBCXX_HAVE_TANHF */
 
 /* Define to 1 if you have the `tanhl' function. */
-#define _GLIBCXX_HAVE_TANHL 1
+/* #undef _GLIBCXX_HAVE_TANHL */
 
 /* Define to 1 if you have the `tanl' function. */
-#define _GLIBCXX_HAVE_TANL 1
+/* #undef _GLIBCXX_HAVE_TANL */
 
 /* Define to 1 if you have the <tgmath.h> header file. */
 #define _GLIBCXX_HAVE_TGMATH_H 1
@@ -1129,7 +1129,7 @@
 #define _GLIBCXX_HAVE_UNISTD_H 1
 
 /* Defined if usleep exists. */
-/* #undef _GLIBCXX_HAVE_USLEEP */
+#define _GLIBCXX_HAVE_USLEEP 1
 
 /* Define to 1 if you have the <utime.h> header file. */
 #define _GLIBCXX_HAVE_UTIME_H 1
@@ -1156,7 +1156,7 @@
 /* #undef _GLIBCXX_HAVE_WIN32_SLEEP */
 
 /* Define if writev is available in <sys/uio.h>. */
-#define _GLIBCXX_HAVE_WRITEV 1
+/* #undef _GLIBCXX_HAVE_WRITEV */
 
 /* Define to 1 if you have the `_acosf' function. */
 /* #undef _GLIBCXX_HAVE__ACOSF */
@@ -1445,7 +1445,7 @@
 #define _GLIBCXX98_USE_C99_WCHAR 1
 
 /* Define if the compiler supports C++11 atomics. */
-#define _GLIBCXX_ATOMIC_BUILTINS 1
+/* #undef _GLIBCXX_ATOMIC_BUILTINS */
 
 /* Define to use concept checking code from the boost libraries. */
 /* #undef _GLIBCXX_CONCEPT_CHECKS */
@@ -1463,19 +1463,19 @@
 /* Define if compatibility should be provided for -mlong-double-64. */
 
 /* Define to the letter to which size_t is mangled. */
-#define _GLIBCXX_MANGLE_SIZE_T m
+#define _GLIBCXX_MANGLE_SIZE_T j
 
 /* Define if C99 llrint and llround functions are missing from <math.h>. */
 /* #undef _GLIBCXX_NO_C99_ROUNDING_FUNCS */
 
 /* Define if ptrdiff_t is int. */
-/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */
+#define _GLIBCXX_PTRDIFF_T_IS_INT 1
 
 /* Define if using setrlimit to set resource limits during "make check" */
 #define _GLIBCXX_RES_LIMITS 1
 
 /* Define if size_t is unsigned int. */
-/* #undef _GLIBCXX_SIZE_T_IS_UINT */
+#define _GLIBCXX_SIZE_T_IS_UINT 1
 
 /* Define to the value of the EOF integer constant. */
 #define _GLIBCXX_STDIO_EOF -1
@@ -1520,7 +1520,7 @@
 
 /* Define if C99 functions in <fenv.h> should be imported in <tr1/cfenv> in
    namespace std::tr1. */
-#define _GLIBCXX_USE_C99_FENV_TR1 1
+/* #undef _GLIBCXX_USE_C99_FENV_TR1 */
 
 /* Define if C99 functions in <inttypes.h> should be imported in
    <tr1/cinttypes> in namespace std::tr1. */
@@ -1543,29 +1543,29 @@
 /* #undef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL */
 
 /* Defined if clock_gettime has monotonic clock support. */
-#define _GLIBCXX_USE_CLOCK_MONOTONIC 1
+/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */
 
 /* Defined if clock_gettime has realtime clock support. */
-#define _GLIBCXX_USE_CLOCK_REALTIME 1
+/* #undef _GLIBCXX_USE_CLOCK_REALTIME */
 
 /* Define if ISO/IEC TR 24733 decimal floating point types are supported on
    this host. */
 /* #undef _GLIBCXX_USE_DECIMAL_FLOAT */
 
 /* Define if fchmod is available in <sys/stat.h>. */
-#define _GLIBCXX_USE_FCHMOD 1
+/* #undef _GLIBCXX_USE_FCHMOD */
 
 /* Define if fchmodat is available in <sys/stat.h>. */
-#define _GLIBCXX_USE_FCHMODAT 1
+/* #undef _GLIBCXX_USE_FCHMODAT */
 
 /* Defined if gettimeofday is available. */
-#define _GLIBCXX_USE_GETTIMEOFDAY 1
+/* #undef _GLIBCXX_USE_GETTIMEOFDAY */
 
 /* Define if get_nprocs is available in <sys/sysinfo.h>. */
 /* #undef _GLIBCXX_USE_GET_NPROCS */
 
 /* Define if __int128 is supported on this host. */
-/* #define _GLIBCXX_USE_INT128 1 */
+/* #undef _GLIBCXX_USE_INT128 */
 
 /* Define if LFS support is available. */
 /* #undef _GLIBCXX_USE_LFS */
@@ -1574,7 +1574,7 @@
 #define _GLIBCXX_USE_LONG_LONG 1
 
 /* Defined if nanosleep is available. */
-#define _GLIBCXX_USE_NANOSLEEP 1
+/* #undef _GLIBCXX_USE_NANOSLEEP */
 
 /* Define if NLS translations are to be used. */
 /* #undef _GLIBCXX_USE_NLS */
@@ -1596,7 +1596,7 @@
 #define _GLIBCXX_USE_SCHED_YIELD 1
 
 /* Define if _SC_NPROCESSORS_ONLN is available in <unistd.h>. */
-#define _GLIBCXX_USE_SC_NPROCESSORS_ONLN 1
+/* #undef _GLIBCXX_USE_SC_NPROCESSORS_ONLN */
 
 /* Define if _SC_NPROC_ONLN is available in <unistd.h>. */
 /* #undef _GLIBCXX_USE_SC_NPROC_ONLN */
@@ -1605,17 +1605,17 @@
 /* #undef _GLIBCXX_USE_SENDFILE */
 
 /* Define if struct stat has timespec members. */
-#define _GLIBCXX_USE_ST_MTIM 1
+/* #undef _GLIBCXX_USE_ST_MTIM */
 
 /* Define if sysctl(), CTL_HW and HW_NCPU are available in <sys/sysctl.h>. */
-#define _GLIBCXX_USE_SYSCTL_HW_NCPU 1
+/* #undef _GLIBCXX_USE_SYSCTL_HW_NCPU */
 
 /* Define if obsolescent tmpnam is available in <stdio.h>. */
-#define _GLIBCXX_USE_TMPNAM 1
+/* #undef _GLIBCXX_USE_TMPNAM */
 
 /* Define if utimensat and UTIME_OMIT are available in <sys/stat.h> and
    AT_FDCWD in <fcntl.h>. */
-#define _GLIBCXX_USE_UTIMENSAT 1
+/* #undef _GLIBCXX_USE_UTIMENSAT */
 
 /* Define if code specialized for wchar_t should be used. */
 #define _GLIBCXX_USE_WCHAR_T 1
--- a/external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/defs.mk	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/defs.mk	Wed Apr 17 09:37:49 2019 +0000
@@ -1,22 +1,20 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp 
-# Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp 
+# Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp 
+# Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp 
 #
 G_port_specific_symbol_files=
 G_cxx11_sources=compatibility-c++0x.cc compatibility-atomic-c++0x.cc compatibility-thread-c++0x.cc compatibility-chrono.cc compatibility-condvar.cc
 G_cxx98_sources=compatibility.cc compatibility-debug_list.cc compatibility-debug_list-2.cc 
-G_cxx98_sources=compatibility-debug_list.cc compatibility-debug_list-2.cc 
 G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc atexit_thread.cc bad_alloc.cc bad_array_length.cc bad_array_new.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_ops.cc del_opnt.cc del_opv.cc del_opvs.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_tm.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc guard_error.cc hash_bytes.cc nested_exception.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc new_opa.cc new_opant.cc new_opva.cc new_opvant.cc del_opa.cc del_opant.cc del_opsa.cc del_opva.cc del_opvant.cc del_opvsa.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc
 G_LIBSUPCXX_C_SOURCES=cp-demangle.c
 G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdalign cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cuchar cwchar cwctype
 G_std_headers=algorithm any array atomic bitset chrono codecvt complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric optional ostream queue random ratio regex scoped_allocator set shared_mutex sstream stack stdexcept streambuf string string_view system_error thread tuple typeindex type_traits unordered_map unordered_set utility valarray variant vector
 G_SRC_SOURCES=compatibility.cc compatibility-debug_list.cc compatibility-debug_list-2.cc  compatibility-c++0x.cc compatibility-atomic-c++0x.cc compatibility-thread-c++0x.cc compatibility-chrono.cc compatibility-condvar.cc
-G_SRC_SOURCES=compatibility-debug_list.cc compatibility-debug_list-2.cc  compatibility-c++0x.cc compatibility-atomic-c++0x.cc compatibility-thread-c++0x.cc compatibility-chrono.cc compatibility-condvar.cc
 G_CPP11_SOURCES=chrono.cc c11-codecvt.cc condition_variable.cc cow-stdexcept.cc ctype.cc debug.cc functexcept.cc functional.cc futex.cc future.cc hash_c++0x.cc hashtable_c++0x.cc ios.cc limits.cc mutex.cc placeholders.cc random.cc regex.cc shared_ptr.cc snprintf_lite.cc system_error.cc thread.cc cow-locale_init.cc cow-shim_facets.cc cxx11-hash_tr1.cc cxx11-ios_failure.cc cxx11-shim_facets.cc cxx11-stdexcept.cc ctype_configure_char.cc ctype_members.cc  cow-fstream-inst.cc cow-sstream-inst.cc cow-string-inst.cc cow-string-io-inst.cc cow-wstring-inst.cc cow-wstring-io-inst.cc cxx11-locale-inst.cc cxx11-wlocale-inst.cc sso_string.cc ext11-inst.cc fstream-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc locale-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc string-inst.cc string-io-inst.cc wlocale-inst.cc wstring-inst.cc wstring-io-inst.cc
 G_GLIBCXX_ABI_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0
 G_CPP98_SOURCES=bitmap_allocator.cc pool_allocator.cc mt_allocator.cc c98-codecvt.cc complex_io.cc globals_io.cc hash_tr1.cc hashtable_tr1.cc ios_failure.cc ios_init.cc ios_locale.cc list.cc list-aux.cc list-aux-2.cc list_associated.cc list_associated-2.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc tree.cc istream.cc istream-string.cc streambuf.cc valarray.cc cow-istream-string.cc collate_members_cow.cc messages_members_cow.cc monetary_members_cow.cc numeric_members_cow.cc atomicity.cc codecvt_members.cc collate_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc allocator-inst.cc concept-inst.cc ext-inst.cc misc-inst.cc parallel_settings.cc
 G_FILESYSTEM_SOURCES=dir.cc ops.cc path.cc cow-dir.cc cow-ops.cc cow-path.cc
-G_ATOMICITY_SRCDIR=config/cpu/generic/atomicity_builtins
+G_ATOMICITY_SRCDIR=config/cpu/generic/atomicity_mutex
 G_BASIC_FILE_CC=config/io/basic_file_stdio.cc
 G_CLOCALE_CC=config/locale/generic/c_locale.cc
 G_CCODECVT_CC=config/locale/generic/codecvt_members.cc
--- a/external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/gstdint.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/gstdint.h	Wed Apr 17 09:37:49 2019 +0000
@@ -2,7 +2,7 @@
 /* Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp  */
 /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
-/* generated for  riscv64--netbsd-gcc (NetBSD nb3 20190319) 7.4.0 */
+/* generated for  riscv32--netbsd-gcc (NetBSD nb3 20190319) 7.4.0 */
 
 #ifndef GCC_GENERATED_STDINT_H
 #define GCC_GENERATED_STDINT_H 1
--- a/external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/symver-config.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/symver-config.h	Wed Apr 17 09:37:49 2019 +0000
@@ -6,34 +6,34 @@
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
 /* Define to 1 if you have the `acosf' function. */
-#define HAVE_ACOSF 1
+/* #undef HAVE_ACOSF */
 
 /* Define to 1 if you have the `acosl' function. */
-#define HAVE_ACOSL 1
+/* #undef HAVE_ACOSL */
 
 /* Define to 1 if you have the `aligned_alloc' function. */
 #define HAVE_ALIGNED_ALLOC 1
 
 /* Define to 1 if you have the `asinf' function. */
-#define HAVE_ASINF 1
+/* #undef HAVE_ASINF */
 
 /* Define to 1 if you have the `asinl' function. */
-#define HAVE_ASINL 1
+/* #undef HAVE_ASINL */
 
 /* Define to 1 if the target assembler supports .symver directive. */
 #define HAVE_AS_SYMVER_DIRECTIVE 1
 
 /* Define to 1 if you have the `atan2f' function. */
-#define HAVE_ATAN2F 1
+/* #undef HAVE_ATAN2F */
 
 /* Define to 1 if you have the `atan2l' function. */
-#define HAVE_ATAN2L 1
+/* #undef HAVE_ATAN2L */
 
 /* Define to 1 if you have the `atanf' function. */
-#define HAVE_ATANF 1
+/* #undef HAVE_ATANF */
 
 /* Define to 1 if you have the `atanl' function. */
-#define HAVE_ATANL 1
+/* #undef HAVE_ATANL */
 
 /* Define to 1 if you have the `at_quick_exit' function. */
 #define HAVE_AT_QUICK_EXIT 1
@@ -42,25 +42,25 @@
 /* #undef HAVE_CC_TLS */
 
 /* Define to 1 if you have the `ceilf' function. */
-#define HAVE_CEILF 1
+/* #undef HAVE_CEILF */
 
 /* Define to 1 if you have the `ceill' function. */
-#define HAVE_CEILL 1
+/* #undef HAVE_CEILL */
 
 /* Define to 1 if you have the <complex.h> header file. */
 #define HAVE_COMPLEX_H 1
 
 /* Define to 1 if you have the `cosf' function. */
-#define HAVE_COSF 1
+/* #undef HAVE_COSF */
 
 /* Define to 1 if you have the `coshf' function. */
-#define HAVE_COSHF 1
+/* #undef HAVE_COSHF */
 
 /* Define to 1 if you have the `coshl' function. */
-#define HAVE_COSHL 1
+/* #undef HAVE_COSHL */
 
 /* Define to 1 if you have the `cosl' function. */
-#define HAVE_COSL 1
+/* #undef HAVE_COSL */
 
 /* Define to 1 if you have the <dirent.h> header file. */
 #define HAVE_DIRENT_H 1
@@ -135,16 +135,16 @@
 #define HAVE_EXECINFO_H 1
 
 /* Define to 1 if you have the `expf' function. */
-#define HAVE_EXPF 1
+/* #undef HAVE_EXPF */
 
 /* Define to 1 if you have the `expl' function. */
-#define HAVE_EXPL 1
+/* #undef HAVE_EXPL */
 
 /* Define to 1 if you have the `fabsf' function. */
-#define HAVE_FABSF 1
+/* #undef HAVE_FABSF */
 
 /* Define to 1 if you have the `fabsl' function. */
-#define HAVE_FABSL 1
+/* #undef HAVE_FABSL */
 
 /* Define to 1 if you have the <fcntl.h> header file. */
 #define HAVE_FCNTL_H 1
@@ -153,10 +153,10 @@
 #define HAVE_FENV_H 1
 
 /* Define to 1 if you have the `finite' function. */
-#define HAVE_FINITE 1
+/* #undef HAVE_FINITE */
 
 /* Define to 1 if you have the `finitef' function. */
-#define HAVE_FINITEF 1
+/* #undef HAVE_FINITEF */
 
 /* Define to 1 if you have the `finitel' function. */
 /* #undef HAVE_FINITEL */
@@ -165,16 +165,16 @@
 #define HAVE_FLOAT_H 1
 
 /* Define to 1 if you have the `floorf' function. */
-#define HAVE_FLOORF 1
+/* #undef HAVE_FLOORF */
 
 /* Define to 1 if you have the `floorl' function. */
-#define HAVE_FLOORL 1
+/* #undef HAVE_FLOORL */
 
 /* Define to 1 if you have the `fmodf' function. */
-#define HAVE_FMODF 1
+/* #undef HAVE_FMODF */
 
 /* Define to 1 if you have the `fmodl' function. */
-#define HAVE_FMODL 1
+/* #undef HAVE_FMODL */
 
 /* Define to 1 if you have the `fpclass' function. */
 /* #undef HAVE_FPCLASS */
@@ -183,10 +183,10 @@
 /* #undef HAVE_FP_H */
 
 /* Define to 1 if you have the `frexpf' function. */
-#define HAVE_FREXPF 1
+/* #undef HAVE_FREXPF */
 
 /* Define to 1 if you have the `frexpl' function. */
-#define HAVE_FREXPL 1
+/* #undef HAVE_FREXPL */
 
 /* Define if _Unwind_GetIPInfo is available. */
 #define HAVE_GETIPINFO 1
@@ -195,13 +195,13 @@
 #define HAVE_GETS 1
 
 /* Define to 1 if you have the `hypot' function. */
-#define HAVE_HYPOT 1
+/* #undef HAVE_HYPOT */
 
 /* Define to 1 if you have the `hypotf' function. */
-#define HAVE_HYPOTF 1
+/* #undef HAVE_HYPOTF */
 
 /* Define to 1 if you have the `hypotl' function. */
-#define HAVE_HYPOTL 1
+/* #undef HAVE_HYPOTL */
 
 /* Define if you have the iconv() function. */
 #define HAVE_ICONV 1
@@ -213,10 +213,10 @@
 #define HAVE_INT64_T 1
 
 /* Define if int64_t is a long. */
-#define HAVE_INT64_T_LONG 1
+/* #undef HAVE_INT64_T_LONG */
 
 /* Define if int64_t is a long long. */
-/* #undef HAVE_INT64_T_LONG_LONG */
+#define HAVE_INT64_T_LONG_LONG 1
 
 /* Define to 1 if you have the <inttypes.h> header file. */
 #define HAVE_INTTYPES_H 1
@@ -225,7 +225,7 @@
 #define HAVE_ISINF 1
 
 /* Define to 1 if you have the `isinff' function. */
-#define HAVE_ISINFF 1
+/* #undef HAVE_ISINFF */
 
 /* Define to 1 if you have the `isinfl' function. */
 /* #undef HAVE_ISINFL */
@@ -234,7 +234,7 @@
 #define HAVE_ISNAN 1
 
 /* Define to 1 if you have the `isnanf' function. */
-#define HAVE_ISNANF 1
+/* #undef HAVE_ISNANF */
 
 /* Define to 1 if you have the `isnanl' function. */
 /* #undef HAVE_ISNANL */
@@ -246,10 +246,10 @@
 #define HAVE_LC_MESSAGES 1
 
 /* Define to 1 if you have the `ldexpf' function. */
-#define HAVE_LDEXPF 1
+/* #undef HAVE_LDEXPF */
 
 /* Define to 1 if you have the `ldexpl' function. */
-#define HAVE_LDEXPL 1
+/* #undef HAVE_LDEXPL */
 
 /* Define to 1 if you have the <libintl.h> header file. */
 /* #undef HAVE_LIBINTL_H */
@@ -276,16 +276,16 @@
 #define HAVE_LOCALE_H 1
 
 /* Define to 1 if you have the `log10f' function. */
-#define HAVE_LOG10F 1
+/* #undef HAVE_LOG10F */
 
 /* Define to 1 if you have the `log10l' function. */
-#define HAVE_LOG10L 1
+/* #undef HAVE_LOG10L */
 
 /* Define to 1 if you have the `logf' function. */
-#define HAVE_LOGF 1
+/* #undef HAVE_LOGF */
 
 /* Define to 1 if you have the `logl' function. */
-#define HAVE_LOGL 1
+/* #undef HAVE_LOGL */
 
 /* Define to 1 if you have the <machine/endian.h> header file. */
 #define HAVE_MACHINE_ENDIAN_H 1
@@ -303,13 +303,13 @@
 #define HAVE_MEMORY_H 1
 
 /* Define to 1 if you have the `modf' function. */
-#define HAVE_MODF 1
+/* #undef HAVE_MODF */
 
 /* Define to 1 if you have the `modff' function. */
-#define HAVE_MODFF 1
+/* #undef HAVE_MODFF */
 
 /* Define to 1 if you have the `modfl' function. */
-#define HAVE_MODFL 1
+/* #undef HAVE_MODFL */
 
 /* Define to 1 if you have the <nan.h> header file. */
 /* #undef HAVE_NAN_H */
@@ -321,16 +321,16 @@
 /* #undef HAVE_OBSOLETE_ISNAN */
 
 /* Define if poll is available in <poll.h>. */
-#define HAVE_POLL 1
+/* #undef HAVE_POLL */
 
 /* Define to 1 if you have the `posix_memalign' function. */
 #define HAVE_POSIX_MEMALIGN 1
 
 /* Define to 1 if you have the `powf' function. */
-#define HAVE_POWF 1
+/* #undef HAVE_POWF */
 
 /* Define to 1 if you have the `powl' function. */
-#define HAVE_POWL 1
+/* #undef HAVE_POWL */
 
 /* Define to 1 if you have the `qfpclass' function. */
 /* #undef HAVE_QFPCLASS */
@@ -351,25 +351,25 @@
 /* #undef HAVE_SINCOSL */
 
 /* Define to 1 if you have the `sinf' function. */
-#define HAVE_SINF 1
+/* #undef HAVE_SINF */
 
 /* Define to 1 if you have the `sinhf' function. */
-#define HAVE_SINHF 1
+/* #undef HAVE_SINHF */
 
 /* Define to 1 if you have the `sinhl' function. */
-#define HAVE_SINHL 1
+/* #undef HAVE_SINHL */
 
 /* Define to 1 if you have the `sinl' function. */
-#define HAVE_SINL 1
+/* #undef HAVE_SINL */
 
 /* Defined if sleep exists. */
-/* #undef HAVE_SLEEP */
+#define HAVE_SLEEP 1
 
 /* Define to 1 if you have the `sqrtf' function. */
-#define HAVE_SQRTF 1
+/* #undef HAVE_SQRTF */
 
 /* Define to 1 if you have the `sqrtl' function. */
-#define HAVE_SQRTL 1
+/* #undef HAVE_SQRTL */
 
 /* Define to 1 if you have the <stdalign.h> header file. */
 #define HAVE_STDALIGN_H 1
@@ -402,7 +402,7 @@
 #define HAVE_STRTOLD 1
 
 /* Define to 1 if `d_type' is a member of `struct dirent'. */
-#define HAVE_STRUCT_DIRENT_D_TYPE 1
+/* #undef HAVE_STRUCT_DIRENT_D_TYPE */
 
 /* Define if strxfrm_l is available in <string.h>. */
 /* #undef HAVE_STRXFRM_L */
@@ -460,19 +460,19 @@
 /* #undef HAVE_S_IFREG */
 
 /* Define if S_ISREG is available in <sys/stat.h>. */
-#define HAVE_S_ISREG 1
+/* #undef HAVE_S_ISREG */
 
 /* Define to 1 if you have the `tanf' function. */
-#define HAVE_TANF 1
+/* #undef HAVE_TANF */
 
 /* Define to 1 if you have the `tanhf' function. */
-#define HAVE_TANHF 1
+/* #undef HAVE_TANHF */
 
 /* Define to 1 if you have the `tanhl' function. */
-#define HAVE_TANHL 1
+/* #undef HAVE_TANHL */
 
 /* Define to 1 if you have the `tanl' function. */
-#define HAVE_TANL 1
+/* #undef HAVE_TANL */
 
 /* Define to 1 if you have the <tgmath.h> header file. */
 #define HAVE_TGMATH_H 1
@@ -487,7 +487,7 @@
 #define HAVE_UNISTD_H 1
 
 /* Defined if usleep exists. */
-/* #undef HAVE_USLEEP */
+#define HAVE_USLEEP 1
 
 /* Define to 1 if you have the <utime.h> header file. */
 #define HAVE_UTIME_H 1
@@ -514,7 +514,7 @@
 /* #undef HAVE_WIN32_SLEEP */
 
 /* Define if writev is available in <sys/uio.h>. */
-#define HAVE_WRITEV 1
+/* #undef HAVE_WRITEV */
 
 /* Define to 1 if you have the `_acosf' function. */
 /* #undef HAVE__ACOSF */
@@ -822,19 +822,19 @@
 /* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */
 
 /* Define to the letter to which size_t is mangled. */
-#define _GLIBCXX_MANGLE_SIZE_T m
+#define _GLIBCXX_MANGLE_SIZE_T j
 
 /* Define if C99 llrint and llround functions are missing from <math.h>. */
 /* #undef _GLIBCXX_NO_C99_ROUNDING_FUNCS */
 
 /* Define if ptrdiff_t is int. */
-/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */
+#define _GLIBCXX_PTRDIFF_T_IS_INT 1
 
 /* Define if using setrlimit to set resource limits during "make check" */
 #define _GLIBCXX_RES_LIMITS 1
 
 /* Define if size_t is unsigned int. */
-/* #undef _GLIBCXX_SIZE_T_IS_UINT */
+#define _GLIBCXX_SIZE_T_IS_UINT 1
 
 /* Define to the value of the EOF integer constant. */
 #define _GLIBCXX_STDIO_EOF -1
@@ -902,29 +902,29 @@
 /* #undef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL */
 
 /* Defined if clock_gettime has monotonic clock support. */
-#define _GLIBCXX_USE_CLOCK_MONOTONIC 1
+/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */
 
 /* Defined if clock_gettime has realtime clock support. */
-#define _GLIBCXX_USE_CLOCK_REALTIME 1
+/* #undef _GLIBCXX_USE_CLOCK_REALTIME */
 
 /* Define if ISO/IEC TR 24733 decimal floating point types are supported on
    this host. */
 /* #undef _GLIBCXX_USE_DECIMAL_FLOAT */
 
 /* Define if fchmod is available in <sys/stat.h>. */
-#define _GLIBCXX_USE_FCHMOD 1
+/* #undef _GLIBCXX_USE_FCHMOD */
 
 /* Define if fchmodat is available in <sys/stat.h>. */
-#define _GLIBCXX_USE_FCHMODAT 1
+/* #undef _GLIBCXX_USE_FCHMODAT */
 
 /* Defined if gettimeofday is available. */
-#define _GLIBCXX_USE_GETTIMEOFDAY 1
+/* #undef _GLIBCXX_USE_GETTIMEOFDAY */
 
 /* Define if get_nprocs is available in <sys/sysinfo.h>. */
 /* #undef _GLIBCXX_USE_GET_NPROCS */
 
 /* Define if __int128 is supported on this host. */
-/* #define _GLIBCXX_USE_INT128 1 */
+/* #undef _GLIBCXX_USE_INT128 */
 
 /* Define if LFS support is available. */
 /* #undef _GLIBCXX_USE_LFS */
@@ -933,7 +933,7 @@
 #define _GLIBCXX_USE_LONG_LONG 1
 
 /* Defined if nanosleep is available. */
-#define _GLIBCXX_USE_NANOSLEEP 1
+/* #undef _GLIBCXX_USE_NANOSLEEP */
 
 /* Define if NLS translations are to be used. */
 /* #undef _GLIBCXX_USE_NLS */
@@ -955,7 +955,7 @@
 #define _GLIBCXX_USE_SCHED_YIELD 1
 
 /* Define if _SC_NPROCESSORS_ONLN is available in <unistd.h>. */
-#define _GLIBCXX_USE_SC_NPROCESSORS_ONLN 1
+/* #undef _GLIBCXX_USE_SC_NPROCESSORS_ONLN */
 
 /* Define if _SC_NPROC_ONLN is available in <unistd.h>. */
 /* #undef _GLIBCXX_USE_SC_NPROC_ONLN */
@@ -964,17 +964,17 @@
 /* #undef _GLIBCXX_USE_SENDFILE */
 
 /* Define if struct stat has timespec members. */
-#define _GLIBCXX_USE_ST_MTIM 1
+/* #undef _GLIBCXX_USE_ST_MTIM */
 
 /* Define if sysctl(), CTL_HW and HW_NCPU are available in <sys/sysctl.h>. */
-#define _GLIBCXX_USE_SYSCTL_HW_NCPU 1
+/* #undef _GLIBCXX_USE_SYSCTL_HW_NCPU */
 
 /* Define if obsolescent tmpnam is available in <stdio.h>. */
-#define _GLIBCXX_USE_TMPNAM 1
+/* #undef _GLIBCXX_USE_TMPNAM */
 
 /* Define if utimensat and UTIME_OMIT are available in <sys/stat.h> and
    AT_FDCWD in <fcntl.h>. */
-#define _GLIBCXX_USE_UTIMENSAT 1
+/* #undef _GLIBCXX_USE_UTIMENSAT */
 
 /* Define if code specialized for wchar_t should be used. */
 #define _GLIBCXX_USE_WCHAR_T 1
--- a/external/gpl3/gcc/usr.bin/gcc/arch/riscv32/auto-host.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/usr.bin/gcc/arch/riscv32/auto-host.h	Wed Apr 17 09:37:49 2019 +0000
@@ -183,7 +183,7 @@
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
 #ifndef USED_FOR_TARGET
-/* #undef ENABLE_NLS */
+#define ENABLE_NLS 1
 #endif
 
 
@@ -1872,7 +1872,7 @@
 
 /* Define to 1 if you have the <unordered_map> header file. */
 #ifndef USED_FOR_TARGET
-/* #undef HAVE_UNORDERED_MAP */
+#define HAVE_UNORDERED_MAP 1
 #endif
 
 
@@ -1890,7 +1890,7 @@
 
 /* Define to 1 if you have the `vfork' function. */
 #ifndef USED_FOR_TARGET
-#define HAVE_VFORK 1
+/* #undef HAVE_VFORK */
 #endif
 
 
@@ -1927,7 +1927,7 @@
 
 /* Define to 1 if `vfork' works. */
 #ifndef USED_FOR_TARGET
-#define HAVE_WORKING_VFORK 1
+/* #undef HAVE_WORKING_VFORK */
 #endif
 
 
@@ -1958,7 +1958,7 @@
 
 /* Define if int64_t uses long as underlying type. */
 #ifndef USED_FOR_TARGET
-#define INT64_T_IS_LONG 1
+/* #undef INT64_T_IS_LONG */
 #endif
 
 
@@ -2098,7 +2098,7 @@
 
 /* The size of `long', as computed by sizeof. */
 #ifndef USED_FOR_TARGET
-#define SIZEOF_LONG 8
+#define SIZEOF_LONG 4
 #endif
 
 
@@ -2116,7 +2116,7 @@
 
 /* The size of `void *', as computed by sizeof. */
 #ifndef USED_FOR_TARGET
-#define SIZEOF_VOID_P 8
+#define SIZEOF_VOID_P 4
 #endif
 
 
@@ -2418,6 +2418,6 @@
 
 /* Define as `fork' if `vfork' does not work. */
 #ifndef USED_FOR_TARGET
-/* #undef vfork */
+#define vfork fork
 #endif
 
--- a/external/gpl3/gcc/usr.bin/gcc/arch/riscv32/bversion.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/usr.bin/gcc/arch/riscv32/bversion.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,8 +1,8 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
-#define BUILDING_GCC_MAJOR 4
-#define BUILDING_GCC_MINOR 8
-#define BUILDING_GCC_PATCHLEVEL 4
+#define BUILDING_GCC_MAJOR 7
+#define BUILDING_GCC_MINOR 4
+#define BUILDING_GCC_PATCHLEVEL 0
 #define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR)
--- a/external/gpl3/gcc/usr.bin/gcc/arch/riscv32/configargs.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/usr.bin/gcc/arch/riscv32/configargs.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,11 +1,11 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* Generated automatically. */
-static const char configuration_arguments[] = "/usr/src4/tools/gcc/../../external/gpl3/gcc/dist/configure --target=riscv32--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb2 20150115' --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-threads --enable-libstdcxx-time=rt --with-mpc-lib=/var/obj/mknative/riscv-riscv32/usr/src4/external/lgpl3/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/riscv-riscv32/usr/src4/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/riscv-riscv32/usr/src4/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src4/external/lgpl3/mpc/dist/src --with-mpfr-include=/usr/src4/external/lgpl3/mpfr/dist/src --with-gmp-include=/usr/src4/external/lgpl3/gmp/lib/libgmp/arch/riscv32 --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=riscv32--netbsd --with-sysroot=/var/obj/mknative/riscv-riscv32/usr/src4/destdir.riscv";
+static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=riscv32--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb3 20190319' --with-system-zlib --without-isl --enable-__cxa_atexit --enable-libstdcxx-time=rt --enable-libstdcxx-threads --with-diagnostics-color=auto-if-env --with-default-libstdcxx-abi=new --with-mpc-lib=/var/obj/mknative/riscv-riscv32/usr/src/external/lgpl3/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/riscv-riscv32/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/riscv-riscv32/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl3/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist/src --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/riscv32 --enable-tls --disable-multilib --disable-libstdcxx-pch --build=riscv32--netbsd --host=riscv32--netbsd --with-sysroot=/var/obj/mknative/riscv-riscv32/usr/src/destdir.riscv";
 static const char thread_model[] = "posix";
 
 static const struct {
   const char *name, *value;
-} configure_default_options[] = { { NULL, NULL} };
+} configure_default_options[] = { { "abi", "ilp32d" }, { "arch", "rv32gc" } };
--- a/external/gpl3/gcc/usr.bin/gcc/arch/riscv32/defs.mk	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/usr.bin/gcc/arch/riscv32/defs.mk	Wed Apr 17 09:37:49 2019 +0000
@@ -1,58 +1,60 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp 
-# Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp 
+# Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp 
+# Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp 
 #
 G_BUILD_EARLY_SUPPORT=
 G_BUILD_ERRORS=build-errors.o
 G_BUILD_PRINT=
-G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o
+G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o hash-table.o
 G_BUILD_SUPPORT=
 G_BUILD_VARRAY=
 G_BUILD_MD=read-md.o
-G_ALL_CFLAGS=   -DIN_GCC   -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat   -DHAVE_CONFIG_H
-G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include     -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I${GNUHOSTDIST}/gcc/../libbacktrace   
-G_C_AND_OBJC_OBJS=attribs.o c/c-errors.o c/c-decl.o c/c-typeck.o c/c-convert.o c/c-aux-info.o c/c-objc-common.o c/c-parser.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o tree-mudflap.o default-c.o
-G_C_OBJS=c/c-lang.o c-family/stub-objc.o attribs.o c/c-errors.o c/c-decl.o c/c-typeck.o c/c-convert.o c/c-aux-info.o c/c-objc-common.o c/c-parser.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o tree-mudflap.o default-c.o
+G_ALL_CFLAGS=   -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat   -DHAVE_CONFIG_H
+G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include     -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I${GNUHOSTDIST}/gcc/../libbacktrace  
+G_C_AND_OBJC_OBJS=attribs.o c/c-errors.o c/c-decl.o c/c-typeck.o c/c-convert.o c/c-aux-info.o c/c-objc-common.o c/c-parser.o c/c-array-notation.o c/c-fold.o c/gimple-parser.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-indentation.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-cilkplus.o c-family/array-notation-common.o c-family/cilk.o c-family/c-ubsan.o c-family/c-attribs.o c-family/c-warn.o default-c.o
+G_C_OBJS=c/c-lang.o c-family/stub-objc.o attribs.o c/c-errors.o c/c-decl.o c/c-typeck.o c/c-convert.o c/c-aux-info.o c/c-objc-common.o c/c-parser.o c/c-array-notation.o c/c-fold.o c/gimple-parser.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-indentation.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-cilkplus.o c-family/array-notation-common.o c-family/cilk.o c-family/c-ubsan.o c-family/c-attribs.o c-family/c-warn.o default-c.o
 G_CCCP_OBJS=
-G_GCC_OBJS=gcc.o ggc-none.o
+G_GCC_OBJS=gcc.o gcc-main.o ggc-none.o
 G_GCOV_OBJS=gcov.o
-G_GXX_OBJS=gcc.o ggc-none.o g++spec.o
-G_GTM_H=tm.h      options.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/riscv/riscv.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/riscv/netbsd.h ${GNUHOSTDIST}/gcc/config/initfini-array.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h
+G_GCOV_DUMP_OBJS=gcov-dump.o
+G_GXX_OBJS=gcc.o gcc-main.o ggc-none.o cp/g++spec.o
+G_GTM_H=tm.h      options.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/riscv/riscv.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-stdint.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/riscv/netbsd.h ${GNUHOSTDIST}/gcc/config/initfini-array.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h
 G_PROTO_OBJS=
-G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include     -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I${GNUHOSTDIST}/gcc/../libbacktrace  
-G_md_file=${GNUHOSTDIST}/gcc/config/riscv/riscv.md
+G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include     -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I${GNUHOSTDIST}/gcc/../libbacktrace 
+G_md_file=${GNUHOSTDIST}/gcc/common.md ${GNUHOSTDIST}/gcc/config/riscv/riscv.md
 G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o hash-table.o objc/objc-runtime-shared-support.o objc/objc-gnu-runtime-abi-01.o objc/objc-next-runtime-abi-01.o objc/objc-next-runtime-abi-02.o objc/objc-encoding.o objc/objc-map.o
-G_OBJS=insn-attrtab.o insn-automata.o insn-dfatab.o insn-emit.o insn-extract.o insn-latencytab.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o symtab.o cgraph.o cgraphbuild.o cgraphunit.o cgraphclones.o combine.o combine-stack-adj.o compare-elim.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o data-streamer.o data-streamer-in.o data-streamer-out.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dumpfile.o dwarf2asm.o dwarf2cfi.o dwarf2out.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o ggc-common.o gimple.o gimple-iterator.o gimple-fold.o gimple-low.o gimple-pretty-print.o gimple-ssa-strength-reduction.o gimple-streamer-in.o gimple-streamer-out.o gimplify.o godump.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-optimize-isl.o graphite-poly.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hw-doloop.o hwint.o ifcvt.o ree.o incpath.o init-regs.o internal-fn.o ipa-cp.o ipa-split.o ipa-inline.o ipa-inline-analysis.o ipa-inline-transform.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lra.o lra-assigns.o lra-coalesce.o lra-constraints.o lra-eliminations.o lra-lives.o lra-spills.o lto-cgraph.o lto-streamer.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options-save.o opts-global.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o print-rtl.o print-tree.o profile.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o streamer-hooks.o stringpool.o target-globals.o targhooks.o timevar.o toplev.o tracer.o trans-mem.o tree-affine.o asan.o tsan.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nomudflap.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-strlen.o tree-ssa-structalias.o tree-ssa-tail-merge.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-streamer.o tree-streamer-in.o tree-streamer-out.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o valtrack.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o web.o xcoffout.o riscv.o  host-netbsd.o
+G_OBJS=gimple-match.o generic-match.o insn-attrtab.o insn-automata.o insn-dfatab.o insn-emit.o insn-extract.o insn-latencytab.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o auto-profile.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o ccmp.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o symtab.o cgraph.o cgraphbuild.o cgraphunit.o cgraphclones.o cilk-common.o combine.o combine-stack-adj.o compare-elim.o context.o convert.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o data-streamer.o data-streamer-in.o data-streamer-out.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o dojump.o dominance.o domwalk.o double-int.o dse.o dumpfile.o dwarf2asm.o dwarf2cfi.o dwarf2out.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o fibonacci_heap.o final.o fixed-value.o fold-const.o fold-const-call.o function.o function-tests.o fwprop.o gcc-rich-location.o gcse.o gcse-common.o ggc-common.o ggc-tests.o gimple.o gimple-builder.o gimple-expr.o gimple-iterator.o gimple-fold.o gimple-laddress.o gimple-low.o gimple-pretty-print.o gimple-ssa-backprop.o gimple-ssa-isolate-paths.o gimple-ssa-nonnull-compare.o gimple-ssa-split-paths.o gimple-ssa-store-merging.o gimple-ssa-strength-reduction.o gimple-ssa-sprintf.o gimple-ssa-warn-alloca.o gimple-streamer-in.o gimple-streamer-out.o gimple-walk.o gimplify.o gimplify-me.o godump.o graph.o graphds.o graphite.o graphite-isl-ast-to-gimple.o graphite-dependences.o graphite-optimize-isl.o graphite-poly.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hash-map-tests.o hash-set-tests.o hsa-common.o hsa-gen.o hsa-regalloc.o hsa-brig.o hsa-dump.o hw-doloop.o hwint.o ifcvt.o ree.o inchash.o incpath.o init-regs.o internal-fn.o ipa-chkp.o ipa-cp.o ipa-devirt.o ipa-polymorphic-call.o ipa-split.o ipa-inline.o ipa-comdats.o ipa-visibility.o ipa-inline-analysis.o ipa-inline-transform.o ipa-profile.o ipa-prop.o ipa-pure-const.o ipa-icf.o ipa-icf-gimple.o ipa-reference.o ipa-hsa.o ipa-ref.o ipa-utils.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o lower-subreg.o lra.o lra-assigns.o lra-coalesce.o lra-constraints.o lra-eliminations.o lra-lives.o lra-remat.o lra-spills.o lto-cgraph.o lto-streamer.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-opts.o lto-compress.o mcf.o mode-switching.o modulo-sched.o multiple_target.o omp-offload.o omp-expand.o omp-general.o omp-grid.o omp-low.o omp-simd-clone.o optabs.o optabs-libfuncs.o optabs-query.o optabs-tree.o options-save.o opts-global.o passes.o plugin.o postreload-gcse.o postreload.o predict.o print-rtl.o print-rtl-function.o print-tree.o profile.o read-md.o read-rtl.o read-rtl-function.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regrename.o regstat.o regsub.o reload.o reload1.o reorg.o resource.o rtl-chkp.o rtl-error.o rtl-tests.o rtl.o rtlhash.o rtlanal.o rtlhooks.o run-rtl-passes.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o selftest-rtl.o selftest-run-tests.o sese.o shrink-wrap.o simplify-rtx.o sparseset.o spellcheck.o spellcheck-tree.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o streamer-hooks.o stringpool.o substring-locations.o target-globals.o targhooks.o timevar.o toplev.o tracer.o trans-mem.o tree-affine.o asan.o tsan.o ubsan.o sanopt.o sancov.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-nested.o tree-nrv.o tree-object-size.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-chkp.o tree-chkp-opt.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-split.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phionlycprop.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-scopedtables.o tree-ssa-sink.o tree-ssa-strlen.o tree-ssa-structalias.o tree-ssa-tail-merge.o tree-ssa-ter.o tree-ssa-threadbackward.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-streamer.o tree-streamer-in.o tree-streamer-out.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o typed-splay-tree.o valtrack.o value-prof.o var-tracking.o varasm.o varpool.o vmsdbgout.o vtable-verify.o web.o wide-int.o wide-int-print.o xcoffout.o riscv.o riscv-builtins.o riscv-c.o netbsd.o host-netbsd.o
 G_out_file=${GNUHOSTDIST}/gcc/config/riscv/riscv.c
-G_version=4.8.4
+G_version=7.4.0
 G_BUILD_PREFIX=
-G_RTL_H=coretypes.h rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../include/hashtab.h flags.h flag-types.h options.h flag-types.h  genrtl.h
+G_RTL_H=coretypes.h rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../include/hashtab.h flags.h flag-types.h options.h flag-types.h  ${GNUHOSTDIST}/gcc/config/riscv/riscv-opts.h genrtl.h
 G_RTL_BASE_H=coretypes.h rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../include/hashtab.h
-G_TREE_H=coretypes.h tree.h all-tree.def tree.def c-family/c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h flags.h flag-types.h options.h flag-types.h  real.h machmode.h mode-classes.def insn-modes.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h
-G_BASIC_BLOCK_H=basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h ${GNUHOSTDIST}/gcc/../include/hashtab.h tm.h      options.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/riscv/riscv.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/riscv/netbsd.h ${GNUHOSTDIST}/gcc/config/initfini-array.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h flag-types.h  hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h machmode.h mode-classes.def insn-modes.h cfg-flags.def cfghooks.h
+G_TREE_H=tree.h tree-core.h coretypes.h all-tree.def tree.def c-family/c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def cilkplus.def cilk-builtins.def hsa-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h flags.h flag-types.h options.h flag-types.h  ${GNUHOSTDIST}/gcc/config/riscv/riscv-opts.h real.h machmode.h mode-classes.def insn-modes.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h  tree-check.h
+G_BASIC_BLOCK_H=basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h ${GNUHOSTDIST}/gcc/../include/hashtab.h tm.h      options.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/riscv/riscv.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-stdint.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/riscv/netbsd.h ${GNUHOSTDIST}/gcc/config/initfini-array.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h flag-types.h  ${GNUHOSTDIST}/gcc/config/riscv/riscv-opts.h hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h machmode.h mode-classes.def insn-modes.h cfg-flags.def cfghooks.h
 G_GCC_H=gcc.h version.h diagnostic-core.h ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h bversion.h diagnostic.def
+G_GGC_H=ggc.h gtype-desc.h statistics.h
 G_GTFILES_SRCDIR=
 G_GTFILES_FILES_FILES=
 G_GTFILES_FILES_LANGS=
-G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/riscv/riscv.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/riscv/netbsd.h ${GNUHOSTDIST}/gcc/config/initfini-array.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h  ${GNUHOSTDIST}/gcc/ipa-ref.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/symtab.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/dwarf2out.h ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/dwarf2cfi.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/godump.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfgrtl.c ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/riscv/riscv.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/cgraphclones.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h ${GNUHOSTDIST}/gcc/trans-mem.c ${GNUHOSTDIST}/gcc/lto-streamer.h ${GNUHOSTDIST}/gcc/target-globals.h ${GNUHOSTDIST}/gcc/ipa-inline.h ${GNUHOSTDIST}/gcc/asan.c ${GNUHOSTDIST}/gcc/tsan.c [c] ${GNUHOSTDIST}/gcc/c/c-lang.c ${GNUHOSTDIST}/gcc/c/c-tree.h ${GNUHOSTDIST}/gcc/c/c-decl.c ${GNUHOSTDIST}/gcc/c-family/c-common.c ${GNUHOSTDIST}/gcc/c-family/c-common.h ${GNUHOSTDIST}/gcc/c-family/c-objc.h ${GNUHOSTDIST}/gcc/c-family/c-cppbuiltin.c ${GNUHOSTDIST}/gcc/c-family/c-pragma.h ${GNUHOSTDIST}/gcc/c-family/c-pragma.c ${GNUHOSTDIST}/gcc/c/c-objc-common.c ${GNUHOSTDIST}/gcc/c/c-parser.c ${GNUHOSTDIST}/gcc/c/c-lang.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.h ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-family/c-common.c ${GNUHOSTDIST}/gcc/c-family/c-common.h ${GNUHOSTDIST}/gcc/c-family/c-objc.h ${GNUHOSTDIST}/gcc/c-family/c-lex.c ${GNUHOSTDIST}/gcc/c-family/c-pragma.h ${GNUHOSTDIST}/gcc/c-family/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c ${GNUHOSTDIST}/gcc/cp/except.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-map.h ${GNUHOSTDIST}/gcc/c-family/c-objc.h ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-runtime-shared-support.c ${GNUHOSTDIST}/gcc/objc/objc-gnu-runtime-abi-01.c ${GNUHOSTDIST}/gcc/objc/objc-next-runtime-abi-01.c ${GNUHOSTDIST}/gcc/objc/objc-next-runtime-abi-02.c ${GNUHOSTDIST}/gcc/c/c-parser.c ${GNUHOSTDIST}/gcc/c/c-tree.h ${GNUHOSTDIST}/gcc/c/c-decl.c ${GNUHOSTDIST}/gcc/c/c-lang.h ${GNUHOSTDIST}/gcc/c/c-objc-common.c ${GNUHOSTDIST}/gcc/c-family/c-common.c ${GNUHOSTDIST}/gcc/c-family/c-common.h ${GNUHOSTDIST}/gcc/c-family/c-cppbuiltin.c ${GNUHOSTDIST}/gcc/c-family/c-pragma.h ${GNUHOSTDIST}/gcc/c-family/c-pragma.c [objcp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.h ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-family/c-common.c ${GNUHOSTDIST}/gcc/c-family/c-common.h ${GNUHOSTDIST}/gcc/c-family/c-objc.h ${GNUHOSTDIST}/gcc/c-family/c-lex.c ${GNUHOSTDIST}/gcc/c-family/c-pragma.h ${GNUHOSTDIST}/gcc/c-family/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/objc/objc-map.h ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-runtime-shared-support.c ${GNUHOSTDIST}/gcc/objc/objc-gnu-runtime-abi-01.c ${GNUHOSTDIST}/gcc/objc/objc-next-runtime-abi-01.c ${GNUHOSTDIST}/gcc/objc/objc-next-runtime-abi-02.c ${GNUHOSTDIST}/gcc/c-family/c-cppbuiltin.c
+G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/riscv/riscv.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-stdint.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/riscv/netbsd.h ${GNUHOSTDIST}/gcc/config/initfini-array.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/wide-int.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/cilk.h ${GNUHOSTDIST}/gcc/cilk-common.c ${GNUHOSTDIST}/gcc/coverage.c  ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/tree-core.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cfg.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h  ${GNUHOSTDIST}/gcc/ipa-ref.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/symtab.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-utils.h ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/signop.h ${GNUHOSTDIST}/gcc/dwarf2out.h ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/dwarf2cfi.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.h ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/ggc-tests.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/godump.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs-libfuncs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfgrtl.c ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple-ssa.h ${GNUHOSTDIST}/gcc/tree-chkp.c ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimple-expr.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/omp-offload.h ${GNUHOSTDIST}/gcc/omp-offload.c ${GNUHOSTDIST}/gcc/omp-expand.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/riscv/riscv.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/cgraphclones.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/tree-ssanames.h ${GNUHOSTDIST}/gcc/tree-vrp.h ${GNUHOSTDIST}/gcc/ipa-prop.h ${GNUHOSTDIST}/gcc/trans-mem.c ${GNUHOSTDIST}/gcc/lto-streamer.h ${GNUHOSTDIST}/gcc/target-globals.h ${GNUHOSTDIST}/gcc/ipa-inline.h ${GNUHOSTDIST}/gcc/vtable-verify.c ${GNUHOSTDIST}/gcc/asan.c ${GNUHOSTDIST}/gcc/ubsan.c ${GNUHOSTDIST}/gcc/tsan.c ${GNUHOSTDIST}/gcc/sanopt.c ${GNUHOSTDIST}/gcc/sancov.c ${GNUHOSTDIST}/gcc/ipa-devirt.c ${GNUHOSTDIST}/gcc/internal-fn.h ${GNUHOSTDIST}/gcc/hsa-common.c ${GNUHOSTDIST}/gcc/calls.c [brig] ${GNUHOSTDIST}/gcc/brig/brig-lang.c ${GNUHOSTDIST}/gcc/brig/brig-c.h [c] ${GNUHOSTDIST}/gcc/c/c-lang.c ${GNUHOSTDIST}/gcc/c/c-tree.h ${GNUHOSTDIST}/gcc/c/c-decl.c ${GNUHOSTDIST}/gcc/c-family/c-common.c ${GNUHOSTDIST}/gcc/c-family/c-common.h ${GNUHOSTDIST}/gcc/c-family/c-objc.h ${GNUHOSTDIST}/gcc/c-family/c-cppbuiltin.c ${GNUHOSTDIST}/gcc/c-family/c-pragma.h ${GNUHOSTDIST}/gcc/c-family/c-pragma.c ${GNUHOSTDIST}/gcc/c/c-objc-common.c ${GNUHOSTDIST}/gcc/c/c-parser.h ${GNUHOSTDIST}/gcc/c/c-parser.c ${GNUHOSTDIST}/gcc/c/c-lang.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.h ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-family/c-common.c ${GNUHOSTDIST}/gcc/c-family/c-common.h ${GNUHOSTDIST}/gcc/c-family/c-objc.h ${GNUHOSTDIST}/gcc/c-family/c-lex.c ${GNUHOSTDIST}/gcc/c-family/c-pragma.h ${GNUHOSTDIST}/gcc/c-family/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c ${GNUHOSTDIST}/gcc/cp/except.c ${GNUHOSTDIST}/gcc/cp/vtable-class-hierarchy.c ${GNUHOSTDIST}/gcc/cp/constexpr.c ${GNUHOSTDIST}/gcc/cp/cp-gimplify.c [jit] ${GNUHOSTDIST}/gcc/jit/dummy-frontend.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c ${GNUHOSTDIST}/gcc/lto/lto.h [objc] ${GNUHOSTDIST}/gcc/objc/objc-map.h ${GNUHOSTDIST}/gcc/c-family/c-objc.h ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-runtime-shared-support.c ${GNUHOSTDIST}/gcc/objc/objc-gnu-runtime-abi-01.c ${GNUHOSTDIST}/gcc/objc/objc-next-runtime-abi-01.c ${GNUHOSTDIST}/gcc/objc/objc-next-runtime-abi-02.c ${GNUHOSTDIST}/gcc/c/c-parser.h ${GNUHOSTDIST}/gcc/c/c-parser.c ${GNUHOSTDIST}/gcc/c/c-tree.h ${GNUHOSTDIST}/gcc/c/c-decl.c ${GNUHOSTDIST}/gcc/c/c-lang.h ${GNUHOSTDIST}/gcc/c/c-objc-common.c ${GNUHOSTDIST}/gcc/c-family/c-common.c ${GNUHOSTDIST}/gcc/c-family/c-common.h ${GNUHOSTDIST}/gcc/c-family/c-cppbuiltin.c ${GNUHOSTDIST}/gcc/c-family/c-pragma.h ${GNUHOSTDIST}/gcc/c-family/c-pragma.c [objcp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.h ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-family/c-common.c ${GNUHOSTDIST}/gcc/c-family/c-common.h ${GNUHOSTDIST}/gcc/c-family/c-objc.h ${GNUHOSTDIST}/gcc/c-family/c-lex.c ${GNUHOSTDIST}/gcc/c-family/c-pragma.h ${GNUHOSTDIST}/gcc/c-family/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/except.c ${GNUHOSTDIST}/gcc/cp/vtable-class-hierarchy.c ${GNUHOSTDIST}/gcc/cp/constexpr.c ${GNUHOSTDIST}/gcc/cp/cp-gimplify.c ${GNUHOSTDIST}/gcc/objc/objc-map.h ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-runtime-shared-support.c ${GNUHOSTDIST}/gcc/objc/objc-gnu-runtime-abi-01.c ${GNUHOSTDIST}/gcc/objc/objc-next-runtime-abi-01.c ${GNUHOSTDIST}/gcc/objc/objc-next-runtime-abi-02.c ${GNUHOSTDIST}/gcc/c-family/c-cppbuiltin.c
 G_GTFILES_LANG_DIR_NAMES=
 G_NOEXCEPTION_FLAGS=-fno-exceptions -fno-rtti -fasynchronous-unwind-tables
 G_NATIVE_SYSTEM_HEADER_DIR=/usr/include
-G_tm_defines=LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 NETBSD_ENABLE_PTHREADS TARGET_64BIT_DEFAULT=0
+G_tm_defines=LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4 CHAR_FAST8=1 SHORT_FAST16=1 TARGET_64BIT_DEFAULT=0
 G_host_xm_file=
 G_host_xm_defines=
 G_tm_p_file=
 G_target_cpu_default=
-G_TM_H=tm.h      options.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/riscv/riscv.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/riscv/netbsd.h ${GNUHOSTDIST}/gcc/config/initfini-array.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h flag-types.h 
-G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c-family/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/riscv/riscv.opt ${GNUHOSTDIST}/gcc/config/netbsd.opt ${GNUHOSTDIST}/gcc/config/netbsd-elf.opt
-G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/riscv/riscv.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/riscv/netbsd.h ${GNUHOSTDIST}/gcc/config/initfini-array.h ${GNUHOSTDIST}/gcc/defaults.h
+G_TM_H=tm.h      options.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/riscv/riscv.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-stdint.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/riscv/netbsd.h ${GNUHOSTDIST}/gcc/config/initfini-array.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h flag-types.h  ${GNUHOSTDIST}/gcc/config/riscv/riscv-opts.h
+G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/brig/lang.opt ${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c-family/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/riscv/riscv.opt ${GNUHOSTDIST}/gcc/config/netbsd.opt ${GNUHOSTDIST}/gcc/config/netbsd-elf.opt
+G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/riscv/riscv.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-stdint.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/riscv/netbsd.h ${GNUHOSTDIST}/gcc/config/initfini-array.h ${GNUHOSTDIST}/gcc/defaults.h
 G_build_xm_include_list=auto-build.h ansidecl.h
 G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h
-G_tm_p_include_list=config/riscv/riscv-protos.h tm-preds.h
+G_tm_p_include_list=config/riscv/riscv-protos.h config/netbsd-protos.h tm-preds.h
 G_common_out_file=${GNUHOSTDIST}/gcc/common/config/riscv/riscv-common.c
 G_LIB2ADDEHDEP=
-G_CXX_OBJS=cp-lang.o c-family/stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o attribs.o incpath.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o tree-mudflap.o default-c.o
-G_CXX_C_OBJS=attribs.o incpath.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o tree-mudflap.o default-c.o
+G_CXX_OBJS=cp-lang.o c-family/stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-cilkplus.o cp-gimplify.o cp-array-notation.o lambda.o vtable-class-hierarchy.o constexpr.o cp-ubsan.o constraint.o logic.o attribs.o incpath.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-indentation.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-cilkplus.o c-family/array-notation-common.o c-family/cilk.o c-family/c-ubsan.o c-family/c-attribs.o c-family/c-warn.o default-c.o
+G_CXX_C_OBJS=attribs.o incpath.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-indentation.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-cilkplus.o c-family/array-notation-common.o c-family/cilk.o c-family/c-ubsan.o c-family/c-attribs.o c-family/c-warn.o default-c.o
 G_F77_OBJS=
 G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o
 G_ENABLE_SHARED=yes
--- a/external/gpl3/gcc/usr.bin/gcc/arch/riscv32/gtyp-input.list	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/usr.bin/gcc/arch/riscv32/gtyp-input.list	Wed Apr 17 09:37:49 2019 +0000
@@ -9,6 +9,7 @@
 SRCDIR/gcc/config/elfos.h
 SRCDIR/gcc/config/riscv/riscv.h
 SRCDIR/gcc/config/netbsd.h
+SRCDIR/gcc/config/netbsd-stdint.h
 SRCDIR/gcc/config/netbsd-elf.h
 SRCDIR/gcc/config/riscv/netbsd.h
 SRCDIR/gcc/config/initfini-array.h
@@ -16,11 +17,16 @@
 SRCDIR/gcc/../include/hashtab.h
 SRCDIR/gcc/../include/splay-tree.h
 SRCDIR/gcc/bitmap.h
+SRCDIR/gcc/wide-int.h
 SRCDIR/gcc/alias.h
+SRCDIR/gcc/cilk.h
+SRCDIR/gcc/cilk-common.c
 SRCDIR/gcc/coverage.c
+
 SRCDIR/gcc/rtl.h
 SRCDIR/gcc/optabs.h
 SRCDIR/gcc/tree.h
+SRCDIR/gcc/tree-core.h
 SRCDIR/gcc/libfuncs.h
 SRCDIR/gcc/../libcpp/include/symtab.h
 SRCDIR/gcc/../include/obstack.h
@@ -31,6 +37,7 @@
 SRCDIR/gcc/fixed-value.h
 SRCDIR/gcc/output.h
 SRCDIR/gcc/cfgloop.h
+SRCDIR/gcc/cfg.h
 SRCDIR/gcc/cselib.h
 SRCDIR/gcc/basic-block.h
 
@@ -45,13 +52,16 @@
 SRCDIR/gcc/cgraph.c
 SRCDIR/gcc/ipa-prop.c
 SRCDIR/gcc/ipa-cp.c
+SRCDIR/gcc/ipa-utils.h
 SRCDIR/gcc/dbxout.c
+SRCDIR/gcc/signop.h
 SRCDIR/gcc/dwarf2out.h
 SRCDIR/gcc/dwarf2asm.c
 SRCDIR/gcc/dwarf2cfi.c
 SRCDIR/gcc/dwarf2out.c
 SRCDIR/gcc/tree-vect-generic.c
 SRCDIR/gcc/dojump.c
+SRCDIR/gcc/emit-rtl.h
 SRCDIR/gcc/emit-rtl.c
 SRCDIR/gcc/except.h
 SRCDIR/gcc/explow.c
@@ -59,10 +69,11 @@
 SRCDIR/gcc/expr.h
 SRCDIR/gcc/function.c
 SRCDIR/gcc/except.c
+SRCDIR/gcc/ggc-tests.c
 SRCDIR/gcc/gcse.c
 SRCDIR/gcc/godump.c
 SRCDIR/gcc/lists.c
-SRCDIR/gcc/optabs.c
+SRCDIR/gcc/optabs-libfuncs.c
 SRCDIR/gcc/profile.c
 SRCDIR/gcc/mcf.c
 SRCDIR/gcc/reg-stack.c
@@ -73,39 +84,51 @@
 SRCDIR/gcc/tree.c
 SRCDIR/gcc/varasm.c
 SRCDIR/gcc/gimple.h
-SRCDIR/gcc/gimple.c
-SRCDIR/gcc/tree-mudflap.c
-SRCDIR/gcc/tree-flow.h
+SRCDIR/gcc/gimple-ssa.h
+SRCDIR/gcc/tree-chkp.c
 SRCDIR/gcc/tree-ssanames.c
 SRCDIR/gcc/tree-eh.c
 SRCDIR/gcc/tree-ssa-address.c
 SRCDIR/gcc/tree-cfg.c
 SRCDIR/gcc/tree-dfa.c
 SRCDIR/gcc/tree-iterator.c
-SRCDIR/gcc/gimplify.c
+SRCDIR/gcc/gimple-expr.c
 SRCDIR/gcc/tree-chrec.h
 SRCDIR/gcc/tree-scalar-evolution.c
 SRCDIR/gcc/tree-ssa-operands.h
 SRCDIR/gcc/tree-profile.c
 SRCDIR/gcc/tree-nested.c
-SRCDIR/gcc/tree-parloops.c
+SRCDIR/gcc/omp-offload.h
+SRCDIR/gcc/omp-offload.c
+SRCDIR/gcc/omp-expand.c
 SRCDIR/gcc/omp-low.c
 SRCDIR/gcc/targhooks.c
 SRCDIR/gcc/config/riscv/riscv.c
 SRCDIR/gcc/passes.c
 SRCDIR/gcc/cgraphunit.c
 SRCDIR/gcc/cgraphclones.c
-SRCDIR/gcc/tree-ssa-propagate.c
 SRCDIR/gcc/tree-phinodes.c
-SRCDIR/gcc/lto-symtab.c
 SRCDIR/gcc/tree-ssa-alias.h
+SRCDIR/gcc/tree-ssanames.h
+SRCDIR/gcc/tree-vrp.h
 SRCDIR/gcc/ipa-prop.h
 SRCDIR/gcc/trans-mem.c
 SRCDIR/gcc/lto-streamer.h
 SRCDIR/gcc/target-globals.h
 SRCDIR/gcc/ipa-inline.h
+SRCDIR/gcc/vtable-verify.c
 SRCDIR/gcc/asan.c
+SRCDIR/gcc/ubsan.c
 SRCDIR/gcc/tsan.c
+SRCDIR/gcc/sanopt.c
+SRCDIR/gcc/sancov.c
+SRCDIR/gcc/ipa-devirt.c
+SRCDIR/gcc/internal-fn.h
+SRCDIR/gcc/hsa-common.c
+SRCDIR/gcc/calls.c
+[brig]
+SRCDIR/gcc/brig/brig-lang.c
+SRCDIR/gcc/brig/brig-c.h
 [c]
 SRCDIR/gcc/c/c-lang.c
 SRCDIR/gcc/c/c-tree.h
@@ -117,6 +140,7 @@
 SRCDIR/gcc/c-family/c-pragma.h
 SRCDIR/gcc/c-family/c-pragma.c
 SRCDIR/gcc/c/c-objc-common.c
+SRCDIR/gcc/c/c-parser.h
 SRCDIR/gcc/c/c-parser.c
 SRCDIR/gcc/c/c-lang.h
 [cp]
@@ -147,10 +171,16 @@
 SRCDIR/gcc/cp/cp-objcp-common.c
 SRCDIR/gcc/cp/cp-lang.c
 SRCDIR/gcc/cp/except.c
+SRCDIR/gcc/cp/vtable-class-hierarchy.c
+SRCDIR/gcc/cp/constexpr.c
+SRCDIR/gcc/cp/cp-gimplify.c
+[jit]
+SRCDIR/gcc/jit/dummy-frontend.c
 [lto]
 SRCDIR/gcc/lto/lto-tree.h
 SRCDIR/gcc/lto/lto-lang.c
 SRCDIR/gcc/lto/lto.c
+SRCDIR/gcc/lto/lto.h
 [objc]
 SRCDIR/gcc/objc/objc-map.h
 SRCDIR/gcc/c-family/c-objc.h
@@ -160,6 +190,7 @@
 SRCDIR/gcc/objc/objc-gnu-runtime-abi-01.c
 SRCDIR/gcc/objc/objc-next-runtime-abi-01.c
 SRCDIR/gcc/objc/objc-next-runtime-abi-02.c
+SRCDIR/gcc/c/c-parser.h
 SRCDIR/gcc/c/c-parser.c
 SRCDIR/gcc/c/c-tree.h
 SRCDIR/gcc/c/c-decl.c
@@ -196,6 +227,10 @@
 SRCDIR/gcc/c-family/c-pragma.c
 SRCDIR/gcc/cp/class.c
 SRCDIR/gcc/cp/cp-objcp-common.c
+SRCDIR/gcc/cp/except.c
+SRCDIR/gcc/cp/vtable-class-hierarchy.c
+SRCDIR/gcc/cp/constexpr.c
+SRCDIR/gcc/cp/cp-gimplify.c
 SRCDIR/gcc/objc/objc-map.h
 SRCDIR/gcc/objc/objc-act.h
 SRCDIR/gcc/objc/objc-act.c
--- a/external/gpl3/gcc/usr.bin/gcc/arch/riscv32/plugin-version.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/usr.bin/gcc/arch/riscv32/plugin-version.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,16 +1,16 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 #include "configargs.h"
 
-#define GCCPLUGIN_VERSION_MAJOR   4
-#define GCCPLUGIN_VERSION_MINOR   8
-#define GCCPLUGIN_VERSION_PATCHLEVEL   4
+#define GCCPLUGIN_VERSION_MAJOR   7
+#define GCCPLUGIN_VERSION_MINOR   4
+#define GCCPLUGIN_VERSION_PATCHLEVEL   0
 #define GCCPLUGIN_VERSION  (GCCPLUGIN_VERSION_MAJOR*1000 + GCCPLUGIN_VERSION_MINOR)
 
-static char basever[] = "4.8.4";
-static char datestamp[] = "20141219";
+static char basever[] = "7.4.0";
+static char datestamp[] = "20181206";
 static char devphase[] = "";
 static char revision[] = "";
 
--- a/external/gpl3/gcc/usr.bin/libcpp/arch/riscv32/config.h	Wed Apr 17 09:21:57 2019 +0000
+++ b/external/gpl3/gcc/usr.bin/libcpp/arch/riscv32/config.h	Wed Apr 17 09:37:49 2019 +0000
@@ -1,6 +1,6 @@
 /* This file is automatically generated.  DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp  */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
+/* Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp  */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
 
 /* config.h.  Generated from config.in by configure.  */
 /* config.in.  Generated from configure.ac by autoheader.  */
@@ -8,6 +8,9 @@
 /* Define if building universal (internal helper macro) */
 /* #undef AC_APPLE_UNIVERSAL_BUILD */
 
+/* Define to 1 if you want more run-time sanity checks. */
+#define CHECKING_P 0
+
 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
    systems. This function is required for `alloca.c' support on those systems.
    */
@@ -16,16 +19,19 @@
 /* Define to 1 if using `alloca.c'. */
 /* #undef C_ALLOCA */
 
+/* Define if you want assertions enabled. This is a cheap check. */
+#define ENABLE_ASSERT_CHECKING 1
+
 /* Define to enable system headers canonicalization. */
 #define ENABLE_CANONICAL_SYSTEM_HEADERS 1
 
-/* Define if you want more run-time sanity checks. */
-/* #undef ENABLE_CHECKING */
-
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
 #define ENABLE_NLS 1
 
+/* Define to get calls to the valgrind runtime enabled. */
+/* #undef ENABLE_VALGRIND_ANNOTATIONS */
+
 /* Define if you want to workaround valgrind (a memory checker) warnings about
    possible memory leaks because of libcpp use of interior pointers. */
 /* #undef ENABLE_VALGRIND_CHECKING */
@@ -233,10 +239,6 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #define HAVE_UNISTD_H 1
 
-/* Define to the widest efficient host integer type at least as wide as the
-   target's size_t type. */
-#define HOST_WIDE_INT long
-
 /* Define as const if the declaration of iconv() needs const. */
 #define ICONV_CONST const
 
@@ -337,6 +339,11 @@
 /* Define to 1 if you need to in order for `stat' and other things to work. */
 /* #undef _POSIX_SOURCE */
 
+/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
+   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+   #define below would cause a syntax error. */
+/* #undef _UINT64_T */
+
 /* Define to empty if `const' does not conform to ANSI C. */
 /* #undef const */
 
@@ -358,6 +365,10 @@
 /* Define to `int' if <sys/types.h> does not define. */
 /* #undef ssize_t */
 
+/* Define to the type of an unsigned integer type of width exactly 64 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef uint64_t */
+
 /* Define to the type of an unsigned integer type wide enough to hold a
    pointer, if such a type exists, and if the system does not define it. */
 /* #undef uintptr_t */