• Russ Cox's avatar
    cmd/dist: zero output variables on entry to goc2c functions · f94bff79
    Russ Cox authored
    Zeroing the outputs makes sure that during function calls
    in those functions we do not let the garbage collector
    treat uninitialized values as pointers.
    
    The garbage collector may still see uninitialized values
    if a preemption occurs during the function prologue,
    before the zeroing has had a chance to run.
    
    This reduces the number of 'bad pointer' messages when
    that runtime check is enabled, but it doesn't fix all of them,
    so the check is still disabled.
    
    It will also avoid leaks, although I doubt any of these were
    particularly serious.
    
    LGTM=iant, khr
    R=iant, khr
    CC=golang-codereviews
    https://golang.org/cl/80850044
    f94bff79
goc2c.c 15.9 KB