Skip to content

How exactly do global registers work? #1661

Discussion options

You must be logged in to vote

It works in concert with the global pointer register (if any) specified in the calling convention. At present, a CC can only list a single global pointer register, and that should probably be expanded. Essentially, once a write to global pointer register is found in a function, it can be copied up as the global pointer value for the binaryview, and then substituted in for reads from the global pointer register when analyzing functions.

As some ABIs include multiple global registers with fixed (or fixed within certain regions) values, it's going to be expanded further at some point.

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@PistonMiner
Comment options

@rssor
Comment options

Answer selected by plafosse
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants