Revision: 1341
http://elftoolchain.svn.sourceforge.net/elftoolchain/?rev=1341&view=rev
Author: jkoshy
Date: 2011-01-01 04:28:29 +0000 (Sat, 01 Jan 2011)
Log Message:
-----------
Changes to support processing of BSD-flavor archives:
* A new flag `LIBELF_F_AR_VARIANT_SVR4` signals an SVR4 style archive.
* Use a union in place of the the `e_arhdr` field inside `struct Elf`
descriptors, to track raw and translated ar(1) archive
headers for an archive member.
The `e_rawhdr` field of this union points to the raw
archive header, while the `e_arhdr` field points to the translated
header. A new flag `LIBELF_F_AR_HEADER` is used to keep track of
whether a translated header is available.
* Enhance `elf_next()` and `elf_rand()` to support the traversal of
archives using BSD-style long file names.
* Add support for BSD-flavor archives to `elf_getarhdr()`.
* Add support for BSD-flavor archive symbol tables to `elf_getarsym()`.
Rename the existing `_libelf_ar_process_symtab()` function to
`_libelf_ar_process_svr4_symtab()`; create a new function
`_libelf_ar_process_bsd_symtab()` for handling BSD-flavor
symbol tables.
* Bring a header comment upto-date.
Code cleanups:
* Move declarations related to archive handling to a separate file
`_libelf_ar.h`.
* Rename `_libelf_ar_get_name()` as `_libelf_ar_get_translated_name()`,
and `_libelf_ar_get_string` to `_libelf_ar_get_raw_name()`, to better
match their function.
Other changes:
* `elf_next.c`: remove an assertion that is not valid for BSD style
archives.
* `libelf_ar.c`: Change a few helper functions to use `const`
parameters.
* Update (c) years.
Ticket: #12
Modified Paths:
--------------
trunk/libelf/_libelf.h
trunk/libelf/elf_getarhdr.c
trunk/libelf/elf_getarsym.c
trunk/libelf/elf_next.c
trunk/libelf/libelf_allocate.c
trunk/libelf/libelf_ar.c
trunk/libelf/libelf_ar_util.c
Added Paths:
-----------
trunk/libelf/_libelf_ar.h
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|