Closed Bug 1896845 Opened 7 months ago Closed 6 months ago

Update the replacements for missing functions in bionic to match GeckoView's current minimum Android version

Categories

(Toolkit :: Crash Reporting, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
128 Branch
Tracking Status
firefox128 --- fixed

People

(Reporter: gsvelto, Assigned: gsvelto)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

The minimum version of Android supported by GeckoView and its derivatives is API 21 (see the wiki page). Because of our use of the Nix crate we had to add some missing functions to the crash reporting code to ensure it would build correctly. Those weren't used, so they would just crash if invoked, but were still needed for linking. In addition to the existing ones we'll soon need the process_vm_readv() and process_vm_writev() for the rust-minidump crate and they'll need to work properly.

To sum it up, based on bionic's list of functions and the Android version in which they were introduced we have to introduce the following changes:

  • Remove the mlockall() and munlockall() stubs, those are now available on all the Android architectures we support
  • Gate the getgrgid_r() and getgrnam_r() stubs to only be compiled when __ANDROID_API__ < 24
  • Add real syscall wrappers for process_vm_readv() and process_vm_writev() and compile them only when __ANDROID_API__ < 23

Checking the [bionic]

This also removes some workarounds for prehistoric Android NDKs

Assignee: nobody → gsvelto
Status: NEW → ASSIGNED
Pushed by gsvelto@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2e9d02f234c1 Update the replacement functions for the missing ones in bionic r=KrisWright
Status: ASSIGNED → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Target Milestone: --- → 128 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: