Skip to content

Commit 92b686e

Browse files
committed
Move __aeabi* symbols to LIBC_N version
We had these symbols incorrectly versioned as LIBC_PRIVATE in M release. This change moves __aeabi* symbols from LIBC to LIBC_M and adds __gnu_Unwind_Find_exidx to the list Bug: android/ndk#1 Change-Id: I0b353012adeacb00ae29ea10c63b9d1cf1cadbe7
1 parent 988e71b commit 92b686e

File tree

5 files changed

+51
-42
lines changed

5 files changed

+51
-42
lines changed

Diff for: libc/arch-arm/bionic/__aeabi.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ void __attribute__((weak)) __aeabi_memclr_impl2(void *dest, size_t n) {
165165
}
166166

167167
#define __AEABI_SYMVERS(fn_name) \
168-
__asm__(".symver " #fn_name "_impl, " #fn_name "@@LIBC"); \
168+
__asm__(".symver " #fn_name "_impl, " #fn_name "@@LIBC_N"); \
169169
__asm__(".symver " #fn_name "_impl2, " #fn_name "@LIBC_PRIVATE")
170170

171171
__AEABI_SYMVERS(__aeabi_atexit);

Diff for: libc/arch-arm/bionic/exidx_dynamic.c

+8-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,13 @@
3737
* the expectation that libc will define it and call through to
3838
* a differently-named function in the dynamic linker.
3939
*/
40-
_Unwind_Ptr __gnu_Unwind_Find_exidx(_Unwind_Ptr pc, int *pcount)
41-
{
40+
_Unwind_Ptr __gnu_Unwind_Find_exidx_impl(_Unwind_Ptr pc, int *pcount) {
4241
return dl_unwind_find_exidx(pc, pcount);
4342
}
43+
44+
_Unwind_Ptr __gnu_Unwind_Find_exidx_impl2(_Unwind_Ptr pc, int *pcount) {
45+
return dl_unwind_find_exidx(pc, pcount);
46+
}
47+
48+
__asm__(".symver __gnu_Unwind_Find_exidx_impl,__gnu_Unwind_Find_exidx@LIBC_PRIVATE");
49+
__asm__(".symver __gnu_Unwind_Find_exidx_impl2,__gnu_Unwind_Find_exidx@@LIBC_N");

Diff for: libc/libc.arm.brillo.map

+14-13
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,6 @@
11
# Generated by genversionscripts.py. Do not edit.
22
LIBC {
33
global:
4-
__aeabi_atexit; # arm
5-
__aeabi_memclr; # arm
6-
__aeabi_memclr4; # arm
7-
__aeabi_memclr8; # arm
8-
__aeabi_memcpy; # arm
9-
__aeabi_memcpy4; # arm
10-
__aeabi_memcpy8; # arm
11-
__aeabi_memmove; # arm
12-
__aeabi_memmove4; # arm
13-
__aeabi_memmove8; # arm
14-
__aeabi_memset; # arm
15-
__aeabi_memset4; # arm
16-
__aeabi_memset8; # arm
174
__assert;
185
__assert2;
196
__atomic_cmpxchg; # arm
@@ -1224,9 +1211,23 @@ LIBC {
12241211

12251212
LIBC_N {
12261213
global:
1214+
__aeabi_atexit; # arm
1215+
__aeabi_memclr; # arm
1216+
__aeabi_memclr4; # arm
1217+
__aeabi_memclr8; # arm
1218+
__aeabi_memcpy; # arm
1219+
__aeabi_memcpy4; # arm
1220+
__aeabi_memcpy8; # arm
1221+
__aeabi_memmove; # arm
1222+
__aeabi_memmove4; # arm
1223+
__aeabi_memmove8; # arm
1224+
__aeabi_memset; # arm
1225+
__aeabi_memset4; # arm
1226+
__aeabi_memset8; # arm
12271227
__fread_chk;
12281228
__fwrite_chk;
12291229
__getcwd_chk;
1230+
__gnu_Unwind_Find_exidx; # arm
12301231
__pwrite_chk;
12311232
__pwrite64_chk;
12321233
__write_chk;

Diff for: libc/libc.arm.map

+14-13
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,6 @@
11
# Generated by genversionscripts.py. Do not edit.
22
LIBC {
33
global:
4-
__aeabi_atexit; # arm
5-
__aeabi_memclr; # arm
6-
__aeabi_memclr4; # arm
7-
__aeabi_memclr8; # arm
8-
__aeabi_memcpy; # arm
9-
__aeabi_memcpy4; # arm
10-
__aeabi_memcpy8; # arm
11-
__aeabi_memmove; # arm
12-
__aeabi_memmove4; # arm
13-
__aeabi_memmove8; # arm
14-
__aeabi_memset; # arm
15-
__aeabi_memset4; # arm
16-
__aeabi_memset8; # arm
174
__assert;
185
__assert2;
196
__atomic_cmpxchg; # arm
@@ -1225,9 +1212,23 @@ LIBC {
12251212

12261213
LIBC_N {
12271214
global:
1215+
__aeabi_atexit; # arm
1216+
__aeabi_memclr; # arm
1217+
__aeabi_memclr4; # arm
1218+
__aeabi_memclr8; # arm
1219+
__aeabi_memcpy; # arm
1220+
__aeabi_memcpy4; # arm
1221+
__aeabi_memcpy8; # arm
1222+
__aeabi_memmove; # arm
1223+
__aeabi_memmove4; # arm
1224+
__aeabi_memmove8; # arm
1225+
__aeabi_memset; # arm
1226+
__aeabi_memset4; # arm
1227+
__aeabi_memset8; # arm
12281228
__fread_chk;
12291229
__fwrite_chk;
12301230
__getcwd_chk;
1231+
__gnu_Unwind_Find_exidx; # arm
12311232
__pwrite_chk;
12321233
__pwrite64_chk;
12331234
__write_chk;

Diff for: libc/libc.map.txt

+14-13
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,5 @@
11
LIBC {
22
global:
3-
__aeabi_atexit; # arm
4-
__aeabi_memclr; # arm
5-
__aeabi_memclr4; # arm
6-
__aeabi_memclr8; # arm
7-
__aeabi_memcpy; # arm
8-
__aeabi_memcpy4; # arm
9-
__aeabi_memcpy8; # arm
10-
__aeabi_memmove; # arm
11-
__aeabi_memmove4; # arm
12-
__aeabi_memmove8; # arm
13-
__aeabi_memset; # arm
14-
__aeabi_memset4; # arm
15-
__aeabi_memset8; # arm
163
__assert;
174
__assert2;
185
__atomic_cmpxchg; # arm
@@ -1252,9 +1239,23 @@ LIBC {
12521239

12531240
LIBC_N {
12541241
global:
1242+
__aeabi_atexit; # arm
1243+
__aeabi_memclr; # arm
1244+
__aeabi_memclr4; # arm
1245+
__aeabi_memclr8; # arm
1246+
__aeabi_memcpy; # arm
1247+
__aeabi_memcpy4; # arm
1248+
__aeabi_memcpy8; # arm
1249+
__aeabi_memmove; # arm
1250+
__aeabi_memmove4; # arm
1251+
__aeabi_memmove8; # arm
1252+
__aeabi_memset; # arm
1253+
__aeabi_memset4; # arm
1254+
__aeabi_memset8; # arm
12551255
__fread_chk;
12561256
__fwrite_chk;
12571257
__getcwd_chk;
1258+
__gnu_Unwind_Find_exidx; # arm
12581259
__pwrite_chk;
12591260
__pwrite64_chk;
12601261
__write_chk;

0 commit comments

Comments
 (0)