mirror of
https://github.com/encounter/objdiff.git
synced 2025-10-05 17:39:50 +00:00
334 lines
7.7 KiB
JSON
334 lines
7.7 KiB
JSON
{
|
|
"properties": [
|
|
{
|
|
"id": "functionRelocDiffs",
|
|
"type": "choice",
|
|
"default": "name_address",
|
|
"name": "Function relocation diffs",
|
|
"description": "How relocation targets will be diffed in the function view.",
|
|
"items": [
|
|
{
|
|
"value": "none",
|
|
"name": "None"
|
|
},
|
|
{
|
|
"value": "name_address",
|
|
"name": "Name or address"
|
|
},
|
|
{
|
|
"value": "data_value",
|
|
"name": "Data value"
|
|
},
|
|
{
|
|
"value": "all",
|
|
"name": "Name or address, data value"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "demangler",
|
|
"type": "choice",
|
|
"default": "auto",
|
|
"name": "Demangler",
|
|
"description": "Which demangler should be used to demangle each symbol.",
|
|
"items": [
|
|
{
|
|
"value": "auto",
|
|
"name": "Auto",
|
|
"description": "Try to automatically guess the mangling format."
|
|
},
|
|
{
|
|
"value": "none",
|
|
"name": "None",
|
|
"description": "Disable demangling."
|
|
},
|
|
{
|
|
"value": "codewarrior",
|
|
"name": "CodeWarrior"
|
|
},
|
|
{
|
|
"value": "itanium",
|
|
"name": "Itanium"
|
|
},
|
|
{
|
|
"value": "msvc",
|
|
"name": "MSVC"
|
|
},
|
|
{
|
|
"value": "gnu_legacy",
|
|
"name": "GNU g++ (Legacy)",
|
|
"description": "Use the old GNU mangling ABI. Used up to g++ 2.9.x"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "analyzeDataFlow",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"name": "(Experimental) Perform data flow analysis",
|
|
"description": "Use data flow analysis to display known information about register contents where possible"
|
|
},
|
|
{
|
|
"id": "showDataFlow",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"name": "Show data flow",
|
|
"description": "Show data flow analysis results in place of register name where present"
|
|
},
|
|
{
|
|
"id": "spaceBetweenArgs",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"name": "Space between args",
|
|
"description": "Adds a space between arguments in the diff output."
|
|
},
|
|
{
|
|
"id": "combineDataSections",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"name": "Combine data sections",
|
|
"description": "Combines data sections with equal names."
|
|
},
|
|
{
|
|
"id": "combineTextSections",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"name": "Combine text sections",
|
|
"description": "Combines all text sections into one."
|
|
},
|
|
{
|
|
"id": "arm.archVersion",
|
|
"type": "choice",
|
|
"default": "auto",
|
|
"name": "Architecture version",
|
|
"description": "ARM architecture version to use for disassembly.",
|
|
"items": [
|
|
{
|
|
"value": "auto",
|
|
"name": "Auto"
|
|
},
|
|
{
|
|
"value": "v4t",
|
|
"name": "ARMv4T (GBA)"
|
|
},
|
|
{
|
|
"value": "v5te",
|
|
"name": "ARMv5TE (DS)"
|
|
},
|
|
{
|
|
"value": "v6k",
|
|
"name": "ARMv6K (3DS)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "arm.unifiedSyntax",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"name": "Unified syntax",
|
|
"description": "Disassemble as unified assembly language (UAL)."
|
|
},
|
|
{
|
|
"id": "arm.avRegisters",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"name": "Use A/V registers",
|
|
"description": "Display R0-R3 as A1-A4 and R4-R11 as V1-V8."
|
|
},
|
|
{
|
|
"id": "arm.r9Usage",
|
|
"type": "choice",
|
|
"default": "generalPurpose",
|
|
"name": "Display R9 as",
|
|
"items": [
|
|
{
|
|
"value": "generalPurpose",
|
|
"name": "R9 or V6",
|
|
"description": "Use R9 as a general-purpose register."
|
|
},
|
|
{
|
|
"value": "sb",
|
|
"name": "SB (static base)",
|
|
"description": "Used for position-independent data (PID)."
|
|
},
|
|
{
|
|
"value": "tr",
|
|
"name": "TR (TLS register)",
|
|
"description": "Used for thread-local storage."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "arm.slUsage",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"name": "Display R10 as SL",
|
|
"description": "Used for explicit stack limits."
|
|
},
|
|
{
|
|
"id": "arm.fpUsage",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"name": "Display R11 as FP",
|
|
"description": "Used for frame pointers."
|
|
},
|
|
{
|
|
"id": "arm.ipUsage",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"name": "Display R12 as IP",
|
|
"description": "Used for interworking and long branches."
|
|
},
|
|
{
|
|
"id": "mips.abi",
|
|
"type": "choice",
|
|
"default": "auto",
|
|
"name": "ABI",
|
|
"description": "MIPS ABI to use for disassembly.",
|
|
"items": [
|
|
{
|
|
"value": "auto",
|
|
"name": "Auto"
|
|
},
|
|
{
|
|
"value": "o32",
|
|
"name": "O32"
|
|
},
|
|
{
|
|
"value": "o64",
|
|
"name": "O64"
|
|
},
|
|
{
|
|
"value": "n32",
|
|
"name": "N32"
|
|
},
|
|
{
|
|
"value": "n64",
|
|
"name": "N64"
|
|
},
|
|
{
|
|
"value": "eabi32",
|
|
"name": "eabi32"
|
|
},
|
|
{
|
|
"value": "eabi64",
|
|
"name": "eabi64"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "mips.instrCategory",
|
|
"type": "choice",
|
|
"default": "auto",
|
|
"name": "Instruction category",
|
|
"description": "MIPS instruction category to use for disassembly.",
|
|
"items": [
|
|
{
|
|
"value": "auto",
|
|
"name": "Auto"
|
|
},
|
|
{
|
|
"value": "cpu",
|
|
"name": "CPU"
|
|
},
|
|
{
|
|
"value": "rsp",
|
|
"name": "RSP (N64)"
|
|
},
|
|
{
|
|
"value": "r3000gte",
|
|
"name": "R3000 GTE (PS1)"
|
|
},
|
|
{
|
|
"value": "r4000allegrex",
|
|
"name": "R4000 ALLEGREX (PSP)"
|
|
},
|
|
{
|
|
"value": "r5900",
|
|
"name": "R5900 EE (PS2)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "mips.registerPrefix",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"name": "Register '$' prefix",
|
|
"description": "Display MIPS register names with a '$' prefix."
|
|
},
|
|
{
|
|
"id": "ppc.calculatePoolRelocations",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"name": "Calculate pooled data references",
|
|
"description": "Display pooled data references in functions as fake relocations."
|
|
},
|
|
{
|
|
"id": "x86.formatter",
|
|
"type": "choice",
|
|
"default": "intel",
|
|
"name": "Format",
|
|
"description": "x86 disassembly syntax.",
|
|
"items": [
|
|
{
|
|
"value": "intel",
|
|
"name": "Intel"
|
|
},
|
|
{
|
|
"value": "gas",
|
|
"name": "AT&T"
|
|
},
|
|
{
|
|
"value": "nasm",
|
|
"name": "NASM"
|
|
},
|
|
{
|
|
"value": "masm",
|
|
"name": "MASM"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"groups": [
|
|
{
|
|
"id": "general",
|
|
"name": "General",
|
|
"properties": [
|
|
"functionRelocDiffs",
|
|
"demangler",
|
|
"spaceBetweenArgs",
|
|
"combineDataSections",
|
|
"combineTextSections"
|
|
]
|
|
},
|
|
{
|
|
"id": "arm",
|
|
"name": "ARM",
|
|
"properties": [
|
|
"arm.archVersion",
|
|
"arm.unifiedSyntax",
|
|
"arm.avRegisters",
|
|
"arm.r9Usage",
|
|
"arm.slUsage",
|
|
"arm.fpUsage",
|
|
"arm.ipUsage"
|
|
]
|
|
},
|
|
{
|
|
"id": "mips",
|
|
"name": "MIPS",
|
|
"properties": ["mips.abi", "mips.instrCategory", "mips.registerPrefix"]
|
|
},
|
|
{
|
|
"id": "ppc",
|
|
"name": "PowerPC",
|
|
"properties": ["ppc.calculatePoolRelocations", "analyzeDataFlow"]
|
|
},
|
|
{
|
|
"id": "x86",
|
|
"name": "x86",
|
|
"properties": ["x86.formatter"]
|
|
}
|
|
]
|
|
}
|