Mail Archives: djgpp/2001/06/21/08:01:43
Graaagh the Mighty <invalid AT erehwon DOT invalid> wrote:
> On Thu, 21 Jun 2001 07:58:54 GMT, invalid AT erehwon DOT invalid (Graaagh the
> Mighty) sat on a tribble, which squeaked:
>>I have more information. On a hunch I looked at the changes. There was
>>a bug in one of the debugging bits I added that would in fact have
>>jumped into never-never land
A bug in a *printf* that would *jump* somewhere? Sorry, but you'll
have to explain what that's supposed to mean. No printf in the world
jumps anywhere, like that.
>> -- *if* "bar" had ever been reached.
What makes you so sure it hasn't? Did you try this in the debugger,
stepping through what *exactly* happened?
>> So
>>why weren't the call frame traceback EIPs more like:
>>
>> 0x01fc0000 0x1fc0000
>> 0x00f00ba7 _bar+42, line 666 of bwlsm.c
>> 0x0000178b _main+275, line 195 of bwlsm.c
>> 0x00057b7a ___crt1_startup+174
You're in undefined-behaviour-land, already. Which means there's no
reason for or against anything, any more --- things just happen the
way they happen.
One possible explanation: if 'bar' contains a jump (assembly jmp or C
function call) into never-never-land, the crash will happen before a
proper stack frame has been set up for the new 'function', which may
*very* easily mean that the stackframe unwinding machinery can't see
that this call was not coming from 'main', but from 'bar'.
--
Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de)
Even if all the snow were burnt, ashes would remain.
- Raw text -