about summary refs log tree commit diff
path: root/sysdeps/aarch64/start.S
diff options
context:
space:
mode:
authorGuillaume Gardet <guillaume.gardet@arm.com>2020-12-14 15:38:22 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2020-12-15 13:48:45 +0000
commitd4136903a29baabeec8987b53081def8b4a49826 (patch)
tree1e482b7ba0db9124c452e498e97466f9afb1f678 /sysdeps/aarch64/start.S
parentc6b016532705e158a330c31697e9dd4826aa68af (diff)
downloadglibc-d4136903a29baabeec8987b53081def8b4a49826.tar.gz
glibc-d4136903a29baabeec8987b53081def8b4a49826.tar.xz
glibc-d4136903a29baabeec8987b53081def8b4a49826.zip
aarch64: fix static PIE start code for BTI [BZ #27068]
A bti c was missing from rcrt1.o which made all -static-pie
binaries fail at program startup on BTI enabled systems.

Fixes bug 27068.
Diffstat (limited to 'sysdeps/aarch64/start.S')
-rw-r--r--sysdeps/aarch64/start.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S
index 108f602721..1998ea95d4 100644
--- a/sysdeps/aarch64/start.S
+++ b/sysdeps/aarch64/start.S
@@ -99,6 +99,7 @@ ENTRY(_start)
 	   because crt1.o and rcrt1.o share code and the later must avoid the
 	   use of GOT relocations before __libc_start_main is called.  */
 __wrap_main:
+	BTI_C
 	b	main
 #endif
 END(_start)