about summary refs log tree commit diff
path: root/sysdeps/s390/s390-64/start.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/s390/s390-64/start.S')
-rw-r--r--sysdeps/s390/s390-64/start.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/sysdeps/s390/s390-64/start.S b/sysdeps/s390/s390-64/start.S
index d8e65450d8..d3e62d2ec7 100644
--- a/sysdeps/s390/s390-64/start.S
+++ b/sysdeps/s390/s390-64/start.S
@@ -34,6 +34,8 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <sysdep.h>
+
 /*
    This is the canonical entry point, usually the first thing in the text
    segment. Most registers' values are unspecified, except for:
@@ -57,6 +59,9 @@
 	.globl _start
 	.type _start,@function
 _start:
+	cfi_startproc
+	/* Mark r14 as undefined in order to stop unwinding here!  */
+	cfi_undefined (r14)
 	/* Load argc and argv from stack.  */
 	la	%r4,8(%r15)		# get argv
 	lg	%r3,0(%r15)		# get argc
@@ -91,6 +96,8 @@ _start:
 	/* Crash if __libc_start_main returns.	*/
 	.word	0
 
+	cfi_endproc
+
 	/* Define a symbol for the first piece of initialized data.  */
 	.data
 	.globl __data_start