svn commit: r342918 - in head: contrib/elftoolchain contrib/elftoolchain/addr2line contrib/elftoolchain/ar contrib/elftoolchain/common contrib/elftoolchain/cxxfilt contrib/elftoolchain/elfcopy cont...

Ed Maste emaste at FreeBSD.org
Thu Jan 10 14:35:29 UTC 2019


Author: emaste
Date: Thu Jan 10 14:35:23 2019
New Revision: 342918
URL: https://svnweb.freebsd.org/changeset/base/342918

Log:
  Update to ELF Tool Chain r3668
  
  Highlights:
  - Make sure that only TLS sections are sorted into TLS segment.
  - Fixed multiple errors in "Section to Segment mapping".
  - Man page updates
  - ar improvements
  - elfcopy: avoid filter_reloc uninitialized variable for rela
  - elfcopy: avoid stripping relocations from static binaries
  - readelf: avoid printing directory in front of absolute path
  - readelf: add NT_FREEBSD_FEATURE_CTL FreeBSD note type
  - test improvements
  
  NOTES:
  
  Some of these changes originated in FreeBSD and simply reduce diffs
  between contrib and vendor.
  
  ELF Tool Chain ar is not (currently) used in FreeBSD, and there are
  improvements in both FreeBSD and ELF Tool Chain ar that are not in
  the other.
  
  Sponsored by:	The FreeBSD Foundation

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

Copied: head/contrib/elftoolchain/README.rst (from r342916, vendor/elftoolchain/dist/README.rst)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/contrib/elftoolchain/README.rst	Thu Jan 10 14:35:23 2019	(r342918, copy of r342916, vendor/elftoolchain/dist/README.rst)
@@ -0,0 +1,126 @@
+The Elftoolchain Project
+========================
+
+.. contents:: Table of Contents
+
+Description
+-----------
+
+This software implements essential compilation tools and libraries for:
+
+- managing program objects conforming to the ELF_ object format, and
+- for managing DWARF_ debugging information in ELF objects.
+
+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.
+=========== ============================================
+
+.. _ELF: http://en.wikipedia.org/wiki/Executable_and_Linkable_Format
+.. _DWARF: http://www.dwarfstd.org/
+
+
+Project Documentation
+---------------------
+
+- Release notes for released versions of this software are present in
+  the file ``RELEASE-NOTES`` in the current directory.
+- The file ``INSTALL`` in the current directory contains instructions
+  on building and installing this software.
+- Reference documentation in the form of manual pages is provided for
+  the utilities and libraries developed by the project.
+- Additional tutorial documentation is present in the
+  ``documentation`` directory.
+
+
+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::
+
+    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::
+
+    % svn checkout https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk
+
+Checked-out sources may be kept upto-date by running ``svn update``
+inside the source directory::
+
+    % svn update
+
+
+Instructions on building and installing the software are given in the
+file ``INSTALL`` in the current directory.
+
+Downloading Released Software
+-----------------------------
+
+Released versions of the project's software may also be downloaded
+from SourceForge's `file release system`_.
+
+.. _file release system: http://sourceforge.net/projects/elftoolchain/files/
+
+Copyright and License
+---------------------
+
+This code is copyright its authors, and is distributed under the `BSD
+License`_.
+
+.. _BSD License: http://www.opensource.org/licenses/bsd-license.php
+
+
+Developer Community
+-------------------
+
+The project's developers may be contacted using the mailing list:
+``<elftoolchain-developers at lists.sourceforge.net>``.
+
+
+Reporting Bugs
+--------------
+
+Please use our `Trac instance`_ for viewing existing bug reports and
+for submitting new bug reports.
+
+.. _`Trac instance`: http://sourceforge.net/apps/trac/elftoolchain/report
+
+
+Additional Information
+----------------------
+
+Additional information about the project may be found on the `project
+website`_.
+
+.. _project website:  http://elftoolchain.sourceforge.net/
+
+.. $Id: README.rst 3656 2018-12-26 09:46:24Z jkoshy $
+
+.. Local Variables:
+.. mode: rst
+.. End:

