[04/24] x86: Add _CET_ENDBR to functions in crti.S

Message ID 20180613153207.57232-5-hjl.tools@gmail.com
State New
Headers show
Series
  • CET: Prepare for CET enabling
Related show

Commit Message

H.J. Lu June 13, 2018, 3:31 p.m.
Add _CET_ENDBR to functions in crti.S, which are called indirectly, to
support IBT.

Tested on i686 and x86-64.

	* sysdeps/i386/crti.S (_init): Add _CET_ENDBR.
	(_fini): Likewise.
	* sysdeps/x86_64/crti.S (_init): Likewise.
	(_fini): Likewise.
---
 sysdeps/i386/crti.S   | 2 ++
 sysdeps/x86_64/crti.S | 2 ++
 2 files changed, 4 insertions(+)

Patch

diff --git a/sysdeps/i386/crti.S b/sysdeps/i386/crti.S
index ffbc92c22f..65ddc1c934 100644
--- a/sysdeps/i386/crti.S
+++ b/sysdeps/i386/crti.S
@@ -61,6 +61,7 @@ 
 	.hidden	_init
 	.type _init, @function
 _init:
+	_CET_ENDBR
 	pushl %ebx
 	/* Maintain 16-byte stack alignment for called functions.  */
 	subl $8, %esp
@@ -81,6 +82,7 @@  _init:
 	.hidden	_fini
 	.type _fini, @function
 _fini:
+	_CET_ENDBR
 	pushl %ebx
 	subl $8, %esp
 	LOAD_PIC_REG (bx)
diff --git a/sysdeps/x86_64/crti.S b/sysdeps/x86_64/crti.S
index f26915e956..067ac14884 100644
--- a/sysdeps/x86_64/crti.S
+++ b/sysdeps/x86_64/crti.S
@@ -61,6 +61,7 @@ 
 	.hidden	_init
 	.type _init, @function
 _init:
+	_CET_ENDBR
 	/* Maintain 16-byte stack alignment for called functions.  */
 	subq $8, %rsp
 #if PREINIT_FUNCTION_WEAK
@@ -79,4 +80,5 @@  _init:
 	.hidden	_fini
 	.type _fini, @function
 _fini:
+	_CET_ENDBR
 	subq $8, %rsp