Gentoo Archives: gentoo-commits

From: Mike Frysinger <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/pax-utils:master commit in: /
Date: Tue, 24 Jan 2017 20:39:51
Message-Id: 1485289493.277b33961e9e794ad039d22e1b9186d38d9e0aea.vapier@gentoo
1 commit: 277b33961e9e794ad039d22e1b9186d38d9e0aea
2 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jan 24 20:24:53 2017 +0000
4 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
5 CommitDate: Tue Jan 24 20:24:53 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/pax-utils.git/commit/?id=277b3396
7
8 TODO: drop fixed issues and add some new ones
9
10 TODO | 11 ++++-------
11 1 file changed, 4 insertions(+), 7 deletions(-)
12
13 diff --git a/TODO b/TODO
14 index ded1158..3c9968c 100644
15 --- a/TODO
16 +++ b/TODO
17 @@ -9,17 +9,10 @@ care though ? this would be an issue if:
18 - object being analyzed is 64bit
19 - object has symbols which is larger than 32bits
20
21 -scanelf does not check offsets of DT's when scanning PT_DYNAMIC ... if a bogus
22 -ELF had a PHDR of type PT_DYNAMIC which claimed to be of size say 1 and had an
23 -offset just shy of the end of the file, we'll probably crash ...
24 -
25 dumpelf does not do string checking in very very verbose mode. it assumes the
26 strings are sane when dumping the sections. only way around this is to check
27 everything single byte and print it out a character at a time ... sucks ...
28
29 -we look at the section named ".text" for TEXTRELs when we should look at the
30 -PT_LOAD program headers which are marked Executable.
31 -
32 we don't handle versioned symbols well. take an ELF with debugging and do:
33 scanelf -s '' elf
34 notice that glibc symbols generally have version info. then search for that:
35 @@ -34,3 +27,7 @@ allow digging into ARM_ATTRIBUTES (.ARM.attributes) sections
36 scanelf should look at the dynamic table for rpath/needed/soname entries instead
37 of requiring section headers and looking up by section names. need to implement
38 support for GNU_HASH first though so we can get the string table sizes.
39 +
40 +rewrite elf->e_shnum handling. if it's 0 (SH_UNDEF), then the size is
41 +contained in the sh_size of the first section header at index 0. add a
42 +source code check too.