History log of /freebsd-10-stable/usr.sbin/crunch/crunchide/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
309077 24-Nov-2016 emaste

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).

308804 18-Nov-2016 emaste

MFC r282824: crunchide: remove EOL whitespace

292885 29-Dec-2015 emaste

crunchide: Restore IA-64 support accidentally lost in r292421 mismerge

Reported by: ngie

292423 18-Dec-2015 emaste

MFC r281674: crunchide: always include both 32- and 64-bit ELF support

This avoids the need to build a target-specific crunchide for cross-
builds.

Sponsored by: The FreeBSD Foundation

292422 18-Dec-2015 emaste

MFC r281655: crunchide: remove unused a.out and non-functional ECOFF support

Sponsored by: The FreeBSD Foundation

292421 18-Dec-2015 emaste

Sync crunchide(1) arch support with HEAD

MFC r276764, r281781, r282291, r292106

Add support to crunchide for handling AArch64 (arm64) ELF files.
Remove local EM_* ELF definitions provided by system ELF headers
Restore local EM_AARCH64 constant for bootstrapping
Add RISC-V to supported machine types

Sponsored by: The FreeBSD Foundation

283260 21-May-2015 emaste

MFC r282144: crunchide: add basic string table sanity checks

Reported by: Coverity Scan
CID: 978805, 980919
Sponsored by: The FreeBSD Foundation

277557 23-Jan-2015 emaste

crunchide: Correct 64-bit section header offset

For 64-bit binaries the Elf_Ehdr e_shoff is at offset 40, not 44.
Instead of using an incorrect hardcoded offset, let the compiler
figure it out for us with offsetof().

MFC of r277259

256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


246298 03-Feb-2013 pfg

crunchide(1): Put e_shnum into a local variable.

This simplifies the code a bit.

Submitted by: Cristoph Mallon
MFC after: 2 weeks


246296 03-Feb-2013 pfg

crunchide(1): support non-custom elf object layout

The crunchide utility presumes the last 3 chunks of an ELF object
layout are section headers, symbol table, and then string table.
However, this is not specified in the ELF standards, and linkers
may generate different layouts when doing partial linking (-r).

This change is required to build FreeBSD with mclinker or the
gold linker.

PR: bin/174011
Submitted by: Pete Chou
Reviewed by: Cristoph Mallon
MFC after: 2 weeks


246278 03-Feb-2013 pfg

crunch: Sync some NetBSD changes

Fix a couple of free's in previous commit.

Obtained from: NetBSD
MFC after: 1 week


246256 02-Feb-2013 pfg

crunch: Sync some NetBSD changes.

crunchide:
Apr 11, 2009: fix some -Wsign-compare issues.
Sep 20, 1999: Free the right thing.

crunchgen:
Apr 14, 2009: Fix some WARNS=4 issues (-Wshadow -Wcast-qual)
Oct 30, 2004: Add (unsigned char) cast to ctype functions
Feb 5, 2001: fix nested extern.

examples:
Aug 30, 2007: NetBSD 36867 - trsp references are deprecated

Obtained from: NetBSD
MFC after: 1 week


237625 27-Jun-2012 obrien

Some amount of style(9)
-- function definitions, header ordering, and $FreeBSD$.


237254 19-Jun-2012 eadler

Remove variables which are initialized but never used thereafter reported by gcc46 warning

Approved by: cperciva
MFC After: 3 days


232911 13-Mar-2012 jmallett

Fix crunchide on MIPS with other than the O32 ABI.


212537 13-Sep-2010 imp

It turns out that TARGET_CPUARCH doesn't buy us much here, if anything, but
costs us another copy of the transform. Revert it.

# Maybe makefile.inc1 should set TARGET_CPUARCH for the cross-tools, but
# it doesn't now. That would solve problems in other places too.

Submitted by: jmallet@


212511 13-Sep-2010 imp

Use TARGET_CPUARCH instead of TARGET_ARCH here. Define TARGET_CPUARCH
based on TARGET_ARCH. Use TARGET_ARCH still for a powerpc64 test.
Futureproof for coming mipsel/mipseb and arm/armeb rename.


211222 12-Aug-2010 adrian

Fix crunchide to work on sparc64 and perhaps other 64 bit platforms.

I used the wrong type when setting st_name in the symbol table entry
struct. It's an Elf64_Word which is defined as an unsigned 32 bit int
on both 32 and 64 bit platforms.

To make things sensible, define some new macros to use as "word" macros
and use those, rather than simply using the explicit 32 bit macros.


211137 10-Aug-2010 adrian

Port over changes to the crunch symbol hiding method from NetBSD.

The older symbol hiding method breaks for MIPS. This implements
symbol hiding through renaming to a symbol name which is highly
unlikely to clash.

The NetBSD code didn't use byte-swapping macros for endian-awareness;
so it didn't work when cross-compiling a MIPS world on i386/amd64.
This patch includes those (as best as I could figure what they
should be) and has been tested to generate valid MIPS crunch
binaries both cross- and native- compiled.


209889 10-Jul-2010 nwhitehorn

Teach crunchide(1) about PPC ELF64.


182725 03-Sep-2008 obrien

Introduce crunchide to the ELF e_machine MIPS values.


173412 07-Nov-2007 kevlo

