History log of /external/elfutils/src/strip.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3425454a10d307fae891fb667cf7969e945cde79 09-Oct-2015 Josh Stone <jistone@redhat.com> Trust AC_SYS_LARGEFILE to provide large file support

AC_SYS_LARGEFILE defines _FILE_OFFSET_BITS in config.h if needed for
LFS, and this automatically maps things like open to open64. But quite
a few places used explicit 64-bit names, which won't work on platforms
like FreeBSD where off_t is always 64-bit and there are no foo64 names.
It's better to just trust that AC_SYS_LARGEFILE is doing it correctly.

But we can verify this too, as some file could easily forget to include
config.h. The new tests/run-lfs-symbols.sh checks all build targets
against lfs-symbols (taken from lintian) to make sure everything was
implicitly mapped to 64-bit variants when _FILE_OFFSET_BITS is set.

Signed-off-by: Josh Stone <jistone@redhat.com>
/external/elfutils/src/strip.c
3a45dbbe7e1862e72bc886fa7f12a5c5c09311e0 04-Oct-2015 Mark Wielaard <mjw@redhat.com> strip: Only sanity check symbols to not discarded sections for debug file.

We can only sanity check the symbols to discarded sections when creating a
debug file. Otherwise we won't keep track of debug_data. This can trigger
erroneously when there are relocation symbols in the symtab for a .debug
section but we are not putting those symbols in a separate .debug file.

Adjust run-strip-test.sh to always run in-place strip size check even
for ET_REL files. Before this fix the sanity check would trigger for
some ET_REL files because they contained such relocation symbols to
.debug sections (but debug_data would be NULL because -f wasn't used).

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/src/strip.c
df7dfab451246e8b088040e052ca01f9d6aba774 11-Aug-2015 Mark Wielaard <mjw@redhat.com> Handle merged strtab/shstrtab string tables in strip and unstrip.

ELF files can share the section header string table (e_shstrndx) with
the symtab .strtab section. That might in some cases save a bit of space
since symbols and sections might share some (sub)strings. To handle that
eu-strip just needs to not unconditionally remove the .shstrtab section
(it will be properly marked as used/unused as needed). eu-unstrip needs
to make sure the section names are added to the strtab if it decides to
rewrite that section. Also makes sure that eu-strip won't move around
a SHT_NOBITS section that has SHF_ALLOC set. Although it is allowed to
move such sections around, there is no benefit. And some tools might
expect no allocated section to move around, not even a nobits section.
It also makes it harder to do "roundtripping" sanity checks that make
sure splitting a file with eu-strip and then reconstructed with eu-unstrip
produce the same ELF file (as is done in the new run-strip-strmerge.sh).

Introduces a somewhat large test generator elfstrmerge.c that will
hopefully turn into a more generic string table merger program.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/src/strip.c
1ccdfb683ad6c7e59793136c3a657ddf131cafd1 22-Sep-2015 Mark Wielaard <mjw@redhat.com> Remove old-style function definitions.

We already require -std=gnu99 and old-style function definitions might
hide some compiler warnings.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/src/strip.c
cb499c489299de2b77472fc836a6b28ecf5361b9 09-Jun-2015 Mark Wielaard <mjw@redhat.com> strip: Just admit we don't support stripping ar archives for now.

We try to handle (in-place) stripping of ar archives, but since elf_clone
doesn't really support cloning ar members and we don't handle reducing
the size of the members, moving the offsets of other members. This causes
crashes or writing garbage. Better to just admit that for now we don't
support stripping archives. Call error when we see an ELF_K_AR file.

https://bugzilla.redhat.com/show_bug.cgi?id=766156
https://lists.fedorahosted.org/pipermail/elfutils-devel/2009-August/000567.html

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/src/strip.c
6d93c8c46d9b2b381c889e5f176451996845b055 12-May-2015 Mark Wielaard <mjw@redhat.com> strip: Harden against bogus input files. Don't leak tmp debug file on error.

There were various places where a bogus/unexpected input file would cause
eu-strip to crash. Also on an unexpected error eu-strip would leak the temp
debug file it was writing.

https://bugzilla.redhat.com/show_bug.cgi?id=1170810#c34

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/src/strip.c
a2b964c7dbbf54162b2c50931c172568fb4cfa70 08-May-2015 Mark Wielaard <mjw@redhat.com> Always call gelf_fsize with EV_CURRENT as argument.

Don't trust the elf version given by the file. It could be completely
bogus. In which case gelf_fsize just returns zero. Which could cause
divide by zero errors.

https://bugzilla.redhat.com/show_bug.cgi?id=1170810#c34

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/src/strip.c
8c4aa0ef998191ed828a37190dc179b91649938a 04-May-2015 Max Filippov <jcmvbkbc@gmail.com> Replace futimes with futimens.

futimes is not standard function, and it's not available in uClibc.
Use futimens which is POSIX.

Suggested-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
/external/elfutils/src/strip.c
b88bece422ec249215f3ab5e848c4991bef68c40 04-May-2015 Max Filippov <jcmvbkbc@gmail.com> Drop mtrace calls.

mtrace is a GNU extension not supported by uClibc and it's believed to
not be really used. Drop mtrace() calls and #include <mcheck.h>.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
/external/elfutils/src/strip.c
587c4b3e94c6ef877137d067d5d0f574f69b1391 14-Apr-2015 Mark Wielaard <mjw@redhat.com> src: Remove __DATE__ from internal error messages.

The date didn't really add much information (it is the day on which the
code happened to be compiled) and it prevents creating reproducible builds.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/src/strip.c
712c8faddc08844fb1f2814c8b6e817f03b0698e 22-Nov-2014 Mark Wielaard <mjw@redhat.com> Use elf_getphdrnum instead of accessing ehdr->e_phnum directly.

