Changes between Version 4 and Version 5 of LibElfIncompatibilityRedHatElfUtils
- Timestamp:
- 04/19/12 16:51:36 (13 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
LibElfIncompatibilityRedHatElfUtils
v4 v5 3 3 [[PageOutline]] 4 4 5 == elf_getshnum(), elf_getshstrndx() return value ==5 == 1. (Resolved) elf_getshnum(), elf_getshstrndx() return value == 6 6 7 === Description === 7 8 In our implementation of the ELF(3) API, functions `elf_getshnum()` and `elf_getshstrndx()` return zero in case of an error and non-zero in case of success. This behaviour is consistent with that of the ELF(3) implementations from the [http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sgs/libelf/ OpenSolaris] and [http://www.mr511.de/software/english.html GNU] projects. 8 9 9 10 In contrast, the similarly named functions in Red Hat '''[https://fedorahosted.org/elfutils elfutils]''' return -1 in the case of an error and zero otherwise. 10 11 11 === Status of Proposed Fixes/Workarounds === 12 === Resolution === 13 14 New APIs `elf_getshdrnum()`, `elf_getshdrstrndx()`, and `elf_getphdrnum()` have been added to `libelf`. 15 16 === Timeline of the proposed fixes/workarounds === 12 17 13 18 * (2009/Jun/03) Ali.Bahrami@Sun.COM suggests deprecating `elf_getshnum()`, `elf_getshstrndx()` and `elf_getphnum()` in favour of three new APIs `elf_getshdrnum()`, `elf_getshdrstrndx()`, and `elf_getphdrnum()` respectively. The new functions will return -1 in case of error, and zero otherwise. 14 19 * (2009/Jun/15) See also: Solaris bug [http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6851224 6851224]. 15 20 * (2009/Jun/18) Per discussion on email with Ali Bahrami and Michael Riepe, Opensolaris's Nevada snv_118 build, RH Elfutils 0.142, and GNU libelf 0.8.12 will have the new APIs. 16 * (2009/Aug/04) The three proposed APIs were added to [source:trunk/libelf libelf/] in changeset [466]. 21 * (2009/Aug/04) The three proposed APIs were added to [source:trunk/libelf libelf/] in changeset [466]. These APIs will be present in the [wiki:Releases/Release0.5.1 v0.5] and subsequent releases.