summaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-07-26 05:00:05 +0000
committerUlrich Drepper <drepper@redhat.com>2005-07-26 05:00:05 +0000
commitb08d5a8fb42f4586d756068065186b5af7e48dad (patch)
tree9f05f86be7877ed461b4dc05f53b29ea4fc0d2a1 /TODO
downloadelfutils-b08d5a8fb42f4586d756068065186b5af7e48dad.tar.gz
elfutils-b08d5a8fb42f4586d756068065186b5af7e48dad.tar.bz2
elfutils-b08d5a8fb42f4586d756068065186b5af7e48dad.tar.xz
Adjust for monotone.
Diffstat (limited to 'TODO')
-rw-r--r--TODO168
1 files changed, 168 insertions, 0 deletions
diff --git a/TODO b/TODO
new file mode 100644
index 00000000..bf4a0333
--- /dev/null
+++ b/TODO
@@ -0,0 +1,168 @@
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** relax
128
129 prelink generated files
130
131
132* mcs
133
134 Sun has it. Can modify sections which are not in segments.
135
136 -a string
137 Append string to the comment section of the ELF object
138 files. If string contains embedded blanks, it must be
139 enclosed in quotation marks.
140
141 -c Compress the contents of the comment section of the
142 ELF object files. All duplicate entries are removed.
143 The ordering of the remaining entries is not dis-
144 turbed.
145
146 -d Delete the contents of the comment section from the
147 ELF object files. The section header for the comment
148 section is also removed.
149
150 -n name
151 Specify the name of the comment section to access if
152 other than .comment. By default, mcs deals with the
153 section named .comment. This option can be used to
154 specify another section. mcs can take multiple -n
155 options to allow for specification of multiple sec-
156 tion comments.
157
158 -p Print the contents of the comment section on the stan-
159 dard output. Each section printed is tagged by the
160 name of the file from which it was extracted, using
161 the format file[member_name]: for archive files and
162 file: for other files.
163
164 -V Print on standard error the version number of mcs.
165
166Local Variables:
167eval:(hide-body)
168End: