Page MenuHomeFreeBSD

D46719.id143643.diff
No OneTemporary

D46719.id143643.diff

diff --git a/Makefile.inc1 b/Makefile.inc1
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -2509,8 +2509,14 @@
_bt_libelf_depend=${_bt}-lib/libelf
.endif
+.if ${BOOTSTRAPPING} < 1500024
+_libkldelf= lib/libkldelf
+${_bt}-lib/libkldelf: ${_bt_libelf_depend}
+_bt_libkldelf_depend=${_bt}-lib/libkldelf
+.endif
+
_kldxref= usr.sbin/kldxref
-${_bt}-usr.sbin/kldxref: ${_bt_libelf_depend}
+${_bt}-usr.sbin/kldxref: ${_bt_libelf_depend} ${_bt_libkldelf_depend}
# flua is required to regenerate syscall files. It first appeared during the
# 13.0-CURRENT cycle, thus needs to be built on -older releases and stable
@@ -2773,6 +2779,7 @@
${_cat} \
${_kbdcontrol} \
${_elftoolchain_libs} \
+ ${_libkldelf} \
${_kldxref} \
lib/libopenbsd \
usr.bin/mandoc \
@@ -3216,7 +3223,8 @@
lib/libfigpar \
${_lib_libgssapi} \
lib/libjail \
- lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \
+ lib/libkiconv lib/libkldelf lib/libkvm \
+ lib/liblzma lib/libmd lib/libnv \
lib/libzstd \
${_lib_casper} \
lib/ncurses/tinfo \
@@ -3251,6 +3259,7 @@
.endif
lib/libgeom__L: lib/libexpat__L lib/libsbuf__L
+lib/libkldelf__L: lib/libelf__L
lib/libkvm__L: lib/libelf__L
.if ${MK_RADIUS_SUPPORT} != "no"
diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist
--- a/etc/mtree/BSD.usr.dist
+++ b/etc/mtree/BSD.usr.dist
@@ -26,6 +26,8 @@
..
..
..
+ kldelf
+ ..
sqlite3
..
ucl
diff --git a/lib/Makefile b/lib/Makefile
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -66,6 +66,7 @@
libiscsiutil \
libjail \
libkiconv \
+ libkldelf \
libkvm \
liblua \
liblzma \
diff --git a/lib/libkldelf/Makefile b/lib/libkldelf/Makefile
new file mode 100644
--- /dev/null
+++ b/lib/libkldelf/Makefile
@@ -0,0 +1,20 @@
+.include <bsd.own.mk>
+
+PACKAGE= runtime
+LIB= kldelf
+PRIVATELIB= yes
+
+SRCS= ef.c ef_obj.c elf.c \
+ ef_aarch64.c \
+ ef_arm.c \
+ ef_amd64.c \
+ ef_i386.c \
+ ef_mips.c \
+ ef_powerpc.c \
+ ef_riscv.c
+INCS= kldelf.h
+WARNS?= 2
+
+LIBADD= elf
+
+.include <bsd.lib.mk>
diff --git a/usr.sbin/kldxref/ef.c b/lib/libkldelf/ef.c
rename from usr.sbin/kldxref/ef.c
rename to lib/libkldelf/ef.c
--- a/usr.sbin/kldxref/ef.c
+++ b/lib/libkldelf/ef.c
@@ -41,7 +41,7 @@
#include <stdlib.h>
#include <string.h>
-#include "ef.h"
+#include "kldelf.h"
#define MAXSEGS 16
struct ef_file {
diff --git a/usr.sbin/kldxref/ef_aarch64.c b/lib/libkldelf/ef_aarch64.c
rename from usr.sbin/kldxref/ef_aarch64.c
rename to lib/libkldelf/ef_aarch64.c
--- a/usr.sbin/kldxref/ef_aarch64.c
+++ b/lib/libkldelf/ef_aarch64.c
@@ -31,7 +31,7 @@
#include <errno.h>
#include <gelf.h>
-#include "ef.h"
+#include "kldelf.h"
/*
* Apply relocations to the values obtained from the file. `relbase' is the
diff --git a/usr.sbin/kldxref/ef_amd64.c b/lib/libkldelf/ef_amd64.c
rename from usr.sbin/kldxref/ef_amd64.c
rename to lib/libkldelf/ef_amd64.c
--- a/usr.sbin/kldxref/ef_amd64.c
+++ b/lib/libkldelf/ef_amd64.c
@@ -33,7 +33,7 @@
#include <errno.h>
#include <gelf.h>
-#include "ef.h"
+#include "kldelf.h"
/*
* Apply relocations to the values obtained from the file. `relbase' is the
diff --git a/usr.sbin/kldxref/ef_arm.c b/lib/libkldelf/ef_arm.c
rename from usr.sbin/kldxref/ef_arm.c
rename to lib/libkldelf/ef_arm.c
--- a/usr.sbin/kldxref/ef_arm.c
+++ b/lib/libkldelf/ef_arm.c
@@ -34,7 +34,7 @@
#include <errno.h>
#include <gelf.h>
-#include "ef.h"
+#include "kldelf.h"
/*
* Apply relocations to the values obtained from the file. `relbase' is the
diff --git a/usr.sbin/kldxref/ef_i386.c b/lib/libkldelf/ef_i386.c
rename from usr.sbin/kldxref/ef_i386.c
rename to lib/libkldelf/ef_i386.c
--- a/usr.sbin/kldxref/ef_i386.c
+++ b/lib/libkldelf/ef_i386.c
@@ -33,7 +33,7 @@
#include <errno.h>
#include <gelf.h>
-#include "ef.h"
+#include "kldelf.h"
/*
* Apply relocations to the values obtained from the file. `relbase' is the
diff --git a/usr.sbin/kldxref/ef_mips.c b/lib/libkldelf/ef_mips.c
rename from usr.sbin/kldxref/ef_mips.c
rename to lib/libkldelf/ef_mips.c
--- a/usr.sbin/kldxref/ef_mips.c
+++ b/lib/libkldelf/ef_mips.c
@@ -36,7 +36,7 @@
#include <errno.h>
#include <gelf.h>
-#include "ef.h"
+#include "kldelf.h"
/*
* Apply relocations to the values obtained from the file. `relbase' is the
diff --git a/usr.sbin/kldxref/ef_obj.c b/lib/libkldelf/ef_obj.c
rename from usr.sbin/kldxref/ef_obj.c
rename to lib/libkldelf/ef_obj.c
--- a/usr.sbin/kldxref/ef_obj.c
+++ b/lib/libkldelf/ef_obj.c
@@ -43,7 +43,7 @@
#include <stdlib.h>
#include <string.h>
-#include "ef.h"
+#include "kldelf.h"
typedef struct {
GElf_Addr addr;
diff --git a/usr.sbin/kldxref/ef_powerpc.c b/lib/libkldelf/ef_powerpc.c
rename from usr.sbin/kldxref/ef_powerpc.c
rename to lib/libkldelf/ef_powerpc.c
--- a/usr.sbin/kldxref/ef_powerpc.c
+++ b/lib/libkldelf/ef_powerpc.c
@@ -33,7 +33,7 @@
#include <errno.h>
#include <gelf.h>
-#include "ef.h"
+#include "kldelf.h"
/*
* Apply relocations to the values obtained from the file. `relbase' is the
diff --git a/usr.sbin/kldxref/ef_riscv.c b/lib/libkldelf/ef_riscv.c
rename from usr.sbin/kldxref/ef_riscv.c
rename to lib/libkldelf/ef_riscv.c
--- a/usr.sbin/kldxref/ef_riscv.c
+++ b/lib/libkldelf/ef_riscv.c
@@ -36,7 +36,7 @@
#include <errno.h>
#include <gelf.h>
-#include "ef.h"
+#include "kldelf.h"
/*
* Apply relocations to the values obtained from the file. `relbase' is the
diff --git a/usr.sbin/kldxref/elf.c b/lib/libkldelf/elf.c
rename from usr.sbin/kldxref/elf.c
rename to lib/libkldelf/elf.c
--- a/usr.sbin/kldxref/elf.c
+++ b/lib/libkldelf/elf.c
@@ -44,7 +44,7 @@
#include <string.h>
#include <unistd.h>
-#include "ef.h"
+#include "kldelf.h"
SET_DECLARE(elf_reloc, struct elf_reloc_data);
diff --git a/usr.sbin/kldxref/ef.h b/lib/libkldelf/kldelf.h
rename from usr.sbin/kldxref/ef.h
rename to lib/libkldelf/kldelf.h
--- a/usr.sbin/kldxref/ef.h
+++ b/lib/libkldelf/kldelf.h
@@ -32,8 +32,8 @@
* SUCH DAMAGE.
*/
-#ifndef _EF_H_
-#define _EF_H_
+#ifndef _KLDELF_H_
+#define _KLDELF_H_
#include <sys/linker_set.h>
#include <stdbool.h>
@@ -312,4 +312,4 @@
__END_DECLS
-#endif /* _EF_H_*/
+#endif /* _KLDELF_H_*/
diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
--- a/share/mk/src.libnames.mk
+++ b/share/mk/src.libnames.mk
@@ -27,6 +27,7 @@
gtest_main \
heimipcc \
heimipcs \
+ kldelf \
ldns \
sqlite3 \
ssh \
@@ -312,6 +313,7 @@
.endif
_DP_geom= bsdxml sbuf
_DP_cam= sbuf
+_DP_kldelf= elf
_DP_kvm= elf
_DP_casper= nv
_DP_cap_dns= nv
diff --git a/sys/sys/param.h b/sys/sys/param.h
--- a/sys/sys/param.h
+++ b/sys/sys/param.h
@@ -73,7 +73,7 @@
* cannot include sys/param.h and should only be updated here.
*/
#undef __FreeBSD_version
-#define __FreeBSD_version 1500023
+#define __FreeBSD_version 1500024
/*
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
diff --git a/tools/build/Makefile b/tools/build/Makefile
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -417,6 +417,7 @@
bin \
lib/geom \
usr/include/casper \
+ usr/include/private/kldelf \
usr/include/private/ucl \
usr/include/private/zstd \
usr/lib \
diff --git a/usr.sbin/kldxref/Makefile b/usr.sbin/kldxref/Makefile
--- a/usr.sbin/kldxref/Makefile
+++ b/usr.sbin/kldxref/Makefile
@@ -1,17 +1,12 @@
PACKAGE= runtime
PROG= kldxref
MAN= kldxref.8
-SRCS= kldxref.c ef.c ef_obj.c elf.c
-SRCS+= ef_aarch64.c \
- ef_arm.c \
- ef_amd64.c \
- ef_i386.c \
- ef_mips.c \
- ef_powerpc.c \
- ef_riscv.c
+SRCS= kldxref.c
+
+CFLAGS+=-I${SRCTOP}/lib/libkldelf
WARNS?= 2
-LIBADD= elf
+LIBADD= elf kldelf
.include <bsd.prog.mk>
diff --git a/usr.sbin/kldxref/kldxref.c b/usr.sbin/kldxref/kldxref.c
--- a/usr.sbin/kldxref/kldxref.c
+++ b/usr.sbin/kldxref/kldxref.c
@@ -51,7 +51,7 @@
#include <string.h>
#include <unistd.h>
-#include "ef.h"
+#include <kldelf.h>
#define MAXRECSIZE (64 << 10) /* 64k */
#define check(val) if ((error = (val)) != 0) break

File Metadata

Mime Type
text/plain
Expires
Wed, Jan 21, 12:10 PM (2 h, 25 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27802770
Default Alt Text
D46719.id143643.diff (7 KB)

Event Timeline