Menu

/trunk/libdwarf/libdwarf_elf_init.c Commit Log


Commit Date  
[r1034] (7.8 kB) by kaiwang27

Do not modify the Elf_Data->d_buf buffer directly when applying
Elf_Rela relocation records, allocate another buffer to hold the
modified section data instead. The benefit is that when application is
sharing the ELF descriptor with libdwarf, it will have untouched
Elf_Data buffers.

2010-07-11 23:23:38 View
Download
[r1032] (7.4 kB) by kaiwang27

* Add global flag `applyrela` which controls whether libdwarf applies Elf_Rela
relocation records for DWARF debugging section before parsing. The flag is set
to 1 by default.
* Implement SGI libdwarf API dwarf_set_reloc_application() which is used to
set/clear the `applyrela` global flag.

2010-07-10 19:58:20 View
Download
[r972] (7.4 kB) by kaiwang27

* Add function _dwarf_get_reloc_size() which returns the size of the storage
unit to be relocated, based on architecture and relocation type.
* When applying RELA addend to relocatable objects, the size of the
storage unit to apply is not neccessarily the address size of the
target architecture. Instead, we should call _dwarf_get_reloc_size()
to get the correct size.

2010-05-28 22:03:50 View
Download
[r921] (7.3 kB) by jkoshy

Changes to error handling [part 2 of 2].

* Change macro `DWARF_SET_ERROR()` to take a `Dwarf_Debug` debug context
in its 1st argument. If a `Dwarf_Debug` debug context is unavailable
at the point an error has to be recorded, we use NULL. Actual error
handling is implemented by function `_dwarf_set_error()`.
* Change a few internal helper functions to take an additional Dwarf_Debug
parameter, for use with `DWARF_SET_ERROR()`.
* Replace the redundant use of `DWARF_SET_ERROR()` in `_dwarf_die_add()`
with `assert()`s; parameters `cu` and `abbrev` cannot be NULL if control
has reached this function. While we are here make the function "static".
* Use `DWARF_SET_ERROR()` consistently after a failed called to
`_dwarf_attr_find()`.

Reviewed and revised by: kaiwang27

2010-05-01 09:35:22 View
Download
[r813] (7.2 kB) by kaiwang27

Renamed DWARF_E_ELF to DW_DLE_ELF. Note that unlike SGI libdwarf, we
still don't have DW_DLE_ELF_BEGIN_ERROR, DW_DLE_ELF_GETEHDR_ERROR,
DW_DLE_ELF_GETSHDR_ERROR... These error codes can be obtained from
libelf and I don't think we should duplicate them in libdwarf.

2010-03-14 19:24:49 View
Download
[r811] (7.3 kB) by kaiwang27

Renamed DWARF_E_MEMORY to DW_DLE_MEMORY.

Ticket: #20

2010-03-14 18:53:39 View
Download
[r809] (7.3 kB) by kaiwang27

Substitute DWARF_E_NONE with DW_DLE_NONE.

Ticket: #20

2010-03-14 18:23:37 View
Download
[r783] (7.3 kB) by jkoshy

Remove redundant inclusions of system headers.

This change allows `libdwarf` to build on FreeBSD 6.

Reviewed by: kaiwang27

2010-03-13 04:12:56 View
Download
[r547] (7.3 kB) by kaiwang27

Fix compatibility issue with SGI libdwarf: Do not call elf_end() in
dwarf_finish() even if the library allocated Elf descriptor eariler by
itself.

Discussed with: jkoshy

2009-12-13 09:48:23 View
Download
[r500] (7.4 kB) by kaiwang27

- Implement dwarf_object_init and dwarf_object_finish.
- Reworked internal init/deinit functions.

2009-08-30 17:28:32 View
Download
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.