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

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

 



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



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux