lkml.org 
[lkml]   [2023]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v2 15/16] objtool/powerpc: Enable objtool to be built on ppc
From


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, &sections_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, &sections_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
\
 
 \ /
  Last update: 2023-03-27 00:09    [W:0.121 / U:1.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site