Module Name: src
Committed By: riastradh
Date: Mon Apr 1 18:33:24 UTC 2024
Modified Files:
src/external/bsd/elftoolchain/dist/libelf: _libelf_config.h libelf.h
src/external/bsd/elftoolchain/lib/libdwarf: Makefile
src/external/cddl/osnet/dist/lib/libdtrace/common: drti.c dt_module.c
src/external/cddl/osnet/sys: elf.h
src/external/cddl/osnet/sys/sys: elf.h
src/tests/lib/libc/sys: t_ptrace_wait.c
src/tools/ctfconvert: Makefile
src/tools/ctfmerge: Makefile
src/tools/elftoolchain/libdwarf: Makefile
src/tools/elftoolchain/libelf: Makefile
src/tools/libctf: Makefile
src/usr.bin/kdump: Makefile.ioctl-c
src/usr.sbin/tprof: ksyms.c
Log Message:
elftoolchain: Be consistent about which ELF header files we use.
1. For tools that use elftoolchain: always use elftoolchain's
elfdefinitions.h. Don't even think about looking at the host's
sys/exec_elf.h, which makes no sense and should never happen.
(ELF tools that don't use elftoolchain, like m68k-elf2coff,
continue to use nbincludes/sys/exec_elf.h. But no more nbincludes
hacks in elftoolchain.)
2. For kernel components (solaris, zfs, dtrace): always use
sys/exec_elf.h, even in Solaris components via sys/elf.h.
elfdefinitions.h is not wired up in the kernel build at all.
3. For most userland components that involve libelf: use
elfdefinitions.h via libelf header files (libelf.h, gelf.h).
libdtrace in particular requires _all_ R_* reloc type definitions,
but sys/exec_elf.h brings in only the _current machine's_ R_*
reloc type definitions. (While here: Use uintptr_t instead of
Elf_Addr for pointer-to-integer cast, since Elf_Addr is MD and
provided only by sys/exec_elf.h, not by elfdefinitions.h.)
And most userland components using libelf don't rely on any
properties of the current machine from sys/exec_elf.h, so they can
use libelf's elfdefinition.h.
Exceptions:
- dtrace drti.c relies on link.h -> link_elf.h -> sys/exec_elf.h,
but it also relies on sys/dtrace.h -> sys/elf.h ->
elfdefinitions.h like other userland components using sys/elf.h.
- kdump-ioctl.c uses sys/exec_elf.h directly and sys/dtrace.h ->
sys/elf.h -> elfdefinitions like other userland components using
sys/elf.h.
- t_ptrace_wait.c (via t_ptrace_core_wait.h) uses libelf to parse
core files, but relies on sys/exec_elf.h for struct
netbsd_elfcore_procinfo.
None of these exceptions needs all R_* reloc type definitions, so
as a workaround, we can just suppress libelf's elfdefinitions.h by
defining _SYS_ELFDEFINITIONS_H_ and use sys/exec_elf.h in these
exceptions.
And undo the whole BUILTIN_ELF_HEADERS mistake. This was:
- half bogus workarounds for missing build_install dependencies in
tools/Makefile, which are no longer missing now, and
- half futile attempt to use src/sys/sys/exec_elf.h via nbincludes in
tools involving libelf instead of libelf's elfdefinitions.h, which
collides.
Longer-term, we may wish to unify sys/exec_elf.h and libelf's
elfdefinitions.h, so we don't have to play these games.
But at least now the games are limited to three .c files (one of
which is generated by Makefile.ioctl-c), rather than haphazardly
applied tree-wide by monstrous kludges in widely used .h files with
broken hackarounds to get the tools build lurching to completion.
To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/bsd/elftoolchain/dist/libelf/_libelf_config.h \
src/external/bsd/elftoolchain/dist/libelf/libelf.h
cvs rdiff -u -r1.5 -r1.6 src/external/bsd/elftoolchain/lib/libdwarf/Makefile
cvs rdiff -u -r1.8 -r1.9 \
src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c
cvs rdiff -u -r1.18 -r1.19 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
cvs rdiff -u -r1.1 -r1.2 src/external/cddl/osnet/sys/elf.h
cvs rdiff -u -r1.6 -r1.7 src/external/cddl/osnet/sys/sys/elf.h
cvs rdiff -u -r1.191 -r1.192 src/tests/lib/libc/sys/t_ptrace_wait.c
cvs rdiff -u -r1.10 -r1.11 src/tools/ctfconvert/Makefile
cvs rdiff -u -r1.11 -r1.12 src/tools/ctfmerge/Makefile
cvs rdiff -u -r1.6 -r1.7 src/tools/elftoolchain/libdwarf/Makefile
cvs rdiff -u -r1.2 -r1.3 src/tools/elftoolchain/libelf/Makefile
cvs rdiff -u -r1.9 -r1.10 src/tools/libctf/Makefile
cvs rdiff -u -r1.39 -r1.40 src/usr.bin/kdump/Makefile.ioctl-c
cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/tprof/ksyms.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/bsd/elftoolchain/dist/libelf/_libelf_config.h
diff -u src/external/bsd/elftoolchain/dist/libelf/_libelf_config.h:1.6 src/external/bsd/elftoolchain/dist/libelf/_libelf_config.h:1.7
--- src/external/bsd/elftoolchain/dist/libelf/_libelf_config.h:1.6 Sun Mar 3 17:37:33 2024
+++ src/external/bsd/elftoolchain/dist/libelf/_libelf_config.h Mon Apr 1 18:33:22 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: _libelf_config.h,v 1.6 2024/03/03 17:37:33 christos Exp $ */
+/* $NetBSD: _libelf_config.h,v 1.7 2024/04/01 18:33:22 riastradh Exp $ */
/*-
* Copyright (c) 2008-2011 Joseph Koshy
@@ -28,28 +28,6 @@
* Id: _libelf_config.h 3975 2022-04-30 20:10:58Z jkoshy
*/
-#if defined(__NetBSD__) || defined(HAVE_NBTOOL_CONFIG_H)
-
-#include <machine/elf_machdep.h>
-
-#if !defined(ARCH_ELFSIZE)
-#error ARCH_ELFSIZE is not defined.
-#endif
-
-#if ARCH_ELFSIZE == 32
-#define LIBELF_ARCH ELF32_MACHDEP_ID
-#define LIBELF_BYTEORDER ELF32_MACHDEP_ENDIANNESS
-#define LIBELF_CLASS ELFCLASS32
-#define Elf_Note Elf32_Nhdr
-#else
-#define LIBELF_ARCH ELF64_MACHDEP_ID
-#define LIBELF_BYTEORDER ELF64_MACHDEP_ENDIANNESS
-#define LIBELF_CLASS ELFCLASS64
-#define Elf_Note Elf64_Nhdr
-#endif
-
-#endif /* __NetBSD__ || HAVE_NBTOOL_CONFIG_H */
-
/*
* Downstream projects can replace the following placeholder with a custom
* definition of LIBELF_BYTEORDER, if the host's native byte order cannot
@@ -57,7 +35,6 @@
*/
/* @LIBELF-DEFINE-HOST-BYTEORDER@ */
-#ifndef HAVE_NBTOOL_CONFIG_H
#if !defined(LIBELF_BYTEORDER)
/*
@@ -79,4 +56,3 @@
#endif /* defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) */
#endif /* !defined(LIBELF_BYTEORDER) */
-#endif /* HAVE_NBTOOL_CONFIG_H */
Index: src/external/bsd/elftoolchain/dist/libelf/libelf.h
diff -u src/external/bsd/elftoolchain/dist/libelf/libelf.h:1.6 src/external/bsd/elftoolchain/dist/libelf/libelf.h:1.7
--- src/external/bsd/elftoolchain/dist/libelf/libelf.h:1.6 Sun Mar 3 17:37:34 2024
+++ src/external/bsd/elftoolchain/dist/libelf/libelf.h Mon Apr 1 18:33:22 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: libelf.h,v 1.6 2024/03/03 17:37:34 christos Exp $ */
+/* $NetBSD: libelf.h,v 1.7 2024/04/01 18:33:22 riastradh Exp $ */
/*-
* Copyright (c) 2006,2008-2010 Joseph Koshy
@@ -33,26 +33,12 @@
#if HAVE_NBTOOL_CONFIG_H
# include "nbtool_config.h"
-#endif
-
-
-#ifdef BUILTIN_ELF_HEADERS
-# include <sys/types.h>
-# include <stdint.h>
-# include "elfdefinitions.h"
-#elif HAVE_NBTOOL_CONFIG_H
-# include <nbinclude/sys/exec_elf.h>
-#elif defined(__NetBSD__)
-# include <sys/types.h>
-# include <sys/exec_elf.h>
-#elif defined(__FreeBSD__)
-# include <sys/types.h>
-# include <sys/elf32.h>
-# include <sys/elf64.h>
#else
- #error "No valid elf headers"
+# include <sys/types.h>
#endif
+#include "elfdefinitions.h"
+
/* Library private data structures */
typedef struct _Elf Elf;
typedef struct _Elf_Scn Elf_Scn;
Index: src/external/bsd/elftoolchain/lib/libdwarf/Makefile
diff -u src/external/bsd/elftoolchain/lib/libdwarf/Makefile:1.5 src/external/bsd/elftoolchain/lib/libdwarf/Makefile:1.6
--- src/external/bsd/elftoolchain/lib/libdwarf/Makefile:1.5 Sun Mar 3 17:37:34 2024
+++ src/external/bsd/elftoolchain/lib/libdwarf/Makefile Mon Apr 1 18:33:23 2024
@@ -82,7 +82,6 @@ GENSRCS= dwarf_pubnames.c dwarf_pubtypes
dwarf_pro_funcs.c dwarf_pro_types.c \
dwarf_pro_vars.c
CLEANFILES= ${GENSRCS}
-CPPFLAGS+= -DBUILTIN_ELF_HEADERS
CPPFLAGS+= -I. -I${SRCDIR} -I${TOP}/common -I${TOP}/libelf
LIBDPLIBS+= elf ${.CURDIR}/../libelf
Index: src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c:1.8 src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c:1.9
--- src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c:1.8 Mon May 28 21:05:05 2018
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c Mon Apr 1 18:33:23 2024
@@ -24,6 +24,25 @@
* Use is subject to license terms.
*/
+/*
+ * XXX Hack: Force the use of sys/exec_elf.h, not elfdefinitions.h.
+ * Why?
+ *
+ * - sys/dtrace.h is needed because (XXX why?).
+ * => sys/dtrace.h pulls in sys/ctf_api.h
+ * => which pulls in sys/elf.h
+ * => which pulls in elfdefinitions.h (XXX should it?)
+ *
+ * - link.h is needed for Link_map.
+ * => link.h pulls in link_elf.h
+ * => which pulls in sys/exec_elf.h
+ *
+ * But elfdefinitions.h and sys/exec_elf.h collide over most basic ELF
+ * definitions. Since we don't need elfdefinitions.h otherwise, prefer
+ * sys/exec_elf.h.
+ */
+#define _SYS_ELFDEFINITIONS_H_
+
#include <unistd.h>
#include <fcntl.h>
#include <dlfcn.h>
Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.18 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.19
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.18 Wed Feb 12 01:10:08 2020
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c Mon Apr 1 18:33:23 2024
@@ -125,7 +125,7 @@ dt_module_syminit32(dt_module_t *dmp)
dmp->dm_sec_offsets[sym->st_shndx];
#endif
#ifdef __NetBSD__
- sym->st_value += (Elf_Addr) dmp->dm_reloc_offset;
+ sym->st_value += (uintptr_t) dmp->dm_reloc_offset;
#endif
}
@@ -177,7 +177,7 @@ dt_module_syminit64(dt_module_t *dmp)
dmp->dm_sec_offsets[sym->st_shndx];
#endif
#ifdef __NetBSD__
- sym->st_value += (Elf_Addr) dmp->dm_reloc_offset;
+ sym->st_value += (uintptr_t) dmp->dm_reloc_offset;
#endif
}
Index: src/external/cddl/osnet/sys/elf.h
diff -u src/external/cddl/osnet/sys/elf.h:1.1 src/external/cddl/osnet/sys/elf.h:1.2
--- src/external/cddl/osnet/sys/elf.h:1.1 Sun Feb 21 01:46:35 2010
+++ src/external/cddl/osnet/sys/elf.h Mon Apr 1 18:33:23 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: elf.h,v 1.1 2010/02/21 01:46:35 darran Exp $ */
+/* $NetBSD: elf.h,v 1.2 2024/04/01 18:33:23 riastradh Exp $ */
/*-
* Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -30,9 +30,11 @@
#define _ELF_H_
#if HAVE_NBTOOL_CONFIG_H
-#include <nbinclude/sys/exec_elf.h>
+# include "nbtool_config.h"
#else
-#include <sys/exec_elf.h>
+# include <sys/types.h>
#endif
+#include "elfdefinitions.h"
+
#endif
Index: src/external/cddl/osnet/sys/sys/elf.h
diff -u src/external/cddl/osnet/sys/sys/elf.h:1.6 src/external/cddl/osnet/sys/sys/elf.h:1.7
--- src/external/cddl/osnet/sys/sys/elf.h:1.6 Mon May 28 21:05:10 2018
+++ src/external/cddl/osnet/sys/sys/elf.h Mon Apr 1 18:33:23 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: elf.h,v 1.6 2018/05/28 21:05:10 chs Exp $ */
+/* $NetBSD: elf.h,v 1.7 2024/04/01 18:33:23 riastradh Exp $ */
/*
* CDDL HEADER START
@@ -30,12 +30,25 @@
#define _SYS__ELF_SOLARIS_H_
#if HAVE_NBTOOL_CONFIG_H
-#include <nbinclude/sys/exec_elf.h>
+# include "nbtool_config.h"
#else
-#include <sys/exec_elf.h>
+# include <sys/types.h>
+#endif
+
+/*
+ * XXX In the kernel (e.g., zfs module build, or anything else using
+ * sys/dtrace.h -> sys/ctf_api.h -> sys/elf.h), sys/elfdefinitions.h
+ * isn't available -- it's a header file for the userland libelf. We
+ * could maybe make it available, but sys/exec_elf.h -- which would
+ * collide with sys/elfdefinitions.h -- provides all the definitions
+ * users need, so we'll just use that for now.
+ */
+#ifdef _KERNEL
+# include <sys/exec_elf.h>
+#else
+# include <sys/elfdefinitions.h>
#endif
-#define SHT_SUNW_dof 0x6ffffff4
#define EM_AMD64 EM_X86_64
#define __ELF_WORD_SIZE ELFSIZE
Index: src/tests/lib/libc/sys/t_ptrace_wait.c
diff -u src/tests/lib/libc/sys/t_ptrace_wait.c:1.191 src/tests/lib/libc/sys/t_ptrace_wait.c:1.192
--- src/tests/lib/libc/sys/t_ptrace_wait.c:1.191 Tue May 5 02:06:08 2020
+++ src/tests/lib/libc/sys/t_ptrace_wait.c Mon Apr 1 18:33:23 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: t_ptrace_wait.c,v 1.191 2020/05/05 02:06:08 kamil Exp $ */
+/* $NetBSD: t_ptrace_wait.c,v 1.192 2024/04/01 18:33:23 riastradh Exp $ */
/*-
* Copyright (c) 2016, 2017, 2018, 2019, 2020 The NetBSD Foundation, Inc.
@@ -26,8 +26,23 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+ * XXX Hack: Force the use of sys/exec_elf.h, not elfdefinitions.h.
+ * Why?
+ *
+ * - libelf.h and gelf.h are needed for parsing core files in
+ * t_ptrace_core_wait.h.
+ *
+ * - sys/exec_elf.h is needed for struct netbsd_elfcore_procinfo also
+ * in t_ptrace_core_wait.h.
+ *
+ * libelf.h and gelf.h pull in elfdefinitions.h, but that conflicts
+ * with sys/exec_elf.h on most basic ELF definitions.
+ */
+#define _SYS_ELFDEFINITIONS_H_
+
#include <sys/cdefs.h>
-__RCSID("$NetBSD: t_ptrace_wait.c,v 1.191 2020/05/05 02:06:08 kamil Exp $");
+__RCSID("$NetBSD: t_ptrace_wait.c,v 1.192 2024/04/01 18:33:23 riastradh Exp $");
#define __LEGACY_PT_LWPINFO
Index: src/tools/ctfconvert/Makefile
diff -u src/tools/ctfconvert/Makefile:1.10 src/tools/ctfconvert/Makefile:1.11
--- src/tools/ctfconvert/Makefile:1.10 Mon Apr 18 19:40:06 2022
+++ src/tools/ctfconvert/Makefile Mon Apr 1 18:33:23 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.10 2022/04/18 19:40:06 jkoshy Exp $
+# $NetBSD: Makefile,v 1.11 2024/04/01 18:33:23 riastradh Exp $
.include <bsd.hostinit.mk>
@@ -37,7 +37,8 @@ HOST_CPPFLAGS+= -I${OSNETDIR}/sys \
-I${OPENSOLARIS_DISTDIR}/tools/ctf/cvt \
-I${OPENSOLARIS_DISTDIR}/uts/common \
-I${LIBELF_DIR} \
- -I${LIBDWARF_DIR}
+ -I${LIBDWARF_DIR} \
+ -I${TOOLDIR}/include
HOST_CPPFLAGS+= -DHAVE_NBTOOL_CONFIG_H=1
@@ -57,5 +58,4 @@ DPADD+= ${ELFOBJ}/libelf.a
.PATH: ${OPENSOLARIS_DISTDIR}/tools/ctf/common
.PATH: ${OPENSOLARIS_DISTDIR}/tools/ctf/cvt
-.include "${.CURDIR}/../Makefile.nbincludes"
.include "${.CURDIR}/../Makefile.host"
Index: src/tools/ctfmerge/Makefile
diff -u src/tools/ctfmerge/Makefile:1.11 src/tools/ctfmerge/Makefile:1.12
--- src/tools/ctfmerge/Makefile:1.11 Mon Apr 18 19:40:06 2022
+++ src/tools/ctfmerge/Makefile Mon Apr 1 18:33:23 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.11 2022/04/18 19:40:06 jkoshy Exp $
+# $NetBSD: Makefile,v 1.12 2024/04/01 18:33:23 riastradh Exp $
.include <bsd.hostinit.mk>
@@ -17,7 +17,8 @@ HOST_CPPFLAGS+= -I${OSNETDIR}/sys \
-I${OPENSOLARIS_DISTDIR}/tools/ctf/cvt \
-I${OPENSOLARIS_DISTDIR}/uts/common \
-I${LIBELF_DIR} \
- -I${LIBDWARF_DIR}
+ -I${LIBDWARF_DIR} \
+ -I${TOOLDIR}/include
HOST_CPPFLAGS+= -DHAVE_NBTOOL_CONFIG_H=1
@@ -37,5 +38,4 @@ HOST_CFLAGS+= -pthread
.PATH: ${OPENSOLARIS_DISTDIR}/tools/ctf/common
.PATH: ${OPENSOLARIS_DISTDIR}/tools/ctf/cvt
-.include "${.CURDIR}/../Makefile.nbincludes"
.include "${.CURDIR}/../Makefile.host"
Index: src/tools/elftoolchain/libdwarf/Makefile
diff -u src/tools/elftoolchain/libdwarf/Makefile:1.6 src/tools/elftoolchain/libdwarf/Makefile:1.7
--- src/tools/elftoolchain/libdwarf/Makefile:1.6 Sat Mar 30 22:39:53 2024
+++ src/tools/elftoolchain/libdwarf/Makefile Mon Apr 1 18:33:23 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.6 2024/03/30 22:39:53 riastradh Exp $
+# $NetBSD: Makefile,v 1.7 2024/04/01 18:33:23 riastradh Exp $
HOSTLIB=dwarf
@@ -73,12 +73,11 @@ COMPATLIB_NO_LIB= yes # only the include
LIBDWARF_OBJDIR!= cd ${.CURDIR} && ${PRINTOBJDIR}
-CPPFLAGS+= -DBUILTIN_ELF_HEADERS
CPPFLAGS+= -I${.CURDIR}/../../compat
CPPFLAGS+= -I${.CURDIR}/../../common
CPPFLAGS+= -I${LIBDWARF_OBJDIR}/../common
CPPFLAGS+= -I${LIBDWARF_DIR} -I${LIBELF_DIR} -I${COMMON_DIR}
-CPPFLAGS+= -I${TOOLDIR}/include -I${TOOLDIR}/include/nbinclude
+CPPFLAGS+= -I${TOOLDIR}/include
BUILD_OSTYPE!= uname -s
Index: src/tools/elftoolchain/libelf/Makefile
diff -u src/tools/elftoolchain/libelf/Makefile:1.2 src/tools/elftoolchain/libelf/Makefile:1.3
--- src/tools/elftoolchain/libelf/Makefile:1.2 Sun Mar 3 17:37:58 2024
+++ src/tools/elftoolchain/libelf/Makefile Mon Apr 1 18:33:24 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2024/03/03 17:37:58 christos Exp $
+# $NetBSD: Makefile,v 1.3 2024/04/01 18:33:24 riastradh Exp $
HOSTLIB= elf
@@ -54,7 +54,7 @@ CLEANFILES+= ${LIBELF_GENSRCS}
CPPFLAGS+= -I${.CURDIR}/../../compat
CPPFLAGS+= -I${LIBELF_DIR} -I${LIBELF_DIR}/../common
CPPFLAGS+= -I${LIBELF_OBJDIR}/../common
-CPPFLAGS+= -I${TOOLDIR}/include -I${TOOLDIR}/include/nbinclude
+CPPFLAGS+= -I${TOOLDIR}/include
CPPFLAGS+= -DLIBELF_TEST_HOOKS
Index: src/tools/libctf/Makefile
diff -u src/tools/libctf/Makefile:1.9 src/tools/libctf/Makefile:1.10
--- src/tools/libctf/Makefile:1.9 Tue May 3 10:50:42 2022
+++ src/tools/libctf/Makefile Mon Apr 1 18:33:24 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.9 2022/05/03 10:50:42 jkoshy Exp $
+# $NetBSD: Makefile,v 1.10 2024/04/01 18:33:24 riastradh Exp $
HOSTLIB= ctf
@@ -62,5 +62,4 @@ ${TOOLDIR}/lib/libctf.a:: libctf.a
mkdir -p ${TOOLDIR}/lib
${HOST_INSTALL_FILE} -m ${BINMODE} libctf.a ${.TARGET}
-.include "${.CURDIR}/../Makefile.nbincludes"
.include <bsd.hostlib.mk>
Index: src/usr.bin/kdump/Makefile.ioctl-c
diff -u src/usr.bin/kdump/Makefile.ioctl-c:1.39 src/usr.bin/kdump/Makefile.ioctl-c:1.40
--- src/usr.bin/kdump/Makefile.ioctl-c:1.39 Sat Nov 12 02:20:16 2022
+++ src/usr.bin/kdump/Makefile.ioctl-c Mon Apr 1 18:33:24 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.ioctl-c,v 1.39 2022/11/12 02:20:16 mrg Exp $
+# $NetBSD: Makefile.ioctl-c,v 1.40 2024/04/01 18:33:24 riastradh Exp $
# NOTE: <bsd.own.mk> needs to be previously .included for NETBSDSRCDIR
@@ -63,6 +63,7 @@ CPPFLAGS+= -D__SAVAGE_DRM_H__ # Dup ioct
#CPPFLAGS+= -D__RADEON_DRM_H__ # Dup ioctls
CPPFLAGS+= -D__MACH64_DRM_H__ # Dup ioctls
CPPFLAGS+= -D__MGA_DRM_H__ # Dup ioctls
+CPPFLAGS+= -D_SYS_ELFDEFINITIONS_H_ # collides with sys/exec_elf.h
${PROG}-ioctl.c: mkioctls Makefile ${DEPFILES} ${SETFILES}
${_MKTARGET_CREATE}
Index: src/usr.sbin/tprof/ksyms.c
diff -u src/usr.sbin/tprof/ksyms.c:1.2 src/usr.sbin/tprof/ksyms.c:1.3
--- src/usr.sbin/tprof/ksyms.c:1.2 Thu Dec 1 00:43:27 2022
+++ src/usr.sbin/tprof/ksyms.c Mon Apr 1 18:33:24 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: ksyms.c,v 1.2 2022/12/01 00:43:27 ryo Exp $ */
+/* $NetBSD: ksyms.c,v 1.3 2024/04/01 18:33:24 riastradh Exp $ */
/*
* Copyright (c) 2010,2011,2012 YAMAMOTO Takashi,
@@ -28,7 +28,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: ksyms.c,v 1.2 2022/12/01 00:43:27 ryo Exp $");
+__RCSID("$NetBSD: ksyms.c,v 1.3 2024/04/01 18:33:24 riastradh Exp $");
#endif /* not lint */
#include <assert.h>
@@ -118,7 +118,7 @@ ksymload(size_t *nsymp)
if (st == NULL) {
goto elffail;
}
- if (ELF_ST_TYPE(st->st_info) != STT_FUNC) {
+ if (GELF_ST_TYPE(st->st_info) != STT_FUNC) {
continue;
}
sym = emalloc(sizeof(*sym));