va_list structure passing as argument
Sean McNeil
sean at mcneil.com
Mon Aug 23 23:20:37 PDT 2004
I'm looking at a problem I have on the amd64 with bsdtar. Essentially,
you get a core dump if you try to run the following:
tar zxvvf nonexistent.tar.gz
I've tracked it down to an issue where the ap is getting changed as a
side-effect of calling __vfprintf. It looks like this is happening
because the va_list structure is being passed by reference. The va_list
structure on amd64 is 24 bytes. I'm guessing that it is 16 bytes or
less for i386. It has been a while since I've looked at the macro that
determines when a structure is passed by reference or value. Does
anyone know what that is? I'm guessing that 24 passes that cutoff but
16 does not and that is why I see this bug on amd64 and not i386.
Sean
More information about the freebsd-amd64
mailing list