================ @@ -0,0 +1,201 @@ +JSON Symbol File Format +======================= + +The JSON symbol file format encodes symbols in a text based, human readable +format. JSON symbol files can be used to symbolicate programs that miss symbol +information, for example because they have been stripped. + +Format +------ + +The symbol file contains of a single JSON object with the following top level +keys: + +* ``triple`` +* ``uuid`` +* ``type`` +* ``sections`` +* ``symbols`` + +The ``triple``, ``uuid`` and ``type`` form the header and should therefore come +first. The ``type`` field is optional. The body consists ``sections`` and +``symbols``, each represented as a JSON array. Both arrays are optional, and +can be omitted and are allowed to be empty. + +triple +`````` + +The triple is a string with the triple of the object file it corresponds to. +The triple follows the same format as used by LLVM: +``<arch><sub>-<vendor>-<sys>-<env>``. + +.. code-block:: JSON + + { "triple": "arm64-apple-darwin22.0.0" } + +uuid +```` + +The UUID is a string with the textual representation of the UUID of the object +file it corresponds to. The UUID is represented as outlined in RFC 4122: with +32 hexadecimal digits, displayed in five groups separated by hyphens, in the +form 8-4-4-4-12 for a total of 36 characters (32 alphanumeric characters and +four hyphens). + +.. code-block:: JSON + + { "uuid": "2107157B-6D7E-39F6-806D-AECDC15FC533" } + +type +```` +The optional ``type`` field allows you to specify the type of object file the +JSON file represent. This is often unnecessary, and can be omitted, in which +case the file is considered of the type ``DebugInfo``. + +Valid values for the ``type`` field are: + +* ``corefile``: A core file that has a checkpoint of a program's execution state. +* ``executable``: A normal executable. +* ``debuginfo``: An object file that contains only debug information. +* ``dynamicuinker``: The platform's dynamic linker executable. ---------------- bulbazord wrote:
`dynamicuinker` -> `dynamiclinker` https://github.com/llvm/llvm-project/pull/112938 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits