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 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 */ 21cd4b02beSWolfgang Denk void __aeabi_unwind_cpp_pr0(void) 22cd4b02beSWolfgang Denk { 23*f2cbb037SJeroen Hofstee } 24953209bfSWolfgang Grandegger 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. */ 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 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