| Both sides previous revision Previous revision Next revision | Previous revision |
| libelf:implementationstatus [2006/11/02 16:05] – update status JosephKoshy | libelf:implementationstatus [2020/10/19 23:08] (current) – Remove 1 broken link. SashaVigole |
|---|
| ====== LibElf Status ====== | ====== 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 ===== | ===== Change Logs ===== |
| * Perforce [http://perforce.freebsd.org/changeList.cgi?CMD=changes&FSPC=//depot/user/jkoshy/projects/libbsdelf/... web interface]. | * %%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 ===== | ===== Downloads ===== |
| |
| * [http://people.freebsd.org/~jkoshy/download/libelf-patch.gz Patch] against -current of 01 Nov 2006. Apply with ''%%patch -p1%%'' under ''%%/usr/src%%''. | * [[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]]. | * [[http://people.freebsd.org/~jkoshy/download/libelf-ts.tgz|Test-suite snapshot]] as of 01 Nov 2006. See [[LibElf/TestSuite|LibElf/TestSuite]]. |
| |
| ===== Implementation Status ===== | ===== Implementation Status ===== |
| | ''%%elf_errmsg()%%'' | Y | Y | Y | | | | ''%%elf_errmsg()%%'' | Y | Y | Y | | |
| | **Initialization** ||||| | | **Initialization** ||||| |
| | ''%%elf_begin()%%'' | Partial | Y | Partial | AR archive handling to be done. | | | ''%%elf_begin()%%'' | Y | Y | Y | | |
| | ''%%elf_end()%%'' | Partial | Y | Partial | See ''%%elf_begin()%%'' | | | ''%%elf_end()%%'' | Y | Y | Partial | | |
| | ''%%elf_memory()%%'' | Y | Y | Y | | | | ''%%elf_memory()%%'' | Y | Y | Y | | |
| | **Archive Access** ||||| | | **Archive Access** ||||| |
| | ''%%elf_rand()%%'' | Partial | Y | Partial | | | | ''%%elf_rand()%%'' | Y | Y | Partial | | |
| | ''%%elf_next()%%'' | Partial | Y | Partial | | | | ''%%elf_next()%%'' | Y | Y | Y | | |
| | ''%%elf_getarsym()%%'' | | Y | | | | | ''%%elf_getarsym()%%'' | Y | Y | Y | | |
| | ''%%elf_getarhdr()%%'' | | Y | | | | | ''%%elf_getarhdr()%%'' | Y | Y | Y | | |
| | **ELF Class/Byte order Translation** ||||| | | **ELF Class/Byte order Translation** ||||| |
| | ''%%elf32_xlatetof()%%'' | Y | Y | Y | | | | ''%%elf32_xlatetof()%%'' | Y | Y | Y | | |
| | ''%%elf_getbase()%%'' | Y | Y | Y | | | | ''%%elf_getbase()%%'' | Y | Y | Y | | |
| | ''%%elf_getident()%%'' | Y | Y | Y | | | | ''%%elf_getident()%%'' | Y | Y | Y | | |
| | ''%%elf_getshnum()%%'' | Y | Y | | | | | ''%%elf_getphnum()%%'' | Y | Y | | | |
| | ''%%elf_getshstrndx()%%'' | Y | Y | | | | | ''%%elf_getshnum()%%'' | Y | Y | Y | | |
| | | ''%%elf_getshstrndx()%%'' | Y | Y | Y | | |
| | ''%%elf_hash()%%'' | Y | Y | Y | | | | ''%%elf_hash()%%'' | Y | Y | Y | | |
| | ''%%elf_kind()%%'' | Y | Y | Y | | | | ''%%elf_kind()%%'' | Y | Y | Y | | |
| | ''%%elf32_getehdr()%%'' | Y | Y | Y | | | | ''%%elf32_getehdr()%%'' | Y | Y | Y | | |
| | ''%%elf32_getphdr()%%'' | Y | Y | Y | | | | ''%%elf32_getphdr()%%'' | Y | Y | Y | | |
| | ''%%elf32_getshdr()%%'' | Y | Y | | | | | ''%%elf32_getshdr()%%'' | Y | Y | Y | | |
| | ''%%elf32_newehdr()%%'' | Y | Y | Y | | | | ''%%elf32_newehdr()%%'' | Y | Y | Y | | |
| | ''%%elf32_newphdr()%%'' | Y | Y | | | | | ''%%elf32_newphdr()%%'' | Y | Y | | | |
| | ''%%elf64_newehdr()%%'' | Y | Y | Y | | | | ''%%elf64_newehdr()%%'' | Y | Y | Y | | |
| | ''%%elf64_newphdr()%%'' | Y | Y | | | | | ''%%elf64_newphdr()%%'' | Y | Y | | | |
| | ''%%elf64_getshdr()%%'' | Y | Y | | | | | ''%%elf64_getshdr()%%'' | Y | Y | Y | | |
| | ''%%gelf_getehdr()%%'' | Y | Y | Y | | | | ''%%gelf_getehdr()%%'' | Y | Y | Y | | |
| | ''%%gelf_getphdr()%%'' | Y | Y | | | | | ''%%gelf_getphdr()%%'' | Y | Y | | | |
| | ''%%elf_strptr()%%'' | Y | Y | | | | | ''%%elf_strptr()%%'' | Y | Y | | | |
| | ''%%gelf_getdyn()%%'' | Y | Y | | | | | ''%%gelf_getdyn()%%'' | Y | Y | | | |
| | ''%%gelf_getmove()%%'' | | Y | | | | | ''%%gelf_getmove()%%'' | Y | Y | | | |
| | ''%%gelf_getrel()%%'' | Y | Y | | | | | ''%%gelf_getrel()%%'' | Y | Y | | | |
| | ''%%gelf_getrela()%%'' | Y | Y | | | | | ''%%gelf_getrela()%%'' | Y | Y | | | |
| | ''%%gelf_getsym()%%'' | Y | Y | | | | | ''%%gelf_getsym()%%'' | Y | Y | | | |
| | ''%%gelf_getsyminfo()%%'' | | Y | | | | | ''%%gelf_getsyminfo()%%'' | Y | Y | | | |
| | | ''%%gelf_getsymshndx()%%'' | Y | Y | | | |
| | ''%%gelf_update_dyn()%%'' | Y | Y | | | | | ''%%gelf_update_dyn()%%'' | Y | Y | | | |
| | ''%%gelf_update_move()%%'' | | Y | | | | | ''%%gelf_update_move()%%'' | Y | Y | | | |
| | ''%%gelf_update_rel()%%'' | Y | Y | | | | | ''%%gelf_update_rel()%%'' | Y | Y | | | |
| | ''%%gelf_update_rela()%%'' | Y | Y | | | | | ''%%gelf_update_rela()%%'' | Y | Y | | | |
| | ''%%gelf_update_sym()%%'' | Y | Y | | | | | ''%%gelf_update_sym()%%'' | Y | Y | | | |
| | ''%%gelf_update_syminfo()%%'' | | Y | | | | | ''%%gelf_update_syminfo()%%'' | Y | Y | | | |
| | | ''%%gelf_update_symshndx()%%'' | Y | Y | | | |
| | **I/O Control** ||||| | | **I/O Control** ||||| |
| | ''%%elf_cntl()%%'' | Y | Y | Y | | | | ''%%elf_cntl()%%'' | Y | Y | Y | | |