• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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