Home | History | Annotate | Download | only in elfutils
      1 		      ToDo list for elfutils                      -*-outline-*-
      2                       ----------------------
      3 
      4 Time-stamp: <2008-02-03 14:15:41 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    check TLS relocation depencies
    106 
    107 *** for x86
    108 
    109     check that R_386_TLS_GD is followed by R_386_PLT32 for __tls_get_addr
    110 
    111 ** relax
    112 
    113    prelink generated files
    114 
    115 * elfcmp
    116 
    117 ** treat relocation sections special
    118 
    119    Differences in the relocation sections can be ignored if all
    120    the same symbols with the same targets are present and the order
    121    of overlapping relocations doesn't change.  There really never
    122    should be overlapping relocations but who knows.
    123 
    124 * mcs
    125 
    126   Sun has it.  Can modify sections which are not in segments.
    127 
    128      -a string
    129            Append string to the comment section of the ELF object
    130            files. If  string contains embedded blanks, it must be
    131            enclosed in quotation marks.
    132 
    133      -c    Compress the contents of the comment  section  of  the
    134            ELF  object  files. All duplicate entries are removed.
    135            The ordering of the  remaining  entries  is  not  dis-
    136            turbed.
    137 
    138      -d    Delete the contents of the comment  section  from  the
    139            ELF  object  files. The section header for the comment
    140            section is also removed.
    141 
    142      -n name
    143            Specify the name of the comment section to  access  if
    144            other  than  .comment.  By default, mcs deals with the
    145            section named .comment. This option  can  be  used  to
    146            specify  another  section.  mcs  can  take multiple -n
    147            options to allow for specification of   multiple  sec-
    148            tion comments.
    149 
    150      -p    Print the contents of the comment section on the stan-
    151            dard  output.  Each  section  printed is tagged by the
    152            name of the file from which it  was  extracted,  using
    153            the  format  file[member_name]:  for archive files and
    154            file:  for other files.
    155 
    156      -V    Print on standard error the version number of mcs.
    157 
    158 Local Variables:
    159 eval:(hide-body)
    160 End:
    161