blob: 7c818c6d243c747f5e0c1f96b42f2ad062caceff [file] [log] [blame]
Stefan Reinauer52db0b92012-12-07 17:15:04 -08001/*
2 * Utility functions needed for (some) EABI conformant tool chains.
3 *
4 * (C) Copyright 2009 Wolfgang Denk <wd@denx.de>
5 *
6 * This program is Free Software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; either version 2 of the
9 * License, or (at your option) any later version.
10 */
11
Stefan Reinauer808f7842015-07-08 23:18:11 +020012#include <stdint.h>
13#include <stddef.h>
14#include <string.h>
Hung-Te Lin439e0d22013-02-06 17:48:20 +080015#include <console/console.h>
Stefan Reinauer52db0b92012-12-07 17:15:04 -080016
17/* FIXME(dhendrix): prototypes added for assembler */
Stefan Reinauerd96541f2013-09-10 11:02:58 -070018int raise (int signum) __attribute__((used));
Stefan Reinauer52db0b92012-12-07 17:15:04 -080019int raise (int signum)
20{
Hung-Te Lin439e0d22013-02-06 17:48:20 +080021 printk(BIOS_CRIT, "raise: Signal # %d caught\n", signum);
Stefan Reinauer52db0b92012-12-07 17:15:04 -080022 return 0;
23}
24
25/* Dummy function to avoid linker complaints */
Stefan Reinauerd96541f2013-09-10 11:02:58 -070026void __aeabi_unwind_cpp_pr0(void) __attribute__((used));
Stefan Reinauer52db0b92012-12-07 17:15:04 -080027void __aeabi_unwind_cpp_pr0(void)
28{
Stefan Reinauer808f7842015-07-08 23:18:11 +020029}
Stefan Reinauer52db0b92012-12-07 17:15:04 -080030
Stefan Reinauerd96541f2013-09-10 11:02:58 -070031void __aeabi_unwind_cpp_pr1(void) __attribute__((used));
Stefan Reinauer52db0b92012-12-07 17:15:04 -080032void __aeabi_unwind_cpp_pr1(void)
33{
Stefan Reinauer808f7842015-07-08 23:18:11 +020034}
35
36void __aeabi_memcpy(void *dest, const void *src, size_t n);
37void __aeabi_memcpy(void *dest, const void *src, size_t n)
38{
39 (void) memcpy(dest, src, n);
40}
41
42void __aeabi_memset(void *dest, size_t n, int c);
43void __aeabi_memset(void *dest, size_t n, int c)
44{
45 (void) memset(dest, c, n);
46}