aboutsummaryrefslogtreecommitdiff
path: root/lib/libgcc_s
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libgcc_s')
-rw-r--r--lib/libgcc_s/Makefile1
-rw-r--r--lib/libgcc_s/Symbol.map107
-rw-r--r--lib/libgcc_s/Versions.def3
-rw-r--r--lib/libgcc_s/arm/Symbol.map68
4 files changed, 152 insertions, 27 deletions
diff --git a/lib/libgcc_s/Makefile b/lib/libgcc_s/Makefile
index fdf5a67d8045..992fc930ee9f 100644
--- a/lib/libgcc_s/Makefile
+++ b/lib/libgcc_s/Makefile
@@ -1,4 +1,3 @@
-
PACKAGE= clibs
SHLIB_NAME= libgcc_s.so.1
SHLIBDIR?= /lib
diff --git a/lib/libgcc_s/Symbol.map b/lib/libgcc_s/Symbol.map
index 72b083c698ba..e8f7e824adaf 100644
--- a/lib/libgcc_s/Symbol.map
+++ b/lib/libgcc_s/Symbol.map
@@ -1,74 +1,72 @@
/*
*/
+#if defined(__LP64__) || defined(__SIZEOF_INT128__)
+#define CRT_HAS_128BIT
+#endif
+
GCC_3.0 {
__absvdi2;
__absvsi2;
__addvdi3;
__addvsi3;
__ashldi3;
- __ashlti3;
__ashrdi3;
- __ashrti3;
__clear_cache;
__cmpdi2;
- __cmpti2;
+#ifndef __arm__
__deregister_frame;
+#if !defined(__aarch64__) && !defined(__riscv)
__deregister_frame_info;
__deregister_frame_info_bases;
+#endif
+#endif
__divdi3;
- __divti3;
__ffsdi2;
- __ffsti2;
__fixdfdi;
- __fixdfti;
__fixsfdi;
- __fixsfti;
__fixunsdfdi;
+#ifndef __arm__
__fixunsdfsi;
- __fixunsdfti;
+#endif
__fixunssfdi;
+#ifndef __arm__
__fixunssfsi;
- __fixunssfti;
+#endif
+#if defined(__amd64__) || defined(__i386__)
__fixunsxfdi;
__fixunsxfsi;
- __fixunsxfti;
__fixxfdi;
- __fixxfti;
+#endif
__floatdidf;
__floatdisf;
+#if defined(__amd64__) || defined(__i386__)
__floatdixf;
- __floattidf;
- __floattisf;
- __floattixf;
+#endif
__lshrdi3;
- __lshrti3;
__moddi3;
- __modti3;
__muldi3;
- __multi3;
__mulvdi3;
__mulvsi3;
__negdi2;
- __negti2;
__negvdi2;
__negvsi2;
+#ifndef __arm__
__register_frame;
+#if !defined(__aarch64__) && !defined(__riscv)
__register_frame_info;
__register_frame_info_bases;
__register_frame_info_table;
__register_frame_info_table_bases;
__register_frame_table;
+#endif
+#endif
__subvdi3;
__subvsi3;
__ucmpdi2;
- __ucmpti2;
__udivdi3;
__udivmoddi4;
- __udivmodti4;
- __udivti3;
__umoddi3;
- __umodti3;
_Unwind_DeleteException;
_Unwind_Find_FDE;
_Unwind_ForcedUnwind;
@@ -82,6 +80,33 @@ GCC_3.0 {
_Unwind_Resume;
_Unwind_SetGR;
_Unwind_SetIP;
+
+#ifdef CRT_HAS_128BIT
+ __ashlti3;
+ __ashrti3;
+ __cmpti2;
+ __divti3;
+ __ffsti2;
+ __fixdfti;
+ __fixsfti;
+ __fixunsdfti;
+ __fixunssfti;
+ __floattidf;
+ __floattisf;
+ __lshrti3;
+ __modti3;
+ __multi3;
+ __negti2;
+ __ucmpti2;
+ __udivmodti4;
+ __udivti3;
+ __umodti3;
+#ifdef __amd64__
+ __fixunsxfti;
+ __fixxfti;
+ __floattixf;
+#endif
+#endif
};
GCC_3.3 {
@@ -97,16 +122,19 @@ GCC_3.3.1 {
GCC_3.4 {
__clzdi2;
__clzsi2;
- __clzti2;
__ctzdi2;
__ctzsi2;
- __ctzti2;
__paritydi2;
__paritysi2;
- __parityti2;
__popcountdi2;
__popcountsi2;
+
+#ifdef CRT_HAS_128BIT
+ __clzti2;
+ __ctzti2;
+ __parityti2;
__popcountti2;
+#endif
};
GCC_3.4.2 {
@@ -114,33 +142,48 @@ GCC_3.4.2 {
};
GCC_3.4.4 {
+#ifdef CRT_HAS_128BIT
__absvti2;
__addvti3;
__mulvti3;
__negvti2;
__subvti3;
+#endif
};
GCC_4.0.0 {
__divdc3;
__divsc3;
+#if defined(__amd64__) || defined(__i386__)
__divxc3;
+#endif
__muldc3;
__mulsc3;
+#if defined(__amd64__) || defined(__i386__)
__mulxc3;
+#endif
__powidf2;
__powisf2;
+#if defined(__amd64__) || defined(__i386__)
__powixf2;
+#endif
};
GCC_4.2.0 {
__floatundidf;
__floatundisf;
+#if defined(__amd64__) || defined(__i386__)
__floatundixf;
+#endif
+ _Unwind_GetIPInfo;
+
+#ifdef CRT_HAS_128BIT
__floatuntidf;
__floatuntisf;
+#ifdef __amd64__
__floatuntixf;
- _Unwind_GetIPInfo;
+#endif
+#endif
};
GCC_4.3.0 {
@@ -149,6 +192,7 @@ GCC_4.3.0 {
};
GCC_4.6.0 {
+#if defined(__aarch64__) || defined(__riscv)
__addtf3;
__cmptf2;
__divtf3;
@@ -177,4 +221,15 @@ GCC_4.6.0 {
__trunctfdf2;
__trunctfsf2;
__unordtf2;
+#endif
+#if defined(__amd64__)
+ __extendxftf2;
+ __trunctfxf2;
+#endif
+};
+
+GCC_7.0.0 {
+#ifdef __i386__
+ __divmoddi4;
+#endif
};
diff --git a/lib/libgcc_s/Versions.def b/lib/libgcc_s/Versions.def
index d28e9042f744..526387e055df 100644
--- a/lib/libgcc_s/Versions.def
+++ b/lib/libgcc_s/Versions.def
@@ -31,3 +31,6 @@ GCC_4.3.0 {
GCC_4.6.0 {
} GCC_4.3.0;
+
+GCC_7.0.0 {
+} GCC_4.6.0;
diff --git a/lib/libgcc_s/arm/Symbol.map b/lib/libgcc_s/arm/Symbol.map
index 92b54761d810..ea0189eabaa0 100644
--- a/lib/libgcc_s/arm/Symbol.map
+++ b/lib/libgcc_s/arm/Symbol.map
@@ -2,6 +2,74 @@
*/
GCC_3.5 {
+ __aeabi_cdcmple;
+ __aeabi_cdrcmple;
+ __aeabi_cfcmpeq;
+ __aeabi_cfcmple;
+ __aeabi_cfrcmple;
+ __aeabi_d2f;
+ __aeabi_d2h;
+/* __aeabi_d2h_alt; */
+ __aeabi_d2iz;
+ __aeabi_d2lz;
+ __aeabi_d2uiz;
+ __aeabi_d2ulz;
+ __aeabi_dadd;
+ __aeabi_dcmpeq;
+ __aeabi_dcmpge;
+ __aeabi_dcmpgt;
+ __aeabi_dcmple;
+ __aeabi_dcmplt;
+ __aeabi_dcmpun;
+ __aeabi_ddiv;
+ __aeabi_dmul;
+ __aeabi_dneg;
+ __aeabi_drsub;
+ __aeabi_dsub;
+ __aeabi_f2d;
+ __aeabi_f2h;
+/* __aeabi_f2h_alt; */
+ __aeabi_f2iz;
+ __aeabi_f2lz;
+ __aeabi_f2uiz;
+ __aeabi_f2ulz;
+ __aeabi_fadd;
+ __aeabi_fcmpeq;
+ __aeabi_fcmpge;
+ __aeabi_fcmpgt;
+ __aeabi_fcmple;
+ __aeabi_fcmplt;
+ __aeabi_fcmpun;
+ __aeabi_fdiv;
+ __aeabi_fmul;
+ __aeabi_fneg;
+ __aeabi_frsub;
+ __aeabi_fsub;
+ __aeabi_h2f;
+/* __aeabi_h2f_alt; */
+ __aeabi_i2d;
+ __aeabi_i2f;
+ __aeabi_idiv;
+ __aeabi_idiv0;
+ __aeabi_idivmod;
+ __aeabi_l2d;
+ __aeabi_l2f;
+ __aeabi_lasr;
+ __aeabi_lcmp;
+ __aeabi_ldiv0;
+ __aeabi_ldivmod;
+ __aeabi_llsl;
+ __aeabi_llsr;
+ __aeabi_lmul;
+ __aeabi_ui2d;
+ __aeabi_ui2f;
+ __aeabi_uidiv;
+ __aeabi_uidivmod;
+ __aeabi_ul2d;
+ __aeabi_ul2f;
+ __aeabi_ulcmp;
+ __aeabi_uldivmod;
+
_Unwind_Complete;
_Unwind_VRS_Get;
_Unwind_VRS_Set;