libdw: Introduce libdw_unalloc to stop Dwarf_Abbrev leaks.
[platform/upstream/elfutils.git] / TODO
diff --git a/TODO b/TODO
index 0259f01..ad10a5e 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,7 +1,7 @@
                      ToDo list for elfutils                      -*-outline-*-
                       ----------------------
 
-Time-stamp: <2005-08-02 16:36:20 drepper>
+Time-stamp: <2009-02-05 22:08:01 drepper>
 
 * mkinstalldirs
 
@@ -22,16 +22,20 @@ Time-stamp: <2005-08-02 16:36:20 drepper>
    archives and only when having the archive handling separately this
    remains maintainable.
 
+** shdrs in read-only files
 
-* libdwarf
+   When reading (ELF_C_READ*) then there is no need to malloc Shdr
+   structure in elfXX_getshdr if file is mmaped and unaligned access
+   is allowed or the structure is aligned.  Use ELF_F_MALLOCED flag
+   to differentiate.
 
-** Should we do more error checking?
+** shdrs after elf_cntl (ELF_C_FDREAD)
 
-   Most functions don't check whether they get a NULL value passed for
-   a pointer argument.  It could be argued that this is OK since it's
-   a bug inthe program.  But perhaps one could catch the case and return
-   an error which would allow the program using libdwarf to have fewer
-   places with error checking.
+   Similar to the above. After ELF_C_FDREAD the file is completely
+   in memory.  See also this mailing list thread:
+   https://fedorahosted.org/pipermail/elfutils-devel/2012-July/002368.html
+
+* libdw
 
 ** More memory access checks needed
 
@@ -45,12 +49,20 @@ Time-stamp: <2005-08-02 16:36:20 drepper>
 
 ** Rename dwarf_getabbrev
 
-** dwarf_loclist()
 
-   This function and its interface seem to be misdesigned.  The specification
-   is unclear and its changed between v2 and v2.1.  Other implementation
-   implement even different behavior.
+* libcpu
+
+** x86
+
+*** Opcodes
 
+     crc32
+     extractps
+     pextrb
+     pextrd/pextrq
+     pextrw
+     pinsrq
+     popcnt 64-bit reg
 
 * nm:
 
@@ -93,12 +105,23 @@ Time-stamp: <2005-08-02 16:36:20 drepper>
    The old mapping should be reused in that case.  The problem is worse
    for files which are not mapped read-only (archives again).
 
-
 ** size for STT_SECTION entries
 
    The STT_SECTION entries have zero for the size but can easily get
    the size of the section.
 
+** .eh_frame_hdr
+
+   Not implemented at all in the moment except for recognition of the option
+   itself.
+
+** variables with aliases in executables
+
+   When linking an executable with a references against a variable in a
+   DSO, create symbol table entries for all the aliases of the variable
+   in the DSO and create a relocation for one of them (a non-weak
+   definition)
+
 * elflint
 
 ** additional checks
@@ -112,18 +135,26 @@ Time-stamp: <2005-08-02 16:36:20 drepper>
 
    check whether any relocation is for a merge-able section
 
-** possibly missing tests
+   check TLS relocation depencies
 
-   at most one extended section index table for a symtab
+   Check content of .eh_frame_hdr, .eh_frame, .gcc_except_table
 
-   no extended section index table != ET_REL
+*** for x86
 
-   no extended section index table for SHT_DYNSYM
+    check that R_386_TLS_GD is followed by R_386_PLT32 for __tls_get_addr
 
 ** relax
 
    prelink generated files
 
+* elfcmp
+
+** treat relocation sections special
+
+   Differences in the relocation sections can be ignored if all
+   the same symbols with the same targets are present and the order
+   of overlapping relocations doesn't change.  There really never
+   should be overlapping relocations but who knows.
 
 * mcs
 
@@ -160,5 +191,5 @@ Time-stamp: <2005-08-02 16:36:20 drepper>
      -V    Print on standard error the version number of mcs.
 
 Local Variables:
-eval:(hide-body)
+eval:(hide-sublevels 3)
 End: