Explain problem with po/Makefile.in.in.
[platform/upstream/elfutils.git] / TODO
1                       ToDo list for elfutils                      -*-outline-*-
2                       ----------------------
3
4 Time-stamp: <2009-01-23 12:04:54 drepper>
5
6 * mkinstalldirs
7
8   Remove everywhere.  Use mkdir -p.
9
10 * po/Makefile.in.in
11
12   We need to tell xgettext about a few special functions.  At least needed:
13
14    --flag=error:3:c-format --flag=argp_error:2:c-format
15
16   How do we pass these options without modifying po/Makefile.in.in?  The
17   xgettext invocation uses XGETTEXT_OPTIONS which isn't defined.  So the
18   toplevel makefile could potentially define this variable.
19
20 * libelf:
21
22 ** verify section
23
24    Currently the elf_update function trusts the user blindly if the
25    ELF_F_LAYOUT flag is set.  This is OK if the data is prepared by a
26    ELF_C_NULL call but not if the user prepared the data herself
27
28 ** break out archive handling from elf_begin
29
30    The handling of archives (especially of the symbol tables) must be
31    broken out of elf_begin.  There are several different forms of
32    archives and only when having the archive handling separately this
33    remains maintainable.
34
35
36 * libdw
37
38 ** More memory access checks needed
39
40    All accesses to the debug sections should make sure the offsets are
41    valid.  This is currently especially a problem with leb128 accesses.
42
43 ** Low level macro information operations
44
45    in 5.11.3 are not implemented.  gcc currently does not emit this
46    information so I cannot test it.
47
48 ** Rename dwarf_getabbrev
49
50
51 * libcpu
52
53 ** x86
54
55 *** Opcodes
56
57      crc32
58      extractps
59      pextrb
60      pextrd/pextrq
61      pextrw
62      pinsrq
63      popcnt 64-bit reg
64
65 * nm:
66
67 ** add demangler support
68
69    Use demangler from libiberty.
70
71 ** add support to read debugging symbols
72
73    Implement -l option for BSD and POSIX format
74
75
76 * strip:
77
78 ** support SHT_SYMTAB_SHNDX
79
80    should be removed if not needed anymore
81
82 * ld:
83
84 ** sanity check .rel sh_info content
85
86    the sh_info of all .rel sections with the same name must point to
87    sections which also have the same name
88
89 ** use ld.so.conf
90
91    to locate shared libraries also use /etc/ld.so.conf
92
93 ** handle object files for different architectures
94
95    ld.so is expected to ignore object files for different architectures and
96    continue looking for a matching file (e.g., ignore 32-bit binaries on
97    64-bit platforms and vice versa).  We probably need the same in ld.
98
99 ** reuse after elf_end
100
101    Some files are closed using elf_end.  They are removed from memory only
102    if no reference is left (especially for archives this is a problem).
103    The old mapping should be reused in that case.  The problem is worse
104    for files which are not mapped read-only (archives again).
105
106 ** size for STT_SECTION entries
107
108    The STT_SECTION entries have zero for the size but can easily get
109    the size of the section.
110
111 ** .eh_frame_hdr
112
113    Not implemented at all in the moment except for recognition of the option
114    itself.
115
116 * elflint
117
118 ** additional checks
119
120    1st GOT entry == _DYNAMIC
121
122    check versioning info:
123
124      always BASE in verdef
125      sh_size/sh_entsize matches last offset != 0
126
127    check whether any relocation is for a merge-able section
128
129    check TLS relocation depencies
130
131    Check content of .eh_frame_hdr, .eh_frame, .gcc_except_table
132
133 *** for x86
134
135     check that R_386_TLS_GD is followed by R_386_PLT32 for __tls_get_addr
136
137 ** relax
138
139    prelink generated files
140
141 * elfcmp
142
143 ** treat relocation sections special
144
145    Differences in the relocation sections can be ignored if all
146    the same symbols with the same targets are present and the order
147    of overlapping relocations doesn't change.  There really never
148    should be overlapping relocations but who knows.
149
150 * mcs
151
152   Sun has it.  Can modify sections which are not in segments.
153
154      -a string
155            Append string to the comment section of the ELF object
156            files. If  string contains embedded blanks, it must be
157            enclosed in quotation marks.
158
159      -c    Compress the contents of the comment  section  of  the
160            ELF  object  files. All duplicate entries are removed.
161            The ordering of the  remaining  entries  is  not  dis-
162            turbed.
163
164      -d    Delete the contents of the comment  section  from  the
165            ELF  object  files. The section header for the comment
166            section is also removed.
167
168      -n name
169            Specify the name of the comment section to  access  if
170            other  than  .comment.  By default, mcs deals with the
171            section named .comment. This option  can  be  used  to
172            specify  another  section.  mcs  can  take multiple -n
173            options to allow for specification of   multiple  sec-
174            tion comments.
175
176      -p    Print the contents of the comment section on the stan-
177            dard  output.  Each  section  printed is tagged by the
178            name of the file from which it  was  extracted,  using
179            the  format  file[member_name]:  for archive files and
180            file:  for other files.
181
182      -V    Print on standard error the version number of mcs.
183
184 Local Variables:
185 eval:(hide-sublevels 3)
186 End: