Merge "Stop fp unwinding if the pc is 0." into main
diff --git a/libc/bionic/android_unsafe_frame_pointer_chase.cpp b/libc/bionic/android_unsafe_frame_pointer_chase.cpp
index 58b7cd8..7d5cd6c 100644
--- a/libc/bionic/android_unsafe_frame_pointer_chase.cpp
+++ b/libc/bionic/android_unsafe_frame_pointer_chase.cpp
@@ -82,7 +82,11 @@
auto* frame = reinterpret_cast<frame_record*>(begin);
#endif
if (num_frames < num_entries) {
- buf[num_frames] = __bionic_clear_pac_bits(frame->return_addr);
+ uintptr_t addr = __bionic_clear_pac_bits(frame->return_addr);
+ if (addr == 0) {
+ break;
+ }
+ buf[num_frames] = addr;
}
++num_frames;
if (frame->next_frame < begin + sizeof(frame_record) || frame->next_frame >= end ||