Removing musl libc usage. Linking to libgcc (for __aeabi_* routines on ARM target).

This commit is contained in:
Ruben Ayrapetyan
2014-11-18 21:13:54 +03:00
parent 988288c9e4
commit 9f7e17e9fd
6 changed files with 27 additions and 52 deletions
+1 -5
View File
@@ -19,11 +19,7 @@
/**
* Limit of data (system heap, engine's data except engine's own heap)
*/
#ifdef LIBC_RAW
# define CONFIG_MEM_DATA_LIMIT_MINUS_HEAP_SIZE 1024
#else /* !LIBC_RAW */
# define CONFIG_MEM_DATA_LIMIT_MINUS_HEAP_SIZE 16384
#endif /* !LIBC_RAW */
#define CONFIG_MEM_DATA_LIMIT_MINUS_HEAP_SIZE 1024
/**
* Limit of stack size
+1
View File
@@ -31,6 +31,7 @@ typedef signed long ssize_t;
* Attributes
*/
#define __unused __attribute__((unused))
#define __used __attribute__((used))
#define __packed __attribute__((packed))
#define __noreturn __attribute__((noreturn))
#define __noinline __attribute__((noinline))
+17 -4
View File
@@ -19,9 +19,6 @@
#include "jerry-libc.h"
FIXME(#ifndef LIBC_MUSL should be removed from here when own libc will be implemented)
#ifndef LIBC_MUSL
/**
* memcpy alias to __memcpy (for compiler usage)
*/
@@ -85,7 +82,23 @@ CALL_PRAGMA(GCC pop_options)
CALL_PRAGMA(GCC diagnostic pop)
#endif /* __GNUC__ */
#endif /* LIBC_MUSL */
/**
* Unreachable stubs for routines that are never called,
* but referenced from third-party libraries.
*/
#define JRT_UNREACHABLE_STUB_FOR(...) \
extern __VA_ARGS__; \
__used __VA_ARGS__ \
{ \
JERRY_UNREACHABLE (); \
}
JRT_UNREACHABLE_STUB_FOR(int raise (int sig_no __unused))
#ifdef __TARGET_HOST_ARMv7
JRT_UNREACHABLE_STUB_FOR(void __aeabi_unwind_cpp_pr0 (void))
#endif /* __TARGET_HOST_ARMv7 */
#undef JRT_UNREACHABLE_STUB_FOR
/**
* memset
@@ -8,9 +8,7 @@
# error "!__TARGET_HOST_x64 && !__TARGET_HOST_x86 && !__TARGET_HOST_ARMv7"
#endif /* !__TARGET_HOST_x64 && !__TARGET_HOST_x86 && !__TARGET_HOST_ARMv7 */
#ifdef LIBC_RAW
.global _start
_start:
_START
.end _start
#endif /* LIBC_RAW */