From owner-svn-src-head@FreeBSD.ORG Wed Apr 1 01:08:17 2015 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1473FD4E; Wed, 1 Apr 2015 01:08:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F1005687; Wed, 1 Apr 2015 01:08:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t3118GcN029804; Wed, 1 Apr 2015 01:08:16 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t31182Hx029720; Wed, 1 Apr 2015 01:08:02 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201504010108.t31182Hx029720@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 1 Apr 2015 01:08:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r280932 - in head/contrib/elftoolchain: addr2line common cxxfilt elfcopy libdwarf libelf libelftc nm readelf size strings X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Apr 2015 01:08:17 -0000 Author: emaste Date: Wed Apr 1 01:08:01 2015 New Revision: 280932 URL: https://svnweb.freebsd.org/changeset/base/280932 Log: Update elftoolchain to upstream revision 3179 Some notable changes: - libdwarf: Fixed DWARF4 line section - elfcopy: Implement --localize-hidden - nm: handle object name referenced by DW_AT_specification - elfcopy: Add --strip-dwo and --extract-dwo options for split DWARF - readelf: add remaining arm64 dynamic relocation names - nm: Avoid integer overflow in value comparison Relnotes: Yes Sponsored by: The FreeBSD Foundation Modified: head/contrib/elftoolchain/addr2line/addr2line.c head/contrib/elftoolchain/common/_elftc.h head/contrib/elftoolchain/common/elfdefinitions.h head/contrib/elftoolchain/common/native-elf-format head/contrib/elftoolchain/cxxfilt/cxxfilt.c head/contrib/elftoolchain/elfcopy/archive.c head/contrib/elftoolchain/elfcopy/ascii.c head/contrib/elftoolchain/elfcopy/binary.c head/contrib/elftoolchain/elfcopy/elfcopy.1 head/contrib/elftoolchain/elfcopy/elfcopy.h head/contrib/elftoolchain/elfcopy/main.c head/contrib/elftoolchain/elfcopy/sections.c head/contrib/elftoolchain/elfcopy/segments.c head/contrib/elftoolchain/elfcopy/symbols.c head/contrib/elftoolchain/libdwarf/_libdwarf.h head/contrib/elftoolchain/libdwarf/libdwarf.h head/contrib/elftoolchain/libdwarf/libdwarf_lineno.c head/contrib/elftoolchain/libelf/_libelf.h head/contrib/elftoolchain/libelf/_libelf_config.h head/contrib/elftoolchain/libelf/elf_data.c head/contrib/elftoolchain/libelf/elf_end.c head/contrib/elftoolchain/libelf/elf_errmsg.c head/contrib/elftoolchain/libelf/elf_errno.c head/contrib/elftoolchain/libelf/elf_fill.c head/contrib/elftoolchain/libelf/elf_flag.c head/contrib/elftoolchain/libelf/elf_getarhdr.c head/contrib/elftoolchain/libelf/elf_getarsym.c head/contrib/elftoolchain/libelf/elf_getbase.c head/contrib/elftoolchain/libelf/elf_getident.c head/contrib/elftoolchain/libelf/elf_hash.c head/contrib/elftoolchain/libelf/elf_kind.c head/contrib/elftoolchain/libelf/elf_next.c head/contrib/elftoolchain/libelf/elf_phnum.c head/contrib/elftoolchain/libelf/elf_rand.c head/contrib/elftoolchain/libelf/elf_rawfile.c head/contrib/elftoolchain/libelf/elf_scn.c head/contrib/elftoolchain/libelf/elf_shnum.c head/contrib/elftoolchain/libelf/elf_shstrndx.c head/contrib/elftoolchain/libelf/elf_version.c head/contrib/elftoolchain/libelf/gelf.h head/contrib/elftoolchain/libelf/gelf_cap.c head/contrib/elftoolchain/libelf/gelf_checksum.c head/contrib/elftoolchain/libelf/gelf_dyn.c head/contrib/elftoolchain/libelf/gelf_ehdr.c head/contrib/elftoolchain/libelf/gelf_fsize.c head/contrib/elftoolchain/libelf/gelf_getclass.c head/contrib/elftoolchain/libelf/gelf_move.c head/contrib/elftoolchain/libelf/gelf_phdr.c head/contrib/elftoolchain/libelf/gelf_rel.c head/contrib/elftoolchain/libelf/gelf_rela.c head/contrib/elftoolchain/libelf/gelf_shdr.c head/contrib/elftoolchain/libelf/gelf_sym.c head/contrib/elftoolchain/libelf/gelf_syminfo.c head/contrib/elftoolchain/libelf/gelf_symshndx.c head/contrib/elftoolchain/libelf/gelf_xlate.c head/contrib/elftoolchain/libelf/libelf.h head/contrib/elftoolchain/libelf/libelf_align.c head/contrib/elftoolchain/libelf/libelf_allocate.c head/contrib/elftoolchain/libelf/libelf_ar.c head/contrib/elftoolchain/libelf/libelf_ar_util.c head/contrib/elftoolchain/libelf/libelf_checksum.c head/contrib/elftoolchain/libelf/libelf_convert.m4 head/contrib/elftoolchain/libelf/libelf_data.c head/contrib/elftoolchain/libelf/libelf_ehdr.c head/contrib/elftoolchain/libelf/libelf_extended.c head/contrib/elftoolchain/libelf/libelf_msize.m4 head/contrib/elftoolchain/libelf/libelf_phdr.c head/contrib/elftoolchain/libelf/libelf_shdr.c head/contrib/elftoolchain/libelf/libelf_xlate.c head/contrib/elftoolchain/libelftc/_libelftc.h head/contrib/elftoolchain/libelftc/elftc_bfdtarget.c head/contrib/elftoolchain/libelftc/elftc_demangle.c head/contrib/elftoolchain/libelftc/libelftc.h head/contrib/elftoolchain/libelftc/libelftc_bfdtarget.c head/contrib/elftoolchain/nm/nm.c head/contrib/elftoolchain/readelf/readelf.c head/contrib/elftoolchain/size/size.c head/contrib/elftoolchain/strings/strings.c Directory Properties: head/contrib/elftoolchain/ (props changed) Modified: head/contrib/elftoolchain/addr2line/addr2line.c ============================================================================== --- head/contrib/elftoolchain/addr2line/addr2line.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/addr2line/addr2line.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include @@ -40,7 +39,7 @@ #include "_elftc.h" -ELFTC_VCSID("$Id: addr2line.c 3148 2015-02-15 18:47:39Z emaste $"); +ELFTC_VCSID("$Id: addr2line.c 3174 2015-03-27 17:13:41Z emaste $"); static struct option longopts[] = { {"target" , required_argument, NULL, 'b'}, Modified: head/contrib/elftoolchain/common/_elftc.h ============================================================================== --- head/contrib/elftoolchain/common/_elftc.h Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/common/_elftc.h Wed Apr 1 01:08:01 2015 (r280932) @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: _elftc.h 3139 2015-01-05 03:17:06Z kaiwang27 $ + * $Id: _elftc.h 3175 2015-03-27 17:21:24Z emaste $ */ /** @@ -294,7 +294,8 @@ struct name { \ #define ELFTC_VCSID(ID) __FBSDID(ID) #endif -#if defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) +#if defined(__APPLE__) || defined(__GLIBC__) || defined(__GNU__) || \ + defined(__linux__) #if defined(__GNUC__) #define ELFTC_VCSID(ID) __asm__(".ident\t\"" ID "\"") #else @@ -330,8 +331,8 @@ struct name { \ #ifndef ELFTC_GETPROGNAME -#if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__minix) || \ - defined(__NetBSD__) +#if defined(__APPLE__) || defined(__DragonFly__) || defined(__FreeBSD__) || \ + defined(__minix) || defined(__NetBSD__) #include @@ -340,7 +341,7 @@ struct name { \ #endif /* __DragonFly__ || __FreeBSD__ || __minix || __NetBSD__ */ -#if defined(__GLIBC__) +#if defined(__GLIBC__) || defined(__linux__) /* * GLIBC based systems have a global 'char *' pointer referencing @@ -350,7 +351,7 @@ extern const char *program_invocation_sh #define ELFTC_GETPROGNAME() program_invocation_short_name -#endif /* __GLIBC__ */ +#endif /* __GLIBC__ || __linux__ */ #if defined(__OpenBSD__) @@ -368,6 +369,21 @@ extern const char *__progname; ** Per-OS configuration. **/ +#if defined(__APPLE__) + +#include +#define roundup2 roundup + +#define ELFTC_BYTE_ORDER _BYTE_ORDER +#define ELFTC_BYTE_ORDER_LITTLE_ENDIAN _LITTLE_ENDIAN +#define ELFTC_BYTE_ORDER_BIG_ENDIAN _BIG_ENDIAN + +#define ELFTC_HAVE_MMAP 1 +#define ELFTC_HAVE_STRMODE 1 + +#endif /* __APPLE__ */ + + #if defined(__DragonFly__) #include @@ -381,7 +397,7 @@ extern const char *__progname; #endif -#if defined(__GLIBC__) +#if defined(__GLIBC__) || defined(__linux__) #include @@ -401,7 +417,7 @@ extern const char *__progname; #define roundup2 roundup -#endif /* __GLIBC__ */ +#endif /* __GLIBC__ || __linux__ */ #if defined(__FreeBSD__) Modified: head/contrib/elftoolchain/common/elfdefinitions.h ============================================================================== --- head/contrib/elftoolchain/common/elfdefinitions.h Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/common/elfdefinitions.h Wed Apr 1 01:08:01 2015 (r280932) @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: elfdefinitions.h 3149 2015-02-15 19:00:06Z emaste $ + * $Id: elfdefinitions.h 3178 2015-03-30 18:29:13Z emaste $ */ /* @@ -171,7 +171,7 @@ _ELF_DEFINE_DT(DT_MOVEENT, 0x6F "size of DT_MOVETAB entries") \ _ELF_DEFINE_DT(DT_MOVESZ, 0x6FFFFDFBUL, \ "total size of the MOVETAB table") \ -_ELF_DEFINE_DT(DT_FEATURE_1, 0x6FFFFDFCUL, "feature values") \ +_ELF_DEFINE_DT(DT_FEATURE, 0x6FFFFDFCUL, "feature values") \ _ELF_DEFINE_DT(DT_POSFLAG_1, 0x6FFFFDFDUL, \ "dynamic position flags") \ _ELF_DEFINE_DT(DT_SYMINSZ, 0x6FFFFDFEUL, \ Modified: head/contrib/elftoolchain/common/native-elf-format ============================================================================== --- head/contrib/elftoolchain/common/native-elf-format Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/common/native-elf-format Wed Apr 1 01:08:01 2015 (r280932) @@ -1,6 +1,6 @@ #!/bin/sh # -# $Id: native-elf-format 2064 2011-10-26 15:12:32Z jkoshy $ +# $Id: native-elf-format 3167 2015-02-24 19:10:08Z emaste $ # # Find the native ELF format for a host platform by compiling a # test object and examining the resulting object. @@ -19,7 +19,7 @@ touch ${tmp_c} echo "/* Generated by ${program} on `date` */" cc -c ${tmp_c} -o ${tmp_o} -readelf -h ${tmp_o} | awk ' +LC_ALL=C readelf -h ${tmp_o} | awk ' $1 ~ "Class:" { sub("ELF","",$2); elfclass = $2; } Modified: head/contrib/elftoolchain/cxxfilt/cxxfilt.c ============================================================================== --- head/contrib/elftoolchain/cxxfilt/cxxfilt.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/cxxfilt/cxxfilt.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,7 +24,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include #include #include #include @@ -36,7 +35,7 @@ #include "_elftc.h" -ELFTC_VCSID("$Id: cxxfilt.c 2185 2011-11-19 16:07:16Z jkoshy $"); +ELFTC_VCSID("$Id: cxxfilt.c 3174 2015-03-27 17:13:41Z emaste $"); #define STRBUFSZ 8192 Modified: head/contrib/elftoolchain/elfcopy/archive.c ============================================================================== --- head/contrib/elftoolchain/elfcopy/archive.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/elfcopy/archive.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,8 +24,6 @@ * SUCH DAMAGE. */ -#include - #include #include #include @@ -40,7 +38,7 @@ #include "elfcopy.h" -ELFTC_VCSID("$Id: archive.c 3102 2014-10-29 21:09:01Z jkoshy $"); +ELFTC_VCSID("$Id: archive.c 3174 2015-03-27 17:13:41Z emaste $"); #define _ARMAG_LEN 8 /* length of ar magic string */ #define _ARHDR_LEN 60 /* length of ar header */ Modified: head/contrib/elftoolchain/elfcopy/ascii.c ============================================================================== --- head/contrib/elftoolchain/elfcopy/ascii.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/elfcopy/ascii.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include @@ -37,7 +36,7 @@ #include "elfcopy.h" -ELFTC_VCSID("$Id: ascii.c 2358 2011-12-19 18:22:32Z kaiwang27 $"); +ELFTC_VCSID("$Id: ascii.c 3177 2015-03-30 18:19:41Z emaste $"); static void append_data(struct section *s, const void *buf, size_t sz); static char hex_digit(uint8_t n); Modified: head/contrib/elftoolchain/elfcopy/binary.c ============================================================================== --- head/contrib/elftoolchain/elfcopy/binary.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/elfcopy/binary.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include @@ -36,7 +35,7 @@ #include "elfcopy.h" -ELFTC_VCSID("$Id: binary.c 2358 2011-12-19 18:22:32Z kaiwang27 $"); +ELFTC_VCSID("$Id: binary.c 3174 2015-03-27 17:13:41Z emaste $"); /* * Convert ELF object to `binary'. Sections with SHF_ALLOC flag set Modified: head/contrib/elftoolchain/elfcopy/elfcopy.1 ============================================================================== --- head/contrib/elftoolchain/elfcopy/elfcopy.1 Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/elfcopy/elfcopy.1 Wed Apr 1 01:08:01 2015 (r280932) @@ -21,9 +21,9 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id: elfcopy.1 2373 2011-12-30 07:13:44Z jkoshy $ +.\" $Id: elfcopy.1 3173 2015-03-27 16:46:13Z emaste $ .\" -.Dd October 03, 2011 +.Dd March 27, 2015 .Os .Dt ELFCOPY 1 .Sh NAME @@ -63,7 +63,9 @@ .Op Fl -adjust-warnings | Fl -change-warnings .Op Fl -change-section-lma Ar section Ns {+|-|=} Ns Ar val .Op Fl -change-section-vma Ar section Ns {+|-|=} Ns Ar val +.Op Fl -extract-dwo .Op Fl -gap-fill Ns = Ns Ar val +.Op Fl -localize-hidden .Op Fl -no-adjust-warnings | Fl -no-change-warnings .Op Fl -only-keep-debug .Op Fl -pad-to Ns = Ns Ar address @@ -75,6 +77,7 @@ .Op Fl -set-start Ns = Ns Ar address .Op Fl -srec-forceS3 .Op Fl -srec-len Ns = Ns Ar val +.Op Fl -strip-dwo .Op Fl -strip-unneeded .Ar infile .Op Ar outfile @@ -220,10 +223,15 @@ Depending on the operator specified, the .Ar val will be used as an increment, a decrement or as the new value of the virtual memory address. +.It Fl -extract-dwo +Copy only .dwo debug sections to the output file. .It Fl -gap-fill Ns = Ns Ar val Fill the gaps between sections with the byte value specified by the argument .Ar val . +.It Fl -localize-hidden +Make all hidden symbols local to the output file. +This includes symbols with internal visiblity. .It Fl -no-adjust-warnings | Fl -no-change-warnings Do not issue a warning if the section specified by the options .Fl -change-section-address , @@ -304,6 +312,8 @@ Set the maximum length of an S-record li .Ar val . This option is only meaningful when the output target is set to .Dq srec . +.It Fl -strip-dwo +Do not copy .dwo debug sections to the output file. .It Fl -strip-unneeded Do not copy symbols that are not needed for relocation processing. .El Modified: head/contrib/elftoolchain/elfcopy/elfcopy.h ============================================================================== --- head/contrib/elftoolchain/elfcopy/elfcopy.h Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/elfcopy/elfcopy.h Wed Apr 1 01:08:01 2015 (r280932) @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: elfcopy.h 3134 2014-12-23 10:43:59Z kaiwang27 $ + * $Id: elfcopy.h 3173 2015-03-27 16:46:13Z emaste $ */ #include @@ -190,7 +190,9 @@ struct elfcopy { STRIP_NONE = 0, STRIP_ALL, STRIP_DEBUG, + STRIP_DWO, STRIP_NONDEBUG, + STRIP_NONDWO, STRIP_UNNEEDED } strip; @@ -216,6 +218,7 @@ struct elfcopy { #define SEC_REMOVE 0x00800000U #define SEC_COPY 0x01000000U #define DISCARD_LLABEL 0x02000000U +#define LOCALIZE_HIDDEN 0x04000000U int flags; /* elfcopy run control flags. */ int64_t change_addr; /* Section address adjustment. */ Modified: head/contrib/elftoolchain/elfcopy/main.c ============================================================================== --- head/contrib/elftoolchain/elfcopy/main.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/elfcopy/main.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include @@ -40,7 +39,7 @@ #include "elfcopy.h" -ELFTC_VCSID("$Id: main.c 3156 2015-02-15 21:40:01Z emaste $"); +ELFTC_VCSID("$Id: main.c 3174 2015-03-27 17:13:41Z emaste $"); enum options { @@ -57,9 +56,11 @@ enum options ECP_GLOBALIZE_SYMBOLS, ECP_KEEP_SYMBOLS, ECP_KEEP_GLOBAL_SYMBOLS, + ECP_LOCALIZE_HIDDEN, ECP_LOCALIZE_SYMBOLS, ECP_NO_CHANGE_WARN, ECP_ONLY_DEBUG, + ECP_ONLY_DWO, ECP_PAD_TO, ECP_PREFIX_ALLOC, ECP_PREFIX_SEC, @@ -72,6 +73,7 @@ enum options ECP_SET_START, ECP_SREC_FORCE_S3, ECP_SREC_LEN, + ECP_STRIP_DWO, ECP_STRIP_SYMBOLS, ECP_STRIP_UNNEEDED, ECP_WEAKEN_ALL, @@ -124,6 +126,7 @@ static struct option elfcopy_longopts[] {"change-warnings", no_argument, NULL, ECP_CHANGE_WARN}, {"discard-all", no_argument, NULL, 'x'}, {"discard-locals", no_argument, NULL, 'X'}, + {"extract-dwo", no_argument, NULL, ECP_ONLY_DWO}, {"gap-fill", required_argument, NULL, ECP_GAP_FILL}, {"globalize-symbol", required_argument, NULL, ECP_GLOBALIZE_SYMBOL}, {"globalize-symbols", required_argument, NULL, ECP_GLOBALIZE_SYMBOLS}, @@ -134,6 +137,7 @@ static struct option elfcopy_longopts[] {"keep-global-symbol", required_argument, NULL, 'G'}, {"keep-global-symbols", required_argument, NULL, ECP_KEEP_GLOBAL_SYMBOLS}, + {"localize-hidden", no_argument, NULL, ECP_LOCALIZE_HIDDEN}, {"localize-symbol", required_argument, NULL, 'L'}, {"localize-symbols", required_argument, NULL, ECP_LOCALIZE_SYMBOLS}, {"no-adjust-warnings", no_argument, NULL, ECP_NO_CHANGE_WARN}, @@ -157,6 +161,7 @@ static struct option elfcopy_longopts[] {"srec-len", required_argument, NULL, ECP_SREC_LEN}, {"strip-all", no_argument, NULL, 'S'}, {"strip-debug", no_argument, 0, 'g'}, + {"strip-dwo", no_argument, NULL, ECP_STRIP_DWO}, {"strip-symbol", required_argument, NULL, 'N'}, {"strip-symbols", required_argument, NULL, ECP_STRIP_SYMBOLS}, {"strip-unneeded", no_argument, NULL, ECP_STRIP_UNNEEDED}, @@ -348,6 +353,7 @@ create_elf(struct elfcopy *ecp) if (ecp->strip == STRIP_DEBUG || ecp->strip == STRIP_UNNEEDED || ecp->flags & WEAKEN_ALL || + ecp->flags & LOCALIZE_HIDDEN || ecp->flags & DISCARD_LOCAL || ecp->flags & DISCARD_LLABEL || ecp->prefix_sym != NULL || @@ -870,6 +876,9 @@ elfcopy_main(struct elfcopy *ecp, int ar case ECP_KEEP_GLOBAL_SYMBOLS: parse_symlist_file(ecp, optarg, SYMOP_KEEPG); break; + case ECP_LOCALIZE_HIDDEN: + ecp->flags |= LOCALIZE_HIDDEN; + break; case ECP_LOCALIZE_SYMBOLS: parse_symlist_file(ecp, optarg, SYMOP_LOCALIZE); break; @@ -879,6 +888,9 @@ elfcopy_main(struct elfcopy *ecp, int ar case ECP_ONLY_DEBUG: ecp->strip = STRIP_NONDEBUG; break; + case ECP_ONLY_DWO: + ecp->strip = STRIP_NONDWO; + break; case ECP_PAD_TO: ecp->pad_to = (uint64_t) strtoull(optarg, NULL, 0); break; @@ -939,6 +951,9 @@ elfcopy_main(struct elfcopy *ecp, int ar ecp->flags |= SREC_FORCE_LEN; ecp->srec_len = strtoul(optarg, NULL, 0); break; + case ECP_STRIP_DWO: + ecp->strip = STRIP_DWO; + break; case ECP_STRIP_SYMBOLS: parse_symlist_file(ecp, optarg, SYMOP_STRIP); break; @@ -1379,6 +1394,8 @@ Usage: %s [options] infile [outfile]\n\ section by VAL.\n\ --gap-fill=VAL Fill the gaps between sections with bytes\n\ of value VAL.\n\ + --localize-hidden Make all hidden symbols local to the output\n\ + file.\n\ --no-adjust-warning| --no-change-warnings\n\ Do not issue warnings for non-existent\n\ sections.\n\ Modified: head/contrib/elftoolchain/elfcopy/sections.c ============================================================================== --- head/contrib/elftoolchain/elfcopy/sections.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/elfcopy/sections.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include @@ -35,7 +34,7 @@ #include "elfcopy.h" -ELFTC_VCSID("$Id: sections.c 3150 2015-02-15 19:07:46Z emaste $"); +ELFTC_VCSID("$Id: sections.c 3174 2015-03-27 17:13:41Z emaste $"); static void add_gnu_debuglink(struct elfcopy *ecp); static uint32_t calc_crc32(const char *p, size_t len, uint32_t crc); @@ -47,6 +46,7 @@ static void insert_to_strtab(struct sect static int is_append_section(struct elfcopy *ecp, const char *name); static int is_compress_section(struct elfcopy *ecp, const char *name); static int is_debug_section(const char *name); +static int is_dwo_section(const char *name); static int is_modify_section(struct elfcopy *ecp, const char *name); static int is_print_section(struct elfcopy *ecp, const char *name); static int lookup_string(struct section *t, const char *s); @@ -73,6 +73,11 @@ is_remove_section(struct elfcopy *ecp, c return (0); } + if (ecp->strip == STRIP_DWO && is_dwo_section(name)) + return (1); + if (ecp->strip == STRIP_NONDWO && !is_dwo_section(name)) + return (1); + if (is_debug_section(name)) { if (ecp->strip == STRIP_ALL || ecp->strip == STRIP_DEBUG || @@ -234,6 +239,16 @@ is_debug_section(const char *name) } static int +is_dwo_section(const char *name) +{ + size_t len; + + if ((len = strlen(name)) > 4 && strcmp(name + len - 4, ".dwo") == 0) + return (1); + return (0); +} + +static int is_print_section(struct elfcopy *ecp, const char *name) { struct sec_action *sac; Modified: head/contrib/elftoolchain/elfcopy/segments.c ============================================================================== --- head/contrib/elftoolchain/elfcopy/segments.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/elfcopy/segments.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include @@ -35,7 +34,7 @@ #include "elfcopy.h" -ELFTC_VCSID("$Id: segments.c 3134 2014-12-23 10:43:59Z kaiwang27 $"); +ELFTC_VCSID("$Id: segments.c 3177 2015-03-30 18:19:41Z emaste $"); static void insert_to_inseg_list(struct segment *seg, struct section *sec); Modified: head/contrib/elftoolchain/elfcopy/symbols.c ============================================================================== --- head/contrib/elftoolchain/elfcopy/symbols.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/elfcopy/symbols.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include @@ -34,7 +33,7 @@ #include "elfcopy.h" -ELFTC_VCSID("$Id: symbols.c 3135 2014-12-24 08:22:43Z kaiwang27 $"); +ELFTC_VCSID("$Id: symbols.c 3174 2015-03-27 17:13:41Z emaste $"); /* Symbol table buffer structure. */ struct symbuf { @@ -129,6 +128,17 @@ is_local_symbol(unsigned char st_info) } static int +is_hidden_symbol(unsigned char st_other) +{ + + if (GELF_ST_VISIBILITY(st_other) == STV_HIDDEN || + GELF_ST_VISIBILITY(st_other) == STV_INTERNAL) + return (1); + + return (0); +} + +static int is_local_label(const char *name) { @@ -457,6 +467,11 @@ generate_symbols(struct elfcopy *ecp) lookup_symop_list(ecp, name, SYMOP_KEEPG) == NULL) sym.st_info = GELF_ST_INFO(STB_LOCAL, GELF_ST_TYPE(sym.st_info)); + if (ecp->flags & LOCALIZE_HIDDEN && + sym.st_shndx != SHN_UNDEF && + is_hidden_symbol(sym.st_other)) + sym.st_info = GELF_ST_INFO(STB_LOCAL, + GELF_ST_TYPE(sym.st_info)); } else { /* STB_LOCAL binding. */ if (lookup_symop_list(ecp, name, SYMOP_GLOBALIZE) != @@ -1036,10 +1051,8 @@ match_wildcard(const char *name, const c } match = 0; - if (!fnmatch(pattern, name, 0)) { + if (!fnmatch(pattern, name, 0)) match = 1; - printf("string '%s' match to pattern '%s'\n", name, pattern); - } return (reverse ? !match : match); } Modified: head/contrib/elftoolchain/libdwarf/_libdwarf.h ============================================================================== --- head/contrib/elftoolchain/libdwarf/_libdwarf.h Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libdwarf/_libdwarf.h Wed Apr 1 01:08:01 2015 (r280932) @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: _libdwarf.h 3161 2015-02-15 21:43:36Z emaste $ + * $Id: _libdwarf.h 3164 2015-02-19 01:20:12Z kaiwang27 $ */ #ifndef __LIBDWARF_H_ @@ -190,6 +190,7 @@ struct _Dwarf_LineInfo { Dwarf_Half li_version; /* Version of line info. */ Dwarf_Unsigned li_hdrlen; /* Length of line info header. */ Dwarf_Small li_minlen; /* Minimum instrutction length. */ + Dwarf_Small li_maxop; /* Maximum operations per inst. */ Dwarf_Small li_defstmt; /* Default value of is_stmt. */ int8_t li_lbase; /* Line base for special opcode. */ Dwarf_Small li_lrange; /* Line range for special opcode. */ Modified: head/contrib/elftoolchain/libdwarf/libdwarf.h ============================================================================== --- head/contrib/elftoolchain/libdwarf/libdwarf.h Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libdwarf/libdwarf.h Wed Apr 1 01:08:01 2015 (r280932) @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: libdwarf.h 3149 2015-02-15 19:00:06Z emaste $ + * $Id: libdwarf.h 3174 2015-03-27 17:13:41Z emaste $ */ #ifndef _LIBDWARF_H_ @@ -444,7 +444,9 @@ enum Dwarf_ISA { }; /* Function prototype definitions. */ -__BEGIN_DECLS +#ifdef __cplusplus +extern "C" { +#endif Dwarf_P_Attribute dwarf_add_AT_comp_dir(Dwarf_P_Die, char *, Dwarf_Error *); Dwarf_P_Attribute dwarf_add_AT_const_value_signedint(Dwarf_P_Die, Dwarf_Signed, Dwarf_Error *); @@ -831,6 +833,8 @@ int dwarf_whatattr(Dwarf_Attribute, Dwa int dwarf_whatform(Dwarf_Attribute, Dwarf_Half *, Dwarf_Error *); int dwarf_whatform_direct(Dwarf_Attribute, Dwarf_Half *, Dwarf_Error *); -__END_DECLS +#ifdef __cplusplus +} +#endif #endif /* !_LIBDWARF_H_ */ Modified: head/contrib/elftoolchain/libdwarf/libdwarf_lineno.c ============================================================================== --- head/contrib/elftoolchain/libdwarf/libdwarf_lineno.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libdwarf/libdwarf_lineno.c Wed Apr 1 01:08:01 2015 (r280932) @@ -26,7 +26,7 @@ #include "_libdwarf.h" -ELFTC_VCSID("$Id: libdwarf_lineno.c 3100 2014-10-25 20:34:29Z jkoshy $"); +ELFTC_VCSID("$Id: libdwarf_lineno.c 3164 2015-02-19 01:20:12Z kaiwang27 $"); static int _dwarf_lineno_add_file(Dwarf_LineInfo li, uint8_t **p, const char *compdir, @@ -315,6 +315,8 @@ _dwarf_lineno_init(Dwarf_Die die, uint64 li->li_hdrlen = dbg->read(ds->ds_data, &offset, dwarf_size); hdroff = offset; li->li_minlen = dbg->read(ds->ds_data, &offset, 1); + if (li->li_version == 4) + li->li_maxop = dbg->read(ds->ds_data, &offset, 1); li->li_defstmt = dbg->read(ds->ds_data, &offset, 1); li->li_lbase = dbg->read(ds->ds_data, &offset, 1); li->li_lrange = dbg->read(ds->ds_data, &offset, 1); Modified: head/contrib/elftoolchain/libelf/_libelf.h ============================================================================== --- head/contrib/elftoolchain/libelf/_libelf.h Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/_libelf.h Wed Apr 1 01:08:01 2015 (r280932) @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: _libelf.h 3011 2014-03-23 03:32:42Z jkoshy $ + * $Id: _libelf.h 3174 2015-03-27 17:13:41Z emaste $ */ #ifndef __LIBELF_H_ @@ -194,7 +194,9 @@ enum { * Function Prototypes. */ -__BEGIN_DECLS +#ifdef __cplusplus +extern "C" { +#endif struct _Libelf_Data *_libelf_allocate_data(Elf_Scn *_s); Elf *_libelf_allocate_elf(void); Elf_Scn *_libelf_allocate_scn(Elf *_e, size_t _ndx); @@ -230,6 +232,8 @@ int _libelf_setshstrndx(Elf *_e, void *_ Elf_Data *_libelf_xlate(Elf_Data *_d, const Elf_Data *_s, unsigned int _encoding, int _elfclass, int _direction); int _libelf_xlate_shtype(uint32_t _sht); -__END_DECLS +#ifdef __cplusplus +} +#endif #endif /* __LIBELF_H_ */ Modified: head/contrib/elftoolchain/libelf/_libelf_config.h ============================================================================== --- head/contrib/elftoolchain/libelf/_libelf_config.h Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/_libelf_config.h Wed Apr 1 01:08:01 2015 (r280932) @@ -23,10 +23,10 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: _libelf_config.h 3143 2015-02-15 17:57:38Z emaste $ + * $Id: _libelf_config.h 3168 2015-02-24 19:17:47Z emaste $ */ -#ifdef __DragonFly__ +#if defined(__APPLE__) || defined(__DragonFly__) #if defined(__amd64__) #define LIBELF_ARCH EM_X86_64 Modified: head/contrib/elftoolchain/libelf/elf_data.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_data.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_data.c Wed Apr 1 01:08:01 2015 (r280932) @@ -32,7 +32,7 @@ #include "_libelf.h" -ELFTC_VCSID("$Id: elf_data.c 3009 2014-03-23 01:49:59Z jkoshy $"); +ELFTC_VCSID("$Id: elf_data.c 3177 2015-03-30 18:19:41Z emaste $"); Elf_Data * elf_getdata(Elf_Scn *s, Elf_Data *ed) Modified: head/contrib/elftoolchain/libelf/elf_end.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_end.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_end.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,8 +24,6 @@ * SUCH DAMAGE. */ -#include - #include #include #include @@ -36,7 +34,7 @@ #include #endif -ELFTC_VCSID("$Id: elf_end.c 2240 2011-11-28 06:36:48Z jkoshy $"); +ELFTC_VCSID("$Id: elf_end.c 3174 2015-03-27 17:13:41Z emaste $"); int elf_end(Elf *e) Modified: head/contrib/elftoolchain/libelf/elf_errmsg.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_errmsg.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_errmsg.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,15 +24,13 @@ * SUCH DAMAGE. */ -#include - #include #include #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_errmsg.c 3012 2014-03-23 03:41:38Z jkoshy $"); +ELFTC_VCSID("$Id: elf_errmsg.c 3174 2015-03-27 17:13:41Z emaste $"); /* * Retrieve a human readable translation for an error message. Modified: head/contrib/elftoolchain/libelf/elf_errno.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_errno.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_errno.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,13 +24,11 @@ * SUCH DAMAGE. */ -#include - #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_errno.c 2225 2011-11-26 18:55:54Z jkoshy $"); +ELFTC_VCSID("$Id: elf_errno.c 3174 2015-03-27 17:13:41Z emaste $"); int elf_errno(void) Modified: head/contrib/elftoolchain/libelf/elf_fill.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_fill.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_fill.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,13 +24,11 @@ * SUCH DAMAGE. */ -#include - #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_fill.c 2225 2011-11-26 18:55:54Z jkoshy $"); +ELFTC_VCSID("$Id: elf_fill.c 3174 2015-03-27 17:13:41Z emaste $"); void elf_fill(int fill) Modified: head/contrib/elftoolchain/libelf/elf_flag.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_flag.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_flag.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,13 +24,11 @@ * SUCH DAMAGE. */ -#include - #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_flag.c 2988 2014-03-17 08:51:49Z jkoshy $"); +ELFTC_VCSID("$Id: elf_flag.c 3174 2015-03-27 17:13:41Z emaste $"); unsigned int elf_flagarhdr(Elf_Arhdr *a, Elf_Cmd c, unsigned int flags) Modified: head/contrib/elftoolchain/libelf/elf_getarhdr.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_getarhdr.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_getarhdr.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,13 +24,11 @@ * SUCH DAMAGE. */ -#include - #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_getarhdr.c 2225 2011-11-26 18:55:54Z jkoshy $"); +ELFTC_VCSID("$Id: elf_getarhdr.c 3174 2015-03-27 17:13:41Z emaste $"); Elf_Arhdr * elf_getarhdr(Elf *e) Modified: head/contrib/elftoolchain/libelf/elf_getarsym.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_getarsym.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_getarsym.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,13 +24,11 @@ * SUCH DAMAGE. */ -#include - #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_getarsym.c 2225 2011-11-26 18:55:54Z jkoshy $"); +ELFTC_VCSID("$Id: elf_getarsym.c 3174 2015-03-27 17:13:41Z emaste $"); Elf_Arsym * elf_getarsym(Elf *ar, size_t *ptr) Modified: head/contrib/elftoolchain/libelf/elf_getbase.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_getbase.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_getbase.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,13 +24,11 @@ * SUCH DAMAGE. */ -#include - #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_getbase.c 2225 2011-11-26 18:55:54Z jkoshy $"); +ELFTC_VCSID("$Id: elf_getbase.c 3174 2015-03-27 17:13:41Z emaste $"); off_t elf_getbase(Elf *e) Modified: head/contrib/elftoolchain/libelf/elf_getident.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_getident.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_getident.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,15 +24,13 @@ * SUCH DAMAGE. */ -#include - #include #include #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_getident.c 2225 2011-11-26 18:55:54Z jkoshy $"); +ELFTC_VCSID("$Id: elf_getident.c 3174 2015-03-27 17:13:41Z emaste $"); char * elf_getident(Elf *e, size_t *sz) Modified: head/contrib/elftoolchain/libelf/elf_hash.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_hash.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_hash.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,13 +24,11 @@ * SUCH DAMAGE. */ -#include - #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_hash.c 2225 2011-11-26 18:55:54Z jkoshy $"); +ELFTC_VCSID("$Id: elf_hash.c 3174 2015-03-27 17:13:41Z emaste $"); /* * This elf_hash function is defined by the System V ABI. Modified: head/contrib/elftoolchain/libelf/elf_kind.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_kind.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_kind.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,13 +24,11 @@ * SUCH DAMAGE. */ -#include - #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_kind.c 2225 2011-11-26 18:55:54Z jkoshy $"); +ELFTC_VCSID("$Id: elf_kind.c 3174 2015-03-27 17:13:41Z emaste $"); Elf_Kind elf_kind(Elf *e) Modified: head/contrib/elftoolchain/libelf/elf_next.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_next.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_next.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,15 +24,13 @@ * SUCH DAMAGE. */ -#include - #include #include #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_next.c 2989 2014-03-17 09:56:46Z jkoshy $"); +ELFTC_VCSID("$Id: elf_next.c 3174 2015-03-27 17:13:41Z emaste $"); Elf_Cmd elf_next(Elf *e) Modified: head/contrib/elftoolchain/libelf/elf_phnum.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_phnum.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_phnum.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,14 +24,12 @@ * SUCH DAMAGE. */ -#include - #include #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_phnum.c 2225 2011-11-26 18:55:54Z jkoshy $"); +ELFTC_VCSID("$Id: elf_phnum.c 3174 2015-03-27 17:13:41Z emaste $"); static int _libelf_getphdrnum(Elf *e, size_t *phnum) Modified: head/contrib/elftoolchain/libelf/elf_rand.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_rand.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_rand.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,14 +24,12 @@ * SUCH DAMAGE. */ -#include - #include #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_rand.c 2991 2014-03-17 09:57:04Z jkoshy $"); +ELFTC_VCSID("$Id: elf_rand.c 3174 2015-03-27 17:13:41Z emaste $"); off_t elf_rand(Elf *ar, off_t offset) Modified: head/contrib/elftoolchain/libelf/elf_rawfile.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_rawfile.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_rawfile.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,13 +24,11 @@ * SUCH DAMAGE. */ -#include - #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_rawfile.c 3013 2014-03-23 06:16:59Z jkoshy $"); +ELFTC_VCSID("$Id: elf_rawfile.c 3174 2015-03-27 17:13:41Z emaste $"); char * elf_rawfile(Elf *e, size_t *sz) Modified: head/contrib/elftoolchain/libelf/elf_scn.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_scn.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_scn.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include @@ -37,7 +36,7 @@ #include "_libelf.h" -ELFTC_VCSID("$Id: elf_scn.c 3147 2015-02-15 18:45:23Z emaste $"); +ELFTC_VCSID("$Id: elf_scn.c 3177 2015-03-30 18:19:41Z emaste $"); /* * Load an ELF section table and create a list of Elf_Scn structures. Modified: head/contrib/elftoolchain/libelf/elf_shnum.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_shnum.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_shnum.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,14 +24,12 @@ * SUCH DAMAGE. */ -#include - #include #include #include "_libelf.h" -ELFTC_VCSID("$Id: elf_shnum.c 2225 2011-11-26 18:55:54Z jkoshy $"); +ELFTC_VCSID("$Id: elf_shnum.c 3174 2015-03-27 17:13:41Z emaste $"); static int _libelf_getshdrnum(Elf *e, size_t *shnum) Modified: head/contrib/elftoolchain/libelf/elf_shstrndx.c ============================================================================== --- head/contrib/elftoolchain/libelf/elf_shstrndx.c Wed Apr 1 00:49:34 2015 (r280931) +++ head/contrib/elftoolchain/libelf/elf_shstrndx.c Wed Apr 1 01:08:01 2015 (r280932) @@ -24,14 +24,12 @@ * SUCH DAMAGE. */ -#include - #include #include *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***