Using elf_getphdrnum lets us handle ELF files that use more than PN_XNUM
phdrs. And guards against some corrupt files.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/src/strip.c
58d3619facfb708f4998d73270ca4082b20853b9 17-Jan-2014 Roland McGrath <roland@redhat.com> robustify: strip.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/src/strip.c
a58951b183fb3e051870b19c95d8082a3efa3ddb 01-Mar-2013 Mark Wielaard <mjw@redhat.com> Fix two memory leaks in findtextrel and strip.

The findtextrel leak is real, when processing lots of files without text
relocations the files and memory wouldn't be released. The strip leak is
minor since it can only happen when using -f which only allows one file
as argument. But it is nice to see valgrind say:

"All heap blocks were freed -- no leaks are possible".

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/src/strip.c
de2ed97f33139af5c7a0811e4ec66fc896a13cf2 05-Jun-2012 Mark Wielaard <mjw@redhat.com> Update name, license and contributor policy.

* Change name from "Red Hat elfutils" to "elfutils".
* Update license of standalone tools and test from GPLv2 to GPLv3+.
* Change license of libraries from GPLv2+exception to GPLv2/LGPLv3+.
* Add Developer Certificate of Origin based contributor policy.

top-level:

- COPYING: Upgraded from GPLv2 to GPLv3.
- CONTRIBUTING, COPYING-GPLv2, COPYING-LGPLv3: New files.
- NEWS: Added note about new contribution and license policy.
- Makefile.am: Updated to GPLv3, added new files to EXTRA_DIST.
- configure.ac: Update to GPLv3, changed AC_INIT name to 'elfutils'.

backends, lib, libasm, libcpu, libdw, libdwfl, libebl, libelf:

- All files updated to GPLv2/LGPLv3+. Except some very small files
(<5 lines) which didn't have any headers at all before, the linker
.maps files and the libcpu/defs files which only contain data and
libelf/elf.h which comes from glibc and is under LGPLv2+.

config:

- elfutils.spec.in: Add new License: headers and new %doc files.
- Update all license headers to GPLv2/LGPLv3+ for files used by libs.

src, tests:

- All files updated to GPLv3+. Except for the test bz2 data files, the
linker maps and script files and some very small files (<5 lines)
that don't have any headers.

