Re: [PATCH v2 15/16] objtool/powerpc: Enable objtool to be built on ppc
From: Josh Poimboeuf <jpoimboe@kernel.org>
Date: 2023-02-04 15:47:26
Also in:
lkml
Subsystem:
objtool, the rest · Maintainers:
Josh Poimboeuf, Peter Zijlstra, Linus Torvalds
On Sat, Feb 04, 2023 at 02:10:34PM +0100, Christophe Leroy wrote:
Ok, got the same problem as you with next-20230203
DESCEND objtool
<stdin>:1:10: fatal error: libelf.h: No such file or directory
compilation terminated.
HOSTCC /home/chleroy/linux-powerpc/tools/objtool/fixdep.o
HOSTLD /home/chleroy/linux-powerpc/tools/objtool/fixdep-in.o
LINK /home/chleroy/linux-powerpc/tools/objtool/fixdep
CC /home/chleroy/linux-powerpc/tools/objtool/libsubcmd/exec-cmd.o
CC /home/chleroy/linux-powerpc/tools/objtool/libsubcmd/help.o
CC /home/chleroy/linux-powerpc/tools/objtool/libsubcmd/pager.o
CC /home/chleroy/linux-powerpc/tools/objtool/libsubcmd/parse-options.o
CC /home/chleroy/linux-powerpc/tools/objtool/libsubcmd/run-command.o
CC /home/chleroy/linux-powerpc/tools/objtool/libsubcmd/sigchain.o
CC /home/chleroy/linux-powerpc/tools/objtool/libsubcmd/subcmd-config.o
LD /home/chleroy/linux-powerpc/tools/objtool/libsubcmd/libsubcmd-in.o
AR /home/chleroy/linux-powerpc/tools/objtool/libsubcmd/libsubcmd.a
INSTALL libsubcmd_headers
CC /home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/decode.o
CC /home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/special.o
LD /home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/objtool-in.o
CC /home/chleroy/linux-powerpc/tools/objtool/weak.o
CC /home/chleroy/linux-powerpc/tools/objtool/check.o
CC /home/chleroy/linux-powerpc/tools/objtool/special.o
CC /home/chleroy/linux-powerpc/tools/objtool/builtin-check.o
CC /home/chleroy/linux-powerpc/tools/objtool/elf.o
elf.c: In function 'read_sections':
elf.c:273:9: error: 'elf_getshnum' is deprecated
[-Werror=deprecated-declarations]
273 | if (elf_getshdrnum(elf->elf, §ions_nr)) {
| ^~This should be fixed with the latest tip/objtool/core which was rebased today. Here's the diff:
diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile
index 29a8cd7449bf..83b100c1e7f6 100644
--- a/tools/objtool/Makefile
+++ b/tools/objtool/Makefile@@ -36,7 +36,7 @@ OBJTOOL_CFLAGS := -Werror $(WARNINGS) $(KBUILD_HOSTCFLAGS) -g $(INCLUDES) $(LIBE OBJTOOL_LDFLAGS := $(LIBELF_LIBS) $(LIBSUBCMD) $(KBUILD_HOSTLDFLAGS) # Allow old libelf to be used: -elfshdr := $(shell echo '$(pound)include <libelf.h>' | $(CC) $(CFLAGS) -x c -E - | grep elf_getshdr) +elfshdr := $(shell echo '$(pound)include <libelf.h>' | $(HOSTCC) $(OBJTOOL_CFLAGS) -x c -E - | grep elf_getshdr) OBJTOOL_CFLAGS += $(if $(elfshdr),,-DLIBELF_USE_DEPRECATED) # Always want host compilation.