diff options
Diffstat (limited to 'elfutils/TODO')
-rw-r--r-- | elfutils/TODO | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/elfutils/TODO b/elfutils/TODO new file mode 100644 index 00000000..b3b4441b --- /dev/null +++ b/elfutils/TODO @@ -0,0 +1,154 @@ + ToDo list for elfutils -*-outline-*- + ---------------------- + +Time-stamp: <2006-06-11 11:07:01 drepper> + +* mkinstalldirs + + Remove everywhere. Use mkdir -p. + +* libelf: + +** verify section + + Currently the elf_update function trusts the user blindly if the + ELF_F_LAYOUT flag is set. This is OK if the data is prepared by a + ELF_C_NULL call but not if the user prepared the data herself + +** break out archive handling from elf_begin + + The handling of archives (especially of the symbol tables) must be + broken out of elf_begin. There are several different forms of + archives and only when having the archive handling separately this + remains maintainable. + + +* libdw + +** More memory access checks needed + + All accesses to the debug sections should make sure the offsets are + valid. This is currently especially a problem with leb128 accesses. + +** Low level macro information operations + + in 5.11.3 are not implemented. gcc currently does not emit this + information so I cannot test it. + +** Rename dwarf_getabbrev + + +* nm: + +** add demangler support + + Use demangler from libiberty. + +** add support to read debugging symbols + + Implement -l option for BSD and POSIX format + + +* strip: + +** support SHT_SYMTAB_SHNDX + + should be removed if not needed anymore + +* ld: + +** sanity check .rel sh_info content + + the sh_info of all .rel sections with the same name must point to + sections which also have the same name + +** use ld.so.conf + + to locate shared libraries also use /etc/ld.so.conf + +** handle object files for different architectures + + ld.so is expected to ignore object files for different architectures and + continue looking for a matching file (e.g., ignore 32-bit binaries on + 64-bit platforms and vice versa). We probably need the same in ld. + +** reuse after elf_end + + Some files are closed using elf_end. They are removed from memory only + if no reference is left (especially for archives this is a problem). + The old mapping should be reused in that case. The problem is worse + for files which are not mapped read-only (archives again). + +** size for STT_SECTION entries + + The STT_SECTION entries have zero for the size but can easily get + the size of the section. + +** .eh_frame_hdr + + Not implemented at all in the moment except for recognition of the option + itself. + +* elflint + +** additional checks + + 1st GOT entry == _DYNAMIC + + check versioning info: + + always BASE in verdef + sh_size/sh_entsize matches last offset != 0 + + check whether any relocation is for a merge-able section + +** relax + + prelink generated files + +* elfcmp + +** treat relocation sections special + + Differences in the relocation sections can be ignored if all + the same symbols with the same targets are present and the order + of overlapping relocations doesn't change. There really never + should be overlapping relocations but who knows. + +* mcs + + Sun has it. Can modify sections which are not in segments. + + -a string + Append string to the comment section of the ELF object + files. If string contains embedded blanks, it must be + enclosed in quotation marks. + + -c Compress the contents of the comment section of the + ELF object files. All duplicate entries are removed. + The ordering of the remaining entries is not dis- + turbed. + + -d Delete the contents of the comment section from the + ELF object files. The section header for the comment + section is also removed. + + -n name + Specify the name of the comment section to access if + other than .comment. By default, mcs deals with the + section named .comment. This option can be used to + specify another section. mcs can take multiple -n + options to allow for specification of multiple sec- + tion comments. + + -p Print the contents of the comment section on the stan- + dard output. Each section printed is tagged by the + name of the file from which it was extracted, using + the format file[member_name]: for archive files and + file: for other files. + + -V Print on standard error the version number of mcs. + +Local Variables: +eval:(hide-body) +End: |