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.169098...
[...]
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