This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SEGV building qt-3.3.3 with GCC 3.4.3 on RH 7.1/RHEL 2.1


On 3 Dec 2004, Joe Buck said:
>                                 If the blowup is in a place where there
> appears to be no code, it's probably in a destructor.

I've also seen sibcalls trigger this in cases where the sibcalled
function's prototype is different from its declaration; when the
sibcalled function returns, you can get a segfault because sibcalling
kicked in when the function's true declaration would have suppressed
it, and the return mangles the stack.

(Of course GCC warns about this case, and of course it couldn't be the
cause of a crash at the end of main(), as main() can't be sibcalled. Now
we're using -funit-at-a-time for everything, GCC may well be smart
enough to spot that sibcalling is unusable even in the presence of this
programmer error.)

-- 
`The sword we forged has turned upon us
 Only now, at the end of all things do we see
 The lamp-bearer dies; only the lamp burns on.'


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]