On Thu, Oct 04, 2018 at 06:33:57AM -0600, Jeff Law wrote: > On 10/4/18 6:19 AM, Josef Wolf wrote: > > Why does gcc use those instructions? There is nothing special in the code > > which is now translated into those trap instructions. I don't use floating > > point at all, so I don't see any reason to use those instructions (and crash > > on them). > > > GCC will replace a NULL pointer dereference or division by zero with a > trap instruction. Is this described somewhere? I am pretty much sure that there is no NULL pointer dereference and no division in this code. There must be something else. In addition, the crash disappears, when I insert some no-op function call at the beginning of one of those functions. This causes GCC to use other registers for local variables. -- Josef Wolf jw@xxxxxxxxxxxxx