>> On Tue, Sep 10, 2013 at 3:42 AM, Andrew Haley <aph@xxxxxxxxxx> wrote: >>> What is the faulting instruction? > > -----Original Message----- From: Dave Allured - NOAA Affiliate >> movdqa, an SSE instruction that requires 16-byte alignment. This is >> about a dozen instructions within the dynamic loader. > On Tue, Sep 10, 2013 at 5:35 PM, Rob <sisyphus1@xxxxxxxxxxxxxxx> wrote: > By some coincidence the same problem with movdqa cropped up (and a solution > found) in a perl forum: > > http://www.perlmonks.org/?node_id=1052707 > > In a nutshell, the solution there was to invoke "__attribute__ > ((aligned(8)))", which meant that gcc generated movdqu instructions instead > of the faster movdqa. > > I don't know if that necessarily helps here :-) Okay, __attribute__ is for variables and structures, right? My problem is keeping the stack aligned between calls, so I don't think there is a clean way to apply __attribute__ to the stack itself. Also, that errant movdqa is part of the loader, not my own code. In other words it is inside the ABI, and an ABI rule was violated well in advance of that instruction. As I see it, the memory fault is simply an expected consequence of violating the ABI. Thanks anyway, that helped me get a clearer picture on the situation. --Dave