On Wed, Aug 07, 2024 at 01:04:29PM GMT, Greg Kroah-Hartman wrote: > On Wed, Aug 07, 2024 at 01:09:22AM +0200, Daniel Gomez via B4 Relay wrote: > > From: Daniel Gomez <da.gomez@xxxxxxxxxxx> > > > > Add a copy of elf/elf.h header from the GNU C Library (glibc), version > > glibc-2.40 into include/elf. Update Makefiles where elf.h header is used > > to ensure the compiler can find all necessary headers, for macOS host > > where these headers are not provided by the system. > > > > Signed-off-by: Daniel Gomez <da.gomez@xxxxxxxxxxx> > > --- > > arch/arm64/kernel/pi/Makefile | 1 + > > arch/arm64/kernel/vdso32/Makefile | 1 + > > arch/arm64/kvm/hyp/nvhe/Makefile | 2 +- > > include/elf/elf.h | 4491 +++++++++++++++++++++++++++++++++++++ > > scripts/Makefile | 3 +- > > scripts/mod/Makefile | 6 + > > 6 files changed, 4502 insertions(+), 2 deletions(-) > > > > diff --git a/arch/arm64/kernel/pi/Makefile b/arch/arm64/kernel/pi/Makefile > > index 4d11a8c29181..eb782aaa6585 100644 > > --- a/arch/arm64/kernel/pi/Makefile > > +++ b/arch/arm64/kernel/pi/Makefile > > @@ -20,6 +20,7 @@ KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_SCS), $(KBUILD_CFLAGS)) > > KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_LTO), $(KBUILD_CFLAGS)) > > > > hostprogs := relacheck > > +HOSTCFLAGS_relacheck.o = -I$(srctree)/include/elf > > > > quiet_cmd_piobjcopy = $(quiet_cmd_objcopy) > > cmd_piobjcopy = $(cmd_objcopy) && $(obj)/relacheck $(@) $(<) > > diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile > > index 25a2cb6317f3..e1ac384e6332 100644 > > --- a/arch/arm64/kernel/vdso32/Makefile > > +++ b/arch/arm64/kernel/vdso32/Makefile > > @@ -107,6 +107,7 @@ VDSO_LDFLAGS += --orphan-handling=$(CONFIG_LD_ORPHAN_WARN_LEVEL) > > # $(hostprogs) with $(obj) > > munge := ../../../arm/vdso/vdsomunge > > hostprogs := $(munge) > > +HOSTCFLAGS_$(munge).o = -I$(objtree)/include/elf > > > > c-obj-vdso := note.o > > c-obj-vdso-gettimeofday := vgettimeofday.o > > diff --git a/arch/arm64/kvm/hyp/nvhe/Makefile b/arch/arm64/kvm/hyp/nvhe/Makefile > > index 782b34b004be..40541c0812bf 100644 > > --- a/arch/arm64/kvm/hyp/nvhe/Makefile > > +++ b/arch/arm64/kvm/hyp/nvhe/Makefile > > @@ -15,7 +15,7 @@ ccflags-y += -fno-stack-protector \ > > $(DISABLE_STACKLEAK_PLUGIN) > > > > hostprogs := gen-hyprel > > -HOST_EXTRACFLAGS += -I$(objtree)/include > > +HOST_EXTRACFLAGS += -I$(objtree)/include -I$(srctree)/include/elf > > > > lib-objs := clear_page.o copy_page.o memcpy.o memset.o > > lib-objs := $(addprefix ../../../lib/, $(lib-objs)) > > diff --git a/include/elf/elf.h b/include/elf/elf.h > > new file mode 100644 > > index 000000000000..33aea7f743b8 > > --- /dev/null > > +++ b/include/elf/elf.h > > @@ -0,0 +1,4491 @@ > > +/* This file defines standard ELF types, structures, and macros. > > + Copyright (C) 1995-2024 Free Software Foundation, Inc. > > + This file is part of the GNU C Library. > > + > > + The GNU C Library is free software; you can redistribute it and/or > > + modify it under the terms of the GNU Lesser General Public > > + License as published by the Free Software Foundation; either > > + version 2.1 of the License, or (at your option) any later version. > > + > > + The GNU C Library is distributed in the hope that it will be useful, > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > + Lesser General Public License for more details. > > + > > + You should have received a copy of the GNU Lesser General Public > > + License along with the GNU C Library; if not, see > > + <https://www.gnu.org/licenses/>. */ > > I understand your want/need for this, but new files need a SPDX license > header instead of this type of license boilerplate. Didn't glibc > already convert to SPDX? I don't think they've done the conversion. But I can add the SPDX header if we move forward with the patch series, and ask them if they have any plan to adopt the SPDX standard. > > Also, as this is not internal for the kernel, but rather for userspace > builds, shouldn't the include/ path be different? Can you suggest an alternative path or provide documentation that could help identify the correct location? Perhaps usr/include? > > thanks, > > greg k-h