Hi! On Wed, Oct 12, 2022 at 04:12:21PM +0800, Kewen.Lin wrote: > PR106680 shows that -m32 -mpowerpc64 is different from > -mpowerpc64 -m32, this is determined by the way how we > handle option powerpc64 in rs6000_handle_option. > > Segher pointed out this difference should be taken as > a bug and we should ensure that option powerpc64 is > independent of -m32/-m64. So this patch removes the > handlings in rs6000_handle_option and add some necessary > supports in rs6000_option_override_internal instead.
Sorry for the late review. > + /* Don't expect powerpc64 enabled on those OSes with OS_MISSING_POWERPC64, > + since they don't support saving the high part of 64-bit registers on > + context switch. If the user explicitly specifies it, we won't interfere > + with the user's specification. */ It depends on the OS, and what you call "context switch". For example on Linux the context switches done by the kernel are fine, only things done by setjmp/longjmp and getcontext/setcontext are not. So just be a bit more vague here? "Since they do not save and restore the high half of the GPRs correctly in all cases", something like that? Okay for trunk like that. Thanks! Segher