This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] PPC32 nofpu fixes


Roland McGrath wrote:

Roland McGrath wrote:



I can't figure out why this is anything other than:

#define NO_FPU
#include <sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S>

and the like, with appropriate #ifdef NO_FPU insertions in the trunk files.





The common code in the trunk has to have versions with/without VMX/Altivec plus the ENOSYS stub for pre GLIBC_2_3_3. Assuming the powerpc NO_FPU implementation is a simple subset of the powerpc ABI then we need to provide the same version symbols as the base powerpc ABI.



Sorry, I haven't figured out how this answers my question.




When we added the VMX support we needed to change the size of ucontext which requires versioning with multiple implementations. So get|set|swapcontext require a version with VMX for the new version and without VMX for the old version (and smaller context). Each version requires a unique name (thus __CONTEXT_FUNC_NAME)

So when you asked for a common implementation between fpu and nofpu, I took the opportunity to define a common implementation for VMX+FPU+GPR, FPU+GPR, and GPR only (nofpu) that could be conditionally compiled (thus __CONTEXT_ENABLE_VRS in addition to __CONTEXT_ENABLE_FPRS).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]