Re: [PATCH] Use backtrace() instead of __builtin_return_address()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Dave Anderson [2008-05-13 15:36]:
>
> Bernhard Walle wrote:
> > When crash is compiled with gcc 4.3 and -O2, the __builtin_return_address()
> > causes crash to crash. See also [1] for a discussion about that.
> 
> It appears that [1] only describes a problem if you ask for more frames
> than exist.  Given the usage in crash, it's impossible to have a frame count
> of less than 4.  So it must be some other bug, no?

Yes. I only referenced to that bug to state that the behaviour is
undefined, and it's not a gcc bug per definition.

However, I tried to track down the problem a bit. In a test program, I
encountered that when __builtin_frame_address(i) is zero, then the
program crashes when __builtin_frame_address(i+1) is executed.

However, changing that in crash doesn't help. It really crashes in
__builtin_return_address(1). Tracking that down is out of my knowledge.
I used the same compiler flags in crash and the test program.



	Bernhard

--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility

[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux