Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Nov 2016 00:45:00 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r309075 - stable/11/usr.sbin/crunch/crunchide
Message-ID:  <201611240045.uAO0j00L039941@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Thu Nov 24 00:45:00 2016
New Revision: 309075
URL: https://svnweb.freebsd.org/changeset/base/309075

Log:
  MFC r308772: crunchide: report explicit error for combined string table
  
  Some tools produce objects with a combined strtab and shstrtab.
  These objects are not supported by crunchide since it rewrites the
  symtab and strtab to "hide" symbols. This invalidates section header
  offsets into a combined strtab/shstrtab.
  
  In the future we could support these objects (by ensuring that we retain
  unmodified section name strings in the output .strtab, and then rewriting
  each section header's sh_name).

Modified:
  stable/11/usr.sbin/crunch/crunchide/exec_elf32.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/usr.sbin/crunch/crunchide/exec_elf32.c
==============================================================================
--- stable/11/usr.sbin/crunch/crunchide/exec_elf32.c	Thu Nov 24 00:39:17 2016	(r309074)
+++ stable/11/usr.sbin/crunch/crunchide/exec_elf32.c	Thu Nov 24 00:45:00 2016	(r309075)
@@ -279,6 +279,10 @@ ELFNAMEEND(hide)(int fd, const char *fn)
 		weird = 1;
 		weirdreason = "section header string table does not exist";
 	}
+	if (strtabshdr == shstrtabshdr) {
+		weird = 1;
+		weirdreason = "combined strtab and shstrtab not supported";
+	}
 	if (weirdreason == NULL)
 		weirdreason = "unsupported";
 	if (weird) {



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