GP-5470 Golang json snapshot data, go1.24, go1.25, swissmap.

Remove usage of golang*.gdt for bootstrap type info.  Instead all types
are reconstituted from the info in the .json files.

Json data now omits more values that are empty.

Json data now has more consistent fully specified type names.

Remove option to create bootstrap gdt files.

Normalize 'Go' name usage where possible without changing previous
saved properties.

Handle swissmap typename changes.
This commit is contained in:
dev747368 2025-03-24 12:03:16 -04:00
parent 4fcc1febdd
commit 86a525aef0
184 changed files with 234699 additions and 25554 deletions

View file

@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Assigns custom storage for params of a golang function to match golang's abi-internal
// Assigns custom storage for params of a Go function to match Go's abi-internal
// register-based calling convention, or abi0 (all stack based) if abi-internal is not
// specified for the arch.
//@category Functions
//@menupath Tools.Fix Golang Function Param Storage
//@menupath Tools.Fix Go Function Param Storage
import ghidra.app.script.GhidraScript;
import ghidra.app.util.bin.format.golang.GoFunctionFixup;
import ghidra.app.util.bin.format.golang.GoVer;
@ -34,7 +34,7 @@ public class FixupGolangFuncParamStorageScript extends GhidraScript {
}
GoVer goVersion = GoVer.fromProgramProperties(currentProgram);
if (goVersion == GoVer.INVALID) {
goVersion = askChoice("Golang Version", "What is the golang version?",
goVersion = askChoice("Go Version", "What is the Go version?",
GoRttiMapper.getAllSupportedVersions(), GoVer.INVALID);
}
println("Fixing param storage for function %s@%s".formatted(func.getName(),