Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 03 Sep 2019 14:08:13 -0000
From:      Enji Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r346536 - in stable/12: contrib/elftoolchain contrib/elftoolchain/addr2line contrib/elftoolchain/ar contrib/elftoolchain/common contrib/elftoolchain/cxxfilt contrib/elftoolchain/elfcopy...
Message-ID:  <201904220858.x3M8wXYZ058480@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Mon Apr 22 08:58:33 2019
New Revision: 346536
URL: https://svnweb.freebsd.org/changeset/base/346536

Log:
  MFC r339473,r340075,r342918,r343592,r343593,r343614,r343665,r343669:
  
  MFC a number of changes to elftoolchain/readelf(1). This brings the copy of
  elftoolchain more in line with the version in ^/head and partially fixes
  the issue with `sys.kern.coredump_phnum_test.coredump_phnum` on ^/stable/12.
  
  Tested with:	make tinderbox
  
  r339473 (by emaste):
  
  libelf: also test for 64-bit ELF in _libelf_is_mips64el
  
  Although _libelf_is_mips64el is only called in contexts where we've
  already checked that e_class is ELFCLASS64 but this may change in the
  future.  Add a safety belt so that we don't access an invalid e_ehdr64
  union member if it does.
  
  r340075 (by emaste):
  
  readelf: decode R_MIPS_HIGHER and R_MIPS_HIGHEST relocation types
  
  r342918 (by emaste):
  
  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.
  
  r343592 (by emaste):
  
  readelf: decode flag bits in DT_FLAGS/DT_FLAGS_1
  
  Decode d_val when the tag is DT_FLAGS or DT_FLAGS_1 based on the
  information at:
  
  https://docs.oracle.com/cd/E23824_01/html/819-0690/chapter6-42444.html
  
  PR:		232983
  
  r343593 (by emaste):
  
  readelf: fix i386 build
  
  Use %jx and (uintmax_t) cast.
  
  PR:		232983
  MFC with:	r343592
  
  r343614 (by emaste):
  
  readelf: dump elf note data
  
  Output format is compatible with GNU readelf's handling of unknown note
  types (modulo a GNU char signedness bug); future changes will add type-
  specific decoding.
  
  Relnotes:	Yes
  
  r343665 (by emaste):
  
  readelf: use table-based DT_FLAGS and DT_FLAGS_1 decoding
  
  Fewer lines of code and more maintainable.
  
  r343669 (by emaste):
  
  readelf: decode FreeBSD note types
  
  Decode NT_FREEBSD_ABI_TAG, NT_FREEBSD_ARCH_TAG, and NT_FREEBSD_FEATURE_CTL.
  
  Relnotes:	Yes

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

Copied: stable/12/contrib/elftoolchain/README.rst (from r342918, head/contrib/elftoolchain/README.rst)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/12/contrib/elftoolchain/README.rst	Mon Apr 22 08:58:33 2019	(r346536, copy of r342918, head/contrib/elftoolchain/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@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: stable/12/contrib/elftoolchain/addr2line/addr2line.1
==============================================================================
--- stable/12/contrib/elftoolchain/addr2line/addr2line.1	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/addr2line/addr2line.1	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/addr2line/addr2line.c
==============================================================================
--- stable/12/contrib/elftoolchain/addr2line/addr2line.c	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/addr2line/addr2line.c	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/ar/ar.1
==============================================================================
--- stable/12/contrib/elftoolchain/ar/ar.1	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/ar/ar.1	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/ar/ar.5
==============================================================================
--- stable/12/contrib/elftoolchain/ar/ar.5	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/ar/ar.5	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/ar/ar.c
==============================================================================
--- stable/12/contrib/elftoolchain/ar/ar.c	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/ar/ar.c	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/ar/ar.h
==============================================================================
--- stable/12/contrib/elftoolchain/ar/ar.h	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/ar/ar.h	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/ar/ranlib.1
==============================================================================
--- stable/12/contrib/elftoolchain/ar/ranlib.1	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/ar/ranlib.1	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/ar/read.c
==============================================================================
--- stable/12/contrib/elftoolchain/ar/read.c	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/ar/read.c	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/ar/write.c
==============================================================================
--- stable/12/contrib/elftoolchain/ar/write.c	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/ar/write.c	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/common/native-elf-format
==============================================================================
--- stable/12/contrib/elftoolchain/common/native-elf-format	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/common/native-elf-format	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/cxxfilt/c++filt.1
==============================================================================
--- stable/12/contrib/elftoolchain/cxxfilt/c++filt.1	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/cxxfilt/c++filt.1	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/elfcopy/elfcopy.1
==============================================================================
--- stable/12/contrib/elftoolchain/elfcopy/elfcopy.1	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/elfcopy/elfcopy.1	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/elfcopy/elfcopy.h
==============================================================================
--- stable/12/contrib/elftoolchain/elfcopy/elfcopy.h	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/elfcopy/elfcopy.h	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/elfcopy/mcs.1
==============================================================================
--- stable/12/contrib/elftoolchain/elfcopy/mcs.1	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/elfcopy/mcs.1	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/elfcopy/sections.c
==============================================================================
--- stable/12/contrib/elftoolchain/elfcopy/sections.c	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/elfcopy/sections.c	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/elfcopy/segments.c
==============================================================================
--- stable/12/contrib/elftoolchain/elfcopy/segments.c	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/elfcopy/segments.c	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/elfcopy/strip.1
==============================================================================
--- stable/12/contrib/elftoolchain/elfcopy/strip.1	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/elfcopy/strip.1	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/libdwarf/dwarf.3
==============================================================================
--- stable/12/contrib/elftoolchain/libdwarf/dwarf.3	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/libdwarf/dwarf.3	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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@FreeBSD.org
-for the FreeBSD project.
+for the
+.Fx
+project.
 The implementation was subsequently revised and completed by
 .An Kai Wang Aq Mt kaiwang27@users.sourceforge.net .
 .Pp

Modified: stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_comp_dir.3
==============================================================================
--- stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_comp_dir.3	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_comp_dir.3	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_const_value_string.3
==============================================================================
--- stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_const_value_string.3	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_const_value_string.3	Mon Apr 22 08:58:33 2019	(r346536)
@@ -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: stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_dataref.3
==============================================================================
--- stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_dataref.3	Mon Apr 22 08:32:00 2019	(r346535)
+++ stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_dataref.3	Mon Apr 22 08:58:33 2019	(r346536)
@@ -22,11 +22,11 @@

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





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