Date: Sun, 31 Jan 2016 19:50:58 -0600 From: Justin Hibbits <chmeeedalf@gmail.com> To: Mark Millard <markmi@dsl-only.net> Cc: Roman Divacky <rdivacky@vlakno.cz>, Nathan Whitehorn <nwhitehorn@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org> Subject: Re: 3 quick questions about stack alignment for powerpc (32-bit) signal handlers Message-ID: <E591AEFA-8BB0-4CD2-BD29-5B7D6C8F6D91@gmail.com> In-Reply-To: <0716BE3E-B7D1-4A10-B011-C1F0245296E7@dsl-only.net> References: <517B7923-5166-42D0-8FA8-52C05F956F06@dsl-only.net> <20160131140807.GA83147@vlakno.cz> <0716BE3E-B7D1-4A10-B011-C1F0245296E7@dsl-only.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Does this occur with gcc-built world and/or kernel? You could put some printf()s in sendsig(), and there are KTR tracepoints already present. The code assumes a fully aligned user stack, which should be correct, but may not be. - Justin On Jan 31, 2016, at 6:41 PM, Mark Millard wrote: > I have submitted Bug 206810 for this 11.0-CURRENT/clang380-import > stack alignment problem for TARGET_ARCH=powerpc signal delivery. > > === > Mark Millard > markmi at dsl-only.net > > On 2016-Jan-31, at 6:08 AM, Roman Divacky <rdivacky at vlakno.cz> > wrote: > > Fwiw, LLVM expect 16B aligned stack on PowerPC. > > On Sun, Jan 31, 2016 at 05:55:20AM -0800, Mark Millard wrote: >> 3 quick FreeBSD for powerpc (32-bit) questions: >> >> >> A) For PowerPC (32-bit) what is the stack alignment requirement by >> the ABI(s) that FreeBSD targets? >> >> B) Are signal handlers supposed to be given that alignment? >> >> >> I ask because signal handlers are at times begin given just 4-byte >> alignment but clang 3.8.0 powerpc's code generation can depend on >> the alignment being more than 4. >> >> clang 3.8.0 can calculate addresses by, for example, masking in a >> 0x4 relative to what would need to be an aligned address with >> alignment 8 or more instead of adding 0x4 to a more arbitrary >> address. >> >> So far I've only seen less than 8 byte stack alignment via signal >> handler activity. >> >> >> C) Which should be blamed for problems here: clang's code >> generation, FreeBSD's stack alignment handling for signals, or both? >> >> === >> Mark Millard >> markmi at dsl-only.net >> >> _______________________________________________ >> freebsd-toolchain@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain >> To unsubscribe, send any mail to "freebsd-toolchain-unsubscribe@freebsd.org >> " >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E591AEFA-8BB0-4CD2-BD29-5B7D6C8F6D91>