aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: dad4bcea037b203056e9f137b5d324cf8ffd4007 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Fix these warnings when building on arm/hppa/ia64/sparc:
scanelf.c: In function `scanelf_file_textrel':
scanelf.c:241: warning: cast increases required alignment of target type
scanelf.c:242: warning: cast increases required alignment of target type
due to:
	dyn = DYN ## B (elf->data + offset); \
	rel = REL ## B (elf->data + EGET(shdr[s].sh_offset)); \
	rela = RELA ## B (elf->data + EGET(shdr[s].sh_offset)); \
	sym = SYM ## B (elf->data + EGET(symtab->sh_offset)); \
perhaps we need to just force the alignment of the data member in the struct to
the size of something large ?  or just ignore the warning ...

pspax -u 0
errno = 0; uid = strtol(optarg, NULL, 10); if (uid == 0 && errno != 0) error("invalid value");

add support for RPATH checking with -nL ?

we truncate 64bit types in many places to (unsigned long) ... do we really
care though ?  this would be an issue if:
 - host is 32bit
 - object being analyzed is 64bit
 - object has symbols which is larger than 32bits

scanelf does not check offsets of DT's when scanning PT_DYNAMIC ... if a bogus
ELF had a PHDR of type PT_DYNAMIC which claimed to be of size say 1 and had an
offset just shy of the end of the file, we'll probably crash ...

dumpelf does not do string checking in very very verbose mode.  it assumes the
strings are sane when dumping the sections.  only way around this is to check
everything single byte and print it out a character at a time ... sucks ...

we look at the section named ".text" for TEXTRELs when we should look at the
PT_LOAD program headers which are marked Executable.