1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+
2ea0364f1SPeter Tyser /*
3ea0364f1SPeter Tyser * Utility functions needed for (some) EABI conformant tool chains.
4ea0364f1SPeter Tyser *
5ea0364f1SPeter Tyser * (C) Copyright 2009 Wolfgang Denk <wd@denx.de>
6ea0364f1SPeter Tyser */
7ea0364f1SPeter Tyser
8ea0364f1SPeter Tyser #include <common.h>
9ea0364f1SPeter Tyser
raise(int signum)10ea0364f1SPeter Tyser int raise (int signum)
11ea0364f1SPeter Tyser {
12fe901f2dSSimon Glass /* Even if printf() is available, it's large. Punt it for SPL builds */
13fe901f2dSSimon Glass #if !defined(CONFIG_SPL_BUILD)
14ea0364f1SPeter Tyser printf("raise: Signal # %d caught\n", signum);
155cb939fbSChristian Riesch #endif
16ea0364f1SPeter Tyser return 0;
17ea0364f1SPeter Tyser }
18cd4b02beSWolfgang Denk
19cd4b02beSWolfgang Denk /* Dummy function to avoid linker complaints */
__aeabi_unwind_cpp_pr0(void)20cd4b02beSWolfgang Denk void __aeabi_unwind_cpp_pr0(void)
21cd4b02beSWolfgang Denk {
22f2cbb037SJeroen Hofstee }
23953209bfSWolfgang Grandegger
__aeabi_unwind_cpp_pr1(void)24953209bfSWolfgang Grandegger void __aeabi_unwind_cpp_pr1(void)
25953209bfSWolfgang Grandegger {
26f2cbb037SJeroen Hofstee }
27f2cbb037SJeroen Hofstee
28f2cbb037SJeroen Hofstee /* Copy memory like memcpy, but no return value required. */
__aeabi_memcpy(void * dest,const void * src,size_t n)29f2cbb037SJeroen Hofstee void __aeabi_memcpy(void *dest, const void *src, size_t n)
30f2cbb037SJeroen Hofstee {
31f2cbb037SJeroen Hofstee (void) memcpy(dest, src, n);
32f2cbb037SJeroen Hofstee }
33f2cbb037SJeroen Hofstee
__aeabi_memset(void * dest,size_t n,int c)34f2cbb037SJeroen Hofstee void __aeabi_memset(void *dest, size_t n, int c)
35f2cbb037SJeroen Hofstee {
36f2cbb037SJeroen Hofstee (void) memset(dest, c, n);
37f2cbb037SJeroen Hofstee }
38