Bug 1527228 Comment 8 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Here's how far I've gotten:
I'm looking at the crash report https://crash-stats.mozilla.com/report/index/21eb77f8-fb1a-4e53-9c01-137420190212 .
I want to obtain the arm disassembly for the two functions "void mozilla::Maybe<double>::emplace<double const&>(double const&)" (_ZN7mozilla5MaybeIdE7emplaceIJRKdEEEvDpOT_) and "StreamSamplesAndMarkers(char const*, int, ProfileBuffer const&, SpliceableJSONWriter&, mozilla::TimeStamp const&, mozilla::TimeStamp const&, mozilla::TimeStamp const&, double, UniqueStacks&)" (_Z23StreamSamplesAndMarkersPKciRK13ProfileBufferR20SpliceableJSONWriterRKN7mozilla9TimeStampES9_S9_dR12UniqueStacks).
The address ranges of these two functions in the libxul.so binary are 0x007fc348 to 0x007fc380 and 0x01b84bdc to 0x01b858e8.

The mozilla-central revision for this build is 3a3e393396f418df1490aa0832d0c54fc353d522 and the breakpad ID for libxul.so is 792F88D450818DE2A773C6E8142DB30A0.

The original libxul.so file for this build is in the target.crashreporter-symbols-full.zip file of the Nightly "Android 4.0 API16+ opt" build at https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&revision=ec61d092ed676663850f86d6f1db0d899f399907&selectedJob=227383417 : https://queue.taskcluster.net/v1/task/RJGad5vgR46jLXQiH5ClXA/runs/0/artifacts/public/build/en-US/target.crashreporter-symbols-full.zip
Unzip the zip file, go to libxul.so/792F88D450818DE2A773C6E8142DB30A0/, uncompress libxul.so.dbg.gz and rename the result to libxul.so.

If I load this file in Hopper, it doesn't detect the .text section, and it displays all bytes in the relevant functions as 0x00.
If I load this file in lldb I don't have any success either:

```
$ lldb
(lldb) file /Users/mstange/Downloads/libxul.so
Current executable set to '/Users/mstange/Downloads/libxul.so' (arm).
(lldb) disassemble -n _ZN7mozilla5MaybeIdE7emplaceIJRKdEEEvDpOT_
error: error reading data from section .text
error: Unable to find symbol with name '_ZN7mozilla5MaybeIdE7emplaceIJRKdEEEvDpOT_'.
(lldb) disassemble -s 0x007fc348
error: error reading data from section .text
error: Failed to disassemble memory at 0x007fc348.
```

And objdump doesn't give me any disassembly either:

```
$ ~/code/obj-llvm/bin/llvm-objdump -disassemble -g -start-address=0x007fc348 -stop-address=0x007fc380 /Users/mstange/Downloads/libxul.so

/Users/mstange/Downloads/libxul.so:	file format ELF32-arm-little

$
```
Here's how far I've gotten:
I'm looking at the crash report https://crash-stats.mozilla.com/report/index/21eb77f8-fb1a-4e53-9c01-137420190212 .
I want to obtain the arm disassembly for the two functions `void mozilla::Maybe<double>::emplace<double const&>(double const&)` (`_ZN7mozilla5MaybeIdE7emplaceIJRKdEEEvDpOT_`) and `StreamSamplesAndMarkers(char const*, int, ProfileBuffer const&, SpliceableJSONWriter&, mozilla::TimeStamp const&, mozilla::TimeStamp const&, mozilla::TimeStamp const&, double, UniqueStacks&)` (`_Z23StreamSamplesAndMarkersPKciRK13ProfileBufferR20SpliceableJSONWriterRKN7mozilla9TimeStampES9_S9_dR12UniqueStacks`).
The address ranges of these two functions in the libxul.so binary are 0x007fc348 to 0x007fc380 and 0x01b84bdc to 0x01b858e8.

The mozilla-central revision for this build is 3a3e393396f418df1490aa0832d0c54fc353d522 and the breakpad ID for libxul.so is 792F88D450818DE2A773C6E8142DB30A0.

The original libxul.so file for this build is in the target.crashreporter-symbols-full.zip file of the Nightly "Android 4.0 API16+ opt" build at https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&revision=ec61d092ed676663850f86d6f1db0d899f399907&selectedJob=227383417 : https://queue.taskcluster.net/v1/task/RJGad5vgR46jLXQiH5ClXA/runs/0/artifacts/public/build/en-US/target.crashreporter-symbols-full.zip
Unzip the zip file, go to libxul.so/792F88D450818DE2A773C6E8142DB30A0/, uncompress libxul.so.dbg.gz and rename the result to libxul.so.

If I load this file in Hopper, it doesn't detect the .text section, and it displays all bytes in the relevant functions as 0x00.
If I load this file in lldb I don't have any success either:

```
$ lldb
(lldb) file /Users/mstange/Downloads/libxul.so
Current executable set to '/Users/mstange/Downloads/libxul.so' (arm).
(lldb) disassemble -n _ZN7mozilla5MaybeIdE7emplaceIJRKdEEEvDpOT_
error: error reading data from section .text
error: Unable to find symbol with name '_ZN7mozilla5MaybeIdE7emplaceIJRKdEEEvDpOT_'.
(lldb) disassemble -s 0x007fc348
error: error reading data from section .text
error: Failed to disassemble memory at 0x007fc348.
```

And objdump doesn't give me any disassembly either:

```
$ ~/code/obj-llvm/bin/llvm-objdump -disassemble -g -start-address=0x007fc348 -stop-address=0x007fc380 /Users/mstange/Downloads/libxul.so

/Users/mstange/Downloads/libxul.so:	file format ELF32-arm-little

$
```

Back to Bug 1527228 Comment 8