Thread (41 messages) 41 messages, 3 authors, 2022-06-30

Re: [PATCH v6 18/33] arm64: Change symbol type annotations

From: Chen Zhongjin <hidden>
Date: 2022-06-30 02:41:52
Also in: linux-arch, linux-arm-kernel, linux-kbuild, live-patching, lkml

Hi Mark,

Thanks for review!

On 2022/6/30 1:47, Mark Brown wrote:
On Thu, Jun 23, 2022 at 09:49:02AM +0800, Chen Zhongjin wrote:
quoted
Code symbols not following the aarch64 procedure call convention should
be annotated with SYM_CODE_* instead of SYM_FUNC_*

Mark relevant symbols as generic code symbols.
quoted
-SYM_CODE_START(tramp_exit_native)
+SYM_CODE_START_LOCAL(tramp_exit_native)
 	tramp_exit
 SYM_CODE_END(tramp_exit_native)
 
-SYM_CODE_START(tramp_exit_compat)
+SYM_CODE_START_LOCAL(tramp_exit_compat)
The commit log says this is fixing things mistakenly lablelld SYM_FUNC
but this bit of the actual change is making some symbols local.
It makes sense. I'll remove this because whether this symbol is global makes few
difference here.
quoted
-SYM_FUNC_START_LOCAL(__create_page_tables)
+SYM_CODE_START_LOCAL(__create_page_tables)
 	mov	x28, lr
 
 	/*
@@ -389,7 +389,7 @@ SYM_FUNC_START_LOCAL(__create_page_tables)
 	bl	dcache_inval_poc
 
 	ret	x28
-SYM_FUNC_END(__create_page_tables)
+SYM_CODE_END(__create_page_tables)
This is removed by Ard's recent refactoring, the others that are still
present look valid enough (for things that don't use the stack IIRC they
could be seen as conforming but equally this is all running in non
standard environments).
You are right, for SYM_CODE_, objtool won't generate ORC automatically as other
normal functions, unless UNWIND_HINT is explicitly specified for non-standard
stack frames.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help