Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Jan 2019 14:18:12 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r342916 - in vendor/elftoolchain/dist: . addr2line ar as common cxxfilt elfcopy isa ld libdwarf libelf libelftc mk nm readelf strings test test/ar test/ar/tc/add-nonexistent test/ar/tc/...
Message-ID:  <201901101418.x0AEICbj029296@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Thu Jan 10 14:18:11 2019
New Revision: 342916
URL: https://svnweb.freebsd.org/changeset/base/342916

Log:
  Import ELF Tool Chain snapshot at r3668
  
  From http://svn.code.sf.net/p/elftoolchain/code/

Added:
  vendor/elftoolchain/dist/README.rst
     - copied, changed from r342915, vendor/elftoolchain/dist/README
  vendor/elftoolchain/dist/libelf/libelf_elfmachine.c   (contents, props changed)
  vendor/elftoolchain/dist/mk/elftoolchain.test-target.mk   (contents, props changed)
  vendor/elftoolchain/dist/test/ar/tc/add-nonexistent/
  vendor/elftoolchain/dist/test/ar/tc/add-nonexistent/add-nonexistent.err
  vendor/elftoolchain/dist/test/ar/tc/add-nonexistent/add-nonexistent.eval
  vendor/elftoolchain/dist/test/ar/tc/add-nonexistent/add-nonexistent.out
  vendor/elftoolchain/dist/test/ar/tc/add-nonexistent/add-nonexistent.sh   (contents, props changed)
  vendor/elftoolchain/dist/test/ar/tc/add-nonexistent/out/
  vendor/elftoolchain/dist/test/ar/tc/extract-nonexistent/
  vendor/elftoolchain/dist/test/ar/tc/extract-nonexistent/extract-nonexistent.err
  vendor/elftoolchain/dist/test/ar/tc/extract-nonexistent/extract-nonexistent.eval
  vendor/elftoolchain/dist/test/ar/tc/extract-nonexistent/extract-nonexistent.out
  vendor/elftoolchain/dist/test/ar/tc/extract-nonexistent/extract-nonexistent.sh   (contents, props changed)
  vendor/elftoolchain/dist/test/ar/tc/extract-nonexistent/in/
  vendor/elftoolchain/dist/test/ar/tc/extract-nonexistent/in/valid.shar   (contents, props changed)
  vendor/elftoolchain/dist/test/ar/tc/extract-nonexistent/out/
  vendor/elftoolchain/dist/test/ar/tc/extract-nonexistent/out/valid.shar   (contents, props changed)
  vendor/elftoolchain/dist/test/ar/tc/extract-nonleaf/
  vendor/elftoolchain/dist/test/ar/tc/extract-nonleaf/extract-nonleaf.err
  vendor/elftoolchain/dist/test/ar/tc/extract-nonleaf/extract-nonleaf.eval
  vendor/elftoolchain/dist/test/ar/tc/extract-nonleaf/extract-nonleaf.out
  vendor/elftoolchain/dist/test/ar/tc/extract-nonleaf/extract-nonleaf.sh   (contents, props changed)
  vendor/elftoolchain/dist/test/ar/tc/extract-nonleaf/in/
  vendor/elftoolchain/dist/test/ar/tc/extract-nonleaf/in/invalid.shar
  vendor/elftoolchain/dist/test/ar/tc/extract-nonleaf/out/
  vendor/elftoolchain/dist/test/ar/tc/extract-nonleaf/out/invalid.shar
  vendor/elftoolchain/dist/test/ar/tc/extract-nonleaf/out/s1
  vendor/elftoolchain/dist/test/ar/tc/ranlib-missing-archive/
  vendor/elftoolchain/dist/test/ar/tc/ranlib-missing-archive/ranlib-missing-archive.err
  vendor/elftoolchain/dist/test/ar/tc/ranlib-missing-archive/ranlib-missing-archive.eval
  vendor/elftoolchain/dist/test/ar/tc/ranlib-missing-archive/ranlib-missing-archive.out
  vendor/elftoolchain/dist/test/ar/tc/ranlib-missing-archive/ranlib-missing-archive.sh   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/
  vendor/elftoolchain/dist/test/libtest/Makefile   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/README.rst
  vendor/elftoolchain/dist/test/libtest/bin/
  vendor/elftoolchain/dist/test/libtest/bin/Makefile   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/bin/make-test-scaffolding   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/bin/make-test-scaffolding.1   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/driver/
  vendor/elftoolchain/dist/test/libtest/driver/Makefile   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/driver/test_main.c   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/examples/
  vendor/elftoolchain/dist/test/libtest/examples/Makefile   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/examples/minimal_example.c   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/examples/simple_example.c   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/lib/
  vendor/elftoolchain/dist/test/libtest/lib/Makefile   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/lib/test.3   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/lib/test.c   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/lib/test.h   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/lib/test_runner.c   (contents, props changed)
  vendor/elftoolchain/dist/test/libtest/lib/test_runner.h   (contents, props changed)
Deleted:
  vendor/elftoolchain/dist/README
