[libctf and DDB improvements] report #1 and #2

Daniel Lovasko daniel.lovasko at gmail.com
Fri Jun 6 18:48:33 UTC 2014


Hello everyone,

I arrived late to the party (as stated in my proposal) due to some other
work
duties but from June 1. I am fully committed to the project and to my git
repository [1].

I invite you all to look at the code, but in the same sentence I would like
to
warn you that it is still work in progress code.

What was done:
 - label parsing

 - type parsing, which is essential to the following DDB improvements

 - bsdctfdump - BSD-licensed ctfdump, right now supporting only the labels
and
   types. There will be a separate project on my github containing this
tool,
   but for now it is just my testbed for the library.

 - all the documentation is included in the source code as doxygen comments

What will be done (just some upcoming highlights)
 - the library supports only uncompressed CTF sections, this will be one of
my
   steps in the near future. I am still not sure whether to include the zlib
   dependency to the library or keep it outside.

 - only objects that were NOT uniquified against some other object are
   supported - this means we need to have all types in the object. Resolving
   this dependencies has two possibilities: either introduce another
   dependency, the libelf, or keep it outside and just query the user of the
   library for needed data. Keeping it outside will result in more
complicated
   code, making it a dependency may come with compilation issues.

 - there are still 2 more sections, functions and objects, which have to be
   parsed in order to complete the reading part of the API.

 - the library supports only the version 2 of the library (and if there is
no
   real interest in the version 1, it will stay this way)

 - string resolving (names, etc...) depends on the strtab memory, which
needs
   to be fixed - either by strduping all the strings or introducing some
string
   manager

Which improvements have I made when compared to the existing libctf
 - the license

 - documentation of both the format and the code

 - all variables have stdint.h types - this means much much more portability
   compared to their classic int/short types

 - queue(3) for linked lists

Best,
Daniel

[1] https://github.com/lovasko/libctf


More information about the soc-status mailing list