Do not run objtool on VDSO files, by using
OBJECT_FILES_NON_STANDARD
Suggested-by: Christophe Leroy
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/kernel/vdso/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/powerpc/kernel/vdso/Makefile
b/arch/powerpc/kernel/vdso
From: Christophe Leroy
Fix several annotations in assembly files on PPC32.
Signed-off-by: Christophe Leroy
[Sathvika Vasireddy: Changed subject line from objtool/powerpc: Activate
objtool on PPC32
to powerpc: Fix objtool unannotated intra-function call warnings on PPC32, and
removed
Kconfig
to such files, unless absolutely
necessary.
Second reason is that, at least as far as the objtool --mcount
functionality is concerned, we do not have to run objtool on
that file because that file does not have any calls to _mcount.
Signed-off-by: Sathvika Vasireddy
---
drivers/crypto/vmx/Makefile | 2
/book3s_hv_rmhandlers.o: warning: objtool: .text+0xee4:
unannotated intra-function call
Fix these warnings by annotating intra-function
call, using ANNOTATE_INTRA_FUNCTION_CALL macro,
to indicate that the branch targets are valid.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/kernel/entry_64.S
by adding SYM_FUNC_START_LOCAL()
and SYM_FUNC_END() annotations to those symbols to be able to set symbol
type to STT_FUNC and set size of these symbols accordingly.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/kernel/exceptions-64s.S| 7 +--
arch/powerpc/kernel/head_64.S
barrier_before_unreachable() before __builtin_unreachable()
to work around a gcc bug [1], for the problem reported at [2].
[1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106751
[2]: https://lkml.org/lkml/2022/8/25/418
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/include/asm/bug.h | 3 ++-
1
size instead of a compiled constant
powerpc: Fix objtool unannotated intra-function call warnings on PPC32
Sathvika Vasireddy (12):
powerpc: Replace unreachable() with it's builtin variant in __WARN_FLAGS()
powerpc: override __ALIGN() and __ALIGN_STR() macros
powerpc: Fix objtool
alignment,
override __ALIGN() and __ALIGN_STR() macros to use required
4 byte alignment.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/include/asm/linkage.h | 4
1 file changed, 4 insertions(+)
diff --git a/arch/powerpc/include/asm/linkage.h
b/arch/powerpc/include/asm/linkage.h
index
Hi Christophe,
On 26/08/22 15:48, Christophe Leroy wrote:
Le 08/08/2022 à 13:48, Sathvika Vasireddy a écrit :
objtool is throwing *unannotated intra-function call*
warnings with a few instructions that are marked
unreachable. Replace unreachable() with __builtin_unreachable()
to fix
On 10/08/22 14:04, Christophe Leroy wrote:
Le 08/08/2022 à 13:48, Sathvika Vasireddy a écrit :
With objtool enabled, below warnings are seen when trying to build:
drivers/crypto/vmx/aesp8-ppc.o: warning: objtool: aes_p8_set_encrypt_key+0x44:
unannotated intra-function call
drivers/crypto
On 10/08/22 14:02, Christophe Leroy wrote:
Le 08/08/2022 à 13:48, Sathvika Vasireddy a écrit :
objtool throws unannotated intra-function call warnings
in the following assembly files.
arch/powerpc/kernel/vector.o: warning: objtool: .text+0x53c: unannotated
intra-function call
arch/powerpc
Hi Christophe,
On 10/08/22 14:01, Christophe Leroy wrote:
Le 08/08/2022 à 13:48, Sathvika Vasireddy a écrit :
Since we need an alignment of 4 bytes, override
__ALIGN() and __ALIGN_STR() accordingly.
Why/When do we now need an alignment of 4 bytes ? Please explain the
reason in the commit
Do not run objtool on VDSO files, by using
OBJECT_FILES_NON_STANDARD
Suggested-by: Christophe Leroy
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/kernel/vdso/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/powerpc/kernel/vdso/Makefile
b/arch/powerpc/kernel/vdso
This patch enables objtool --mcount on powerpc, and
adds implementation specific to powerpc.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/Kconfig | 1 +
tools/objtool/arch/powerpc/decode.c | 22 +++
tools/objtool/arch/powerpc/include
This patch adds [stub] implementations for required
functions, inorder to enable objtool build on powerpc.
Signed-off-by: Sathvika Vasireddy
[Christophe Leroy: powerpc: Add missing asm/asm.h for objtool]
Signed-off-by: Christophe Leroy
---
arch/powerpc/Kconfig | 1
Add architecture specific function to look for
relocation records pointing to arch specific
symbols.
Suggested-by: Christophe Leroy
Signed-off-by: Sathvika Vasireddy
---
tools/objtool/arch/x86/decode.c | 8
tools/objtool/check.c| 2 +-
tools/objtool/include
Make relocation types architecture specific.
Signed-off-by: Sathvika Vasireddy
---
tools/objtool/arch/x86/include/arch/elf.h | 2 ++
tools/objtool/check.c | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/objtool/arch/x86/include/arch/elf.h
b/tools
This patch reads special sections which have alternate
instructions, only when stackval or orc or uaccess or
noinstr options are passed to objtool.
Signed-off-by: Sathvika Vasireddy
---
tools/objtool/check.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/tools
-by: Sathvika Vasireddy
---
Makefile| 4 +++-
arch/x86/Kconfig| 1 +
scripts/Makefile.lib| 1 +
tools/objtool/builtin-check.c | 14 ++
tools/objtool/check.c | 19
From: Christophe Leroy
In order to allow using objtool on cross-built kernels,
determine size of long from elf data instead of using
sizeof(long) at build time.
For the time being this covers only mcount.
Signed-off-by: Christophe Leroy
---
tools/objtool/check.c | 16
From: Christophe Leroy
Some architectures like powerpc support both endianness, it's
therefore not possible to fix the endianness via arch/endianness.h
because there is no easy way to get the target endianness at
build time.
Use the endianness recorded in the file objtool is working on.
From: Christophe Leroy
find_insn() will return NULL in case of failure. Check insn in order
to avoid a kernel Oops for NULL pointer dereference.
Signed-off-by: Christophe Leroy
---
tools/objtool/check.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/objtool/check.c
From: Christophe Leroy
Fix several annotations in assembly files on PPC32.
Signed-off-by: Christophe Leroy
[Sathvika Vasireddy: Changed subject line from objtool/powerpc: Activate
objtool on PPC32
to powerpc: Fix objtool unannotated intra-function call warnings on PPC32, and
removed
Kconfig
/aesp8-ppc.o: warning: objtool: .text+0x2d68: unannotated
intra-function call
Skip objtool from running on this file, as
there are no calls to _mcount.
Signed-off-by: Sathvika Vasireddy
---
drivers/crypto/vmx/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/crypto/vmx
call
Fix these warnings by annotating those functions with
SYM_FUNC_START_LOCAL() and SYM_FUNC_END() macros.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/kernel/exceptions-64s.S| 7 +--
arch/powerpc/kernel/head_64.S | 7 +--
arch/powerpc/kernel/misc_64.S
/book3s_hv_rmhandlers.o: warning: objtool: .text+0xee4:
unannotated intra-function call
Fix these warnings by annotating intra-function
call, using ANNOTATE_INTRA_FUNCTION_CALL macro,
to indicate that the branch targets are valid.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/kernel/entry_64.S
Since we need an alignment of 4 bytes, override
__ALIGN() and __ALIGN_STR() accordingly.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/include/asm/linkage.h | 4
1 file changed, 4 insertions(+)
diff --git a/arch/powerpc/include/asm/linkage.h
b/arch/powerpc/include/asm/linkage.h
objtool is throwing *unannotated intra-function call*
warnings with a few instructions that are marked
unreachable. Replace unreachable() with __builtin_unreachable()
to fix these warnings, as the codegen remains same
with unreachable() and __builtin_unreachable().
Signed-off-by: Sathvika
powerpc: Fix objtool unannotated intra-function call warnings on PPC32
Sathvika Vasireddy (12):
powerpc: Replace unreachable() with it's builtin variant in WARN_ON()
powerpc: override __ALIGN() and __ALIGN_STR() macros
powerpc: Fix objtool unannotated intra-function call warnings
powerpc
Hi Chen,
Thanks for pitching in and providing your inputs :-)
On 01/07/22 07:43, Chen Zhongjin wrote:
Hi everyone,
Hope I'm not too late for this discussion.
I'm not familiar with ppc so it spent me some time to reproduce this.
But at last I didn't make it.
What I did:
1 checkout to
On 25/06/22 12:16, Christophe Leroy wrote:
Le 24/06/2022 à 20:32, Sathvika Vasireddy a écrit :
objtool is throwing *unannotated intra-function call*
warnings with a few instructions that are marked
unreachable. Remove unreachable() from WARN_ON()
to fix these warnings, as the codegen remains
On 25/06/22 12:16, Christophe Leroy wrote:
Le 24/06/2022 à 20:32, Sathvika Vasireddy a écrit :
objtool is throwing *unannotated intra-function call*
warnings with a few instructions that are marked
unreachable. Remove unreachable() from WARN_ON()
to fix these warnings, as the codegen remains
Hi Christophe,
On 24/06/22 12:38, Christophe Leroy wrote:
Is everything going ok ? Don't hesitate if you need help.
Yeah, sure. Thanks!
I just posted RFC v3 here:
https://patchwork.ozlabs.org/project/linuxppc-dev/cover/20220624183238.388144-1...@linux.ibm.com/
/book3s_hv_interrupts.o: warning: objtool: .text+0x6c:
unannotated intra-function call
Remove a few of these warnings by putting ANNOTATE_INTRA_FUNCTION_CALL
directive before the call. And, the rest by annotating those functions
with SYM_FUNC_START_LOCAL() and SYM_FUNC_END() macros.
Signed-off-by: Sathvika
objtool is throwing *unannotated intra-function call*
warnings with a few instructions that are marked
unreachable. Remove unreachable() from WARN_ON()
to fix these warnings, as the codegen remains same
with and without unreachable() in WARN_ON().
Signed-off-by: Sathvika Vasireddy
---
arch
This patch enables objtool --mcount on powerpc, and
adds implementation specific to powerpc.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/Kconfig | 1 +
tools/objtool/arch/powerpc/decode.c | 22 +++
tools/objtool/arch/powerpc/include
This patch adds [stub] implementations for required
functions, inorder to enable objtool build on powerpc.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/Kconfig | 1 +
tools/objtool/arch/powerpc/Build | 2 +
tools/objtool/arch/powerpc/decode.c
Add architecture specific function to look for
relocation records pointing to arch specific
symbols.
Suggested-by: Christophe Leroy
Signed-off-by: Sathvika Vasireddy
---
tools/objtool/arch/x86/decode.c | 8
tools/objtool/check.c| 2 +-
tools/objtool/include
Make relocation types architecture specific.
Signed-off-by: Sathvika Vasireddy
---
tools/objtool/arch/x86/include/arch/elf.h | 2 ++
tools/objtool/check.c | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/objtool/arch/x86/include/arch/elf.h
b/tools
This patch reads special sections which have alternate
instructions, only when stackval or orc or uaccess or
noinstr options are passed to objtool.
Signed-off-by: Sathvika Vasireddy
---
tools/objtool/check.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/tools
Do not run objtool on VDSO files, by using
OBJECT_FILES_NON_STANDARD
Suggested-by: Christophe Leroy
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/kernel/vdso/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/powerpc/kernel/vdso/Makefile
b/arch/powerpc/kernel/vdso
-by: Sathvika Vasireddy
---
Makefile| 4 +++-
arch/x86/Kconfig| 1 +
scripts/Makefile.build | 1 +
tools/objtool/builtin-check.c | 14 ++
tools/objtool/check.c | 19
From: Christophe Leroy
In order to allow using objtool on cross-built kernels,
determine size of long from elf data instead of using
sizeof(long) at build time.
For the time being this covers only mcount.
Signed-off-by: Christophe Leroy
---
tools/objtool/check.c | 16
From: Christophe Leroy
Some architectures like powerpc support both endianness, it's
therefore not possible to fix the endianness via arch/endianness.h
because there is no easy way to get the target endianness at
build time.
Use the endianness recorded in the file objtool is working on.
From: Christophe Leroy
Signed-off-by: Christophe Leroy
---
tools/objtool/check.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 190b2f6e360a..6cb07e151588 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@
constant
Sathvika Vasireddy(9):
objtool: Add --mnop as an option to --mcount
powerpc: Skip objtool from running on VDSO files
objtool: Read special sections with alts only when specific options are
selected
objtool: Use macros to define arch specific reloc types
objtool: Add arch
Hi Christophe,
On 15/06/22 21:33, Christophe Leroy wrote:
Do you have any idea when you plan to send next revision ?
I'm really looking forward to submitting the inline static calls on top
of your series.
I'm planning to send RFC v3 next week.
- Sathvika
On 25/05/22 23:09, Christophe Leroy wrote:
Hi Sathvika,
Le 25/05/2022 à 12:14, Sathvika Vasireddy a écrit :
Hi Christophe,
On 24/05/22 18:47, Christophe Leroy wrote:
This draft series adds PPC32 support to Sathvika's series.
Verified on pmac32 on QEMU.
It should in principle also work
wrote:
From: Sathvika Vasireddy
This patch makes sure objtool runs only on the object files
that have ftrace enabled, instead of running on all the object
files.
Signed-off-by: Naveen N. Rao
Signed-off-by: Sathvika Vasireddy
Signed-off-by: Christophe Leroy
---
scripts/Makefile.build | 4 ++--
1
Hi Christophe,
On 24/05/22 18:47, Christophe Leroy wrote:
This draft series adds PPC32 support to Sathvika's series.
Verified on pmac32 on QEMU.
It should in principle also work for PPC64 BE but for the time being
something goes wrong. In the beginning I had a segfaut hence the first
patch.
On 24/05/22 15:05, Christophe Leroy wrote:
Le 23/05/2022 à 19:55, Sathvika Vasireddy a écrit :
This patch enables objtool --mcount on powerpc, and
adds implementation specific to powerpc.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/Kconfig| 1 +
tools/objtool
Hi Christophe,
On 24/05/22 14:27, Christophe Leroy wrote:
Le 23/05/2022 à 19:55, Sathvika Vasireddy a écrit :
This patch makes sure objtool runs only on the object files
that have ftrace enabled, instead of running on all the object
files.
Why do that ?
This was done to address the issue
This patch enables objtool --mcount on powerpc, and
adds implementation specific to powerpc.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/Kconfig| 1 +
tools/objtool/arch/powerpc/decode.c | 14 ++
tools/objtool/check.c | 12 +++-
tools
This patch adds [stub] implementations for required
functions, inorder to enable objtool build on powerpc.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/Kconfig | 1 +
tools/objtool/arch/powerpc/Build | 2 +
tools/objtool/arch/powerpc/decode.c
These patches are rebased on top of objtool/core
branch of the tip tree, and work only on ppc64le
for now.
Note: With this patch set, there are still some
warnings seen with ppc64le kernel build.
Sathvika Vasireddy (4):
objtool: Add --mnop as an option to --mcount
objtool: Enable objtool
-by: Sathvika Vasireddy
---
Makefile| 4 +++-
arch/x86/Kconfig| 1 +
scripts/Makefile.build | 1 +
tools/objtool/builtin-check.c | 14 ++
tools/objtool/check.c | 19
This patch makes sure objtool runs only on the object files
that have ftrace enabled, instead of running on all the object
files.
Signed-off-by: Naveen N. Rao
Signed-off-by: Sathvika Vasireddy
---
scripts/Makefile.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
This patch adds powerpc specific functions required for
'objtool mcount' to work, and enables mcount for ppc.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/Kconfig | 1 +
tools/objtool/Makefile| 4 ++
tools/objtool/arch/powerpc/Build
is passed as an option to 'objtool mcount'
Signed-off-by: Sathvika Vasireddy
---
Makefile| 6 ++
arch/x86/Kconfig| 3 +-
scripts/Makefile.build | 12 +++
tools/objtool/Build | 2 +
tools/objtool
This patch moves common code to utils.c file. Code from this file will
be reused across check.c and mcount.c (will be introduced in the coming
patches). Also, ensure that this change works well with existing
commands.
Signed-off-by: Sathvika Vasireddy
---
tools/objtool/Build
"objtool mcount" for clang LTO builds.
Sathvika Vasireddy (3):
objtool: Move common code to utils.c
objtool: Enable and implement 'mcount' subcommand
objtool/mcount: Add powerpc specific functions
Makefile | 6 +
arch/power
This adds selftests for setb instruction.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/include/asm/ppc-opcode.h | 1 +
arch/powerpc/lib/test_emulate_step.c | 29 +
2 files changed, 30 insertions(+)
diff --git a/arch/powerpc/include/asm/ppc-opcode.h
b/arch
etb' emulation code after 'mfcr' instruction emulation.
- Add 'cpu_feature' in the selftests patch to restrict them to ISA v3.0
Sathvika Vasireddy (2):
powerpc/sstep: Add emulation support for ‘setb’ instruction
powerpc/sstep: Add tests for setb instruction
arch/powerpc/include/asm/ppc-opcod
This adds emulation support for the following instruction:
* Set Boolean (setb)
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/lib/sstep.c | 22 ++
1 file changed, 22 insertions(+)
diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c
index 45bda2520755
This adds selftests for setb instruction.
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/include/asm/ppc-opcode.h | 1 +
arch/powerpc/lib/test_emulate_step.c | 28 +++
2 files changed, 29 insertions(+)
diff --git a/arch/powerpc/include/asm/ppc-opcode.h
b
This adds emulation support for the following instruction:
* Set Boolean (setb)
Signed-off-by: Sathvika Vasireddy
---
arch/powerpc/lib/sstep.c | 12
1 file changed, 12 insertions(+)
diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c
index c6aebc149d14
This patchset adds emulation support and tests for setb instruction. Test cases
are written to test different CR fields with different bits set in each field.
Sathvika Vasireddy (2):
powerpc/sstep: Add emulation support for ‘setb’ instruction
powerpc/sstep: Add tests for setb instruction
101 - 167 of 167 matches
Mail list logo