xref: /kvm-unit-tests/lib/arm/eabi_compat.c (revision 0df901e0379da84a0eaec1daf464c699995dddf5)
15e61cba0SAndrew Jones /*
25e61cba0SAndrew Jones  * Adapted from u-boot's arch/arm/lib/eabi_compat.c
349f758b8SAndrew Jones  *
449f758b8SAndrew Jones  * Copyright (C) 2017, Red Hat Inc, Andrew Jones <drjones@redhat.com>
549f758b8SAndrew Jones  *
649f758b8SAndrew Jones  * This work is licensed under the terms of the GNU GPL, version 2.
75e61cba0SAndrew Jones  */
88cca5668SAndrew Jones #include <libcflat.h>
95e61cba0SAndrew Jones 
10*0df901e0SAndrew Jones /* Needed to compile with -Wmissing-prototypes */
11*0df901e0SAndrew Jones int raise(int signum);
12*0df901e0SAndrew Jones void __aeabi_unwind_cpp_pr0(void);
13*0df901e0SAndrew Jones void __aeabi_unwind_cpp_pr1(void);
14*0df901e0SAndrew Jones 
raise(int signum __unused)155e61cba0SAndrew Jones int raise(int signum __unused)
165e61cba0SAndrew Jones {
175e61cba0SAndrew Jones 	printf("Divide by zero!\n");
185e61cba0SAndrew Jones 	abort();
195e61cba0SAndrew Jones 	return 0;
205e61cba0SAndrew Jones }
215e61cba0SAndrew Jones 
225e61cba0SAndrew Jones /* Dummy functions to avoid linker complaints */
__aeabi_unwind_cpp_pr0(void)235e61cba0SAndrew Jones void __aeabi_unwind_cpp_pr0(void)
245e61cba0SAndrew Jones {
255e61cba0SAndrew Jones }
265e61cba0SAndrew Jones 
__aeabi_unwind_cpp_pr1(void)275e61cba0SAndrew Jones void __aeabi_unwind_cpp_pr1(void)
285e61cba0SAndrew Jones {
295e61cba0SAndrew Jones }
30