Make the common interrupt entry point labels local labels.

Kernel debuggers depend on symbol names to find stack frames with a
trapframe rather than a normal stack frame.  The labels used for the
shared interrupt entry point for the PTI and non-PTI cases did not
match the existing patterns confusing debuggers.  Add the '.L' prefix
to mark these symbols as local so they are not visible in the symbol
table.

Reviewed by:	kib
MFC after:	1 week
Sponsored by:	Chelsio Communications
This commit is contained in:
John Baldwin 2018-05-14 17:27:53 +00:00
parent 482d420926
commit 0b3e6e4c50

View File

@ -223,9 +223,9 @@ X\name\()_pti:
.type X\vec_name\()_pti,@function
X\vec_name\()_pti:
testb $SEL_RPL_MASK,PTI_CS-3*8(%rsp) /* err, %rax, %rdx not pushed */
jz \vec_name\()_u
jz .L\vec_name\()_u
PTI_UENTRY has_err=0
jmp \vec_name\()_u
jmp .L\vec_name\()_u
.endm
.macro INTR_PUSH_FRAME vec_name
@ -234,9 +234,9 @@ X\vec_name\()_pti:
.type X\vec_name,@function
X\vec_name:
testb $SEL_RPL_MASK,PTI_CS-3*8(%rsp) /* come from kernel? */
jz \vec_name\()_u /* Yes, dont swapgs again */
jz .L\vec_name\()_u /* Yes, dont swapgs again */
swapgs
\vec_name\()_u:
.L\vec_name\()_u:
subq $TF_RIP,%rsp /* skip dummy tf_err and tf_trapno */
movq %rdi,TF_RDI(%rsp)
movq %rsi,TF_RSI(%rsp)