This is due to a compiler bug. The first two instructions of the function QTime::addMSecs(int) are:
0xf7ce212c <_ZNK5QTime8addMSecsEi+0>: save %sp, -112, %sp 0xf7ce2130 <_ZNK5QTime8addMSecsEi+4>: ld [ %sp + 0x40 ], %i5 The second instruction is supposed to load the address where the returned QTime object should be stored. The calling convention is that this is passed at 64 bytes above the stack pointer. But it is using the value of %sp *after* modification by the preceding save instruction, so it reads random garbage. These instructions should be generated in the opposite order, or the %sp in the second instruction changed to %fp. I have confirmed that the latter change (replace opcode 0xfa03a040 with 0xfa07a040) causes the test program to run successfully. Ben.
signature.asc
Description: This is a digitally signed message part