Linux/PPC gcc 2.95.2 - bad access generated when using inline func
Franz Sirl
Franz.Sirl-kernel@lauterbach.com
Fri Jul 7 06:05:00 GMT 2000
At 07:51 07.07.00, Richard Henderson wrote:
>On Fri, Jun 30, 2000 at 03:55:56PM +0200, Franz Sirl wrote:
> > Find appended the current patch I'm working with and a testcase. Currently
> > the testcase still aborts with even my patch, but this is due to bug in
> > label handling in the current mainline...
>
>This is not a bug. Your label is not the target of a goto, and
>so plays no part in the CFG, and so is deleted. Your test case
>does not do what you think it does. And anyway, it's not going
>to work on quite a lot of architectures.
Ah, so taking the address of the label isn't enough? I didn't expect that.
The label isn't deleted anyway, it's just moved into the wrong place. I
guess my test is non-portable because I can't assume
__builtin_return_address(0) == &&label and the ABI may mandate instructions
to be between __builtin_return_address(0) and &&label? Or they may be
scheduled there?
I think I'll split the testcase into a range+equality test for targets
supporting __builtin_return_address(0) _and_ __builtin_return_address(1),
and a range check for all others (but still depending on NO_LABEL_VALUES,
as usual). Can I leave the equality test turned on for ALL targets for a
while, until I know which are real XFAIL's? Well, I know alpha will be
XFAIL, cause it doesn't support __builtin_return_address(1) :-).
Franz.
More information about the Gcc-bugs
mailing list