summaryrefslogtreecommitdiffstats
path: root/lib/libc/arm/Symbol.map
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-07-19 22:13:27 +0000
committerian <ian@FreeBSD.org>2014-07-19 22:13:27 +0000
commita65b4d5170334e9c9544235603d1d908fd022fcd (patch)
tree1aa27aa691654c19c68c89eb9d6a158e5ee09a51 /lib/libc/arm/Symbol.map
parentded724b36022ac49f26d8660a730bf9fde569ab6 (diff)
downloadFreeBSD-src-a65b4d5170334e9c9544235603d1d908fd022fcd.zip
FreeBSD-src-a65b4d5170334e9c9544235603d1d908fd022fcd.tar.gz
Add dl_unwind_find_exidx() for ARM EABI, required for C++ exception
handling. For statically linked apps this uses the __exidx_start/end symbols set up by the linker. For dynamically linked apps it finds the shared object that contains the given address and returns the location and size of the exidx section in that shared object. The dl_unwind_find_exidx() name is used by other BSD projects and Android, and is mentioned in clang 3.5 comments as "the BSD interface" for finding exidx data. GCC (in libgcc_s) expects the exact same API and functionality to be provided by a function named __gnu_Unwind_Find_exidx(), so we provide that with an alias ("strong reference"). Reviewed by: kib@ MFC after: 1 week
Diffstat (limited to 'lib/libc/arm/Symbol.map')
-rw-r--r--lib/libc/arm/Symbol.map5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/libc/arm/Symbol.map b/lib/libc/arm/Symbol.map
index a58d443..cf65492 100644
--- a/lib/libc/arm/Symbol.map
+++ b/lib/libc/arm/Symbol.map
@@ -37,6 +37,11 @@ FBSD_1.3 {
__flt_rounds;
};
+FBSD_1.4 {
+ __gnu_Unwind_Find_exidx;
+ dl_unwind_find_exidx;
+};
+
FBSDprivate_1.0 {
/* PSEUDO syscalls */
__sys_getlogin;
OpenPOWER on IntegriCloud