| ToDo list for elfutils -*-outline-*- |
| ---------------------- |
| |
| Time-stamp: <2003-08-07 12:52:49 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. |
| |
| |
| * libdwarf |
| |
| ** Should we do more error checking? |
| |
| Most functions don't check whether they get a NULL value passed for |
| a pointer argument. It could be argued that this is OK since it's |
| a bug inthe program. But perhaps one could catch the case and return |
| an error which would allow the program using libdwarf to have fewer |
| places with error checking. |
| |
| ** 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 |
| |
| ** dwarf_loclist() |
| |
| This function and its interface seem to be misdesigned. The specification |
| is unclear and its changed between v2 and v2.1. Other implementation |
| implement even different behavior. |
| |
| |
| * 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. |
| |
| * elflint |
| |
| ** additional checks |
| |
| 1st GOT entry == _DYNAMIC |
| |
| if TEXTREL check whether any relocation touches RO segment |
| |
| if TEXTREL not set check that no relocation touches RO segment |
| |
| 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 |
| |
| ** possibly missing tests |
| |
| at most one extended section index table for a symtab |
| |
| no extended section index table != ET_REL |
| |
| no extended section index table for SHT_DYNSYM |
| |
| |
| * 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: |