Date: Mon, 23 Aug 2004 23:20:34 -0700 From: Sean McNeil <sean@mcneil.com> To: amd64@freebsd.org Subject: va_list structure passing as argument Message-ID: <1093328434.6603.21.camel@server.mcneil.com>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1093328434.6603.21.camel>