Cleanup of userland __P use


167260 06-Mar-2007 kevlo

Use sizeof() for calculating the buffer size instead of hard-coded values.


161526 22-Aug-2006 ru

Remove alpha left-overs.


153504 18-Dec-2005 marcel

Make our ELF64 type definitions match standards. In particular this
means:
o Remove Elf64_Quarter,
o Redefine Elf64_Half to be 16-bit,
o Redefine Elf64_Word to be 32-bit,
o Add Elf64_Xword and Elf64_Sxword for 64-bit entities,
o Use Elf_Size in MI code to abstract the difference between
Elf32_Word and Elf64_Word.
o Add Elf_Ssize as the signed counterpart of Elf_Size.

MFC after: 2 weeks


131500 02-Jul-2004 ru

Mechanically kill hard sentence breaks.


130927 22-Jun-2004 obrien

Adjust the system endian and a.out headers to be more MI and cross-building
friendly. Use the systems headers rather than local versions.

Reviewed by: ru


130155 06-Jun-2004 cognet

Tell crunchide to deal with arm elf binaries as well.
Rescue can now be built for arm.


129652 24-May-2004 stefanf

Include <netinet/in.h> for ntoh*() and hton*() prototypes.

Approved by: das (mentor)


118656 08-Aug-2003 ru

Fix a bug that caused i386 to produce broken binaries for big-endian
64-bit platforms. (size_t is 32bit on i386, but Elf_Shdr.sh_size is
64bit on SPARC64.)


117857 22-Jul-2003 obrien

Teach crunchide(1) about PowerPC ELF.

PR: 54526
Submitted by: Stefan Farfeleder <stefan@fafoe.narf.at>


115757 03-Jun-2003 peter

Add AMD64 support.


112767 29-Mar-2003 obrien

Back out the totally unapproved backout of my commits.


112192 13-Mar-2003 ru

Complete the endianness support -- sparc64 can now do i386.

Tested on: sparc64 -> i386, i386 -> sparc64
Debugged by: elfdump(1)


110033 29-Jan-2003 ru

Part 1/3 of unbreaking cross releases:

Back out the removal of custom version of endian.h system header.
On recent systems, it just falls back to <sys/endian.h>. But on
older systems like 5.0-DP1 or 4-STABLE, this private version may
be necessary, as crunchide(1) is a cross-tool for "make release".

Spotted by: kris, markm


108440 30-Dec-2002 obrien

Use <sys/endian.h> rather than a private verison.

Tested on: sparc64, Athlon[32]


106848 13-Nov-2002 ru

Bootstrapping aid for 4.0-RELEASE.


105264 16-Oct-2002 charnier

Put author name under .An/Aq.


97280 25-May-2002 ru

Get all the fruit from makefile.


97227 24-May-2002 ru

Removed dead code.


97226 24-May-2002 ru

Handle endianness. This completes cross-support for sparc64.


97068 21-May-2002 ru

Added support for ia64 and sparc64.


95781 30-Apr-2002 ru

Make crunchide(1) a cross-tool; needed for cross-arch "make release".
Note that a.out is only supported for the non-cross i386 case.


95258 22-Apr-2002 des

Usage style sweep: spell "usage" with a small 'u'.
Also change one case of blatant __progname abuse (several more remain)
This commit does not touch anything in src/{contrib,crypto,gnu}/.


95127 20-Apr-2002 charnier

Use `The .Nm utility'


85355 23-Oct-2001 peter

ia64 support. Hide a.out support solely under i386. While alpha never
was released in a.out form, it does define the a.out data structures.
The ia64 port does not.


80029 20-Jul-2001 obrien

Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.


79755 15-Jul-2001 dd

Remove whitespace at EOL.


79537 10-Jul-2001 ru

mdoc(7) police: removed HISTORY info from the .Os call.


76224 02-May-2001 obrien

* include/elf.h has been repo copied to include/elf-hints.h, and it no
longer includes machine/elf.h.
* consumers of elf.h now use the minimalist elf header possible.

This change is motivated by Binutils 2.11.0 and too much clashing over
our base elf headers and the Binutils elf headers.


68965 20-Nov-2000 ru

mdoc(7) police: use the new features of the Nm macro.


68575 10-Nov-2000 ru

Avoid use of direct troff requests in mdoc(7) manual pages.


50479 28-Aug-1999 peter

$Id$ -> $FreeBSD$


48791 12-Jul-1999 nik

Add $Id$, to make it simpler for members of the translation teams to
track.

The Id line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

.\" $Id$
.\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by: bde


39890 02-Oct-1998 jkh

Temporary use different stubs for the ECOFF case; I'm trying to get this
to build on the alpha, first off.


39351 16-Sep-1998 jhay

Update the man page to match the rest of crunchide.


39172 14-Sep-1998 jkh

Teach crunch about an elf/a.out world.
Submitted by: jhay


34809 23-Mar-1998 charnier

.Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq.


29453 15-Sep-1997 charnier

Use err(3).


24428 31-Mar-1997 imp

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


8857 30-May-1995 rgrimes

Remove trailing whitespace.


1723 15-Jun-1994 jkh

This commit was generated by cvs2svn to compensate for changes in r1722,
which included commits to RCS files with non-trunk default branches.