Re: [PATCH v4 08/12] selftests/nolibc: add test support for ppc

From: Thomas Weißschuh
Date: Wed Aug 02 2023 - 17:36:35 EST


On 2023-08-03 00:03:58+0800, Zhangjin Wu wrote:
> Hi, Willy, Hi Thomas
>
> I'm so happy to share with you, we have solved all of the left found
> issues, include the ones about ppc and the missing poweroff options for
> the tinyconfig series, will renew both series ;-)

Can we stick to one series at a time?

> > Further compared the preprocessed files, found the root cause is the new
> > compiler using 'no_stack_protector' instead of
> > '__optimize__("-fno-stack-protector")'. And the attribute 'no_stack_protector'
> > breaks our "omit-frame-pointer" like the failure with '-O0' we fixed before.
> >
> > I checked some of the other architectures, they didn't have the same issue, but
> > test shows the 'no_stack_protector' attribute does have such compability issue
> > here.
> >
> > I learned the commit message of tools/include/nolibc/compiler.h, seems
> > __optimize__("-fno-stack-protector") is enough for all of the nolibc supported
> > architectures? is it ok for us to simply give up 'no_stack_protector'
> > eventully? otherwise, we should manually disable 'no_stack_protector' for
> > ppc32:
> >
> > #define __no_stack_protector __attribute__((__optimize__("-fno-stack-protector")))
> >
>
> Hello, any suggestion here? ;-)

Patience :-)

no_stack_protector is the offically documented mechanism to disable
stack protector for a function. As it works for all other architectures
this seems like a compiler bug.

If we want to work around it I would prefer to have both attributes.

> [..]

Thomas