Such functions don`t work correctly because fpu model is different for e500. For
example by calling getcontext function the process terminates with illegal
Created attachment 502 [details]
It seems your version is based on old glibc 2.3.2. In the latest version,
getcontext is existed in (ex)
sysdeps/unix/sysv/linux/powerpc/powerpc32/ directory and so on.
Could you check it again?
yes, sorry I was wrong about 2.3.5. Illegal instruction occurs only under
glibc-2.3.2. But in 2.3.5, it still does not save whole fpu context(64-bit GPRs)
Steven, could you look at this report?
special purpose embeded (Book-E) processor which does not conform to the core
PowerPC architecture. It is a 32-bit (LR,CTR, XER) processor with combined
64-bit GPR/FPR set plus Accumulator.
The current glibc port targets powerpc32 and powerpc64 conform to the SysV ABI
PowerPC[32-bit] Processor Supplement and the 64-bit PowerPC ELF ABI Supplement
and fully support the standard PowerPC Architecure for 32-/64-bit
So this is not a bug. The current powerpc32/powerpc64 implementations are
correct according to thier respective ABIs.
e500 would have to be a separate target/ABI. And will require a separate port.
Created attachment 508 [details]
This is not sufficient:
1) setcontext is not the only function that needs to be different between
powerpc32 and e500 what ever. Also the versioning cruft either does not apply or
needs to be different.
2) I don't think your patch has the correct directory path for a add-on port.
Also I don't think the spe is a valid autoconf target plaform.
3) What IS you ABI and where is it documented?
This is not of any interest since it's not for a regular chip. Embedded crap
isn't supported in glibc.