Re: Re[v2]: Use of GCC plugin instead ISO C

From: Progyan Bhattacharya
Date: Tue Mar 06 2018 - 08:29:23 EST


On Thu, 2018-03-01 at 13:42 -0800, Randy Dunlap wrote:
> If you would build with V=1 and capture all of the output (lots of
> it!) to a file,
> you could search it for "pedantic" to see where/why it is used.
>
> I have no idea about the permission problem that you quoted above.

Sorry for the misunderstanding!
Here is the full build log for

make V=1

--
Regards,
Progyan Bhattacharya
(http://codeprogyan.me)make -f ./Makefile silentoldconfig
make -f ./scripts/Makefile.build obj=scripts/basic
(cat /dev/null; ) > scripts/basic/modules.order
rm -f .tmp_quiet_recordmcount
make -f ./scripts/Makefile.build obj=scripts/kconfig silentoldconfig
mkdir -p include/config include/generated
test -e include/generated/autoksyms.h || \
touch include/generated/autoksyms.h
scripts/kconfig/conf --silentoldconfig Kconfig
make -f ./scripts/Makefile.build obj=arch/x86/entry/syscalls all
make -f ./scripts/Makefile.build obj=scripts/basic
(cat /dev/null; ) > scripts/basic/modules.order
rm -f .tmp_quiet_recordmcount
make -f ./scripts/Makefile.build obj=arch/x86/tools relocs
set -e; : ' CHK include/config/kernel.release'; mkdir -p include/config/; echo "4.16.0-rc4$(/bin/sh ./scripts/setlocalversion .)" < include/config/auto.conf > include/config/kernel.release.tmp; if [ -r include/config/kernel.release ] && cmp -s include/config/kernel.release include/config/kernel.release.tmp; then rm -f include/config/kernel.release.tmp; else : ' UPD include/config/kernel.release'; mv -f include/config/kernel.release.tmp include/config/kernel.release; fi
make -f ./scripts/Makefile.asm-generic \
src=uapi/asm obj=arch/x86/include/generated/uapi/asm
make -f ./scripts/Makefile.asm-generic \
src=asm obj=arch/x86/include/generated/asm
set -e; : ' CHK include/generated/uapi/linux/version.h'; mkdir -p include/generated/uapi/linux/; (echo \#define LINUX_VERSION_CODE 266240; echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';) < Makefile > include/generated/uapi/linux/version.h.tmp; if [ -r include/generated/uapi/linux/version.h ] && cmp -s include/generated/uapi/linux/version.h include/generated/uapi/linux/version.h.tmp; then rm -f include/generated/uapi/linux/version.h.tmp; else : ' UPD include/generated/uapi/linux/version.h'; mv -f include/generated/uapi/linux/version.h.tmp include/generated/uapi/linux/version.h; fi
rm -f include/linux/version.h
set -e; : ' CHK include/generated/utsrelease.h'; mkdir -p include/generated/; if [ `echo -n "4.16.0-rc4+" | wc -c ` -gt 64 ]; then echo '"4.16.0-rc4+" exceeds 64 characters' >&2; exit 1; fi; (echo \#define UTS_RELEASE \"4.16.0-rc4+\";) < include/config/kernel.release > include/generated/utsrelease.h.tmp; if [ -r include/generated/utsrelease.h ] && cmp -s include/generated/utsrelease.h include/generated/utsrelease.h.tmp; then rm -f include/generated/utsrelease.h.tmp; else : ' UPD include/generated/utsrelease.h'; mv -f include/generated/utsrelease.h.tmp include/generated/utsrelease.h; fi
mkdir -p .tmp_versions ; rm -f .tmp_versions/*
make -f ./scripts/Makefile.build obj=arch/x86/purgatory arch/x86/purgatory/kexec-purgatory.c
gcc -Wp,-MD,arch/x86/purgatory/.purgatory.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -DCONFIG_CC_STACKPROTECTOR -fno-strict-aliasing -Wall -Wstrict-prototypes -fno-zero-initialized-in-bss -fno-builtin -ffreestanding -c -MD -Os -mcmodel=large -m64 -fno-PIE -DKBUILD_BASENAME='"purgatory"' -DKBUILD_MODNAME='"purgatory"' -c -o arch/x86/purgatory/.tmp_purgatory.o arch/x86/purgatory/purgatory.c
if [ "" = "-pg" ]; then if [ arch/x86/purgatory/purgatory.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "arch/x86/purgatory/purgatory.o"; fi; fi;
gcc -Wp,-MD,arch/x86/purgatory/.sha256.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -DCONFIG_CC_STACKPROTECTOR -fno-strict-aliasing -Wall -Wstrict-prototypes -fno-zero-initialized-in-bss -fno-builtin -ffreestanding -c -MD -Os -mcmodel=large -m64 -fno-PIE -DKBUILD_BASENAME='"sha256"' -DKBUILD_MODNAME='"sha256"' -c -o arch/x86/purgatory/.tmp_sha256.o arch/x86/purgatory/sha256.c
if [ "" = "-pg" ]; then if [ arch/x86/purgatory/sha256.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "arch/x86/purgatory/sha256.o"; fi; fi;
gcc -Wp,-MD,arch/x86/purgatory/.string.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -DCONFIG_CC_STACKPROTECTOR -fno-strict-aliasing -Wall -Wstrict-prototypes -fno-zero-initialized-in-bss -fno-builtin -ffreestanding -c -MD -Os -mcmodel=large -m64 -fno-PIE -DKBUILD_BASENAME='"string"' -DKBUILD_MODNAME='"string"' -c -o arch/x86/purgatory/.tmp_string.o arch/x86/purgatory/string.c
if [ "" = "-pg" ]; then if [ arch/x86/purgatory/string.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "arch/x86/purgatory/string.o"; fi; fi;
ld -m elf_x86_64 -e purgatory_start -r --no-undefined -nostdlib -z nodefaultlib arch/x86/purgatory/purgatory.o arch/x86/purgatory/stack.o arch/x86/purgatory/setup-x86_64.o arch/x86/purgatory/sha256.o arch/x86/purgatory/entry64.o arch/x86/purgatory/string.o -o arch/x86/purgatory/purgatory.ro
./scripts/basic/bin2c kexec_purgatory < arch/x86/purgatory/purgatory.ro > arch/x86/purgatory/kexec-purgatory.c
make -f ./scripts/Makefile.build obj=.
(cat /dev/null; ) > modules.order
gcc -Wp,-MD,kernel/.bounds.s.d -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -DCONFIG_CC_STACKPROTECTOR -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -O2 -Wno-maybe-uninitialized --param=allow-store-data-races=0 -DCC_HAVE_ASM_GOTO -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -fno-var-tracking-assignments -g -pg -mfentry -DCC_USING_FENTRY -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DKBUILD_BASENAME='"bounds"' -DKBUILD_MODNAME='"bounds"' -fverbose-asm -S -o kernel/bounds.s kernel/bounds.c
set -e; : ' CHK include/generated/bounds.h'; mkdir -p include/generated/; (set -e; echo "#ifndef __LINUX_BOUNDS_H__"; echo "#define __LINUX_BOUNDS_H__"; echo "/*"; echo " * DO NOT MODIFY."; echo " *"; echo " * This file was generated by Kbuild"; echo " */"; echo ""; sed -ne 's:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1:; /^->/{s:->#\(.*\):/* \1 */:; s:^->\([^ ]*\) [\$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}'; echo ""; echo "#endif" ) < kernel/bounds.s > include/generated/bounds.h.tmp; if [ -r include/generated/bounds.h ] && cmp -s include/generated/bounds.h include/generated/bounds.h.tmp; then rm -f include/generated/bounds.h.tmp; else : ' UPD include/generated/bounds.h'; mv -f include/generated/bounds.h.tmp include/generated/bounds.h; fi
set -e; : ' CHK include/generated/timeconst.h'; mkdir -p include/generated/; (echo 1000 | bc -q kernel/time/timeconst.bc ) < kernel/time/timeconst.bc > include/generated/timeconst.h.tmp; if [ -r include/generated/timeconst.h ] && cmp -s include/generated/timeconst.h include/generated/timeconst.h.tmp; then rm -f include/generated/timeconst.h.tmp; else : ' UPD include/generated/timeconst.h'; mv -f include/generated/timeconst.h.tmp include/generated/timeconst.h; fi
gcc -Wp,-MD,arch/x86/kernel/.asm-offsets.s.d -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -DCONFIG_CC_STACKPROTECTOR -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -O2 -Wno-maybe-uninitialized --param=allow-store-data-races=0 -DCC_HAVE_ASM_GOTO -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -fno-var-tracking-assignments -g -pg -mfentry -DCC_USING_FENTRY -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DKBUILD_BASENAME='"asm_offsets"' -DKBUILD_MODNAME='"asm_offsets"' -fverbose-asm -S -o arch/x86/kernel/asm-offsets.s arch/x86/kernel/asm-offsets.c
set -e; : ' CHK include/generated/asm-offsets.h'; mkdir -p include/generated/; (set -e; echo "#ifndef __ASM_OFFSETS_H__"; echo "#define __ASM_OFFSETS_H__"; echo "/*"; echo " * DO NOT MODIFY."; echo " *"; echo " * This file was generated by Kbuild"; echo " */"; echo ""; sed -ne 's:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1:; /^->/{s:->#\(.*\):/* \1 */:; s:^->\([^ ]*\) [\$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}'; echo ""; echo "#endif" ) < arch/x86/kernel/asm-offsets.s > include/generated/asm-offsets.h.tmp; if [ -r include/generated/asm-offsets.h ] && cmp -s include/generated/asm-offsets.h include/generated/asm-offsets.h.tmp; then rm -f include/generated/asm-offsets.h.tmp; else : ' UPD include/generated/asm-offsets.h'; mv -f include/generated/asm-offsets.h.tmp include/generated/asm-offsets.h; fi
/bin/sh scripts/checksyscalls.sh gcc -Wp,-MD,./.missing-syscalls.d -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -DCONFIG_CC_STACKPROTECTOR -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -O2 -Wno-maybe-uninitialized --param=allow-store-data-races=0 -DCC_HAVE_ASM_GOTO -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -fno-var-tracking-assignments -g -pg -mfentry -DCC_USING_FENTRY -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DKBUILD_BASENAME='"missing_syscalls"' -DKBUILD_MODNAME='"missing_syscalls"'
mkdir -p ./tools
make LDFLAGS= MAKEFLAGS=" " O=/home/progyan/Programs/Linux subdir=tools -C ./tools/ objtool
mkdir -p /home/progyan/Programs/Linux/tools/objtool && make O=/home/progyan/Programs/Linux subdir=tools/objtool --no-print-directory -C objtool
make -C /home/progyan/Programs/Linux/tools/build CFLAGS= LDFLAGS= /home/progyan/Programs/Linux/tools/objtool/fixdep
make -f /home/progyan/Programs/Linux/tools/build/Makefile.build dir=. obj=fixdep
make -C /home/progyan/Programs/Linux/tools/lib/subcmd/ OUTPUT=/home/progyan/Programs/Linux/tools/objtool/
make -C /home/progyan/Programs/Linux/tools/build CFLAGS= LDFLAGS= /home/progyan/Programs/Linux/tools/objtool/fixdep
make -f /home/progyan/Programs/Linux/tools/build/Makefile.build dir=. obj=fixdep
make -f /home/progyan/Programs/Linux/tools/build/Makefile.build dir=./arch/x86 obj=objtool
gcc -Wp,-MD,/home/progyan/Programs/Linux/tools/objtool/.builtin-check.o.d -Wp,-MT,/home/progyan/Programs/Linux/tools/objtool/builtin-check.o -Wall -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 -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat -Wstrict-aliasing=3 -fno-strict-aliasing -Wno-switch-default -Wno-switch-enum -Wno-packed -fomit-frame-pointer -O2 -g -I/home/progyan/Programs/Linux/tools/include -I/home/progyan/Programs/Linux/tools/arch/x86/include/uapi -I/home/progyan/Programs/Linux/tools/objtool/arch/x86/include -I/home/progyan/Programs/Linux/tools/lib -D"BUILD_STR(s)=#s" -c -o /home/progyan/Programs/Linux/tools/objtool/builtin-check.o builtin-check.c
gcc -Wp,-MD,/home/progyan/Programs/Linux/tools/objtool/.builtin-orc.o.d -Wp,-MT,/home/progyan/Programs/Linux/tools/objtool/builtin-orc.o -Wall -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 -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat -Wstrict-aliasing=3 -fno-strict-aliasing -Wno-switch-default -Wno-switch-enum -Wno-packed -fomit-frame-pointer -O2 -g -I/home/progyan/Programs/Linux/tools/include -I/home/progyan/Programs/Linux/tools/arch/x86/include/uapi -I/home/progyan/Programs/Linux/tools/objtool/arch/x86/include -I/home/progyan/Programs/Linux/tools/lib -D"BUILD_STR(s)=#s" -c -o /home/progyan/Programs/Linux/tools/objtool/builtin-orc.o builtin-orc.c
gcc -Wp,-MD,/home/progyan/Programs/Linux/tools/objtool/.check.o.d -Wp,-MT,/home/progyan/Programs/Linux/tools/objtool/check.o -Wall -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 -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat -Wstrict-aliasing=3 -fno-strict-aliasing -Wno-switch-default -Wno-switch-enum -Wno-packed -fomit-frame-pointer -O2 -g -I/home/progyan/Programs/Linux/tools/include -I/home/progyan/Programs/Linux/tools/arch/x86/include/uapi -I/home/progyan/Programs/Linux/tools/objtool/arch/x86/include -I/home/progyan/Programs/Linux/tools/lib -D"BUILD_STR(s)=#s" -c -o /home/progyan/Programs/Linux/tools/objtool/check.o check.c
gcc -Wp,-MD,/home/progyan/Programs/Linux/tools/objtool/.orc_gen.o.d -Wp,-MT,/home/progyan/Programs/Linux/tools/objtool/orc_gen.o -Wall -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 -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat -Wstrict-aliasing=3 -fno-strict-aliasing -Wno-switch-default -Wno-switch-enum -Wno-packed -fomit-frame-pointer -O2 -g -I/home/progyan/Programs/Linux/tools/include -I/home/progyan/Programs/Linux/tools/arch/x86/include/uapi -I/home/progyan/Programs/Linux/tools/objtool/arch/x86/include -I/home/progyan/Programs/Linux/tools/lib -D"BUILD_STR(s)=#s" -c -o /home/progyan/Programs/Linux/tools/objtool/orc_gen.o orc_gen.c
gcc -Wp,-MD,/home/progyan/Programs/Linux/tools/objtool/.objtool.o.d -Wp,-MT,/home/progyan/Programs/Linux/tools/objtool/objtool.o -Wall -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 -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat -Wstrict-aliasing=3 -fno-strict-aliasing -Wno-switch-default -Wno-switch-enum -Wno-packed -fomit-frame-pointer -O2 -g -I/home/progyan/Programs/Linux/tools/include -I/home/progyan/Programs/Linux/tools/arch/x86/include/uapi -I/home/progyan/Programs/Linux/tools/objtool/arch/x86/include -I/home/progyan/Programs/Linux/tools/lib -D"BUILD_STR(s)=#s" -c -o /home/progyan/Programs/Linux/tools/objtool/objtool.o objtool.c
ld -r -o /home/progyan/Programs/Linux/tools/objtool/objtool-in.o /home/progyan/Programs/Linux/tools/objtool/arch/x86/objtool-in.o /home/progyan/Programs/Linux/tools/objtool/builtin-check.o /home/progyan/Programs/Linux/tools/objtool/builtin-orc.o /home/progyan/Programs/Linux/tools/objtool/check.o /home/progyan/Programs/Linux/tools/objtool/orc_gen.o /home/progyan/Programs/Linux/tools/objtool/orc_dump.o /home/progyan/Programs/Linux/tools/objtool/elf.o /home/progyan/Programs/Linux/tools/objtool/special.o /home/progyan/Programs/Linux/tools/objtool/objtool.o /home/progyan/Programs/Linux/tools/objtool/libstring.o /home/progyan/Programs/Linux/tools/objtool/str_error_r.o

/bin/sh: /home/progyan/Programs/Linux/tools/objtool/.objtool-in.o.cmd: Permission denied