8000 Merge empty mappings within libraries so that they form a single module · Issue #88 · rust-minidump/minidump-writer · GitHub
[go: up one dir, main page]

Skip to content

Merge empty mappings within libraries so that they form a single module #88

Closed

Description

@gabrielesvelto

On Android we frequently find that the linker loads Firefox' libxul.so with holes in it. These corresponds to areas that have been reserved by the linker but weren't actually mapped for some reason. See below for an example of how these mappings look like:

9b4a0000-9b931000 r--p 00000000 08:12 393449     /data/app/org.mozilla.firefox-1/lib/x86/libxul.so
9b931000-9bcae000 ---p 00000000 00:00 0
9bcae000-a116b000 r-xp 00490000 08:12 393449     /data/app/org.mozilla.firefox-1/lib/x86/libxul.so
a116b000-a4562000 r--p 0594d000 08:12 393449     /data/app/org.mozilla.firefox-1/lib/x86/libxul.so
a4562000-a4563000 ---p 00000000 00:00 0
a4563000-a4840000 r--p 08d44000 08:12 393449     /data/app/org.mozilla.firefox-1/lib/x86/libxul.so
a4840000-a4873000 rw-p 09021000 08:12 393449     /data/app/org.mozilla.firefox-1/lib/x86/libxul.so

We already have logic to fold this type of empty pages but it only works if the previous mappings were executable. In this case they aren't, so the writer will emit two modules for libxul.so. One for the 9b4a0000-9bcae000 range and one for the 9bcae000-a4873000 range. These should be merged together instead.

Activity

  1. added a commit that references this issue on Sep 19, 2023
    b25e32f
  2. added a commit that references this issue on Oct 26, 2023
    8526d0a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0