Modified:
  vendor/elftoolchain/dist/INSTALL
  vendor/elftoolchain/dist/addr2line/addr2line.1
  vendor/elftoolchain/dist/addr2line/addr2line.c
  vendor/elftoolchain/dist/ar/ar.1
  vendor/elftoolchain/dist/ar/ar.5
  vendor/elftoolchain/dist/ar/ar.c
  vendor/elftoolchain/dist/ar/ar.h
  vendor/elftoolchain/dist/ar/ranlib.1
  vendor/elftoolchain/dist/ar/read.c
  vendor/elftoolchain/dist/ar/write.c
  vendor/elftoolchain/dist/as/as.1
  vendor/elftoolchain/dist/common/native-elf-format
  vendor/elftoolchain/dist/cxxfilt/c++filt.1
  vendor/elftoolchain/dist/elfcopy/elfcopy.1
  vendor/elftoolchain/dist/elfcopy/elfcopy.h
  vendor/elftoolchain/dist/elfcopy/mcs.1
  vendor/elftoolchain/dist/elfcopy/sections.c
  vendor/elftoolchain/dist/elfcopy/segments.c
  vendor/elftoolchain/dist/elfcopy/strip.1
  vendor/elftoolchain/dist/isa/isa.1
  vendor/elftoolchain/dist/ld/ld.1
  vendor/elftoolchain/dist/libdwarf/dwarf.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_AT_comp_dir.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_AT_const_value_string.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_AT_dataref.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_AT_flag.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_AT_location_expr.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_AT_name.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_AT_producer.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_AT_ref_address.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_AT_reference.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_AT_signed_const.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_AT_string.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_AT_targ_address.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_arange.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_die_to_debug.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_directory_decl.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_expr_addr.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_expr_gen.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_fde_inst.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_file_decl.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_frame_cie.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_frame_fde.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_funcname.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_line_entry.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_pubname.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_typename.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_varname.3
  vendor/elftoolchain/dist/libdwarf/dwarf_add_weakname.3
  vendor/elftoolchain/dist/libdwarf/dwarf_attr.3
  vendor/elftoolchain/dist/libdwarf/dwarf_attrlist.3
  vendor/elftoolchain/dist/libdwarf/dwarf_attroffset.3
  vendor/elftoolchain/dist/libdwarf/dwarf_attrval_signed.3
  vendor/elftoolchain/dist/libdwarf/dwarf_child.3
  vendor/elftoolchain/dist/libdwarf/dwarf_dealloc.3
  vendor/elftoolchain/dist/libdwarf/dwarf_def_macro.3
  vendor/elftoolchain/dist/libdwarf/dwarf_die_abbrev_code.3
  vendor/elftoolchain/dist/libdwarf/dwarf_die_link.3
  vendor/elftoolchain/dist/libdwarf/dwarf_diename.3
  vendor/elftoolchain/dist/libdwarf/dwarf_dieoffset.3
  vendor/elftoolchain/dist/libdwarf/dwarf_end_macro_file.3
  vendor/elftoolchain/dist/libdwarf/dwarf_errmsg.3
  vendor/elftoolchain/dist/libdwarf/dwarf_errno.3
  vendor/elftoolchain/dist/libdwarf/dwarf_expand_frame_instructions.3
  vendor/elftoolchain/dist/libdwarf/dwarf_expr_current_offset.3
  vendor/elftoolchain/dist/libdwarf/dwarf_expr_into_block.3
  vendor/elftoolchain/dist/libdwarf/dwarf_fde_cfa_offset.3
  vendor/elftoolchain/dist/libdwarf/dwarf_find_macro_value_start.3
  vendor/elftoolchain/dist/libdwarf/dwarf_finish.3
  vendor/elftoolchain/dist/libdwarf/dwarf_formaddr.3
  vendor/elftoolchain/dist/libdwarf/dwarf_formblock.3
  vendor/elftoolchain/dist/libdwarf/dwarf_formexprloc.3
  vendor/elftoolchain/dist/libdwarf/dwarf_formflag.3
  vendor/elftoolchain/dist/libdwarf/dwarf_formref.3
  vendor/elftoolchain/dist/libdwarf/dwarf_formsig8.3
  vendor/elftoolchain/dist/libdwarf/dwarf_formstring.3
  vendor/elftoolchain/dist/libdwarf/dwarf_formudata.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_AT_name.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_abbrev.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_abbrev_children_flag.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_abbrev_code.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_abbrev_entry.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_abbrev_tag.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_address_size.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_arange.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_arange_info.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_aranges.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_cie_index.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_cie_info.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_cie_of_fde.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_cu_die_offset.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_die_infotypes_flag.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_elf.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_fde_at_pc.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_fde_info_for_all_regs.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_fde_info_for_all_regs3.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_fde_info_for_cfa_reg3.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_fde_info_for_reg.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_fde_info_for_reg3.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_fde_instr_bytes.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_fde_list.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_fde_n.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_fde_range.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_form_class.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_funcs.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_globals.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_loclist_entry.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_macro_details.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_pubtypes.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_ranges.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_relocation_info.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_relocation_info_count.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_section_bytes.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_section_max_offsets.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_str.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_types.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_vars.3
  vendor/elftoolchain/dist/libdwarf/dwarf_get_weaks.3
  vendor/elftoolchain/dist/libdwarf/dwarf_hasattr.3
  vendor/elftoolchain/dist/libdwarf/dwarf_hasform.3
  vendor/elftoolchain/dist/libdwarf/dwarf_highpc.3
  vendor/elftoolchain/dist/libdwarf/dwarf_init.3
  vendor/elftoolchain/dist/libdwarf/dwarf_lineno.3
  vendor/elftoolchain/dist/libdwarf/dwarf_lne_end_sequence.3
  vendor/elftoolchain/dist/libdwarf/dwarf_lne_set_address.3
  vendor/elftoolchain/dist/libdwarf/dwarf_loclist.3
  vendor/elftoolchain/dist/libdwarf/dwarf_loclist_from_expr.3
  vendor/elftoolchain/dist/libdwarf/dwarf_new_die.3
  vendor/elftoolchain/dist/libdwarf/dwarf_new_expr.3
  vendor/elftoolchain/dist/libdwarf/dwarf_new_fde.3
  vendor/elftoolchain/dist/libdwarf/dwarf_next_cu_header.3
  vendor/elftoolchain/dist/libdwarf/dwarf_next_types_section.3
  vendor/elftoolchain/dist/libdwarf/dwarf_object_init.3
  vendor/elftoolchain/dist/libdwarf/dwarf_producer_init.3
  vendor/elftoolchain/dist/libdwarf/dwarf_producer_set_isa.3
  vendor/elftoolchain/dist/libdwarf/dwarf_reset_section_bytes.3
  vendor/elftoolchain/dist/libdwarf/dwarf_set_frame_cfa_value.3
  vendor/elftoolchain/dist/libdwarf/dwarf_set_reloc_application.3
  vendor/elftoolchain/dist/libdwarf/dwarf_seterrarg.3
  vendor/elftoolchain/dist/libdwarf/dwarf_srcfiles.3
  vendor/elftoolchain/dist/libdwarf/dwarf_srclines.3
  vendor/elftoolchain/dist/libdwarf/dwarf_start_macro_file.3
  vendor/elftoolchain/dist/libdwarf/dwarf_tag.3
  vendor/elftoolchain/dist/libdwarf/dwarf_transform_to_disk_form.3
  vendor/elftoolchain/dist/libdwarf/dwarf_undef_macro.3
  vendor/elftoolchain/dist/libdwarf/dwarf_vendor_ext.3
  vendor/elftoolchain/dist/libdwarf/dwarf_whatattr.3
  vendor/elftoolchain/dist/libelf/Makefile
  vendor/elftoolchain/dist/libelf/_libelf.h
  vendor/elftoolchain/dist/libelf/elf.3
  vendor/elftoolchain/dist/libelf/elf_begin.3
  vendor/elftoolchain/dist/libelf/elf_cntl.3
  vendor/elftoolchain/dist/libelf/elf_data.c
  vendor/elftoolchain/dist/libelf/elf_end.3
  vendor/elftoolchain/dist/libelf/elf_errmsg.3
  vendor/elftoolchain/dist/libelf/elf_fill.3
  vendor/elftoolchain/dist/libelf/elf_flagdata.3
  vendor/elftoolchain/dist/libelf/elf_getarhdr.3
  vendor/elftoolchain/dist/libelf/elf_getarsym.3
  vendor/elftoolchain/dist/libelf/elf_getbase.3
  vendor/elftoolchain/dist/libelf/elf_getdata.3
  vendor/elftoolchain/dist/libelf/elf_getident.3
  vendor/elftoolchain/dist/libelf/elf_getphdrnum.3
  vendor/elftoolchain/dist/libelf/elf_getphnum.3
  vendor/elftoolchain/dist/libelf/elf_getscn.3
  vendor/elftoolchain/dist/libelf/elf_getshdrnum.3
  vendor/elftoolchain/dist/libelf/elf_getshdrstrndx.3
  vendor/elftoolchain/dist/libelf/elf_getshnum.3
  vendor/elftoolchain/dist/libelf/elf_getshstrndx.3
  vendor/elftoolchain/dist/libelf/elf_hash.3
  vendor/elftoolchain/dist/libelf/elf_kind.3
  vendor/elftoolchain/dist/libelf/elf_memory.3
  vendor/elftoolchain/dist/libelf/elf_next.3
  vendor/elftoolchain/dist/libelf/elf_open.3
  vendor/elftoolchain/dist/libelf/elf_rand.3
  vendor/elftoolchain/dist/libelf/elf_rawfile.3
  vendor/elftoolchain/dist/libelf/elf_scn.c
  vendor/elftoolchain/dist/libelf/elf_strptr.3
  vendor/elftoolchain/dist/libelf/elf_update.3
  vendor/elftoolchain/dist/libelf/elf_update.c
  vendor/elftoolchain/dist/libelf/elf_version.3
  vendor/elftoolchain/dist/libelf/gelf.3
  vendor/elftoolchain/dist/libelf/gelf_checksum.3
  vendor/elftoolchain/dist/libelf/gelf_fsize.3
  vendor/elftoolchain/dist/libelf/gelf_getcap.3
  vendor/elftoolchain/dist/libelf/gelf_getclass.3
  vendor/elftoolchain/dist/libelf/gelf_getdyn.3
  vendor/elftoolchain/dist/libelf/gelf_getehdr.3
  vendor/elftoolchain/dist/libelf/gelf_getmove.3
  vendor/elftoolchain/dist/libelf/gelf_getphdr.3
  vendor/elftoolchain/dist/libelf/gelf_getrel.3
  vendor/elftoolchain/dist/libelf/gelf_getrela.3
  vendor/elftoolchain/dist/libelf/gelf_getshdr.3
  vendor/elftoolchain/dist/libelf/gelf_getsym.3
  vendor/elftoolchain/dist/libelf/gelf_getsyminfo.3
  vendor/elftoolchain/dist/libelf/gelf_getsymshndx.3
  vendor/elftoolchain/dist/libelf/gelf_newehdr.3
  vendor/elftoolchain/dist/libelf/gelf_newphdr.3
  vendor/elftoolchain/dist/libelf/gelf_update_ehdr.3
  vendor/elftoolchain/dist/libelf/gelf_xlate.c
  vendor/elftoolchain/dist/libelf/gelf_xlatetof.3
  vendor/elftoolchain/dist/libelf/libelf_convert.m4
  vendor/elftoolchain/dist/libelf/libelf_ehdr.c
  vendor/elftoolchain/dist/libelf/libelf_phdr.c
  vendor/elftoolchain/dist/libelf/libelf_xlate.c
  vendor/elftoolchain/dist/libelftc/elftc.3
  vendor/elftoolchain/dist/libelftc/elftc_bfd_find_target.3
  vendor/elftoolchain/dist/libelftc/elftc_copyfile.3
  vendor/elftoolchain/dist/libelftc/elftc_demangle.3
  vendor/elftoolchain/dist/libelftc/elftc_reloc_type_str.3
  vendor/elftoolchain/dist/libelftc/elftc_set_timestamps.3
  vendor/elftoolchain/dist/libelftc/elftc_string_table_create.3
  vendor/elftoolchain/dist/libelftc/elftc_timestamp.3
  vendor/elftoolchain/dist/libelftc/elftc_version.3
  vendor/elftoolchain/dist/mk/elftoolchain.lib.mk
  vendor/elftoolchain/dist/mk/elftoolchain.prog.mk
  vendor/elftoolchain/dist/mk/elftoolchain.test.mk
  vendor/elftoolchain/dist/mk/os.FreeBSD.mk
  vendor/elftoolchain/dist/nm/nm.1
  vendor/elftoolchain/dist/readelf/readelf.1
  vendor/elftoolchain/dist/readelf/readelf.c
  vendor/elftoolchain/dist/strings/strings.c
  vendor/elftoolchain/dist/test/Makefile
  vendor/elftoolchain/dist/test/ar/func.sh
  vendor/elftoolchain/dist/test/ar/tc/addself-liba/addself-liba.eval
  vendor/elftoolchain/dist/test/libelf/tset/elf_getarhdr/Makefile
  vendor/elftoolchain/dist/test/libelf/tset/elf_getarhdr/getarhdr.m4

Modified: vendor/elftoolchain/dist/INSTALL
==============================================================================
--- vendor/elftoolchain/dist/INSTALL	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/INSTALL	Thu Jan 10 14:18:11 2019	(r342916)
@@ -14,7 +14,7 @@ operating systems.
   Operating System    Version    Supported Architectures
   -----------------   --------   -----------------------
   `DragonFly BSD`_    5.2        amd64
-  FreeBSD_            11.1       amd64 & i386
+  FreeBSD_            11.2       amd64 & i386
   Minix_              3.0.2      i386
   NetBSD_             7.1.2      i386
   OpenBSD_            6.3        amd64
@@ -56,7 +56,7 @@ Prerequisites
     - Building additional documentation is not currently supported
       under DragonFly BSD.
 
-:FreeBSD 11.1:
+:FreeBSD 11.2:
     - The core libraries and utilities should build out of the box on
       a stock install of FreeBSD.
 
@@ -73,7 +73,7 @@ Prerequisites
             % sudo pkg install python py27-yaml
 
     - Building additional documentation is not currently supported under
-      FreeBSD 11.1.
+      FreeBSD 11.2.
 
 :Minix 3.2.0:
     - The following packages are pre-requisites for building the
@@ -242,7 +242,7 @@ website`_.
 
 .. _project website:  http://elftoolchain.sourceforge.net/
 
-.. $Id: INSTALL 3613 2018-04-21 19:34:37Z jkoshy $
+.. $Id: INSTALL 3667 2018-12-28 22:19:46Z emaste $
 
 .. Local Variables:
 .. mode: rst

Copied and modified: vendor/elftoolchain/dist/README.rst (from r342915, vendor/elftoolchain/dist/README)
==============================================================================
--- vendor/elftoolchain/dist/README	Thu Jan 10 10:37:19 2019	(r342915, copy source)
+++ vendor/elftoolchain/dist/README.rst	Thu Jan 10 14:18:11 2019	(r342916)
@@ -1,8 +1,7 @@
 The Elftoolchain Project
 ========================
 
-.. contents::
-..
+.. contents:: Table of Contents
 
 Description
 -----------
@@ -15,26 +14,26 @@ This software implements essential compilation tools a
 The project currently implements the following utilities and
 libraries:
 
-    =========== ============================================
-    Name        Description
-    =========== ============================================
-    ar          Archive manager.
-    addr2line   Debug tool.
-    brandelf    Manage the ELF brand on executables.
-    c++filt     Translate encoded symbols.
-    elfcopy     Copy and translate between object formats.
-    elfdump     Diagnostic tool.
-    findtextrel Find undesired text relocations.
-    libdwarf    DWARF access library.
-    libelf      ELF access library.
-    mcs         Manage comment sections.
-    nm          List symbols in an ELF object.
-    ranlib      Add archive symbol tables to an archive.
-    readelf     Display ELF information.
-    size        List object sizes.
-    strings     Extract printable strings.
-    strip       Discard information from ELF objects.
-    =========== ============================================
+=========== ============================================
+Name        Description
+=========== ============================================
+ar          Archive manager.
+addr2line   Debug tool.
+brandelf    Manage the ELF brand on executables.
+c++filt     Translate encoded symbols.
+elfcopy     Copy and translate between object formats.
+elfdump     Diagnostic tool.
+findtextrel Find undesired text relocations.
+libdwarf    DWARF access library.
+libelf      ELF access library.
+mcs         Manage comment sections.
+nm          List symbols in an ELF object.
+ranlib      Add archive symbol tables to an archive.
+readelf     Display ELF information.
+size        List object sizes.
+strings     Extract printable strings.
+strip       Discard information from ELF objects.
+=========== ============================================
 
 .. _ELF: http://en.wikipedia.org/wiki/Executable_and_Linkable_Format
 .. _DWARF: http://www.dwarfstd.org/
@@ -58,10 +57,12 @@ Tracking Ongoing Development
 
 The project uses subversion_ for its version control system.
 
+.. _subversion: https://subversion.apache.org/
+
 The subversion branch for the current set of sources may be accessed
-at the following URL:
+at the following URL::
 
-  https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk
+    https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk
 
 The project's source tree may be checked out from its repository by
 using the ``svn checkout`` command::
@@ -71,14 +72,12 @@ using the ``svn checkout`` command::
 Checked-out sources may be kept upto-date by running ``svn update``
 inside the source directory::
 
-   % svn update
+    % svn update
 
 
 Instructions on building and installing the software are given in the
 file ``INSTALL`` in the current directory.
 
-.. _Subversion: 
-
 Downloading Released Software
 -----------------------------
 
@@ -120,7 +119,7 @@ website`_.
 
 .. _project website:  http://elftoolchain.sourceforge.net/
 