Signed-off-by: Richard Fontana <rfontana@redhat.com>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/src/strip.c
3a64a3087f53ab860c7de04da0e53dabef459520 22-Jan-2012 Ulrich Drepper <drepper@gmail.com> Update copyright year
/external/elfutils/src/strip.c
02a958bc2662c1c9c2d6b663742b9c8e720e25b2 30-May-2011 Mark Wielaard <mjw@redhat.com> strip.c (relocate): Make offset check overflow-proof.
/external/elfutils/src/strip.c
63868c2afb1123bf8ac2f99048e6f3f70dcf4c0e 24-May-2011 Mark Wielaard <mjw@redhat.com> strip: --reloc-debug-sections, relocate against any debug section symbol.
/external/elfutils/src/strip.c
1662bc3880ae5acae6aa2a3013d193223c36f189 16-May-2011 Mark Wielaard <mjw@redhat.com> strip: Add --reloc-debug-sections option.
/external/elfutils/src/strip.c
7a125b9306c4743eaee062bdab301f890e3c6309 17-May-2011 Mark Wielaard <mjw@redhat.com> strip: Handle SHT_GROUP sections better.
/external/elfutils/src/strip.c
f151b7d4b103b6d07ac510833cb2550de064621c 06-Jan-2011 Roland McGrath <roland@redhat.com> strip: Remove all excess for --strip-sections.
/external/elfutils/src/strip.c
0b9d1fb534604a9ba19999cd8ce8e7efce28da24 05-Jan-2011 Roland McGrath <roland@redhat.com> strip: Add --strip-sections option.
/external/elfutils/src/strip.c
b337b1fd5f3b3410fe522a690ccee70bce8519ee 15-Jan-2010 Roland McGrath <roland@redhat.com> Fix sloppy #include use, breaks with latest glibc.
/external/elfutils/src/strip.c
f189493154d0041deced00e6a99cc5426dc9d260 14-Jun-2009 Ulrich Drepper <drepper@redhat.com> Add aliases for elf_getshnum and elf_getshstrndx.

Sun in their implementation messed up the semantics of these functions.
To get back to source code compatibility they asked for a solution.
We simply add aliases for the two affected functions, named
elf_getshdrnum and elf_getshdrstrndx. The semantics remains the
same. Users of the old interfaces receive a warning for now. In
future we might make it impossible to link programs which request
the old interfaces (binary compatibility will of course be maintained).
/external/elfutils/src/strip.c
04a14163323bc4d2d335909a2af7259bc53ddf8b 14-Apr-2009 Roland McGrath <roland@redhat.com> Fix strip -f infinite loop when coping with some extra kooky object sections.
/external/elfutils/src/strip.c
6cbd7adf7eeb3f30632b53c8a68c470e0e47252b 25-Jan-2009 Ulrich Drepper <drepper@redhat.com> Fix typo in comment.
/external/elfutils/src/strip.c
fdc93e12a77866cafd1aae4463d89cef2c01d9b1 17-Jan-2009 Ulrich Drepper <drepper@myware66.akkadia.org> Move argp_program_version_hook and argp_program_bug_address variables
in all programs into the .rodata section.
/external/elfutils/src/strip.c
44173edad1dfd24c4d98fcf032308f7df28db652 02-Jan-2009 Ulrich Drepper <drepper@redhat.com> Unpdate copyright in messages.
/external/elfutils/src/strip.c
521c47d2a216fc64098c024fc5ed53532b485f32 11-Apr-2008 Roland McGrath <roland@redhat.com> src/
* strip.c (handle_elf): Don't keep sections that kept symbol tables
refer to. Instead, just be sure to preserve the original symbol
table in the debug file so those symbols go with their sections and
can be elided from the stripped version of the symbol table.


tests/
* testfile48.bz2, testfile48.bz2.debug: New data files.
* Makefile.am (EXTRA_DIST): Add them.
* run-strip-test8.sh: Use them.
/external/elfutils/src/strip.c
e219f1c1b2a5a2e4f248714fdc93d031cdc5ee6a 09-Jan-2008 Ulrich Drepper <drepper@redhat.com> propagate from branch 'com.redhat.elfutils.roland.pending' (head 26cc2ce45739af072e7ff4fdab5e8eb7cd756d50)
to branch 'com.redhat.elfutils' (head bb519012dee7013b2cab5c2f5ed465cb3821b063)
/external/elfutils/src/strip.c
3cbdd387c752999255aea91600b5cfdefbeac7d0 02-Jan-2008 Ulrich Drepper <drepper@redhat.com> propagate from branch 'com.redhat.elfutils.disasm' (head d15b4eb794e81e477f9896fe82a74cb5ecf4514c)
to branch 'com.redhat.elfutils' (head eaacbf01f8cc89d043ec6eca9b5e35cb5c4cde06)
/external/elfutils/src/strip.c
ad024afc93dcd0f4797b3e80bfb6b80c34da5c12 02-Jan-2008 Ulrich Drepper <drepper@redhat.com> Update copyright year.
/external/elfutils/src/strip.c
b0243863149acde9e42b25688c7c2959830e69a9 06-Jun-2007 Ulrich Drepper <drepper@redhat.com> Prepare for 0.128 release.

Minor fixes.

Update gettext files to 0.16.1.
/external/elfutils/src/strip.c
9aa8ef7fbb5ada14b7c4585d6c1361aa5eab6f88 18-May-2007 Roland McGrath <roland@redhat.com> src/
2007-05-18 Roland McGrath <roland@redhat.com>

