mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 14:13:16 +00:00
afffcd09e5
On aarch64 musl gcc 14.x compiler, trying compiling elfutils 0.192 with lto option enabled will cause null-dereference error. Example error message: ... elf_compress.c: In function 'elf_compress': elf_compress.c:675:26: error: potential null pointer dereference [-Werror=null-dereference] 675 | shdr->sh_flags |= SHF_COMPRESSED; | ^ elf_compress_gnu.c: In function 'elf_compress_gnu': elf_compress_gnu.c:127:25: error: potential null pointer dereference [-Werror=null-dereference] 127 | shdr->sh_size = new_size; | ^ ^ ... This is a false postive warning but will abort compilation if gcc has `-Werror` flag. This commit add a patch for this, see the bugzilla report below. This commit backports a series of patches to fix some errors. Add patch: - 007-add-libeu-symbols-to-libelf.patch - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch Link: https://sourceware.org/bugzilla/show_bug.cgi?id=32311 Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16886 Signed-off-by: Robert Marko <robimarko@gmail.com>
32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
From f5d6e088f84dd05278c4698a21cbf1ff4569978d Mon Sep 17 00:00:00 2001
|
|
From: Mark Wielaard <mark@klomp.org>
|
|
Date: Tue, 22 Oct 2024 15:03:42 +0200
|
|
Subject: [PATCH] libelf: Add libeu objects to libelf.a static archive
|
|
|
|
libelf might use some symbols from libeu.a, specifically the eu-search
|
|
wrappers. But we don't ship libeu.a separately. So include the libeu
|
|
objects in the libelf.a archive to facilitate static linking.
|
|
|
|
* libelf/Makefile.am (libeu_objects): New variable.
|
|
(libelf_a_LIBADD): New, add libeu_objects.
|
|
|
|
https://sourceware.org/bugzilla/show_bug.cgi?id=32293
|
|
|
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
|
---
|
|
libelf/Makefile.am | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
--- a/libelf/Makefile.am
|
|
+++ b/libelf/Makefile.am
|
|
@@ -122,6 +122,9 @@ libelf.so: $(srcdir)/libelf.map $(libelf
|
|
@$(textrel_check)
|
|
$(AM_V_at)ln -fs $@ $@.$(VERSION)
|
|
|
|
+libeu_objects = $(shell $(AR) t ../lib/libeu.a)
|
|
+libelf_a_LIBADD = $(addprefix ../lib/,$(libeu_objects))
|
|
+
|
|
install: install-am libelf.so
|
|
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
|
$(INSTALL_PROGRAM) libelf.so $(DESTDIR)$(libdir)/libelf-$(PACKAGE_VERSION).so
|