mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-11 23:51:06 +00:00
New function
2006-08-20 Soren Sandmann <sandmann@daimi.au.dk> * elfparser.c (elf_parser_get_debug_link): New function * elfparser.c: Delete SymbolTable typedef * binparser.[ch] (bin_parser_get_data): New function (bin_parser_get_length): New function * elfparser.[ch] (elf_parser_get_crc32): New function * TODO: Updates * elfparser.c (elf_parser_lookup_symbol): Offset passed in addresses by the load address. * elfparser.c (elf_parser_get_load_address): New function to compute the load address of the beginning of the file.
This commit is contained in:
committed by
Søren Sandmann Pedersen
parent
49e1fabe46
commit
1b72901c4d
41
TODO
41
TODO
@ -32,6 +32,41 @@ Before 1.0.4:
|
||||
|
||||
Before 1.2:
|
||||
|
||||
* Rethink binparser. Maybe the default mode should be:
|
||||
- there is a current offset
|
||||
- you can move the cursor
|
||||
- _goto()
|
||||
- _align()
|
||||
- you can read structs with "begin_struct (format) / end_struct()"
|
||||
Or maybe just "set_format()" that would accept NULL?
|
||||
- when you are reading a struct, you can skip records with _index()
|
||||
- you can read fields with get_string/get_uint by passing a name.
|
||||
- you can read anonymous strings and uints by passing NULL for name
|
||||
This is allowed even when not reading structs. Or maybe this
|
||||
should be separate functions. Advantages:
|
||||
- they can skip ahead, unlike fields accessors
|
||||
- you can access specific types (8,16,32,64)
|
||||
- there is no "name" field
|
||||
Disadvantage:
|
||||
- the field accesors would need renaming.
|
||||
bin_parser_get_uint_field ()
|
||||
is not really that bad though.
|
||||
Maybe begin_record() could return a structure you could
|
||||
use to access that particular record? Would nicely solve
|
||||
the problems with "goto" and "index".
|
||||
bin_record_get_uint();
|
||||
What should begin/end be called? They will have different
|
||||
objects passed.
|
||||
bin_parser_get_record (parser) -> record
|
||||
bin_record_free (record);
|
||||
- Maybe support for indirect strings? Ie., get_string() in elfparser
|
||||
- This will require endianness to be a per-parser property. Which is
|
||||
probably just fine. Although d-bus actually has
|
||||
per-message endianness. Maybe there could be a settable
|
||||
"endianness" property.
|
||||
|
||||
Also need to add error checking.
|
||||
|
||||
* Rename stack_stash_foreach_by_address() to stack_stash_foreach_unique(),
|
||||
or maybe not ...
|
||||
|
||||
@ -342,9 +377,6 @@ http://www.linuxbase.org/spec/booksets/LSB-Embedded/LSB-Embedded/ehframe.html
|
||||
- possibly add dependency on glib 2.8 if it is released at that point.
|
||||
(g_file_replace())
|
||||
|
||||
- somehow get access to VSEnterprise profiler and see how it works.
|
||||
somehow get access to vtune and see how it works.
|
||||
|
||||
* Some notes about timer interrupt handling in Linux
|
||||
|
||||
On an SMP system APIC is used - the interesting file is arch/i386/kernel/apic.c
|
||||
@ -368,6 +400,9 @@ When the interrupt happens,
|
||||
|
||||
Later:
|
||||
|
||||
- somehow get access to VSEnterprise profiler and see how it works.
|
||||
somehow get access to vtune and see how it works.
|
||||
|
||||
- On SMP systems interrupts happen unpredictably, including when another
|
||||
one is running. Right now we are ignoring any interrupts that happen
|
||||
when another one is running, but we should probably just save the data
|
||||
|
||||
Reference in New Issue
Block a user