Messages in this thread | | | Date | Sat, 4 Feb 2023 14:10:34 +0100 | Subject | Re: [PATCH v2 15/16] objtool/powerpc: Enable objtool to be built on ppc | From | Christophe Leroy <> |
| |
Le 04/02/2023 à 12:55, Christophe Leroy a écrit : > Hi, > > Le 04/02/2023 à 09:30, Randy Dunlap a écrit : >> >> >> On 2/4/23 00:21, Randy Dunlap wrote: >>> >>> >>> On 2/4/23 00:19, Randy Dunlap wrote: >>>> Hi-- >>>> >>>> On 8/29/22 23:41, Christophe Leroy wrote: >>>>> >>>>> >>>>> Le 29/08/2022 à 07:52, Sathvika Vasireddy a écrit : >>>>>> This patch adds [stub] implementations for required >>>>>> functions, inorder to enable objtool build on powerpc. >>>>> >>>>> Not all powerpc it seems, see below >>>>> >>>> >>>> When cross-compiling PPC32 (on x86_64), I get 3600+ of these: >>>> >>>> /bin/sh: line 1: ./tools/objtool/objtool: No such file or directory >>>> /bin/sh: line 1: ./tools/objtool/objtool: No such file or directory >>>> /bin/sh: line 1: ./tools/objtool/objtool: No such file or directory >>>> >>>> Is there some way that objtool should work when cross-compiling? >>>> >>> >>> Oops. Its build failed. I seem to be missing header file(s) >>> and possibly a library. >>> I'll check on those... >>> >> >> It's complaining about libelf.h but I have that, so I don't know where >> it is looking other than /usr/include/libelf.h, which exists. >> Maybe the tool isn't setup (ready) for cross-compiling? >> >> >> Here's the build output for objtool: >> >> <stdin>:1:10: fatal error: libelf.h: No such file or directory >> compilation terminated. >> 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)) { >> | ^~ >> In file included from /usr/include/gelf.h:32, >> from >> /work/lnx/next/linux-next-20230203/tools/objtool/include/objtool/elf.h:10, >> from elf.c:22: >> /usr/include/libelf.h:310:12: note: declared here >> 310 | extern int elf_getshnum (Elf *__elf, size_t *__dst) >> | ^~~~~~~~~~~~ >> elf.c:278:9: error: ‘elf_getshstrndx’ is deprecated >> [-Werror=deprecated-declarations] >> 278 | if (elf_getshdrstrndx(elf->elf, &shstrndx)) { >> | ^~ >> /usr/include/libelf.h:322:12: note: declared here >> 322 | extern int elf_getshstrndx (Elf *__elf, size_t *__dst) >> | ^~~~~~~~~~~~~~~ >> cc1: all warnings being treated as errors >> make[4]: *** >> [/work/lnx/next/linux-next-20230203/tools/build/Makefile.build:96: >> /work/lnx/next/linux-next-20230203/PPC32/tools/objtool/elf.o] Error 1 >> >> make[3]: *** [Makefile:66: >> /work/lnx/next/linux-next-20230203/PPC32/tools/objtool/objtool-in.o] >> Error 2 > > I have no problem crossbuilding for PPC32 from x86_64, I have a fedora > 36 on the x86. > > $ rpm -q -f /usr/include/libelf.h > elfutils-libelf-devel-0.187-4.fc36.x86_64 > > Here is build output with V=1, pmac32_defconfig + CONFIG_FUNCTION_TRACER=y > > ... > mkdir -p ./tools > make LDFLAGS= MAKEFLAGS=" " O=/home/chleroy/linux-powerpc subdir=tools > -C ./tools/ objtool > mkdir -p /home/chleroy/linux-powerpc/tools/objtool && make > O=/home/chleroy/linux-powerpc subdir=tools/objtool --no-print-directory > -C objtool > make -C /home/chleroy/linux-powerpc/tools/build CFLAGS= LDFLAGS= > /home/chleroy/linux-powerpc/tools/objtool/fixdep > make -f /home/chleroy/linux-powerpc/tools/build/Makefile.build dir=. > obj=fixdep > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.fixdep.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/fixdep.o > -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/fixdep.o fixdep.c > ld -r -o /home/chleroy/linux-powerpc/tools/objtool/fixdep-in.o > /home/chleroy/linux-powerpc/tools/objtool/fixdep.o > gcc -o /home/chleroy/linux-powerpc/tools/objtool/fixdep > /home/chleroy/linux-powerpc/tools/objtool/fixdep-in.o > make -C /home/chleroy/linux-powerpc/tools/lib/subcmd/ > OUTPUT=/home/chleroy/linux-powerpc/tools/objtool/ > make -C /home/chleroy/linux-powerpc/tools/build CFLAGS= LDFLAGS= > /home/chleroy/linux-powerpc/tools/objtool/fixdep > make -f /home/chleroy/linux-powerpc/tools/build/Makefile.build dir=. > obj=fixdep > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.exec-cmd.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/exec-cmd.o -ggdb3 > -Wall -Wextra -std=gnu99 -fPIC -O6 -Werror -D_LARGEFILE64_SOURCE > -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE > -I/home/chleroy/linux-powerpc/tools/include/ -Wbad-function-cast > -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self > -Wmissing-declarations -Wmissing-prototypes -Wnested-externs > -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls > -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef > -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 -Wshadow > -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/exec-cmd.o exec-cmd.c > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.help.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/help.o -ggdb3 -Wall > -Wextra -std=gnu99 -fPIC -O6 -Werror -D_LARGEFILE64_SOURCE > -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE > -I/home/chleroy/linux-powerpc/tools/include/ -Wbad-function-cast > -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self > -Wmissing-declarations -Wmissing-prototypes -Wnested-externs > -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls > -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef > -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 -Wshadow > -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/help.o help.c > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.pager.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/pager.o -ggdb3 -Wall > -Wextra -std=gnu99 -fPIC -O6 -Werror -D_LARGEFILE64_SOURCE > -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE > -I/home/chleroy/linux-powerpc/tools/include/ -Wbad-function-cast > -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self > -Wmissing-declarations -Wmissing-prototypes -Wnested-externs > -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls > -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef > -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 -Wshadow > -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/pager.o pager.c > gcc > -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.parse-options.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/parse-options.o -ggdb3 > -Wall -Wextra -std=gnu99 -fPIC -O6 -Werror -D_LARGEFILE64_SOURCE > -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE > -I/home/chleroy/linux-powerpc/tools/include/ -Wbad-function-cast > -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self > -Wmissing-declarations -Wmissing-prototypes -Wnested-externs > -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls > -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef > -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 -Wshadow > -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/parse-options.o parse-options.c > gcc > -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.run-command.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/run-command.o -ggdb3 > -Wall -Wextra -std=gnu99 -fPIC -O6 -Werror -D_LARGEFILE64_SOURCE > -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE > -I/home/chleroy/linux-powerpc/tools/include/ -Wbad-function-cast > -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self > -Wmissing-declarations -Wmissing-prototypes -Wnested-externs > -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls > -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef > -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 -Wshadow > -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/run-command.o run-command.c > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.sigchain.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/sigchain.o -ggdb3 > -Wall -Wextra -std=gnu99 -fPIC -O6 -Werror -D_LARGEFILE64_SOURCE > -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE > -I/home/chleroy/linux-powerpc/tools/include/ -Wbad-function-cast > -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self > -Wmissing-declarations -Wmissing-prototypes -Wnested-externs > -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls > -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef > -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 -Wshadow > -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/sigchain.o sigchain.c > ld -r -o /home/chleroy/linux-powerpc/tools/objtool/libsubcmd-in.o > /home/chleroy/linux-powerpc/tools/objtool/exec-cmd.o > /home/chleroy/linux-powerpc/tools/objtool/help.o > /home/chleroy/linux-powerpc/tools/objtool/pager.o > /home/chleroy/linux-powerpc/tools/objtool/parse-options.o > /home/chleroy/linux-powerpc/tools/objtool/run-command.o > /home/chleroy/linux-powerpc/tools/objtool/sigchain.o > /home/chleroy/linux-powerpc/tools/objtool/subcmd-config.o > rm -f /home/chleroy/linux-powerpc/tools/objtool/libsubcmd.a && ar rcs > /home/chleroy/linux-powerpc/tools/objtool/libsubcmd.a > /home/chleroy/linux-powerpc/tools/objtool/libsubcmd-in.o > make -f /home/chleroy/linux-powerpc/tools/build/Makefile.build > dir=./arch/powerpc obj=objtool > gcc > -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/.decode.o.d -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/decode.o -Werror -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -g -I/home/chleroy/linux-powerpc/tools/include -I/home/chleroy/linux-powerpc/tools/arch/x86/include/uapi -I/home/chleroy/linux-powerpc/tools/arch/powerpc/include -I/home/chleroy/linux-powerpc/tools/objtool/include -I/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/include -I/home/chleroy/linux-powerpc/tools/lib -D"BUILD_STR(s)=#s" -c -o /home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/decode.o arch/powerpc/decode.c > gcc > -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/.special.o.d -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/special.o -Werror -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -g -I/home/chleroy/linux-powerpc/tools/include -I/home/chleroy/linux-powerpc/tools/arch/x86/include/uapi -I/home/chleroy/linux-powerpc/tools/arch/powerpc/include -I/home/chleroy/linux-powerpc/tools/objtool/include -I/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/include -I/home/chleroy/linux-powerpc/tools/lib -D"BUILD_STR(s)=#s" -c -o /home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/special.o arch/powerpc/special.c > ld -r -o > /home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/objtool-in.o > /home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/decode.o > /home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/special.o > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.weak.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/weak.o -Werror > -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security > -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes > -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked > -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum > -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 > -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed > -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 > -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -g > -I/home/chleroy/linux-powerpc/tools/include > -I/home/chleroy/linux-powerpc/tools/arch/x86/include/uapi > -I/home/chleroy/linux-powerpc/tools/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/objtool/include > -I/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/lib -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/weak.o weak.c > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.check.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/check.o -Werror > -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security > -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes > -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked > -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum > -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 > -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed > -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 > -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -g > -I/home/chleroy/linux-powerpc/tools/include > -I/home/chleroy/linux-powerpc/tools/arch/x86/include/uapi > -I/home/chleroy/linux-powerpc/tools/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/objtool/include > -I/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/lib -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/check.o check.c > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.special.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/special.o -Werror > -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security > -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes > -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked > -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum > -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 > -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed > -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 > -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -g > -I/home/chleroy/linux-powerpc/tools/include > -I/home/chleroy/linux-powerpc/tools/arch/x86/include/uapi > -I/home/chleroy/linux-powerpc/tools/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/objtool/include > -I/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/lib -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/special.o special.c > gcc > -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.builtin-check.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/builtin-check.o > -Werror -Wbad-function-cast -Wdeclaration-after-statement > -Wformat-security -Wformat-y2k -Winit-self -Wmissing-declarations > -Wmissing-prototypes -Wnested-externs -Wno-system-headers > -Wold-style-definition -Wpacked -Wredundant-decls -Wstrict-prototypes > -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat > -Wno-type-limits -Wstrict-aliasing=3 -Wshadow -Wno-switch-default > -Wno-switch-enum -Wno-packed -Wno-nested-externs -Wall > -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer > -std=gnu11 -Wdeclaration-after-statement -g > -I/home/chleroy/linux-powerpc/tools/include > -I/home/chleroy/linux-powerpc/tools/arch/x86/include/uapi > -I/home/chleroy/linux-powerpc/tools/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/objtool/include > -I/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/lib -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/builtin-check.o builtin-check.c > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.elf.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/elf.o -Werror > -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security > -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes > -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked > -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum > -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 > -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed > -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 > -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -g > -I/home/chleroy/linux-powerpc/tools/include > -I/home/chleroy/linux-powerpc/tools/arch/x86/include/uapi > -I/home/chleroy/linux-powerpc/tools/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/objtool/include > -I/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/lib -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/elf.o elf.c > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.objtool.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/objtool.o -Werror > -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security > -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes > -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked > -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum > -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 > -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed > -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 > -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -g > -I/home/chleroy/linux-powerpc/tools/include > -I/home/chleroy/linux-powerpc/tools/arch/x86/include/uapi > -I/home/chleroy/linux-powerpc/tools/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/objtool/include > -I/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/lib -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/objtool.o objtool.c > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.libstring.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/libstring.o -Werror > -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security > -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes > -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked > -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum > -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 > -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed > -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 > -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -g > -I/home/chleroy/linux-powerpc/tools/include > -I/home/chleroy/linux-powerpc/tools/arch/x86/include/uapi > -I/home/chleroy/linux-powerpc/tools/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/objtool/include > -I/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/lib -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/libstring.o ../lib/string.c > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.libctype.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/libctype.o -Werror > -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security > -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes > -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked > -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum > -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 > -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed > -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 > -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -g > -I/home/chleroy/linux-powerpc/tools/include > -I/home/chleroy/linux-powerpc/tools/arch/x86/include/uapi > -I/home/chleroy/linux-powerpc/tools/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/objtool/include > -I/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/lib -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/libctype.o ../lib/ctype.c > gcc > -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.str_error_r.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/str_error_r.o -Werror > -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security > -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes > -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked > -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum > -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 > -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed > -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 > -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -g > -I/home/chleroy/linux-powerpc/tools/include > -I/home/chleroy/linux-powerpc/tools/arch/x86/include/uapi > -I/home/chleroy/linux-powerpc/tools/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/objtool/include > -I/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/lib -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/str_error_r.o > ../lib/str_error_r.c > gcc -Wp,-MD,/home/chleroy/linux-powerpc/tools/objtool/.librbtree.o.d > -Wp,-MT,/home/chleroy/linux-powerpc/tools/objtool/librbtree.o -Werror > -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security > -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes > -Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked > -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum > -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 > -Wshadow -Wno-switch-default -Wno-switch-enum -Wno-packed > -Wno-nested-externs -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 > -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -g > -I/home/chleroy/linux-powerpc/tools/include > -I/home/chleroy/linux-powerpc/tools/arch/x86/include/uapi > -I/home/chleroy/linux-powerpc/tools/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/objtool/include > -I/home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/include > -I/home/chleroy/linux-powerpc/tools/lib -D"BUILD_STR(s)=#s" -c -o > /home/chleroy/linux-powerpc/tools/objtool/librbtree.o ../lib/rbtree.c > ld -r -o /home/chleroy/linux-powerpc/tools/objtool/objtool-in.o > /home/chleroy/linux-powerpc/tools/objtool/arch/powerpc/objtool-in.o > /home/chleroy/linux-powerpc/tools/objtool/weak.o > /home/chleroy/linux-powerpc/tools/objtool/check.o > /home/chleroy/linux-powerpc/tools/objtool/special.o > /home/chleroy/linux-powerpc/tools/objtool/builtin-check.o > /home/chleroy/linux-powerpc/tools/objtool/elf.o > /home/chleroy/linux-powerpc/tools/objtool/objtool.o > /home/chleroy/linux-powerpc/tools/objtool/libstring.o > /home/chleroy/linux-powerpc/tools/objtool/libctype.o > /home/chleroy/linux-powerpc/tools/objtool/str_error_r.o > /home/chleroy/linux-powerpc/tools/objtool/librbtree.o > gcc /home/chleroy/linux-powerpc/tools/objtool/objtool-in.o -lelf > /home/chleroy/linux-powerpc/tools/objtool/libsubcmd.a -o > /home/chleroy/linux-powerpc/tools/objtool/objtool > ... > make -f ./scripts/Makefile.build obj=. need-builtin=1 need-modorder=1 > make -f ./scripts/Makefile.build obj=init \ > need-builtin=1 \ > need-modorder=1 \ > > powerpc64-linux-gcc -Wp,-MMD,init/.main.o.d -nostdinc > -I./arch/powerpc/include -I./arch/powerpc/include/generated -I./include > -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi > -I./include/uapi -I./include/generated/uapi -include > ./include/linux/compiler-version.h -include ./include/linux/kconfig.h > -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc > -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes > -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE > -Werror=implicit-function-declaration -Werror=implicit-int > -Werror=return-type -Wno-format-security -funsigned-char -std=gnu11 > -mbig-endian -m32 -msoft-float -pipe -ffixed-r2 -mmultiple > -mno-readonly-in-sdata -mcpu=powerpc -mno-prefixed -mno-pcrel > -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables > -mno-string -Wa,-maltivec -mbig-endian -mstack-protector-guard=tls > -mstack-protector-guard-reg=r2 -fno-delete-null-pointer-checks > -Wno-frame-address -Wno-format-truncation -Wno-format-overflow > -Wno-address-of-packed-member -O2 -fno-allow-store-data-races > -Wframe-larger-than=1024 -fstack-protector-strong -Wno-main > -Wno-unused-but-set-variable -Wno-unused-const-variable > -Wno-dangling-pointer -ftrivial-auto-var-init=zero > -fno-stack-clash-protection -pg -Wdeclaration-after-statement -Wvla > -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation > -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized > -Wno-array-bounds -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 > -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time > -Werror=incompatible-pointer-types -Werror=designated-init > -Wno-packed-not-aligned -mstack-protector-guard-offset=544 > -fno-function-sections -fno-data-sections -DKBUILD_MODFILE='"init/main"' > -DKBUILD_BASENAME='"main"' -DKBUILD_MODNAME='"main"' > -D__KBUILD_MODNAME=kmod_main -c -o init/main.o init/main.c ; > ./tools/objtool/objtool --mcount init/main.o > ./scripts/check-local-export init/main.o > { echo ; echo 'init/main.o: $(wildcard ./tools/objtool/objtool)' ; } > >> init/.main.o.cmd > set -e; mkdir -p init/; trap "rm -f init/.utsversion-tmp.h.tmp" EXIT; { > utsver=$(echo '#'"" "" | cut -b -64); echo '#'define UTS_VERSION > \""${utsver}"\"; } > init/.utsversion-tmp.h.tmp; if [ ! -r > init/utsversion-tmp.h ] || ! cmp -s init/utsversion-tmp.h > init/.utsversion-tmp.h.tmp; then : ' UPD init/utsversion-tmp.h'; mv > -f init/.utsversion-tmp.h.tmp init/utsversion-tmp.h; fi > powerpc64-linux-gcc -Wp,-MMD,init/.version.o.d -nostdinc > -I./arch/powerpc/include -I./arch/powerpc/include/generated -I./include > -I./arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi > -I./include/uapi -I./include/generated/uapi -include > ./include/linux/compiler-version.h -include ./include/linux/kconfig.h > -include ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc > -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes > -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE > -Werror=implicit-function-declaration -Werror=implicit-int > -Werror=return-type -Wno-format-security -funsigned-char -std=gnu11 > -mbig-endian -m32 -msoft-float -pipe -ffixed-r2 -mmultiple > -mno-readonly-in-sdata -mcpu=powerpc -mno-prefixed -mno-pcrel > -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables > -mno-string -Wa,-maltivec -mbig-endian -mstack-protector-guard=tls > -mstack-protector-guard-reg=r2 -fno-delete-null-pointer-checks > -Wno-frame-address -Wno-format-truncation -Wno-format-overflow > -Wno-address-of-packed-member -O2 -fno-allow-store-data-races > -Wframe-larger-than=1024 -fstack-protector-strong -Wno-main > -Wno-unused-but-set-variable -Wno-unused-const-variable > -Wno-dangling-pointer -ftrivial-auto-var-init=zero > -fno-stack-clash-protection -pg -Wdeclaration-after-statement -Wvla > -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation > -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized > -Wno-array-bounds -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 > -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time > -Werror=incompatible-pointer-types -Werror=designated-init > -Wno-packed-not-aligned -mstack-protector-guard-offset=544 > -fno-function-sections -fno-data-sections -include init/utsversion-tmp.h > -DKBUILD_MODFILE='"init/version"' -DKBUILD_BASENAME='"version"' > -DKBUILD_MODNAME='"version"' -D__KBUILD_MODNAME=kmod_version -c -o > init/version.o init/version.c ; ./tools/objtool/objtool --mcount > init/version.o > ./scripts/check-local-export init/version.o > { echo ; echo 'init/version.o: $(wildcard ./tools/objtool/objtool)' > ; } >> init/.version.o.cmd > ...
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)) { | ^~ In file included from /usr/include/gelf.h:32, from /home/chleroy/linux-powerpc/tools/objtool/include/objtool/elf.h:10, from elf.c:22: /usr/include/libelf.h:310:12: note: declared here 310 | extern int elf_getshnum (Elf *__elf, size_t *__dst) | ^~~~~~~~~~~~ elf.c:278:9: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] 278 | if (elf_getshdrstrndx(elf->elf, &shstrndx)) { | ^~ /usr/include/libelf.h:322:12: note: declared here 322 | extern int elf_getshstrndx (Elf *__elf, size_t *__dst) | ^~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[3]: *** [/home/chleroy/linux-powerpc/tools/build/Makefile.build:97: /home/chleroy/linux-powerpc/tools/objtool/elf.o] Error 1 make[2]: *** [Makefile:66: /home/chleroy/linux-powerpc/tools/objtool/objtool-in.o] Error 2 make[1]: *** [Makefile:73: objtool] Error 2 make: *** [Makefile:1439: tools/objtool] Error 2
That's odd, because if I do it manually it works:
$ make LDFLAGS= MAKEFLAGS=" " O=/home/chleroy/linux-powerpc subdir=tools -C ./tools/ objtool make : on entre dans le répertoire « /home/chleroy/linux-powerpc/tools » DESCEND objtool 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/x86/special.o GEN /home/chleroy/linux-powerpc/tools/objtool/arch/x86/lib/inat-tables.c CC /home/chleroy/linux-powerpc/tools/objtool/arch/x86/decode.o LD /home/chleroy/linux-powerpc/tools/objtool/arch/x86/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 CC /home/chleroy/linux-powerpc/tools/objtool/objtool.o CC /home/chleroy/linux-powerpc/tools/objtool/orc_gen.o CC /home/chleroy/linux-powerpc/tools/objtool/orc_dump.o CC /home/chleroy/linux-powerpc/tools/objtool/libstring.o CC /home/chleroy/linux-powerpc/tools/objtool/libctype.o CC /home/chleroy/linux-powerpc/tools/objtool/str_error_r.o CC /home/chleroy/linux-powerpc/tools/objtool/librbtree.o LD /home/chleroy/linux-powerpc/tools/objtool/objtool-in.o LINK /home/chleroy/linux-powerpc/tools/objtool/objtool make : on quitte le répertoire « /home/chleroy/linux-powerpc/tools » [chleroy@PO20335 linux-powerpc]$ file /home/chleroy/linux-powerpc/tools/objtool/objtool /home/chleroy/linux-powerpc/tools/objtool/objtool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1f445df36c222194c5bce8147a30a1fa1120f318, for GNU/Linux 3.2.0, with debug_info, not stripped
Christophe
Christophe
| |