Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.

Last change: , commit: b09b098