libkldelf: add a private library for kernel/kld-related ELF parsing

The libkldelf library was originally a part of kldxref(8). It exposed
ELF parsing helpers specialized in parsing KLDs and the kernel
executable. The library can be used to read metadata such as linker_set,
mod_depend, mod_version and PNP match info, and raw data from the ELF.

To promote the reuse of the facilities the ELF parsing code is separated
from kldxref(8) into a new private library.

kldxref(8) is modified to link against the libkldelf library.

Sponsored by:	Juniper Networks, Inc.
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D46719
This commit is contained in:
Ka Ho Ng
2024-10-08 04:24:07 +00:00
parent 6c711019f2
commit 0a2cfd653e
18 changed files with 67 additions and 25 deletions
+2
View File
@@ -27,6 +27,7 @@ _PRIVATELIBS= \
gtest_main \
heimipcc \
heimipcs \
kldelf \
ldns \
sqlite3 \
ssh \
@@ -312,6 +313,7 @@ _DP_bsnmp= crypto
.endif
_DP_geom= bsdxml sbuf
_DP_cam= sbuf
_DP_kldelf= elf
_DP_kvm= elf
_DP_casper= nv
_DP_cap_dns= nv