1 ToDo list for elfutils -*-outline-*- 2 ---------------------- 3 4Time-stamp: <2009-02-05 22:08:01 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** shdrs in read-only files 26 27 When reading (ELF_C_READ*) then there is no need to malloc Shdr 28 structure in elfXX_getshdr if file is mmaped and unaligned access 29 is allowed or the structure is aligned. Use ELF_F_MALLOCED flag 30 to differentiate. 31 32** shdrs after elf_cntl (ELF_C_FDREAD) 33 34 Similar to the above. After ELF_C_FDREAD the file is completely 35 in memory. See also this mailing list thread: 36 https://fedorahosted.org/pipermail/elfutils-devel/2012-July/002368.html 37 38* libdw 39 40** More memory access checks needed 41 42 All accesses to the debug sections should make sure the offsets are 43 valid. This is currently especially a problem with leb128 accesses. 44 45** Low level macro information operations 46 47 in 5.11.3 are not implemented. gcc currently does not emit this 48 information so I cannot test it. 49 50** Rename dwarf_getabbrev 51 52 53* libcpu 54 55** x86 56 57*** Opcodes 58 59 crc32 60 extractps 61 pextrb 62 pextrd/pextrq 63 pextrw 64 pinsrq 65 popcnt 64-bit reg 66 67* nm: 68 69** add demangler support 70 71 Use demangler from libiberty. 72 73** add support to read debugging symbols 74 75 Implement -l option for BSD and POSIX format 76 77 78* strip: 79 80** support SHT_SYMTAB_SHNDX 81 82 should be removed if not needed anymore 83 84* ld: 85 86** sanity check .rel sh_info content 87 88 the sh_info of all .rel sections with the same name must point to 89 sections which also have the same name 90 91** use ld.so.conf 92 93 to locate shared libraries also use /etc/ld.so.conf 94 95** handle object files for different architectures 96 97 ld.so is expected to ignore object files for different architectures and 98 continue looking for a matching file (e.g., ignore 32-bit binaries on 99 64-bit platforms and vice versa). We probably need the same in ld. 100 101** reuse after elf_end 102 103 Some files are closed using elf_end. They are removed from memory only 104 if no reference is left (especially for archives this is a problem). 105 The old mapping should be reused in that case. The problem is worse 106 for files which are not mapped read-only (archives again). 107 108** size for STT_SECTION entries 109 110 The STT_SECTION entries have zero for the size but can easily get 111 the size of the section. 112 113** .eh_frame_hdr 114 115 Not implemented at all in the moment except for recognition of the option 116 itself. 117 118** variables with aliases in executables 119 120 When linking an executable with a references against a variable in a 121 DSO, create symbol table entries for all the aliases of the variable 122 in the DSO and create a relocation for one of them (a non-weak 123 definition) 124 125* elflint 126 127** additional checks 128 129 1st GOT entry == _DYNAMIC 130 131 check versioning info: 132 133 always BASE in verdef 134 sh_size/sh_entsize matches last offset != 0 135 136 check whether any relocation is for a merge-able section 137 138 check TLS relocation dependencies 139 140 Check content of .eh_frame_hdr, .eh_frame, .gcc_except_table 141 142*** for x86 143 144 check that R_386_TLS_GD is followed by R_386_PLT32 for __tls_get_addr 145 146** relax 147 148 prelink generated files 149 150* elfcmp 151 152** treat relocation sections special 153 154 Differences in the relocation sections can be ignored if all 155 the same symbols with the same targets are present and the order 156 of overlapping relocations doesn't change. There really never 157 should be overlapping relocations but who knows. 158 159* mcs 160 161 Sun has it. Can modify sections which are not in segments. 162 163 -a string 164 Append string to the comment section of the ELF object 165 files. If string contains embedded blanks, it must be 166 enclosed in quotation marks. 167 168 -c Compress the contents of the comment section of the 169 ELF object files. All duplicate entries are removed. 170 The ordering of the remaining entries is not dis- 171 turbed. 172 173 -d Delete the contents of the comment section from the 174 ELF object files. The section header for the comment 175 section is also removed. 176 177 -n name 178 Specify the name of the comment section to access if 179 other than .comment. By default, mcs deals with the 180 section named .comment. This option can be used to 181 specify another section. mcs can take multiple -n 182 options to allow for specification of multiple sec- 183 tion comments. 184 185 -p Print the contents of the comment section on the stan- 186 dard output. Each section printed is tagged by the 187 name of the file from which it was extracted, using 188 the format file[member_name]: for archive files and 189 file: for other files. 190 191 -V Print on standard error the version number of mcs. 192 193Local Variables: 194eval:(hide-sublevels 3) 195End: 196