Modified: head/contrib/elftoolchain/addr2line/addr2line.1
==============================================================================
--- head/contrib/elftoolchain/addr2line/addr2line.1	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/addr2line/addr2line.1	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/addr2line/addr2line.c
==============================================================================
--- head/contrib/elftoolchain/addr2line/addr2line.c	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/addr2line/addr2line.c	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/ar/ar.1
==============================================================================
--- head/contrib/elftoolchain/ar/ar.1	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/ar/ar.1	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/ar/ar.5
==============================================================================
--- head/contrib/elftoolchain/ar/ar.5	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/ar/ar.5	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/ar/ar.c
==============================================================================
--- head/contrib/elftoolchain/ar/ar.c	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/ar/ar.c	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/ar/ar.h
==============================================================================
--- head/contrib/elftoolchain/ar/ar.h	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/ar/ar.h	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/ar/ranlib.1
==============================================================================
--- head/contrib/elftoolchain/ar/ranlib.1	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/ar/ranlib.1	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/ar/read.c
==============================================================================
--- head/contrib/elftoolchain/ar/read.c	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/ar/read.c	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/ar/write.c
==============================================================================
--- head/contrib/elftoolchain/ar/write.c	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/ar/write.c	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/common/native-elf-format
==============================================================================
--- head/contrib/elftoolchain/common/native-elf-format	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/common/native-elf-format	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/cxxfilt/c++filt.1
==============================================================================
--- head/contrib/elftoolchain/cxxfilt/c++filt.1	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/cxxfilt/c++filt.1	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/elfcopy/elfcopy.1
==============================================================================
--- head/contrib/elftoolchain/elfcopy/elfcopy.1	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/elfcopy/elfcopy.1	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/elfcopy/elfcopy.h
==============================================================================
--- head/contrib/elftoolchain/elfcopy/elfcopy.h	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/elfcopy/elfcopy.h	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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>

Modified: head/contrib/elftoolchain/elfcopy/mcs.1
==============================================================================
--- head/contrib/elftoolchain/elfcopy/mcs.1	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/elfcopy/mcs.1	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/elfcopy/sections.c
==============================================================================
--- head/contrib/elftoolchain/elfcopy/sections.c	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/elfcopy/sections.c	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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);

Modified: head/contrib/elftoolchain/elfcopy/segments.c
==============================================================================
--- head/contrib/elftoolchain/elfcopy/segments.c	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/elfcopy/segments.c	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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);
 

Modified: head/contrib/elftoolchain/elfcopy/strip.1
==============================================================================
--- head/contrib/elftoolchain/elfcopy/strip.1	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/elfcopy/strip.1	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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: head/contrib/elftoolchain/libdwarf/dwarf.3
==============================================================================
--- head/contrib/elftoolchain/libdwarf/dwarf.3	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/libdwarf/dwarf.3	Thu Jan 10 14:35:23 2019	(r342918)
@@ -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
@@ -367,7 +365,7 @@ Retrieve both the name and offsets for a function.
 Retrieve information about static functions.
 .El
 .It Globals
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_get_globals
 Retrieve a list of globals.
 .It Fn dwarf_global_cu_offset
@@ -396,7 +394,7 @@ and
 allow an application to specify alternate low-level file access
 routines.
 .It Line Numbers
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_lineaddr
 Retrieve the program address for a source line.
 .It Fn dwarf_linebeginstatement
@@ -420,7 +418,7 @@ Retrieve source files for a compilation unit.
 Return line number information for a compilation unit.
 .El
 .It Location Lists
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_get_loclist_entry
 Retrieve a location list entry.
 .It Fn dwarf_loclist , Fn dwarf_loclist_n
@@ -433,7 +431,7 @@ Retrieve location expressions.
 Translate a location expression into a location descriptor.
 .El
 .It Error Handling
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_errmsg
 Retrieve a human-readable error message.
 .It Fn dwarf_errno
@@ -444,7 +442,7 @@ Set the argument passed to a callback error handler.
 Set the callback handler to be called in case of an error.
 .El
 .It Frame Handling
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_expand_frame_instructions
 Translate frame instruction bytes.
 .It Fn dwarf_set_frame_cfa_value
@@ -464,7 +462,7 @@ Set the register number representing the
 rule.
 .El
 .It Macros
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_find_macro_value_start
 Return the macro value part of a macro string.
 .It Fn dwarf_get_macro_details
@@ -523,7 +521,7 @@ for DWARF constants:
 and
 .Fn dwarf_get_VIS_name .
 .It Types
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_get_pubtypes , Fn dwarf_get_types
 Retrieve descriptors for user-defined types.
 .It Fn dwarf_next_types_section
@@ -540,7 +538,7 @@ Retrieve the name of a type.
 Retrieve the name and offsets for a type.
 .El
 .It Variables
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_get_vars
 Retrieve descriptors for static variables.
 .It Fn dwarf_var_cu_offset
@@ -553,7 +551,7 @@ Retrieve the name of a variable.
 Retrieve the name and offsets for a variable.
 .El
 .It Weak Symbols
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_get_weaks
 Retrieve information about weak symbols.
 .It Fn dwarf_weak_cu_offset
@@ -566,7 +564,7 @@ Retrieve the name of a weak symbol.
 Retrieve the name and offsets for a weak symbol.
 .El
 .It Miscellaneous
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_get_elf
 Retrieve the ELF descriptor for a debug context, see
 .Xr elf 3 .
@@ -605,7 +603,7 @@ information entry:
 and
 .Fn dwarf_add_AT_unsigned_const .
 .It Debugging Information Entry Management
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_add_die_to_debug
 Set the root debugging information entry for a DWARF producer instance.
 .It Fn dwarf_die_link
@@ -623,7 +621,7 @@ are used to initialize a producer instance.
 When done, applications release resources using the function
 .Fn dwarf_producer_finish .
 .It Relocations and Sections
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_get_relocation_info
 Retrieve a relocation array from a producer instance.
 .It Fn dwarf_get_relocation_info_count
@@ -636,7 +634,7 @@ Reset internal state for a producer instance.
 Prepare byte streams for writing out.
 .El
 .It Macros
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_def_macro
 Add a macro definition.
 .It Fn dwarf_end_macro_file , Fn dwarf_start_macro_file
@@ -647,7 +645,7 @@ Note the removal of a macro definition.
 Enables storing macro information as specified in the DWARF standard.
 .El
 .It Symbols, Expressions, Addresses and Offsets
-.Bl -tag -compact
+.Bl -tag -compact -width indent
 .It Fn dwarf_add_arange , Fn dwarf_add_arange_b
 Add address range information.
 .It Fn dwarf_add_directory_decl
@@ -741,7 +739,9 @@ The DWARF(3) API originated at Silicon Graphics Inc.
 .Pp
 A BSD-licensed implementation of a subset of the API was written by
 .An John Birrell Aq Mt jb at FreeBSD.org
-for the FreeBSD project.
+for the
+.Fx
+project.
 The implementation was subsequently revised and completed by
 .An Kai Wang Aq Mt kaiwang27 at users.sourceforge.net .
 .Pp

Modified: head/contrib/elftoolchain/libdwarf/dwarf_add_AT_comp_dir.3
==============================================================================
--- head/contrib/elftoolchain/libdwarf/dwarf_add_AT_comp_dir.3	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/libdwarf/dwarf_add_AT_comp_dir.3	Thu Jan 10 14:35:23 2019	(r342918)
@@ -22,11 +22,11 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $Id: dwarf_add_AT_comp_dir.3 2072 2011-10-27 03:26:49Z jkoshy $
+.\" $Id: dwarf_add_AT_comp_dir.3 3640 2018-10-14 14:09:13Z jkoshy $
 .\"
 .Dd September 4, 2011
-.Os
 .Dt DWARF_ADD_AT_COMP_DIR 3
+.Os
 .Sh NAME
 .Nm dwarf_add_AT_comp_dir
 .Nd create and attach a DW_AT_comp_dir attribute

Modified: head/contrib/elftoolchain/libdwarf/dwarf_add_AT_const_value_string.3
==============================================================================
--- head/contrib/elftoolchain/libdwarf/dwarf_add_AT_const_value_string.3	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/libdwarf/dwarf_add_AT_const_value_string.3	Thu Jan 10 14:35:23 2019	(r342918)
@@ -22,11 +22,11 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $Id: dwarf_add_AT_const_value_string.3 2072 2011-10-27 03:26:49Z jkoshy $
+.\" $Id: dwarf_add_AT_const_value_string.3 3640 2018-10-14 14:09:13Z jkoshy $
 .\"
 .Dd September 4, 2011
-.Os
 .Dt DWARF_ADD_AT_CONST_VALUE_STRING 3
+.Os
 .Sh NAME
 .Nm dwarf_add_AT_const_value_signedint ,
 .Nm dwarf_add_AT_const_value_string ,

Modified: head/contrib/elftoolchain/libdwarf/dwarf_add_AT_dataref.3
==============================================================================
--- head/contrib/elftoolchain/libdwarf/dwarf_add_AT_dataref.3	Thu Jan 10 14:19:22 2019	(r342917)
+++ head/contrib/elftoolchain/libdwarf/dwarf_add_AT_dataref.3	Thu Jan 10 14:35:23 2019	(r342918)
@@ -22,11 +22,11 @@

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


More information about the svn-src-head mailing list