diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e25393bcc..b2f1e01ae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,15 +23,26 @@ jobs: - uses: actions/checkout@v4 - run: make style - build-ios: - name: Xcode Build for iOS + build-ios-inproc: + name: Xcode Build for inproc on iOS runs-on: macos-latest steps: - uses: actions/checkout@v4 with: submodules: "recursive" - run: | - cmake -B sentry-native-xcode -GXcode -DCMAKE_SYSTEM_NAME=iOS + cmake -B sentry-native-xcode -GXcode -DCMAKE_SYSTEM_NAME=iOS -DSENTRY_BACKEND=inproc + xcodebuild build -project sentry-native-xcode/Sentry-Native.xcodeproj -sdk iphonesimulator + + build-ios-breakpad: + name: Xcode Build for breakpad on iOS + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: "recursive" + - run: | + cmake -B sentry-native-xcode -GXcode -DCMAKE_SYSTEM_NAME=iOS -DSENTRY_BACKEND=breakpad xcodebuild build -project sentry-native-xcode/Sentry-Native.xcodeproj -sdk iphonesimulator test: diff --git a/CHANGELOG.md b/CHANGELOG.md index ab867b14d..369e4ec5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ **Fixes**: - Removed the 10-item limit per envelope for non-session data. Sessions are now limited to 100 per envelope, while other items (e.g., attachments) have no limit in amount. ([#1347](https://github.com/getsentry/sentry-native/pull/1347)) +- Align the `breakpad` interface changes introduced with [#1083](https://github.com/getsentry/sentry-native/pull/1083) with the corresponding iOS build. ([#1465](https://github.com/getsentry/sentry-native/pull/1465)) ## 0.12.2 diff --git a/scripts/install-llvm-mingw.ps1 b/scripts/install-llvm-mingw.ps1 index 470e207ef..f6631d3d1 100755 --- a/scripts/install-llvm-mingw.ps1 +++ b/scripts/install-llvm-mingw.ps1 @@ -1,9 +1,9 @@ Start-Sleep -Milliseconds 1 # See: https://stackoverflow.com/a/49859001 -$LLVM_MINGW_RELEASE = "20240518"; +$LLVM_MINGW_RELEASE = "20251202"; $LLVM_MINGW_PKG = "llvm-mingw-${LLVM_MINGW_RELEASE}-ucrt-x86_64" $LLVM_MINGW_DL_URL = "https://github.com/mstorsjo/llvm-mingw/releases/download/${LLVM_MINGW_RELEASE}/${LLVM_MINGW_PKG}.zip" -$LLVM_MINGW_DL_SHA512 = "4758b41533930f9b4d646f60406f37a644dedd662d0adb8586f544c1b875fc86ece51ce2bb7b060075c3d081533f1a7aafa816ccdee2101e507aa047024d8d3f" +$LLVM_MINGW_DL_SHA256 = "f2adfc859287f4051abf5c23c7476b16a982d0f8e6c32aa2f929a06535454f4b" $DL_BASEDIR = "$env:GITHUB_WORKSPACE\dl" $LLVM_MINGW_DL_PATH = "${DL_BASEDIR}\llvm-mingw.zip" if (!(Test-Path -Path "$DL_BASEDIR")) { New-Item -ItemType Directory -Force -Path "$DL_BASEDIR" } @@ -11,12 +11,12 @@ if (!(Test-Path -Path "$DL_BASEDIR")) { New-Item -ItemType Directory -Force -Pat # Download LLVM-mingw $CurlArguments = '-s', '-Lf', '-o', "${LLVM_MINGW_DL_PATH}", "${LLVM_MINGW_DL_URL}" & curl.exe @CurlArguments -$dl_zip_hash = Get-FileHash -LiteralPath "${LLVM_MINGW_DL_PATH}" -Algorithm SHA512 -if ($dl_zip_hash.Hash -eq $LLVM_MINGW_DL_SHA512) { +$dl_zip_hash = Get-FileHash -LiteralPath "${LLVM_MINGW_DL_PATH}" -Algorithm SHA256 +if ($dl_zip_hash.Hash -eq $LLVM_MINGW_DL_SHA256) { Write-Host "Successfully downloaded LLVM-mingw .zip" } Else { - Write-Error "The downloaded LLVM-mingw zip hash '$($dl_zip_hash.Hash)' does not match the expected hash: '$LLVM_MINGW_DL_SHA512'" + Write-Error "The downloaded LLVM-mingw zip hash '$($dl_zip_hash.Hash)' does not match the expected hash: '$LLVM_MINGW_DL_SHA256'" } # Extract LLVM-mingw @@ -71,3 +71,4 @@ $cmakeDefines += @( "CMAKE_DEFINES=$($cmakeDefines -join ' ')" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + diff --git a/src/backends/sentry_backend_breakpad.cpp b/src/backends/sentry_backend_breakpad.cpp index 1c737ce55..49f12a4a3 100644 --- a/src/backends/sentry_backend_breakpad.cpp +++ b/src/backends/sentry_backend_breakpad.cpp @@ -60,7 +60,7 @@ breakpad_backend_callback(const wchar_t *breakpad_dump_path, EXCEPTION_POINTERS *exinfo, MDRawAssertionInfo *UNUSED(assertion), bool succeeded) #elif defined(SENTRY_PLATFORM_DARWIN) -# ifdef SENTRY_BREAKPAD_SYSTEM +# if defined(SENTRY_BREAKPAD_SYSTEM) || defined(SENTRY_PLATFORM_IOS) static bool breakpad_backend_callback(const char *breakpad_dump_path, const char *minidump_id, void *UNUSED(context), bool succeeded) @@ -138,7 +138,8 @@ breakpad_backend_callback(const google_breakpad::MinidumpDescriptor &descriptor, if (options->on_crash_func) { sentry_ucontext_t *uctx = nullptr; -#if defined(SENTRY_PLATFORM_DARWIN) && !defined(SENTRY_BREAKPAD_SYSTEM) +#if defined(SENTRY_PLATFORM_DARWIN) \ + && !(defined(SENTRY_BREAKPAD_SYSTEM) || defined(SENTRY_PLATFORM_IOS)) sentry_ucontext_t uctx_data; uctx_data.user_context = user_context; uctx = &uctx_data;