Rollup merge of #130077 - madsmtm:watchos-arm-unwind, r=workingjubilee · qinheping/verify-rust-std@e9cd33c (original) (raw)

`@@ -33,10 +33,10 @@ pub const unwinder_private_data_size: usize = 2;

`

33

33

`#[cfg(all(target_arch = "x86_64", target_os = "windows"))]

`

34

34

`pub const unwinder_private_data_size: usize = 6;

`

35

35

``

36

``

`-

#[cfg(all(target_arch = "arm", not(all(target_vendor = "apple", not(target_os = "watchos")))))]

`

``

36

`+

#[cfg(all(target_arch = "arm", not(target_vendor = "apple")))]

`

37

37

`pub const unwinder_private_data_size: usize = 20;

`

38

38

``

39

``

`-

#[cfg(all(target_arch = "arm", all(target_vendor = "apple", not(target_os = "watchos"))))]

`

``

39

`+

#[cfg(all(target_arch = "arm", target_vendor = "apple"))]

`

40

40

`pub const unwinder_private_data_size: usize = 5;

`

41

41

``

42

42

`#[cfg(all(target_arch = "aarch64", target_pointer_width = "64", not(target_os = "windows")))]

`

`@@ -123,8 +123,11 @@ extern "C" {

`

123

123

`}

`

124

124

``

125

125

`cfg_if::cfg_if! {

`

126

``

`-

if #[cfg(any(all(target_vendor = "apple", not(target_os = "watchos")), target_os = "netbsd", not(target_arch = "arm")))] {

`

``

126

`+

if #[cfg(any(target_vendor = "apple", target_os = "netbsd", not(target_arch = "arm")))] {

`

127

127

`// Not ARM EHABI

`

``

128

`+

//

`

``

129

`+

// 32-bit ARM on iOS/tvOS/watchOS use either DWARF/Compact unwinding or

`

``

130

`+

// "setjmp-longjmp" / SjLj unwinding.

`

128

131

` #[repr(C)]

`

129

132

` #[derive(Copy, Clone, PartialEq)]

`

130

133

`pub enum _Unwind_Action {

`

`@@ -259,8 +262,8 @@ if #[cfg(any(all(target_vendor = "apple", not(target_os = "watchos")), target_os

`

259

262

``

260

263

`cfg_if::cfg_if! {

`

261

264

`if #[cfg(all(target_vendor = "apple", not(target_os = "watchos"), target_arch = "arm"))] {

`

262

``

`-

// 32-bit ARM Apple (except for watchOS) uses SjLj and does not provide

`

263

``

`-

// _Unwind_Backtrace()

`

``

265

`+

// 32-bit ARM Apple (except for watchOS armv7k specifically) uses SjLj and

`

``

266

`+

// does not provide _Unwind_Backtrace()

`

264

267

` extern "C-unwind" {

`

265

268

`pub fn _Unwind_SjLj_RaiseException(e: *mut _Unwind_Exception) -> _Unwind_Reason_Code;

`

266

269

`}

`