Blob Blame History Raw
diff -up mesa-19.1.4/meson.build.cet mesa-19.1.4/meson.build
--- mesa-19.1.4/meson.build.cet	2019-08-08 02:39:16.000000000 +1000
+++ mesa-19.1.4/meson.build	2019-08-09 15:31:35.381426323 +1000
@@ -1061,6 +1061,10 @@ foreach f : ['strtof', 'mkostemp', 'posi
   endif
 endforeach
 
+if cc.has_header('cet.h')
+   pre_args += '-DHAVE_CET_H'
+endif
+
 # strtod locale support
 if cc.links('''
     #define _GNU_SOURCE
diff -up mesa-19.1.4/src/mesa/x86/3dnow_xform1.S.cet mesa-19.1.4/src/mesa/x86/3dnow_xform1.S
--- mesa-19.1.4/src/mesa/x86/3dnow_xform1.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/3dnow_xform1.S	2019-08-09 15:31:35.381426323 +1000
@@ -37,7 +37,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points1_general )
 HIDDEN(_mesa_3dnow_transform_points1_general)
 GLNAME( _mesa_3dnow_transform_points1_general ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -102,7 +102,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points1_identity )
 HIDDEN(_mesa_3dnow_transform_points1_identity)
 GLNAME( _mesa_3dnow_transform_points1_identity ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -150,7 +150,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points1_3d_no_rot )
 HIDDEN(_mesa_3dnow_transform_points1_3d_no_rot)
 GLNAME( _mesa_3dnow_transform_points1_3d_no_rot ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -208,7 +208,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points1_perspective )
 HIDDEN(_mesa_3dnow_transform_points1_perspective)
 GLNAME( _mesa_3dnow_transform_points1_perspective ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -262,7 +262,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points1_2d )
 HIDDEN(_mesa_3dnow_transform_points1_2d)
 GLNAME( _mesa_3dnow_transform_points1_2d ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -318,7 +318,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points1_2d_no_rot )
 HIDDEN(_mesa_3dnow_transform_points1_2d_no_rot)
 GLNAME( _mesa_3dnow_transform_points1_2d_no_rot ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -372,7 +372,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points1_3d )
 HIDDEN(_mesa_3dnow_transform_points1_3d)
 GLNAME( _mesa_3dnow_transform_points1_3d ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
diff -up mesa-19.1.4/src/mesa/x86/3dnow_xform2.S.cet mesa-19.1.4/src/mesa/x86/3dnow_xform2.S
--- mesa-19.1.4/src/mesa/x86/3dnow_xform2.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/3dnow_xform2.S	2019-08-09 15:31:35.382426334 +1000
@@ -37,7 +37,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points2_general )
 HIDDEN(_mesa_3dnow_transform_points2_general)
 GLNAME( _mesa_3dnow_transform_points2_general ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -118,7 +118,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points2_perspective )
 HIDDEN(_mesa_3dnow_transform_points2_perspective)
 GLNAME( _mesa_3dnow_transform_points2_perspective ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -174,7 +174,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points2_3d )
 HIDDEN(_mesa_3dnow_transform_points2_3d)
 GLNAME( _mesa_3dnow_transform_points2_3d ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -251,7 +251,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points2_3d_no_rot )
 HIDDEN(_mesa_3dnow_transform_points2_3d_no_rot)
 GLNAME( _mesa_3dnow_transform_points2_3d_no_rot ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -310,7 +310,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points2_2d )
 HIDDEN(_mesa_3dnow_transform_points2_2d)
 GLNAME( _mesa_3dnow_transform_points2_2d ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -374,7 +374,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points2_2d_no_rot )
 HIDDEN(_mesa_3dnow_transform_points2_2d_no_rot)
 GLNAME( _mesa_3dnow_transform_points2_2d_no_rot ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -430,7 +430,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points2_identity )
 HIDDEN(_mesa_3dnow_transform_points2_identity)
 GLNAME( _mesa_3dnow_transform_points2_identity ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
diff -up mesa-19.1.4/src/mesa/x86/3dnow_xform3.S.cet mesa-19.1.4/src/mesa/x86/3dnow_xform3.S
--- mesa-19.1.4/src/mesa/x86/3dnow_xform3.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/3dnow_xform3.S	2019-08-09 15:31:35.382426334 +1000
@@ -37,7 +37,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points3_general )
 HIDDEN(_mesa_3dnow_transform_points3_general)
 GLNAME( _mesa_3dnow_transform_points3_general ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -122,7 +122,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points3_perspective )
 HIDDEN(_mesa_3dnow_transform_points3_perspective)
 GLNAME( _mesa_3dnow_transform_points3_perspective ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -203,7 +203,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points3_3d )
 HIDDEN(_mesa_3dnow_transform_points3_3d)
 GLNAME( _mesa_3dnow_transform_points3_3d ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -291,7 +291,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points3_3d_no_rot )
 HIDDEN(_mesa_3dnow_transform_points3_3d_no_rot)
 GLNAME( _mesa_3dnow_transform_points3_3d_no_rot ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -367,7 +367,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points3_2d )
 HIDDEN(_mesa_3dnow_transform_points3_2d)
 GLNAME( _mesa_3dnow_transform_points3_2d ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -440,7 +440,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points3_2d_no_rot )
 HIDDEN(_mesa_3dnow_transform_points3_2d_no_rot)
 GLNAME( _mesa_3dnow_transform_points3_2d_no_rot ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -507,7 +507,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points3_identity )
 HIDDEN(_mesa_3dnow_transform_points3_identity)
 GLNAME( _mesa_3dnow_transform_points3_identity ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
diff -up mesa-19.1.4/src/mesa/x86/3dnow_xform4.S.cet mesa-19.1.4/src/mesa/x86/3dnow_xform4.S
--- mesa-19.1.4/src/mesa/x86/3dnow_xform4.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/3dnow_xform4.S	2019-08-09 15:31:35.383426344 +1000
@@ -37,7 +37,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points4_general )
 HIDDEN(_mesa_3dnow_transform_points4_general)
 GLNAME( _mesa_3dnow_transform_points4_general ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -130,7 +130,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points4_perspective )
 HIDDEN(_mesa_3dnow_transform_points4_perspective)
 GLNAME( _mesa_3dnow_transform_points4_perspective ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -210,7 +210,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points4_3d )
 HIDDEN(_mesa_3dnow_transform_points4_3d)
 GLNAME( _mesa_3dnow_transform_points4_3d ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -300,7 +300,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points4_3d_no_rot )
 HIDDEN(_mesa_3dnow_transform_points4_3d_no_rot)
 GLNAME( _mesa_3dnow_transform_points4_3d_no_rot ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
     MOV_L     ( ARG_DEST, ECX )
     MOV_L     ( ARG_MATRIX, ESI )
@@ -373,7 +373,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points4_2d )
 HIDDEN(_mesa_3dnow_transform_points4_2d)
 GLNAME( _mesa_3dnow_transform_points4_2d ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -448,7 +448,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points4_2d_no_rot )
 HIDDEN(_mesa_3dnow_transform_points4_2d_no_rot)
 GLNAME( _mesa_3dnow_transform_points4_2d_no_rot ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
@@ -516,7 +516,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_3dnow_transform_points4_identity )
 HIDDEN(_mesa_3dnow_transform_points4_identity)
 GLNAME( _mesa_3dnow_transform_points4_identity ):
-
+    _CET_ENDBR
     PUSH_L    ( ESI )
 
     MOV_L     ( ARG_DEST, ECX )
diff -up mesa-19.1.4/src/mesa/x86-64/xform4.S.cet mesa-19.1.4/src/mesa/x86-64/xform4.S
--- mesa-19.1.4/src/mesa/x86-64/xform4.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86-64/xform4.S	2019-08-09 15:31:35.384426355 +1000
@@ -21,6 +21,11 @@
  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  * OTHER DEALINGS IN THE SOFTWARE.
  */
+#ifdef HAVE_CET_H
+#include <cet.h>
+#else
+#define _CET_ENDBR
+#endif
 
 #ifdef USE_X86_64_ASM
 
@@ -32,6 +37,7 @@
 .globl _mesa_x86_64_cpuid
 .hidden _mesa_x86_64_cpuid
 _mesa_x86_64_cpuid:
+	_CET_ENDBR
 	pushq	%rbx
 	movl	(%rdi), %eax
 	movl	8(%rdi), %ecx
@@ -54,6 +60,7 @@ _mesa_x86_64_transform_points4_general:
  *	rsi = matrix
  *	rdx = source
  */
+	_CET_ENDBR
 	movl V4F_COUNT(%rdx), %ecx	/* count */
 	movzbl V4F_STRIDE(%rdx), %eax	/* stride */
 
@@ -129,7 +136,7 @@ p4_constants:
  * because it ensures that the last matrix row (or is it column?) is 0,0,0,1
  */
 _mesa_x86_64_transform_points4_3d:
-
+	_CET_ENDBR
 	leaq p4_constants(%rip), %rax
 
 	prefetchnta 64(%rsi)
@@ -197,7 +204,7 @@ p4_3d_done:
 .globl _mesa_x86_64_transform_points4_identity
 .hidden _mesa_x86_64_transform_points4_identity
 _mesa_x86_64_transform_points4_identity:
-
+	_CET_ENDBR
 	movl V4F_COUNT(%rdx), %ecx	/* count */
 	movzbl V4F_STRIDE(%rdx), %eax	/* stride */
 
@@ -226,7 +233,7 @@ p4_identity_done:
 .globl _mesa_3dnow_transform_points4_3d_no_rot
 .hidden _mesa_3dnow_transform_points4_3d_no_rot
 _mesa_3dnow_transform_points4_3d_no_rot:
-
+	_CET_ENDBR
 	movl V4F_COUNT(%rdx), %ecx	/* count */
 	movzbl V4F_STRIDE(%rdx), %eax	/* stride */
 
@@ -291,7 +298,7 @@ p4_3d_no_rot_done:
 .globl _mesa_3dnow_transform_points4_perspective
 .hidden _mesa_3dnow_transform_points4_perspective
 _mesa_3dnow_transform_points4_perspective:
-
+	_CET_ENDBR
 	movl V4F_COUNT(%rdx), %ecx	/* count */
 	movzbl V4F_STRIDE(%rdx), %eax	/* stride */
 
@@ -358,7 +365,7 @@ p4_perspective_done:
 .globl _mesa_3dnow_transform_points4_2d_no_rot
 .hidden _mesa_3dnow_transform_points4_2d_no_rot
 _mesa_3dnow_transform_points4_2d_no_rot:
-
+	_CET_ENDBR
 	movl V4F_COUNT(%rdx), %ecx	/* count */
 	movzbl V4F_STRIDE(%rdx), %eax	/* stride */
 
@@ -414,7 +421,7 @@ p4_2d_no_rot_done:
 .globl _mesa_3dnow_transform_points4_2d
 .hidden _mesa_3dnow_transform_points4_2d
 _mesa_3dnow_transform_points4_2d:
-
+	_CET_ENDBR
 	movl V4F_COUNT(%rdx), %ecx	/* count */
 	movzbl V4F_STRIDE(%rdx), %eax	/* stride */
 
diff -up mesa-19.1.4/src/mesa/x86/assyntax.h.cet mesa-19.1.4/src/mesa/x86/assyntax.h
--- mesa-19.1.4/src/mesa/x86/assyntax.h.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/assyntax.h	2019-08-09 15:31:35.384426355 +1000
@@ -1736,4 +1736,11 @@
 #  define HIDDEN(x)
 #endif
 
+/* Control flow enforcement support */
+#ifdef HAVE_CET_H
+#include <cet.h>
+#else
+#define _CET_ENDBR
+#endif
+
 #endif /* __ASSYNTAX_H__ */
diff -up mesa-19.1.4/src/mesa/x86/common_x86_asm.S.cet mesa-19.1.4/src/mesa/x86/common_x86_asm.S
--- mesa-19.1.4/src/mesa/x86/common_x86_asm.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/common_x86_asm.S	2019-08-09 15:31:35.385426365 +1000
@@ -49,7 +49,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_x86_has_cpuid)
 HIDDEN(_mesa_x86_has_cpuid)
 GLNAME(_mesa_x86_has_cpuid):
-
+	_CET_ENDBR
 	/* Test for the CPUID command.  If the ID Flag bit in EFLAGS
 	 * (bit 21) is writable, the CPUID command is present */
 	PUSHF_L
@@ -73,7 +73,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_x86_cpuid)
 HIDDEN(_mesa_x86_cpuid)
 GLNAME(_mesa_x86_cpuid):
-
+	_CET_ENDBR
 	MOV_L	(REGOFF(4, ESP), EAX)		/* cpuid op */
 	PUSH_L	(EDI)
 	PUSH_L	(EBX)
@@ -97,7 +97,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_x86_cpuid_eax)
 HIDDEN(_mesa_x86_cpuid_eax)
 GLNAME(_mesa_x86_cpuid_eax):
-
+	_CET_ENDBR
 	MOV_L	(REGOFF(4, ESP), EAX)		/* cpuid op */
 	PUSH_L	(EBX)
 
@@ -110,7 +110,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_x86_cpuid_ebx)
 HIDDEN(_mesa_x86_cpuid_ebx)
 GLNAME(_mesa_x86_cpuid_ebx):
-
+	_CET_ENDBR
 	MOV_L	(REGOFF(4, ESP), EAX)		/* cpuid op */
 	PUSH_L	(EBX)
 
@@ -124,7 +124,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_x86_cpuid_ecx)
 HIDDEN(_mesa_x86_cpuid_ecx)
 GLNAME(_mesa_x86_cpuid_ecx):
-
+	_CET_ENDBR
 	MOV_L	(REGOFF(4, ESP), EAX)		/* cpuid op */
 	PUSH_L	(EBX)
 
@@ -138,7 +138,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_x86_cpuid_edx)
 HIDDEN(_mesa_x86_cpuid_edx)
 GLNAME(_mesa_x86_cpuid_edx):
-
+	_CET_ENDBR
 	MOV_L	(REGOFF(4, ESP), EAX)		/* cpuid op */
 	PUSH_L	(EBX)
 
@@ -164,7 +164,7 @@ ALIGNTEXT4
 GLOBL GLNAME( _mesa_test_os_sse_support )
 HIDDEN(_mesa_test_os_sse_support)
 GLNAME( _mesa_test_os_sse_support ):
-
+	_CET_ENDBR
 	XORPS	( XMM0, XMM0 )
 
 	RET
@@ -179,7 +179,7 @@ ALIGNTEXT4
 GLOBL GLNAME( _mesa_test_os_sse_exception_support )
 HIDDEN(_mesa_test_os_sse_exception_support)
 GLNAME( _mesa_test_os_sse_exception_support ):
-
+	_CET_ENDBR
 	PUSH_L	( EBP )
 	MOV_L	( ESP, EBP )
 	SUB_L	( CONST( 8 ), ESP )
diff -up mesa-19.1.4/src/mesa/x86/mmx_blendtmp.h.cet mesa-19.1.4/src/mesa/x86/mmx_blendtmp.h
--- mesa-19.1.4/src/mesa/x86/mmx_blendtmp.h.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/mmx_blendtmp.h	2019-08-09 15:31:35.385426365 +1000
@@ -15,7 +15,7 @@ ALIGNTEXT16
 GLOBL GLNAME( TAG(_mesa_mmx_blend) )
 HIDDEN( TAG(_mesa_mmx_blend) )
 GLNAME( TAG(_mesa_mmx_blend) ):
-
+    _CET_ENDBR
     PUSH_L     ( EBP )
     MOV_L      ( ESP, EBP )
     PUSH_L     ( ESI )
diff -up mesa-19.1.4/src/mesa/x86/read_rgba_span_x86.S.cet mesa-19.1.4/src/mesa/x86/read_rgba_span_x86.S
--- mesa-19.1.4/src/mesa/x86/read_rgba_span_x86.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/read_rgba_span_x86.S	2019-08-09 15:32:08.817778784 +1000
@@ -29,7 +29,12 @@
  *
  * \author Ian Romanick <idr@us.ibm.com>
  */
-
+/* Control flow enforcement support */
+#ifdef HAVE_CET_H
+#include <cet.h>
+#else
+#define _CET_ENDBR
+#endif
 	.file	"read_rgba_span_x86.S"
 #if !defined(__MINGW32__) && !defined(__APPLE__) /* this one cries for assyntax.h */
 /* Kevin F. Quinn 2nd July 2006
@@ -80,6 +85,7 @@
 .hidden _generic_read_RGBA_span_BGRA8888_REV_MMX
 	.type	_generic_read_RGBA_span_BGRA8888_REV_MMX, @function
 _generic_read_RGBA_span_BGRA8888_REV_MMX:
+	_CET_ENDBR
 	pushl	%ebx
 
 #ifdef USE_INNER_EMMS
@@ -175,6 +181,7 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX
 .hidden _generic_read_RGBA_span_BGRA8888_REV_SSE
 	.type	_generic_read_RGBA_span_BGRA8888_REV_SSE, @function
 _generic_read_RGBA_span_BGRA8888_REV_SSE:
+	_CET_ENDBR
 	pushl	%esi
 	pushl	%ebx
 	pushl	%ebp
@@ -338,6 +345,7 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
 .hidden _generic_read_RGBA_span_BGRA8888_REV_SSE2
 	.type	_generic_read_RGBA_span_BGRA8888_REV_SSE2, @function
 _generic_read_RGBA_span_BGRA8888_REV_SSE2:
+	_CET_ENDBR
 	pushl	%esi
 	pushl	%ebx
 
@@ -498,7 +506,7 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
 	.type	_generic_read_RGBA_span_RGB565_MMX, @function
 
 _generic_read_RGBA_span_RGB565_MMX:
-
+	_CET_ENDBR
 #ifdef USE_INNER_EMMS
 	emms
 #endif
diff -up mesa-19.1.4/src/mesa/x86/sse_normal.S.cet mesa-19.1.4/src/mesa/x86/sse_normal.S
--- mesa-19.1.4/src/mesa/x86/sse_normal.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/sse_normal.S	2019-08-09 15:31:35.386426376 +1000
@@ -47,7 +47,7 @@ ALIGNTEXT16
 GLOBL GLNAME(_mesa_sse_transform_rescale_normals_no_rot)
 HIDDEN(_mesa_sse_transform_rescale_normals_no_rot)
 GLNAME(_mesa_sse_transform_rescale_normals_no_rot):
-
+	_CET_ENDBR
 #define FRAME_OFFSET 8
 	PUSH_L  ( ESI )
 	PUSH_L  ( EDI )
@@ -109,7 +109,7 @@ ALIGNTEXT16
 GLOBL GLNAME(_mesa_sse_transform_rescale_normals)
 HIDDEN(_mesa_sse_transform_rescale_normals)
 GLNAME(_mesa_sse_transform_rescale_normals):
-
+	_CET_ENDBR
 #define FRAME_OFFSET 8
 	PUSH_L  ( ESI )
 	PUSH_L  ( EDI )
@@ -202,7 +202,7 @@ ALIGNTEXT16
 GLOBL GLNAME(_mesa_sse_transform_normals_no_rot)
 HIDDEN(_mesa_sse_transform_normals_no_rot)
 GLNAME(_mesa_sse_transform_normals_no_rot):
-
+	_CET_ENDBR
 #define FRAME_OFFSET 8
 	PUSH_L  ( ESI )
 	PUSH_L  ( EDI )
diff -up mesa-19.1.4/src/mesa/x86/sse_xform1.S.cet mesa-19.1.4/src/mesa/x86/sse_xform1.S
--- mesa-19.1.4/src/mesa/x86/sse_xform1.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/sse_xform1.S	2019-08-09 15:31:35.386426376 +1000
@@ -46,7 +46,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points1_general)
 HIDDEN( _mesa_sse_transform_points1_general )
 GLNAME( _mesa_sse_transform_points1_general ):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L    ( ESI )
     PUSH_L    ( EDI )
@@ -103,7 +103,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points1_identity)
 HIDDEN(_mesa_sse_transform_points1_identity)
 GLNAME( _mesa_sse_transform_points1_identity ):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L    ( ESI )
     PUSH_L    ( EDI )
@@ -155,7 +155,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points1_3d_no_rot)
 HIDDEN(_mesa_sse_transform_points1_3d_no_rot)
 GLNAME(_mesa_sse_transform_points1_3d_no_rot):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L( ESI )
     PUSH_L( EDI )
@@ -216,7 +216,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points1_perspective)
 HIDDEN(_mesa_sse_transform_points1_perspective)
 GLNAME(_mesa_sse_transform_points1_perspective):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L   ( ESI )
     PUSH_L   ( EDI )
@@ -275,7 +275,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points1_2d)
 HIDDEN(_mesa_sse_transform_points1_2d)
 GLNAME(_mesa_sse_transform_points1_2d):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L( ESI )
     PUSH_L( EDI )
@@ -330,7 +330,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points1_2d_no_rot)
 HIDDEN(_mesa_sse_transform_points1_2d_no_rot)
 GLNAME(_mesa_sse_transform_points1_2d_no_rot):
-
+	_CET_ENDBR
 #define FRAME_OFFSET 8
 	PUSH_L( ESI )
 	PUSH_L( EDI )
@@ -387,7 +387,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points1_3d)
 HIDDEN(_mesa_sse_transform_points1_3d)
 GLNAME(_mesa_sse_transform_points1_3d):
-
+	_CET_ENDBR
 #define FRAME_OFFSET 8
 	PUSH_L( ESI )
 	PUSH_L( EDI )
diff -up mesa-19.1.4/src/mesa/x86/sse_xform2.S.cet mesa-19.1.4/src/mesa/x86/sse_xform2.S
--- mesa-19.1.4/src/mesa/x86/sse_xform2.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/sse_xform2.S	2019-08-09 15:31:35.387426386 +1000
@@ -46,7 +46,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points2_general)
 HIDDEN (_mesa_sse_transform_points2_general)
 GLNAME( _mesa_sse_transform_points2_general ):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L    ( ESI )
     PUSH_L    ( EDI )
@@ -107,7 +107,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points2_identity)
 HIDDEN(_mesa_sse_transform_points2_identity)
 GLNAME( _mesa_sse_transform_points2_identity ):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L    ( ESI )
     PUSH_L    ( EDI )
@@ -160,7 +160,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points2_3d_no_rot)
 HIDDEN(_mesa_sse_transform_points2_3d_no_rot)
 GLNAME(_mesa_sse_transform_points2_3d_no_rot):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L( ESI )
     PUSH_L( EDI )
@@ -221,7 +221,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points2_perspective)
 HIDDEN(_mesa_sse_transform_points2_perspective)
 GLNAME(_mesa_sse_transform_points2_perspective):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L   ( ESI )
     PUSH_L   ( EDI )
@@ -280,7 +280,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points2_2d)
 HIDDEN(_mesa_sse_transform_points2_2d)
 GLNAME(_mesa_sse_transform_points2_2d):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L( ESI )
     PUSH_L( EDI )
@@ -343,7 +343,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points2_2d_no_rot)
 HIDDEN(_mesa_sse_transform_points2_2d_no_rot)
 GLNAME(_mesa_sse_transform_points2_2d_no_rot):
-
+	_CET_ENDBR
 #define FRAME_OFFSET 8
 	PUSH_L( ESI )
 	PUSH_L( EDI )
@@ -400,7 +400,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points2_3d)
 HIDDEN(_mesa_sse_transform_points2_3d)
 GLNAME(_mesa_sse_transform_points2_3d):
-
+	_CET_ENDBR
 #define FRAME_OFFSET 8
 	PUSH_L( ESI )
 	PUSH_L( EDI )
diff -up mesa-19.1.4/src/mesa/x86/sse_xform3.S.cet mesa-19.1.4/src/mesa/x86/sse_xform3.S
--- mesa-19.1.4/src/mesa/x86/sse_xform3.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/sse_xform3.S	2019-08-09 15:31:35.388426397 +1000
@@ -46,7 +46,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points3_general)
 HIDDEN(_mesa_sse_transform_points3_general)
 GLNAME( _mesa_sse_transform_points3_general ):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L    ( ESI )
     PUSH_L    ( EDI )
@@ -116,7 +116,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points3_identity)
 HIDDEN(_mesa_sse_transform_points3_identity)
 GLNAME( _mesa_sse_transform_points3_identity ):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L    ( ESI )
     PUSH_L    ( EDI )
@@ -171,7 +171,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points3_3d_no_rot)
 HIDDEN(_mesa_sse_transform_points3_3d_no_rot)
 GLNAME(_mesa_sse_transform_points3_3d_no_rot):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L( ESI )
     PUSH_L( EDI )
@@ -239,7 +239,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points3_perspective)
 HIDDEN(_mesa_sse_transform_points3_perspective)
 GLNAME(_mesa_sse_transform_points3_perspective):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L   ( ESI )
     PUSH_L   ( EDI )
@@ -312,7 +312,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points3_2d)
 HIDDEN(_mesa_sse_transform_points3_2d)
 GLNAME(_mesa_sse_transform_points3_2d):
-
+    _CET_ENDBR
 #define FRAME_OFFSET 8
     PUSH_L( ESI )
     PUSH_L( EDI )
@@ -377,7 +377,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points3_2d_no_rot)
 HIDDEN(_mesa_sse_transform_points3_2d_no_rot)
 GLNAME(_mesa_sse_transform_points3_2d_no_rot):
-
+	_CET_ENDBR
 #define FRAME_OFFSET 8
 	PUSH_L( ESI )
 	PUSH_L( EDI )
@@ -438,7 +438,7 @@ ALIGNTEXT4
 GLOBL GLNAME(_mesa_sse_transform_points3_3d)
 HIDDEN(_mesa_sse_transform_points3_3d)
 GLNAME(_mesa_sse_transform_points3_3d):
-
+	_CET_ENDBR
 #define FRAME_OFFSET 8
 	PUSH_L( ESI )
 	PUSH_L( EDI )
diff -up mesa-19.1.4/src/mesa/x86/sse_xform4.S.cet mesa-19.1.4/src/mesa/x86/sse_xform4.S
--- mesa-19.1.4/src/mesa/x86/sse_xform4.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/sse_xform4.S	2019-08-09 15:31:35.388426397 +1000
@@ -43,7 +43,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_sse_transform_points4_general )
 HIDDEN(_mesa_sse_transform_points4_general)
 GLNAME( _mesa_sse_transform_points4_general ):
-
+	_CET_ENDBR
 	PUSH_L( ESI )
 	PUSH_L( EDI )
 
@@ -115,7 +115,7 @@ ALIGNTEXT4
 GLOBL GLNAME( _mesa_sse_transform_points4_3d )
 HIDDEN(_mesa_sse_transform_points4_3d)
 GLNAME( _mesa_sse_transform_points4_3d ):
-
+	_CET_ENDBR
 	PUSH_L( ESI )
 	PUSH_L( EDI )
 
@@ -187,7 +187,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_sse_transform_points4_identity )
 HIDDEN(_mesa_sse_transform_points4_identity)
 GLNAME( _mesa_sse_transform_points4_identity ):
-
+	_CET_ENDBR
 	PUSH_L( ESI )
 	PUSH_L( EDI )
 
diff -up mesa-19.1.4/src/mesa/x86/x86_cliptest.S.cet mesa-19.1.4/src/mesa/x86/x86_cliptest.S
--- mesa-19.1.4/src/mesa/x86/x86_cliptest.S.cet	2019-08-08 02:39:17.000000000 +1000
+++ mesa-19.1.4/src/mesa/x86/x86_cliptest.S	2019-08-09 15:31:35.388426397 +1000
@@ -103,7 +103,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_x86_cliptest_points4 )
 HIDDEN(_mesa_x86_cliptest_points4)
 GLNAME( _mesa_x86_cliptest_points4 ):
-
+	_CET_ENDBR
 #ifdef ELFPIC
 #define FRAME_OFFSET 20
 #else
@@ -278,7 +278,7 @@ ALIGNTEXT16
 GLOBL GLNAME( _mesa_x86_cliptest_points4_np )
 HIDDEN(_mesa_x86_cliptest_points4_np)
 GLNAME( _mesa_x86_cliptest_points4_np ):
-
+	_CET_ENDBR
 #ifdef ELFPIC
 #define FRAME_OFFSET 20
 #else