angr.go.utils.version

type angr.go.utils.version.GoVersionRange = tuple[tuple[int, int], tuple[int, int] | None]
angr.go.utils.version.go_minor_version(version)

go1.22.5 -> go1.22.

Return type:

str

Parameters:

version (str)

angr.go.utils.version.identify_go_version(project)

The Go release a binary was built with (go1.22.5), from runtime.buildVersion, the build-info blob, or the first release marker in read-only data. Failing those, the oldest release that emits the binary’s pclntab layout (go1.16), which is only a lower bound.

Return type:

str | None

Parameters:

project (Project)

angr.go.utils.version.parse_go_version(version)

go1.22.5 -> (1, 22).

Return type:

tuple[int, int] | None

Parameters:

version (str)

angr.go.utils.version.go_version_range(project)

The (oldest, newest) Go releases ((major, minor)) the binary may have been built with. Both are the same when the exact release is known; otherwise they span the releases that emit its pclntab layout, and newest is None when that layout is still current. None if nothing identifies the release.

Return type:

GoVersionRange | None

Parameters:

project (Project)

angr.go.utils.version.identify_goos(project)

The binary’s GOOS, when its container format tells; None otherwise.

Return type:

str | None

Parameters:

project (Project)