* unstrip.c (copy_elided_sections): Match up non-NOBITS sections with
stripped file, so as not to duplicate a section copied in both.

* strip.c (handle_elf): Keep SHT_NOTE section copies in the debug file.

tests/
2007-05-18 Roland McGrath <roland@redhat.com>

* run-strip-test4.sh (stripped, debugfile): Use new reference files.
* testfile37.bz2: New data file.
* testfile37.debug.bz2: New data file.
* run-unstrip-test2.sh: New file.
* Makefile.am (TESTS, EXTRA_DIST): Add them.
/external/elfutils/src/strip.c
4be1524398af8e24011cfdfa77c66832f8654a56 25-Apr-2007 Roland McGrath <roland@redhat.com> 2007-04-24 Roland McGrath <roland@redhat.com>

* run-strip-test.sh: When we saved the debug info, test unstrip too.
/external/elfutils/src/strip.c
b770cf9d1045bde04a1d89c63f4d7eb261ff78da 10-Jan-2007 Ulrich Drepper <drepper@redhat.com> Update copyright year.
/external/elfutils/src/strip.c
8190db6a86a37aec86c81626ab1b083c96aff891 18-Dec-2006 Roland McGrath <roland@redhat.com> propagate from branch 'com.redhat.elfutils' (head b4944cf70801d9dac056f4f80ef1334e5acb8bdc)
to branch 'com.redhat.elfutils.roland.pending' (head e7e402c668fb0670fc5f6b6a522853ae88f32f11)
/external/elfutils/src/strip.c
1e9ef50681e20ef14c2ba38aef37a71ff148be08 05-Apr-2006 Ulrich Drepper <drepper@redhat.com> Fix FSF address. No exception for libdwarf.
/external/elfutils/src/strip.c
82c345d92531e2577f16928efe62c14d19d5fc47 05-Apr-2006 Ulrich Drepper <drepper@redhat.com> Prepare for 0.120 release.
/external/elfutils/src/strip.c
361df7da6dfecd817b27e62b91752ac316d7cdd4 04-Apr-2006 Ulrich Drepper <drepper@redhat.com> propagate from branch 'com.redhat.elfutils.roland.pending' (head 4f8fc821345feef58624f0aa5b470d4827577d8c)
to branch 'com.redhat.elfutils' (head 76e26cb54695fd3b21ee8fb5be3036bd68200633)
/external/elfutils/src/strip.c
e3f9b7db6c7361579ec5cc5eb5e414f7e93baeb6 03-Sep-2005 Ulrich Drepper <drepper@redhat.com> Cleanup of messages.
/external/elfutils/src/strip.c
1c83bf1fd46b74492297694b642df36d18c6e7b5 11-Aug-2005 Roland McGrath <roland@redhat.com> merge of 0bdc7517571447282c23ea28a69147eabf574048
and b0183df71043735ade5c882809fed6c7ca571b2a
/external/elfutils/src/strip.c
ce4550aefd57ab68f6f279a5b662eb1716d7b361 10-Aug-2005 Roland McGrath <roland@redhat.com> Update DW_LNS_set_epilogue_begin uses to correct misspelling.
/external/elfutils/src/strip.c
faf4d19ddeaca1e7fd97b025ccd376eaa3afb30a 11-Aug-2005 Ulrich Drepper <drepper@redhat.com> Change addr2line to use dwfl_* functions.

Minor strip cleanups.
/external/elfutils/src/strip.c
8f32539b84d1d9849cdc03645a444c48719fd91f 11-Aug-2005 Ulrich Drepper <drepper@redhat.com> Minimal cleanup in strip.
/external/elfutils/src/strip.c
8f31c2c6f18323daf2a6ce30a24fa4dfe0a70fb3 09-Aug-2005 Roland McGrath <roland@redhat.com> 2005-08-08 Roland McGrath <roland@redhat.com>

* strip.c (options, parse_opt): Grok -R .comment for compatibility
with binutils strip. Likewise -d, -S, as aliases for -g.
Likewise ignore -s/--strip-all.
/external/elfutils/src/strip.c
095a01b14c2562a33615f079f300ac86da95bc56 08-Aug-2005 Roland McGrath <roland@redhat.com> 2005-08-07 Roland McGrath <roland@redhat.com>

* strip.c (process_file): Open read-only when using a different output
file.
/external/elfutils/src/strip.c
b08d5a8fb42f4586d756068065186b5af7e48dad 26-Jul-2005 Ulrich Drepper <drepper@redhat.com> Adjust for monotone.
/external/elfutils/src/strip.c