[PATCH v2 15/16] objtool/powerpc: Enable objtool to be built on ppc

Christophe Leroy christophe.leroy at csgroup.eu
Sat Feb 4 22:55:47 AEDT 2023


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
...


More information about the Linuxppc-dev mailing list