Download symbols for libxul
Using the Mozilla symbol server
isn’t super clear how to download the symbol file for a libxul.so build on try.
Here’s simple steps to do that:
Get the build ID from libxul.so
; readelf -j .note.gnu.build-id libxul.so
Displaying notes found in: .note.gnu.build-id
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: b27a206e9823c94ea48b5780b4c40b3fbcd65f0e
Copy the build id, b27a206e9823c94ea48b5780b4c40b3fbcd65f0e in this case.
Turn that into a UUID using this Python snippet:
; python -c 'import sys; import binascii; from uuid import UUID; print(str(UUID(bytes_le=binascii.a2b_hex(sys.argv[1])[:16])).replace("-", "").upper() + "0")' b27a206e9823c94ea48b5780b4c40b3fbcd65f0e
6E207AB223984EC9A48B5780B4C40B3F0
Finally use that output in the URL https://symbols.mozilla.org/try/libxul.so/{id}/libxul.so.sym:
wget https://symbols.mozilla.org/try/libxul.so/6E207AB223984EC9A48B5780B4C40B3F0/libxul.so.sym -O libxul.so.sym.gz
Note that the server always returns the file gzip-compressed. The compressed symbol file is ~150 MB big, the uncompressed symbol file (plain text) is some 800 MB.