This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 02/12] x86-64: Add endbr64 to tst-quadmod[12].S


On 07/21/2018 10:20 AM, H.J. Lu wrote:
> Add endbr64 to tst-quadmod1.S and tst-quadmod2.S so that func and foo
> can be called indirectly.
> 
> 	* sysdeps/x86_64/tst-quadmod1.S (func): Add endbr64 if IBT is
> 	enabled.
> 	(foo): Likewise.
> 	* sysdeps/x86_64/tst-quadmod2.S (func) : Likewise.
> 	(foo): Likewise.
> ---
>  sysdeps/x86_64/tst-quadmod1.S | 6 ++++++
>  sysdeps/x86_64/tst-quadmod2.S | 6 ++++++
>  2 files changed, 12 insertions(+)

This is OK as-is, but marking foo with enbr64 seems
beyond what is needed. Only foo calls func directly,
so I would expect only func needing markup. If you can
tighten this up it would be better.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>

> 
> diff --git a/sysdeps/x86_64/tst-quadmod1.S b/sysdeps/x86_64/tst-quadmod1.S
> index 26f2f1b599..c60f9dc89d 100644
> --- a/sysdeps/x86_64/tst-quadmod1.S
> +++ b/sysdeps/x86_64/tst-quadmod1.S
> @@ -28,6 +28,9 @@
>  	.type	func, @function
>  func:
>  	.cfi_startproc
> +#if defined __CET__ && (__CET__ & 1) != 0
> +	endbr64
> +#endif

OK.

>  	xorl	%edi, %edi
>  	jmp	exit@PLT
>  	.cfi_endproc
> @@ -37,6 +40,9 @@ func:
>  foo:
>  	.cfi_startproc
>  	.cfi_def_cfa_register 6
> +#if defined __CET__ && (__CET__ & 1) != 0
> +	endbr64

OK.

> +#endif
>  	movq	.Ljmp(%rip), %rax
>  	subq	$BIAS, %rax
>  	jmp	*%rax
> diff --git a/sysdeps/x86_64/tst-quadmod2.S b/sysdeps/x86_64/tst-quadmod2.S
> index e923adf672..af03444d4f 100644
> --- a/sysdeps/x86_64/tst-quadmod2.S
> +++ b/sysdeps/x86_64/tst-quadmod2.S
> @@ -27,6 +27,9 @@
>  	.type	func, @function
>  func:
>  	.cfi_startproc
> +#if defined __CET__ && (__CET__ & 1) != 0
> +	endbr64

OK. Foo calls func directly.

> +#endif
>  	xorl	%edi, %edi
>  	jmp	exit@PLT
>  	.cfi_endproc
> @@ -36,6 +39,9 @@ func:
>  foo:
>  	.cfi_startproc
>  	.cfi_def_cfa_register 6
> +#if defined __CET__ && (__CET__ & 1) != 0
> +	endbr64
> +#endif
>  	movq	.Ljmp(%rip), %rax
>  	subq	$BIAS, %rax
>  	jmp	*%rax
> 

OK.

c.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]