1 ToDo list for elfutils -*-outline-*- 2 ---------------------- 3 4Time-stamp: <2003-08-07 12:52:49 drepper> 5 6* mkinstalldirs 7 8 Remove everywhere. Use mkdir -p. 9 10* libelf: 11 12** verify section 13 14 Currently the elf_update function trusts the user blindly if the 15 ELF_F_LAYOUT flag is set. This is OK if the data is prepared by a 16 ELF_C_NULL call but not if the user prepared the data herself 17 18** break out archive handling from elf_begin 19 20 The handling of archives (especially of the symbol tables) must be 21 broken out of elf_begin. There are several different forms of 22 archives and only when having the archive handling separately this 23 remains maintainable. 24 25 26* libdwarf 27 28** Should we do more error checking? 29 30 Most functions don't check whether they get a NULL value passed for 31 a pointer argument. It could be argued that this is OK since it's 32 a bug inthe program. But perhaps one could catch the case and return 33 an error which would allow the program using libdwarf to have fewer 34 places with error checking. 35 36** More memory access checks needed 37 38 All accesses to the debug sections should make sure the offsets are 39 valid. This is currently especially a problem with leb128 accesses. 40 41** Low level macro information operations 42 43 in 5.11.3 are not implemented. gcc currently does not emit this 44 information so I cannot test it. 45 46** Rename dwarf_getabbrev 47 48** dwarf_loclist() 49 50 This function and its interface seem to be misdesigned. The specification 51 is unclear and its changed between v2 and v2.1. Other implementation 52 implement even different behavior. 53 54 55* nm: 56 57** add demangler support 58 59 Use demangler from libiberty. 60 61** add support to read debugging symbols 62 63 Implement -l option for BSD and POSIX format 64 65 66* strip: 67 68** support SHT_SYMTAB_SHNDX 69 70 should be removed if not needed anymore 71 72* ld: 73 74** sanity check .rel sh_info content 75 76 the sh_info of all .rel sections with the same name must point to 77 sections which also have the same name 78 79** use ld.so.conf 80 81 to locate shared libraries also use /etc/ld.so.conf 82 83** handle object files for different architectures 84 85 ld.so is expected to ignore object files for different architectures and 86 continue looking for a matching file (e.g., ignore 32-bit binaries on 87 64-bit platforms and vice versa). We probably need the same in ld. 88 89** reuse after elf_end 90 91 Some files are closed using elf_end. They are removed from memory only 92 if no reference is left (especially for archives this is a problem). 93 The old mapping should be reused in that case. The problem is worse 94 for files which are not mapped read-only (archives again). 95 96 97** size for STT_SECTION entries 98 99 The STT_SECTION entries have zero for the size but can easily get 100 the size of the section. 101 102* elflint 103 104** additional checks 105 106 1st GOT entry == _DYNAMIC 107 108 if TEXTREL check whether any relocation touches RO segment 109 110 if TEXTREL not set check that no relocation touches RO segment 111 112 check versioning info: 113 114 always BASE in verdef 115 sh_size/sh_entsize matches last offset != 0 116 117 check whether any relocation is for a merge-able section 118 119** possibly missing tests 120 121 at most one extended section index table for a symtab 122 123 no extended section index table != ET_REL 124 125 no extended section index table for SHT_DYNSYM 126 127 128* mcs 129 130 Sun has it. Can modify sections which are not in segments. 131 132 -a string 133 Append string to the comment section of the ELF object 134 files. If string contains embedded blanks, it must be 135 enclosed in quotation marks. 136 137 -c Compress the contents of the comment section of the 138 ELF object files. All duplicate entries are removed. 139 The ordering of the remaining entries is not dis- 140 turbed. 141 142 -d Delete the contents of the comment section from the 143 ELF object files. The section header for the comment 144 section is also removed. 145 146 -n name 147 Specify the name of the comment section to access if 148 other than .comment. By default, mcs deals with the 149 section named .comment. This option can be used to 150 specify another section. mcs can take multiple -n 151 options to allow for specification of multiple sec- 152 tion comments. 153 154 -p Print the contents of the comment section on the stan- 155 dard output. Each section printed is tagged by the 156 name of the file from which it was extracted, using 157 the format file[member_name]: for archive files and 158 file: for other files. 159 160 -V Print on standard error the version number of mcs. 161 162Local Variables: 163eval:(hide-body) 164End: 165