Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== LibElf Status ====== A functional version of libelf is now in %%FreeBSD%% CVS. Development of the libelf test suite continues in Perforce. A work-in-progress "snapshot of the [[/LibElf|LibElf]] tutorial" is available under my %%FreeBSD%%.org home page. ===== Change Logs ===== * %%FreeBSD%% [[http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libelf/|CVSWeb]]. * Perforce [[http://perforce.freebsd.org/changeList.cgi?CMD=changes&FSPC=//depot/user/jkoshy/projects/libbsdelf/...|web interface]]. ===== Downloads ===== * [[http://people.freebsd.org/~jkoshy/download/libelf-patch-2.gz|Patch]] against -current of 10 Nov 2006 ({{libelf/implementationstatus/libelf-patch-2.gz?linkonly|libelf-patch-2.gz}}). Apply with ''%%patch -p1%%'' under ''%%/usr/src%%''. * [[http://people.freebsd.org/~jkoshy/download/libelf-ts.tgz|Test-suite snapshot]] as of 01 Nov 2006. See [[LibElf/TestSuite|LibElf/TestSuite]]. ===== Implementation Status ===== ^ API ^ Implementation ^ Manual Page ^ Test Cases ^ Comments ^ | **Error Handling** ||||| | ''%%elf_errno()%%'' | Y | Y | Y | | | ''%%elf_errmsg()%%'' | Y | Y | Y | | | **Initialization** ||||| | ''%%elf_begin()%%'' | Y | Y | Y | | | ''%%elf_end()%%'' | Y | Y | Partial | | | ''%%elf_memory()%%'' | Y | Y | Y | | | **Archive Access** ||||| | ''%%elf_rand()%%'' | Y | Y | Partial | | | ''%%elf_next()%%'' | Y | Y | Y | | | ''%%elf_getarsym()%%'' | Y | Y | Y | | | ''%%elf_getarhdr()%%'' | Y | Y | Y | | | **ELF Class/Byte order Translation** ||||| | ''%%elf32_xlatetof()%%'' | Y | Y | Y | | | ''%%elf32_xlatetom()%%'' | Y | Y | Y | | | ''%%elf64_xlatetof()%%'' | Y | Y | Y | | | ''%%elf64_xlatetom()%%'' | Y | Y | Y | | | ''%%gelf_xlatetof()%%'' | Y | Y | Y | | | ''%%gelf_xlatetom()%%'' | Y | Y | Y | | | **General Queries** ||||| | ''%%elf_getbase()%%'' | Y | Y | Y | | | ''%%elf_getident()%%'' | Y | Y | Y | | | ''%%elf_getphnum()%%'' | Y | Y | | | | ''%%elf_getshnum()%%'' | Y | Y | Y | | | ''%%elf_getshstrndx()%%'' | Y | Y | Y | | | ''%%elf_hash()%%'' | Y | Y | Y | | | ''%%elf_kind()%%'' | Y | Y | Y | | | ''%%elf_ndxscn()%%'' | Y | Y | Y | | | ''%%elf_rawdata()%%'' | Y | Y | | | | ''%%elf_rawfile()%%'' | Y | Y | Y | | | ''%%elf_version()%%'' | Y | Y | Y | | | ''%%elf32_checksum()%%'' | Y | Y | | | | ''%%elf32_fsize()%%'' | Y | Y | Y | | | ''%%elf64_checksum()%%'' | Y | Y | | | | ''%%elf64_fsize()%%'' | Y | Y | Y | | | ''%%gelf_checksum()%%'' | Y | Y | | | | ''%%gelf_getclass()%%'' | Y | Y | Y | | | ''%%gelf_fsize()%%'' | Y | Y | Y | | | **Elf Headers** ||||| | ''%%elf32_getehdr()%%'' | Y | Y | Y | | | ''%%elf32_getphdr()%%'' | Y | Y | Y | | | ''%%elf32_getshdr()%%'' | Y | Y | Y | | | ''%%elf32_newehdr()%%'' | Y | Y | Y | | | ''%%elf32_newphdr()%%'' | Y | Y | | | | ''%%elf64_getehdr()%%'' | Y | Y | Y | | | ''%%elf64_getphdr()%%'' | Y | Y | Y | | | ''%%elf64_newehdr()%%'' | Y | Y | Y | | | ''%%elf64_newphdr()%%'' | Y | Y | | | | ''%%elf64_getshdr()%%'' | Y | Y | Y | | | ''%%gelf_getehdr()%%'' | Y | Y | Y | | | ''%%gelf_getphdr()%%'' | Y | Y | | | | ''%%gelf_getshdr()%%'' | Y | Y | | | | ''%%gelf_newehdr()%%'' | Y | Y | Y | | | ''%%gelf_newphdr()%%'' | Y | Y | | | | ''%%gelf_update_ehdr()%%'' | Y | Y | | | | ''%%gelf_update_phdr()%%'' | Y | Y | | | | ''%%gelf_update_shdr()%%'' | Y | Y | | | | **Elf Sections** ||||| | ''%%elf_getscn()%%'' | Y | Y | Y | | | ''%%elf_nextscn()%%'' | Y | Y | Y | | | ''%%elf_newscn()%%'' | Y | Y | Y | | | **Elf Data** ||||| | ''%%elf_fill()%%'' | Y | Y | | | | ''%%elf_getdata()%%'' | Y | Y | | | | ''%%elf_newdata()%%'' | Y | Y | | | | ''%%elf_strptr()%%'' | Y | Y | | | | ''%%gelf_getdyn()%%'' | Y | Y | | | | ''%%gelf_getmove()%%'' | Y | Y | | | | ''%%gelf_getrel()%%'' | Y | Y | | | | ''%%gelf_getrela()%%'' | Y | Y | | | | ''%%gelf_getsym()%%'' | Y | Y | | | | ''%%gelf_getsyminfo()%%'' | Y | Y | | | | ''%%gelf_getsymshndx()%%'' | Y | Y | | | | ''%%gelf_update_dyn()%%'' | Y | Y | | | | ''%%gelf_update_move()%%'' | Y | Y | | | | ''%%gelf_update_rel()%%'' | Y | Y | | | | ''%%gelf_update_rela()%%'' | Y | Y | | | | ''%%gelf_update_sym()%%'' | Y | Y | | | | ''%%gelf_update_syminfo()%%'' | Y | Y | | | | ''%%gelf_update_symshndx()%%'' | Y | Y | | | | **I/O Control** ||||| | ''%%elf_cntl()%%'' | Y | Y | Y | | | ''%%elf_flagdata()%%'' | Y | Y | Y | | | ''%%elf_flagehdr()%%'' | Y | Y | Y | | | ''%%elf_flagphdr()%%'' | Y | Y | Y | | | ''%%elf_flagscn()%%'' | Y | Y | Y | | | ''%%elf_flagshdr()%%'' | Y | Y | Y | | | ''%%elf_update()%%'' | Y | Y | Y | | | **API Extensions** ||||| | ''%%elf_setshstrndx()%%'' | Y | Y | | | libelf/implementationstatus.txt Last modified: 2020/10/19 23:08by SashaVigole