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