-.. $Id: README 2146 2011-11-11 09:39:00Z jkoshy $
+.. $Id: README.rst 3656 2018-12-26 09:46:24Z jkoshy $
 
 .. Local Variables:
 .. mode: rst

Modified: vendor/elftoolchain/dist/addr2line/addr2line.1
==============================================================================
--- vendor/elftoolchain/dist/addr2line/addr2line.1	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/addr2line/addr2line.1	Thu Jan 10 14:18:11 2019	(r342916)
@@ -22,11 +22,11 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $Id: addr2line.1 3263 2015-11-30 04:25:54Z kaiwang27 $
+.\" $Id: addr2line.1 3642 2018-10-14 14:24:28Z jkoshy $
 .\"
 .Dd November 30, 2015
-.Os
 .Dt ADDR2LINE 1
+.Os
 .Sh NAME
 .Nm addr2line
 .Nd translate program addresses to source file names and line numbers

Modified: vendor/elftoolchain/dist/addr2line/addr2line.c
==============================================================================
--- vendor/elftoolchain/dist/addr2line/addr2line.c	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/addr2line/addr2line.c	Thu Jan 10 14:18:11 2019	(r342916)
@@ -40,7 +40,7 @@
 #include "uthash.h"
 #include "_elftc.h"
 
-ELFTC_VCSID("$Id: addr2line.c 3499 2016-11-25 16:06:29Z emaste $");
+ELFTC_VCSID("$Id: addr2line.c 3544 2017-06-05 14:51:44Z emaste $");
 
 struct Func {
 	char *name;

Modified: vendor/elftoolchain/dist/ar/ar.1
==============================================================================
--- vendor/elftoolchain/dist/ar/ar.1	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/ar/ar.1	Thu Jan 10 14:18:11 2019	(r342916)
@@ -21,51 +21,52 @@
 .\" out of the use of this software, even if advised of the possibility of
 .\" such damage.
 .\"
-.\" $Id: ar.1 3230 2015-07-27 17:11:38Z emaste $
+.\" $Id: ar.1 3642 2018-10-14 14:24:28Z jkoshy $
 .\"
-.Dd July 27, 2015
-.Os
+.Dd September 30, 2018
 .Dt AR 1
+.Os
 .Sh NAME
 .Nm ar
 .Nd manage archives
 .Sh SYNOPSIS
 .Nm
 .Fl d
-.Op Fl T
 .Op Fl f
 .Op Fl j
+.Op Fl T
 .Op Fl v
 .Op Fl z
 .Ar archive
 .Ar
 .Nm
 .Fl m
-.Op Fl T
 .Op Fl a Ar position-after
 .Op Fl b Ar position-before
 .Op Fl f
 .Op Fl i Ar position-before
 .Op Fl j
 .Op Fl s | Fl S
+.Op Fl T
 .Op Fl z
 .Ar archive
 .Ar
 .Nm
 .Fl p
-.Op Fl T
 .Op Fl f
+.Op Fl s
+.Op Fl T
 .Op Fl v
 .Ar archive
 .Op Ar
 .Nm
 .Fl q
-.Op Fl T
 .Op Fl c
 .Op Fl D
 .Op Fl f
 .Op Fl F Ar flavor | Fl -flavor Ar flavor
 .Op Fl s | Fl S
+.Op Fl T
 .Op Fl U
 .Op Fl v
 .Op Fl z
@@ -73,7 +74,6 @@
 .Ar
 .Nm
 .Fl r
-.Op Fl T
 .Op Fl a Ar position-after
 .Op Fl b Ar position-before
 .Op Fl c
@@ -83,6 +83,7 @@
 .Op Fl i Ar position-before
 .Op Fl j
 .Op Fl s | Fl S
+.Op Fl T
 .Op Fl u
 .Op Fl U
 .Op Fl v
@@ -99,6 +100,7 @@
 .Nm
 .Fl t
 .Op Fl f
+.Op Fl s
 .Op Fl T
 .Op Fl v
 .Ar archive
@@ -106,9 +108,10 @@
 .Nm
 .Fl x
 .Op Fl C
-.Op Fl T
 .Op Fl f
 .Op Fl o
+.Op Fl s
+.Op Fl T
 .Op Fl u
 .Op Fl v
 .Ar archive

Modified: vendor/elftoolchain/dist/ar/ar.5
==============================================================================
--- vendor/elftoolchain/dist/ar/ar.5	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/ar/ar.5	Thu Jan 10 14:18:11 2019	(r342916)
@@ -21,11 +21,11 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $Id: ar.5 3182 2015-04-10 16:08:10Z emaste $
+.\" $Id: ar.5 3642 2018-10-14 14:24:28Z jkoshy $
 .\"
-.Dd November 28, 2010
-.Os
+.Dd September 30, 2018
 .Dt AR 5
+.Os
 .Sh NAME
 .Nm ar
 .Nd archive file format for
@@ -84,6 +84,8 @@ An archive header comprises the following fixed sized 
 .Bl -tag -width "Li ar_name"
 .It Ar ar_name
 (16 bytes) The file name of the archive member.
+This field names a leaf file; absolute paths and relative paths containing
+directory names are not supported.
 The format of this field varies between the BSD and SVR4/GNU formats and
 is described in more detail in the section
 .Sx "Representing File Names"

Modified: vendor/elftoolchain/dist/ar/ar.c
==============================================================================
--- vendor/elftoolchain/dist/ar/ar.c	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/ar/ar.c	Thu Jan 10 14:18:11 2019	(r342916)
@@ -72,7 +72,7 @@
 
 #include "ar.h"
 
-ELFTC_VCSID("$Id: ar.c 3319 2016-01-13 21:37:53Z jkoshy $");
+ELFTC_VCSID("$Id: ar.c 3629 2018-09-30 19:26:28Z jkoshy $");
 
 enum options
 {
@@ -100,11 +100,12 @@ main(int argc, char **argv)
 	struct bsdar	*bsdar, bsdar_storage;
 	char		*arcmd, *argv1_saved;
 	size_t		 len;
-	int		 i, opt;
+	int		 exitcode, i, opt;
 
 	bsdar = &bsdar_storage;
 	memset(bsdar, 0, sizeof(*bsdar));
 
+	exitcode = EXIT_SUCCESS;
 	arcmd = argv1_saved = NULL;
 	bsdar->output = stdout;
 
@@ -152,9 +153,9 @@ main(int argc, char **argv)
 
 		bsdar->options |= AR_S;
 		while ((bsdar->filename = *argv++) != NULL)
-			ar_write_archive(bsdar, 's');
+			exitcode |= ar_write_archive(bsdar, 's');
 
-		exit(EXIT_SUCCESS);
+		exit(exitcode);
 	} else {
 		if (argc < 2)
 			bsdar_usage();
@@ -331,30 +332,33 @@ main(int argc, char **argv)
 
 	if ((!bsdar->mode || strchr("ptx", bsdar->mode)) &&
 	    bsdar->options & AR_S) {
-		ar_write_archive(bsdar, 's');
+		exitcode = ar_write_archive(bsdar, 's');
 		if (!bsdar->mode)
-			exit(EXIT_SUCCESS);
+			exit(exitcode);
 	}
 
 	switch(bsdar->mode) {
 	case 'd': case 'm': case 'q': case 'r':
-		ar_write_archive(bsdar, bsdar->mode);
+		exitcode = ar_write_archive(bsdar, bsdar->mode);
 		break;
 
 	case 'p': case 't': case 'x':
-		ar_read_archive(bsdar, bsdar->mode);
+		exitcode = ar_read_archive(bsdar, bsdar->mode);
 		break;
 	default:
 		bsdar_usage();
 		/* NOTREACHED */
 	}
 
-	for (i = 0; i < bsdar->argc; i++)
-		if (bsdar->argv[i] != NULL)
+	for (i = 0; i < bsdar->argc; i++) {
+		if (bsdar->argv[i] != NULL) {
 			bsdar_warnc(bsdar, 0, "%s: not found in archive",
 			    bsdar->argv[i]);
+			exitcode = EXIT_FAILURE;
+		}
+	}
 
-	exit(EXIT_SUCCESS);
+	exit(exitcode);
 }
 
 static void

Modified: vendor/elftoolchain/dist/ar/ar.h
==============================================================================
--- vendor/elftoolchain/dist/ar/ar.h	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/ar/ar.h	Thu Jan 10 14:18:11 2019	(r342916)
@@ -23,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: ar.h 2496 2012-04-24 02:33:40Z jkoshy $
+ * $Id: ar.h 3629 2018-09-30 19:26:28Z jkoshy $
  */
 
 #include <libelf.h>
@@ -135,8 +135,8 @@ struct bsdar {
 };
 
 void	ar_mode_script(struct bsdar *ar);
-void	ar_read_archive(struct bsdar *_ar, int _mode);
-void	ar_write_archive(struct bsdar *_ar, int _mode);
+int	ar_read_archive(struct bsdar *_ar, int _mode);
+int	ar_write_archive(struct bsdar *_ar, int _mode);
 void	bsdar_errc(struct bsdar *, int _code, const char *fmt, ...);
 int	bsdar_is_pseudomember(struct bsdar *_ar, const char *_name);
 const char *bsdar_strmode(mode_t m);

Modified: vendor/elftoolchain/dist/ar/ranlib.1
==============================================================================
--- vendor/elftoolchain/dist/ar/ranlib.1	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/ar/ranlib.1	Thu Jan 10 14:18:11 2019	(r342916)
@@ -21,11 +21,11 @@
 .\" out of the use of this software, even if advised of the possibility of
 .\" such damage.
 .\"
-.\" $Id: ranlib.1 3195 2015-05-12 17:22:19Z emaste $
+.\" $Id: ranlib.1 3642 2018-10-14 14:24:28Z jkoshy $
 .\"
 .Dd December 9, 2012
-.Os
 .Dt RANLIB 1
+.Os
 .Sh NAME
 .Nm ranlib
 .Nd update archive symbol tables

Modified: vendor/elftoolchain/dist/ar/read.c
==============================================================================
--- vendor/elftoolchain/dist/ar/read.c	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/ar/read.c	Thu Jan 10 14:18:11 2019	(r342916)
@@ -34,16 +34,20 @@
 #include <errno.h>
 #include <libgen.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
 
 #include "ar.h"
 
-ELFTC_VCSID("$Id: read.c 3180 2015-04-09 15:13:57Z emaste $");
+ELFTC_VCSID("$Id: read.c 3629 2018-09-30 19:26:28Z jkoshy $");
 
 /*
  * Handle read modes: 'x', 't' and 'p'.
+ *
+ * Returns EXIT_SUCCESS if all operations completed successfully or returns
+ * EXIT_FAILURE otherwise.
  */
-void
+int
 ar_read_archive(struct bsdar *bsdar, int mode)
 {
 	FILE			 *out;
@@ -60,8 +64,8 @@ ar_read_archive(struct bsdar *bsdar, int mode)
 	gid_t			  gid;
 	char			**av;
 	char			  buf[25];
-	char			  find;
-	int			  i, flags, r;
+	int			  found;
+	int			  exitcode, i, flags, r;
 
 	assert(mode == 'p' || mode == 't' || mode == 'x');
 
@@ -70,6 +74,7 @@ ar_read_archive(struct bsdar *bsdar, int mode)
 	archive_read_support_format_ar(a);
 	AC(archive_read_open_filename(a, bsdar->filename, DEF_BLKSZ));
 
+	exitcode = EXIT_SUCCESS;
 	out = bsdar->output;
 
 	for (;;) {
@@ -96,12 +101,27 @@ ar_read_archive(struct bsdar *bsdar, int mode)
 		if (bsdar_is_pseudomember(bsdar, name))
 			continue;
 
+		/* The ar(5) format only supports 'leaf' file names. */
+		if (strchr(name, '/')) {
+			bsdar_warnc(bsdar, 0, "ignoring entry: %s",
+			    name);
+			continue;
+		}
+
+		/*
+		 * If we had been given a list of file names to process, check
+		 * that the current entry is present in this list.
+		 */
 		if (bsdar->argc > 0) {
-			find = 0;
+			found = 0;
 			for(i = 0; i < bsdar->argc; i++) {
 				av = &bsdar->argv[i];
 				if (*av == NULL)
 					continue;
+				/*
+				 * Per POSIX, only the basename of a file
+				 * argument should be compared.
+				 */
 				if ((bname = basename(*av)) == NULL)
 					bsdar_errc(bsdar, errno,
 					    "basename failed");
@@ -109,10 +129,10 @@ ar_read_archive(struct bsdar *bsdar, int mode)
 					continue;
 
 				*av = NULL;
-				find = 1;
+				found = 1;
 				break;
 			}
-			if (!find)
+			if (!found)
 				continue;
 		}
 
@@ -157,7 +177,7 @@ ar_read_archive(struct bsdar *bsdar, int mode)
 				/* mode == 'x' */
 				if (stat(name, &sb) != 0) {
 					if (errno != ENOENT) {
-						bsdar_warnc(bsdar, 0,
+						bsdar_warnc(bsdar, errno,
 						    "stat %s failed",
 						    bsdar->filename);
 						continue;
@@ -174,12 +194,6 @@ ar_read_archive(struct bsdar *bsdar, int mode)
 
 				if (bsdar->options & AR_V)
 					(void)fprintf(out, "x - %s\n", name);
-				/* Disallow absolute paths. */
-				if (name[0] == '/') {
-					bsdar_warnc(bsdar, 0,
-					    "Absolute path '%s'", name);
-					continue;
-				}
 				/* Basic path security flags. */
 				flags = ARCHIVE_EXTRACT_SECURE_SYMLINKS |
 	 			    ARCHIVE_EXTRACT_SECURE_NODOTDOT;
@@ -189,11 +203,19 @@ ar_read_archive(struct bsdar *bsdar, int mode)
 				r = archive_read_extract(a, entry, flags);
 			}
 
-			if (r)
+			if (r) {
 				bsdar_warnc(bsdar, 0, "%s",
 				    archive_error_string(a));
+				exitcode = EXIT_FAILURE;
+			}
 		}
 	}
+
+	if (r == ARCHIVE_FATAL)
+		exitcode = EXIT_FAILURE;
+
 	AC(archive_read_close(a));
 	ACV(archive_read_free(a));
+
+	return (exitcode);
 }

Modified: vendor/elftoolchain/dist/ar/write.c
==============================================================================
--- vendor/elftoolchain/dist/ar/write.c	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/ar/write.c	Thu Jan 10 14:18:11 2019	(r342916)
@@ -40,7 +40,7 @@
 
 #include "ar.h"
 
-ELFTC_VCSID("$Id: write.c 3183 2015-04-10 16:18:42Z emaste $");
+ELFTC_VCSID("$Id: write.c 3629 2018-09-30 19:26:28Z jkoshy $");
 
 #define _ARMAG_LEN 8		/* length of the magic string */
 #define _ARHDR_LEN 60		/* length of the archive header */
@@ -352,17 +352,20 @@ read_objs(struct bsdar *bsdar, const char *archive, in
 
 /*
  * Write an archive.
+ *
+ * Returns EXIT_SUCCESS if the write succeeded or EXIT_FAILURE otherwise.
  */
-void
+int
 ar_write_archive(struct bsdar *bsdar, int mode)
 {
 	struct ar_obj		 *nobj, *obj, *obj_temp, *pos;
 	struct stat		  sb;
 	const char		 *bname;
 	char			**av;
-	int			  i;
+	int			  exitcode, i;
 
 	TAILQ_INIT(&bsdar->v_obj);
+	exitcode = EXIT_SUCCESS;
 	nobj = NULL;
 	pos = NULL;
 	memset(&sb, 0, sizeof(sb));
@@ -376,16 +379,16 @@ ar_write_archive(struct bsdar *bsdar, int mode)
 	 */
 	if (stat(bsdar->filename, &sb) != 0) {
 		if (errno != ENOENT) {
-			bsdar_warnc(bsdar, 0, "stat %s failed",
+			bsdar_warnc(bsdar, errno, "stat %s failed",
 			    bsdar->filename);
-			return;
+			return (EXIT_FAILURE);
 		}
 
 		/* We do not create archive in mode 'd', 'm' and 's'.  */
 		if (mode != 'r' && mode != 'q') {
 			bsdar_warnc(bsdar, 0, "%s: no such file",
 			    bsdar->filename);
-			return;
+			return (EXIT_FAILURE);
 		}
 
 		/* Issue a message if the '-c' option was not specified. */
@@ -474,8 +477,10 @@ ar_write_archive(struct bsdar *bsdar, int mode)
 				 */
 				nobj = create_obj_from_file(bsdar, *av,
 				    obj->mtime);
-				if (nobj == NULL)
+				if (nobj == NULL) {
+					exitcode = EXIT_FAILURE;
 					goto skip_obj;
+				}
 			}
 
 			if (bsdar->options & AR_V)
@@ -510,9 +515,13 @@ new_archive:
 		av = &bsdar->argv[i];
 		if (*av != NULL && (mode == 'r' || mode == 'q')) {
 			nobj = create_obj_from_file(bsdar, *av, 0);
-			if (nobj != NULL)
-				insert_obj(bsdar, nobj, pos);
-			if (bsdar->options & AR_V && nobj != NULL)
+			if (nobj == NULL) {
+				exitcode = EXIT_FAILURE;
+				*av = NULL;
+				continue;
+			}
+			insert_obj(bsdar, nobj, pos);
+			if (bsdar->options & AR_V)
 				(void)fprintf(bsdar->output, "a - %s\n", *av);
 			*av = NULL;
 		}
@@ -521,6 +530,8 @@ new_archive:
 write_objs:
 	write_objs(bsdar);
 	write_cleanup(bsdar);
+
+	return (exitcode);
 }
 
 /*

Modified: vendor/elftoolchain/dist/as/as.1
==============================================================================
--- vendor/elftoolchain/dist/as/as.1	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/as/as.1	Thu Jan 10 14:18:11 2019	(r342916)
@@ -22,11 +22,11 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $Id: as.1 2798 2012-12-22 09:02:50Z jkoshy $
+.\" $Id: as.1 3642 2018-10-14 14:24:28Z jkoshy $
 .\"
 .Dd December 22, 2012
-.Os
 .Dt AS 1
+.Os
 .Sh NAME
 .Nm as
 .Nd an assembler

Modified: vendor/elftoolchain/dist/common/native-elf-format
==============================================================================
--- vendor/elftoolchain/dist/common/native-elf-format	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/common/native-elf-format	Thu Jan 10 14:18:11 2019	(r342916)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: native-elf-format 3293 2016-01-07 19:26:27Z emaste $
+# $Id: native-elf-format 3650 2018-11-25 12:06:28Z jkoshy $
 #
 # Find the native ELF format for a host platform by compiling a
 # test object and examining the resulting object.
@@ -35,7 +35,7 @@ $1 ~ "Machine:" {
             elfarch = "EM_386";
         } else if (match($0, "MIPS")) {
             elfarch = "EM_MIPS";
-        } else if (match($0, ".*[xX]86-64")) {
+        } else if (match($0, ".*[xX]86[-_]64")) {
             elfarch = "EM_X86_64";
         } else {
             elfarch = "unknown";

Modified: vendor/elftoolchain/dist/cxxfilt/c++filt.1
==============================================================================
--- vendor/elftoolchain/dist/cxxfilt/c++filt.1	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/cxxfilt/c++filt.1	Thu Jan 10 14:18:11 2019	(r342916)
@@ -22,11 +22,11 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $Id: c++filt.1 3195 2015-05-12 17:22:19Z emaste $
+.\" $Id: c++filt.1 3642 2018-10-14 14:24:28Z jkoshy $
 .\"
 .Dd August 24, 2011
-.Os
 .Dt C++FILT 1
+.Os
 .Sh NAME
 .Nm c++filt
 .Nd decode C++ symbols

Modified: vendor/elftoolchain/dist/elfcopy/elfcopy.1
==============================================================================
--- vendor/elftoolchain/dist/elfcopy/elfcopy.1	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/elfcopy/elfcopy.1	Thu Jan 10 14:18:11 2019	(r342916)
@@ -21,11 +21,11 @@
 .\" out of the use of this software, even if advised of the possibility of
 .\" such damage.
 .\"
-.\" $Id: elfcopy.1 3565 2017-08-31 02:24:19Z emaste $
+.\" $Id: elfcopy.1 3642 2018-10-14 14:24:28Z jkoshy $
 .\"
 .Dd August 30, 2017
-.Os
 .Dt ELFCOPY 1
+.Os
 .Sh NAME
 .Nm elfcopy ,
 .Nm objcopy

Modified: vendor/elftoolchain/dist/elfcopy/elfcopy.h
==============================================================================
--- vendor/elftoolchain/dist/elfcopy/elfcopy.h	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/elfcopy/elfcopy.h	Thu Jan 10 14:18:11 2019	(r342916)
@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: elfcopy.h 3446 2016-05-03 01:31:17Z emaste $
+ * $Id: elfcopy.h 3615 2018-05-17 04:12:24Z kaiwang27 $
  */
 
 #include <sys/queue.h>
@@ -127,6 +127,7 @@ struct section {
 	uint64_t	 cap;	/* section capacity */
 	uint64_t	 align;	/* section alignment */
 	uint64_t	 type;	/* section type */
+	uint64_t	 flags;	/* section flags */
 	uint64_t	 vma;	/* section virtual addr */
 	uint64_t	 lma;	/* section load addr */
 	uint64_t	 pad_sz;/* section padding size */

Modified: vendor/elftoolchain/dist/elfcopy/mcs.1
==============================================================================
--- vendor/elftoolchain/dist/elfcopy/mcs.1	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/elfcopy/mcs.1	Thu Jan 10 14:18:11 2019	(r342916)
@@ -21,11 +21,11 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $Id: mcs.1 2247 2011-11-29 08:41:34Z jkoshy $
+.\" $Id: mcs.1 3642 2018-10-14 14:24:28Z jkoshy $
 .\"
 .Dd November 29, 2011
-.Os
 .Dt MCS 1
+.Os
 .Sh NAME
 .Nm mcs
 .Nd manipulate the comment section of an ELF object

Modified: vendor/elftoolchain/dist/elfcopy/sections.c
==============================================================================
--- vendor/elftoolchain/dist/elfcopy/sections.c	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/elfcopy/sections.c	Thu Jan 10 14:18:11 2019	(r342916)
@@ -34,7 +34,7 @@
 
 #include "elfcopy.h"
 
-ELFTC_VCSID("$Id: sections.c 3443 2016-04-15 18:57:54Z kaiwang27 $");
+ELFTC_VCSID("$Id: sections.c 3646 2018-10-27 02:25:39Z emaste $");
 
 static void	add_gnu_debuglink(struct elfcopy *ecp);
 static uint32_t calc_crc32(const char *p, size_t len, uint32_t crc);
@@ -411,6 +411,7 @@ create_scn(struct elfcopy *ecp)
 			s->sz		= ish.sh_size;
 			s->align	= ish.sh_addralign;
 			s->type		= ish.sh_type;
+			s->flags	= ish.sh_flags;
 			s->vma		= ish.sh_addr;
 
 			/*
@@ -685,7 +686,7 @@ filter_reloc(struct elfcopy *ecp, struct section *s)
 	Elf32_Rela	*rela32;
 	Elf64_Rela	*rela64;
 	Elf_Data	*id;
-	uint64_t	 cap, n, nrels;
+	uint64_t	 cap, n, nrels, sym;
 	int		 elferr, i;
 
 	if (gelf_getshdr(s->is, &ish) == NULL)
@@ -694,15 +695,13 @@ filter_reloc(struct elfcopy *ecp, struct section *s)
 
 	/* We don't want to touch relocation info for dynamic symbols. */
 	if ((ecp->flags & SYMTAB_EXIST) == 0) {
-		if (ish.sh_link == 0 || ecp->secndx[ish.sh_link] == 0) {
-			/*
-			 * This reloc section applies to the symbol table
-			 * that was stripped, so discard whole section.
-			 */
-			s->nocopy = 1;
-			s->sz = 0;
-		}
-		return;
+		/*
+		 * No symbol table in output.  If sh_link points to a section
+		 * that exists in the output object, this relocation section
+		 * is for dynamic symbols.  Don't touch it.
+		 */
+		if (ish.sh_link != 0 && ecp->secndx[ish.sh_link] != 0)
+			return;
 	} else {
 		/* Symbol table exist, check if index equals. */
 		if (ish.sh_link != elf_ndxscn(ecp->symtab->is))
@@ -743,28 +742,45 @@ filter_reloc(struct elfcopy *ecp, struct section *s)
 			if (gelf_getrel(id, i, &rel) != &rel)
 				errx(EXIT_FAILURE, "gelf_getrel failed: %s",
 				    elf_errmsg(-1));
+			sym = GELF_R_SYM(rel.r_info);
 		} else {
 			if (gelf_getrela(id, i, &rela) != &rela)
 				errx(EXIT_FAILURE, "gelf_getrel failed: %s",
 				    elf_errmsg(-1));
+			sym = GELF_R_SYM(rela.r_info);
 		}
-		name = elf_strptr(ecp->ein, elf_ndxscn(ecp->strtab->is),
-		    GELF_R_SYM(rel.r_info));
-		if (name == NULL)
-			errx(EXIT_FAILURE, "elf_strptr failed: %s",
-			    elf_errmsg(-1));
-		if (lookup_symop_list(ecp, name, SYMOP_KEEP) != NULL) {
-			if (ecp->oec == ELFCLASS32) {
-				if (s->type == SHT_REL)
-					COPYREL(rel, 32);
-				else
-					COPYREL(rela, 32);
-			} else {
-				if (s->type == SHT_REL)
-					COPYREL(rel, 64);
-				else
-					COPYREL(rela, 64);
-			}
+		/*
+		 * If a relocation references a symbol and we are omitting
+		 * either that symbol or the entire symbol table we cannot
+		 * produce valid output, and so just omit the relocation.
+		 * Broken output like this is generally not useful, but some
+		 * uses of elfcopy/strip rely on it - for example, GCC's build
+		 * process uses it to check for build reproducibility by
+		 * stripping objects and comparing them.
+		 *
+		 * Relocations that do not reference a symbol are retained.
+		 */
+		if (sym != 0) {
+			if (ish.sh_link == 0 || ecp->secndx[ish.sh_link] == 0)
+				continue;
+			name = elf_strptr(ecp->ein, elf_ndxscn(ecp->strtab->is),
+			    sym);
+			if (name == NULL)
+				errx(EXIT_FAILURE, "elf_strptr failed: %s",
+				    elf_errmsg(-1));
+			if (lookup_symop_list(ecp, name, SYMOP_KEEP) == NULL)
+				continue;
+		}
+		if (ecp->oec == ELFCLASS32) {
+			if (s->type == SHT_REL)
+				COPYREL(rel, 32);
+			else
+				COPYREL(rela, 32);
+		} else {
+			if (s->type == SHT_REL)
+				COPYREL(rel, 64);
+			else
+				COPYREL(rela, 64);
 		}
 	}
 	elferr = elf_errno();

Modified: vendor/elftoolchain/dist/elfcopy/segments.c
==============================================================================
--- vendor/elftoolchain/dist/elfcopy/segments.c	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/elfcopy/segments.c	Thu Jan 10 14:18:11 2019	(r342916)
@@ -34,7 +34,7 @@
 
 #include "elfcopy.h"
 
-ELFTC_VCSID("$Id: segments.c 3449 2016-05-03 13:59:29Z emaste $");
+ELFTC_VCSID("$Id: segments.c 3615 2018-05-17 04:12:24Z kaiwang27 $");
 
 static void	insert_to_inseg_list(struct segment *seg, struct section *sec);
 
@@ -78,6 +78,8 @@ add_to_inseg_list(struct elfcopy *ecp, struct section 
 		    s->type != SHT_NOBITS)
 			continue;
 		if (s->vma + s->sz > seg->vaddr + seg->msz)
+			continue;
+		if (seg->type == PT_TLS && ((s->flags & SHF_TLS) == 0))
 			continue;
 
 		insert_to_inseg_list(seg, s);

Modified: vendor/elftoolchain/dist/elfcopy/strip.1
==============================================================================
--- vendor/elftoolchain/dist/elfcopy/strip.1	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/elfcopy/strip.1	Thu Jan 10 14:18:11 2019	(r342916)
@@ -21,11 +21,11 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $Id: strip.1 2069 2011-10-26 15:53:48Z jkoshy $
+.\" $Id: strip.1 3642 2018-10-14 14:24:28Z jkoshy $
 .\"
 .Dd September 17, 2011
-.Os
 .Dt STRIP 1
+.Os
 .Sh NAME
 .Nm strip
 .Nd discard information from ELF objects

Modified: vendor/elftoolchain/dist/isa/isa.1
==============================================================================
--- vendor/elftoolchain/dist/isa/isa.1	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/isa/isa.1	Thu Jan 10 14:18:11 2019	(r342916)
@@ -22,11 +22,11 @@
  \" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
  \" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $Id: isa.1 3195 2015-05-12 17:22:19Z emaste $
+.\" $Id: isa.1 3642 2018-10-14 14:24:28Z jkoshy $
 .\"
 .Dd January 13, 2013
-.Os
 .Dt ISA 1
+.Os
 .Sh NAME
 .Nm isa
 .Nd instruction set analyser

Modified: vendor/elftoolchain/dist/ld/ld.1
==============================================================================
--- vendor/elftoolchain/dist/ld/ld.1	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/ld/ld.1	Thu Jan 10 14:18:11 2019	(r342916)
@@ -25,8 +25,8 @@
 .\" $Id$
 .\"
 .Dd February 14, 2016
-.Os
 .Dt LD 1
+.Os
 .Sh NAME
 .Nm ld
 .Nd link editor

Modified: vendor/elftoolchain/dist/libdwarf/dwarf.3
==============================================================================
--- vendor/elftoolchain/dist/libdwarf/dwarf.3	Thu Jan 10 10:37:19 2019	(r342915)
+++ vendor/elftoolchain/dist/libdwarf/dwarf.3	Thu Jan 10 14:18:11 2019	(r342916)
@@ -21,11 +21,11 @@
 .\" out of the use of this software, even if advised of the possibility of
 .\" such damage.
 .\"
-.\" $Id: dwarf.3 3295 2016-01-08 22:08:10Z jkoshy $
+.\" $Id: dwarf.3 3644 2018-10-15 19:55:01Z jkoshy $
 .\"
 .Dd December 21, 2014
-.Os
 .Dt DWARF 3
+.Os
 .Sh NAME
 .Nm dwarf
 .Nd access debugging information in object files
@@ -34,7 +34,6 @@
 .Sh SYNOPSIS
 .In libdwarf.h
 .Sh DESCRIPTION
-.Pp
 The
 .Lb libdwarf
 provides functions that allow an application to read and write debugging
@@ -129,7 +128,6 @@ A descriptor representing a static variable.
 A descriptor representing a weak name.
 .El
 .Ss Error Handling
-.Pp
 Library functions that encounter an error will return with a value
 other than
 .Dv DW_DLV_OK .
@@ -173,7 +171,7 @@ below.
 .Pp
 .Bl -tag -compact -width "CCCC"
 .It Abbreviations
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_get_abbrev
 Retrieve abbreviation information at a given offset.
 .It Fn dwarf_get_abbrev_children_flag
@@ -187,7 +185,7 @@ descriptor.
 Retrieve the tag for an abbreviation entry.
 .El
 .It Addresses
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_get_address_size
 Return the number of bytes needed to represent an address.
 .It Fn dwarf_get_arange
@@ -206,7 +204,7 @@ Retrieve information about non-contiguous address rang
 a debugging information entry.
 .El
 .It Attributes
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_arrayorder
 Retrieve the value of a
 .Dv DW_AT_ordering
@@ -279,7 +277,7 @@ Retrieve the attribute code for an attribute.
 Retrieve the form of an attribute.
 .El
 .It Call Information Entries and Frame Descriptor Entries
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_get_cie_index
 Retrieve the index for a CIE descriptor.
 .It Fn dwarf_get_cie_info
@@ -308,7 +306,7 @@ Retrieve an FDE descriptor.
 Retrieve range information from an FDE descriptor.
 .El
 .It Compilation Units
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Xo
 .Fn dwarf_get_cu_die_offset_given_cu_header_offset ,
 .Fn dwarf_get_cu_die_offset_given_cu_header_offset_b
@@ -323,7 +321,7 @@ compilation or type unit.
 Step through compilation units in a debug context.
 .El
 .It Debugging Information Entries
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_child
 Returns the child of a debugging information entry.
 .It Fn dwarf_die_abbrev_code
@@ -353,7 +351,7 @@ entry.
 Retrieve the tag for a debugging information entry.
 .El
 .It Functions
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_func_cu_offset
 Retrieves the offset for the compilation unit for a function.
 .It Fn dwarf_func_die_offset

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201901101418.x0AEICbj029296>