* elflint.c (check_dynamic): Fix checking value of tags which are
[platform/upstream/elfutils.git] / TODO
1                       ToDo list for elfutils                      -*-outline-*-
2                       ----------------------
3
4 Time-stamp: <2006-06-11 11:07: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
26 * libdw
27
28 ** More memory access checks needed
29
30    All accesses to the debug sections should make sure the offsets are
31    valid.  This is currently especially a problem with leb128 accesses.
32
33 ** Low level macro information operations
34
35    in 5.11.3 are not implemented.  gcc currently does not emit this
36    information so I cannot test it.
37
38 ** Rename dwarf_getabbrev
39
40
41 * nm:
42
43 ** add demangler support
44
45    Use demangler from libiberty.
46
47 ** add support to read debugging symbols
48
49    Implement -l option for BSD and POSIX format
50
51
52 * strip:
53
54 ** support SHT_SYMTAB_SHNDX
55
56    should be removed if not needed anymore
57
58 * ld:
59
60 ** sanity check .rel sh_info content
61
62    the sh_info of all .rel sections with the same name must point to
63    sections which also have the same name
64
65 ** use ld.so.conf
66
67    to locate shared libraries also use /etc/ld.so.conf
68
69 ** handle object files for different architectures
70
71    ld.so is expected to ignore object files for different architectures and
72    continue looking for a matching file (e.g., ignore 32-bit binaries on
73    64-bit platforms and vice versa).  We probably need the same in ld.
74
75 ** reuse after elf_end
76
77    Some files are closed using elf_end.  They are removed from memory only
78    if no reference is left (especially for archives this is a problem).
79    The old mapping should be reused in that case.  The problem is worse
80    for files which are not mapped read-only (archives again).
81
82 ** size for STT_SECTION entries
83
84    The STT_SECTION entries have zero for the size but can easily get
85    the size of the section.
86
87 ** .eh_frame_hdr
88
89    Not implemented at all in the moment except for recognition of the option
90    itself.
91
92 * elflint
93
94 ** additional checks
95
96    1st GOT entry == _DYNAMIC
97
98    check versioning info:
99
100      always BASE in verdef
101      sh_size/sh_entsize matches last offset != 0
102
103    check whether any relocation is for a merge-able section
104
105 ** relax
106
107    prelink generated files
108
109 * elfcmp
110
111 ** treat relocation sections special
112
113    Differences in the relocation sections can be ignored if all
114    the same symbols with the same targets are present and the order
115    of overlapping relocations doesn't change.  There really never
116    should be overlapping relocations but who knows.
117
118 * mcs
119
120   Sun has it.  Can modify sections which are not in segments.
121
122      -a string
123            Append string to the comment section of the ELF object
124            files. If  string contains embedded blanks, it must be
125            enclosed in quotation marks.
126
127      -c    Compress the contents of the comment  section  of  the
128            ELF  object  files. All duplicate entries are removed.
129            The ordering of the  remaining  entries  is  not  dis-
130            turbed.
131
132      -d    Delete the contents of the comment  section  from  the
133            ELF  object  files. The section header for the comment
134            section is also removed.
135
136      -n name
137            Specify the name of the comment section to  access  if
138            other  than  .comment.  By default, mcs deals with the
139            section named .comment. This option  can  be  used  to
140            specify  another  section.  mcs  can  take multiple -n
141            options to allow for specification of   multiple  sec-
142            tion comments.
143
144      -p    Print the contents of the comment section on the stan-
145            dard  output.  Each  section  printed is tagged by the
146            name of the file from which it  was  extracted,  using
147            the  format  file[member_name]:  for archive files and
148            file:  for other files.
149
150      -V    Print on standard error the version number of mcs.
151
152 Local Variables:
153 eval:(hide-body)
154 End: