Cannot use "g" as an arg constraint because
some memory references aren't actually valid and gcc is a bit too smart in parsing (%0) and a bit too dumb in knowing which memory refs are not valid. Using "r" seems to constrain gcc to use a register as in (%eax) and not substitute a memory reference like (-36(%ebp)). No one really understands these things.
This commit is contained in:
parent
5e03dd86c8
commit
3163085ace