Skip to content

Commit 1acc9d4

Browse files
authored
Merge pull request #3075 from apple/merge-stable-into-5.5
Merge stable into 5.5
2 parents 3f5deea + e164bfc commit 1acc9d4

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

compiler-rt/test/asan/TestCases/Posix/unpoison-alternate-stack.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@
66
// RUN: %clangxx_asan -std=c++20 -fexceptions -O0 %s -o %t -pthread
77
// RUN: %run %t
88

9-
// XFAIL: ios && !iossim
10-
// longjmp from signal handler is unportable.
11-
// XFAIL: solaris
12-
139
#include <algorithm>
1410
#include <cassert>
1511
#include <cerrno>

compiler-rt/test/asan/TestCases/zero_page_pc.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
// Check that ASan correctly detects SEGV on the zero page.
22
// RUN: %clangxx_asan %s -o %t && not %run %t 2>&1 | FileCheck %s
33

4+
#if __has_feature(ptrauth_calls)
5+
# include <ptrauth.h>
6+
#endif
7+
48
typedef void void_f();
59
int main() {
610
void_f *func = (void_f *)0x4;
11+
#if __has_feature(ptrauth_calls)
12+
func = ptrauth_sign_unauthenticated(
13+
func, ptrauth_key_function_pointer, 0);
14+
#endif
715
func();
816
// x86 reports the SEGV with both address=4 and pc=4.
917
// On PowerPC64 ELFv1, the pointer is taken to be a function-descriptor

lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ static const char *g_get_dynamic_class_info2_body = R"(
172172
extern "C" {
173173
int printf(const char * format, ...);
174174
void free(void *ptr);
175-
Class* objc_copyRealizedClassList(unsigned int *outCount);
175+
Class* objc_copyRealizedClassList_nolock(unsigned int *outCount);
176176
const char* objc_debug_class_getNameRaw(Class cls);
177177
}
178178
@@ -199,7 +199,7 @@ __lldb_apple_objc_v2_get_dynamic_class_info2(void *gdb_objc_realized_classes_ptr
199199
ClassInfo *class_infos = (ClassInfo *)class_infos_ptr;
200200
201201
uint32_t count = 0;
202-
Class* realized_class_list = objc_copyRealizedClassList(&count);
202+
Class* realized_class_list = objc_copyRealizedClassList_nolock(&count);
203203
DEBUG_PRINTF ("count = %u\n", count);
204204
205205
uint32_t idx = 0;
@@ -499,7 +499,7 @@ AppleObjCRuntimeV2::AppleObjCRuntimeV2(Process *process,
499499
static const ConstString g_gdb_object_getClass("gdb_object_getClass");
500500
m_has_object_getClass = HasSymbol(g_gdb_object_getClass);
501501
static const ConstString g_objc_copyRealizedClassList(
502-
"objc_copyRealizedClassList");
502+
"_ZL33objc_copyRealizedClassList_nolockPj");
503503
m_has_objc_copyRealizedClassList = HasSymbol(g_objc_copyRealizedClassList);
504504

505505
RegisterObjCExceptionRecognizer(process);

0 commit comments

Comments
 (0)