• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #include <stddef.h>
4 #include <string.h>
5 #include <console/console.h>
6 
7 /* FIXME(dhendrix): prototypes added for assembler */
8 int raise(int signum) __attribute__((used));
raise(int signum)9 int raise(int signum)
10 {
11 	printk(BIOS_CRIT, "%s: Signal # %d caught\n", __func__, signum);
12 	return 0;
13 }
14 
15 /* Dummy function to avoid linker complaints */
16 void __aeabi_unwind_cpp_pr0(void) __attribute__((used));
__aeabi_unwind_cpp_pr0(void)17 void __aeabi_unwind_cpp_pr0(void)
18 {
19 }
20 
21 void __aeabi_unwind_cpp_pr1(void) __attribute__((used));
__aeabi_unwind_cpp_pr1(void)22 void __aeabi_unwind_cpp_pr1(void)
23 {
24 }
25 
26 /* Support the alias for the __aeabi_memcpy which may
27    assume memory alignment.  */
28 void __aeabi_memcpy4(void *dest, const void *src, size_t n)
29 	__attribute((alias("__aeabi_memcpy")));
30 
31 void __aeabi_memcpy8(void *dest, const void *src, size_t n)
32 	__attribute((alias("__aeabi_memcpy")));
33 
34 void __aeabi_memcpy(void *dest, const void *src, size_t n);
__aeabi_memcpy(void * dest,const void * src,size_t n)35 void __aeabi_memcpy(void *dest, const void *src, size_t n)
36 {
37 	(void)memcpy(dest, src, n);
38 }
39 
40 void __aeabi_memset(void *dest, size_t n, int c);
__aeabi_memset(void * dest,size_t n,int c)41 void __aeabi_memset(void *dest, size_t n, int c)
42 {
43 	(void)memset(dest, c, n);
44 }
45 
46 /* Support the alias for the __aeabi_memclr which may
47    assume memory alignment.  */
48 void __aeabi_memclr4(void *dest, size_t n)
49 	__attribute((alias("__aeabi_memclr")));
50 
51 void __aeabi_memclr8(void *dest, size_t n)
52 	__attribute((alias("__aeabi_memclr")));
53 
54 /* Support the routine __aeabi_memclr.  */
55 void __aeabi_memclr(void *dest, size_t n);
__aeabi_memclr(void * dest,size_t n)56 void __aeabi_memclr(void *dest, size_t n)
57 {
58 	__aeabi_memset(dest, n, 0);
59 }
60