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

From: Zhangjin Wu
Date: Thu Aug 03 2023 - 04:02:16 EST


Hi, Willy

> On Thu, Aug 03, 2023 at 10:58:55AM +0800, Zhangjin Wu wrote:
> > Yes, ppc series at first, will renew it today. let's delay the whole tinyconfig
> > series (include part1) in v6.7, we have no enough time to test them carefully
> > for v6.6.
>
> Thanks.
>

To even further simplify the ppc series merge progress, since Yuan have helped
me sending the standalone serial console enable patch for pmac32_defconfig [1],
and it has gotten a Reviewed-by line from the ppc maintainer, perhaps we can
safely expect it in v6.6, so, I plan to delay the nolibc-test-config related
stuff and minimize the whole ppc series to only these necessary patches:

$ git log --reverse --oneline 813cab75752d9f2bbd71179b0c43c1052515cf48^..HEAD
813cab75752d tools/nolibc: add support for powerpc
122e2610c649 tools/nolibc: add support for powerpc64
f31fe18cf2e2 selftests/nolibc: add XARCH and ARCH mapping support
b25c71125154 selftests/nolibc: add test support for ppc
27bc0026f1e7 selftests/nolibc: add test support for ppc64le
d70649478ef8 (HEAD -> v6.6-nolibc-202308031233-pure-ppc-v5) selftests/nolibc: add test support for ppc64

After this ppc series, if you are still happy with parts of the left ones, I
will renew them.

[1]: https://lore.kernel.org/lkml/bb7b5f9958b3e3a20f6573ff7ce7c5dc566e7e32.1690982937.git.tanyuan@xxxxxxxxxxx/

>
> [...]
> > So, it is ok for us to simply ignore -O0 currently, let's work on them
> > in v6.7.
>
> Yeah I'm fine with this. In the worst case those using -O0 can also avoid
> using stack-protector.
>

Yeah, let's ignore -O0 here.

but must clarify that, even with the default "-Os" from command line,
when using gcc 13.1.0, it has '__no_stack_protector' attribute but this
attribute breaks 'omit-frame-pointer' and result in segfaults. To avoid
touching the common code, I plan to let ppc32 uses its own
__no_stack_protector with '__optimize__("-fno-stack-protector")', I hope
it is fair enough now ;-)

Here is what I have added for arch-powerpc.h in the first patch of the series:

/* FIXME: For ppc32, with newer gcc compilers (e.g. gcc 13.1.0),
* "omit-frame-pointer" fails with __attribute__((no_stack_protector)) but
* works with __attribute__((__optimize__("-fno-stack-protector")))
*/
#ifdef __no_stack_protector
#undef __no_stack_protector
#define __no_stack_protector __attribute__((__optimize__("-fno-stack-protector")))
#endif

If you are happy with this, v5 with come with it.

Thanks!

Best regards,
Zhangjin

>
> Willy