Latest Status on SI for PPC32
Marvin Heffler <[email protected]> Wed, 2 Jul 2003 14:39:57 -0500
| Newsgroups | gmane.linux.lsb.implementation |
|---|---|
| Message-ID | <OF85E2787D.DBE760D5-ON86256D57.006903E4-86256D57.006BC7C0@us.ibm.com> |
I have been working the past few days on integrating the context support
for ppc32 into the si. This has been complicated somewhat by the fact it
was added to glibc 2.3 where the directory structure is somewhat
different. Anyway, I was finally able to get a version to build properly
and ran the test suite against it. The results are better than before, but
there are still a couple of unresolved tests where it's dumping core.
Prior to adding the context support to the si the following tests failed:
/tset/LSB.os/jump/getcontext/T.getcontext 1 FAIL
/tset/LSB.os/jump/getcontext/T.getcontext 2 FAIL
/tset/LSB.os/jump/makecontext/T.makecontext 1 UNRESOLVED
/tset/LSB.os/jump/makecontext/T.makecontext 2 UNRESOLVED
/tset/LSB.os/jump/makecontext/T.makecontext 3 UNRESOLVED
/tset/LSB.os/jump/setcontextT.setcontext 1 UNRESOLVED
After building the si with context support the only failing tests are:
/tset/LSB.os/jump/makecontext/T.makecontext 1 UNRESOLVED
/tset/LSB.os/jump/makecontext/T.makecontext 3 UNRESOLVED
This leads me to think the way I integrated the context support into glibc
2.2.5 for the si is not 100% correct. Let me explain what steps I took and
see if anyone can see what I might have done wrong.
Support for context was added to glibc 2.3 to the
sysdeps/unix/sysv/linux/powerpc/powerpc32 directory. To integrate this
support in the glibc used in the si I modified the glibc-2.2.5.ppc32.patch
file to add the files getcontext.S, makecontext.S, setcontext.S,
swapcontext.S, and ucontext_i.h from the glibc 2.3 source. The files were
added to the sysdeps/unix/sysv/linux/powerpc directory since glibc 2.2.5
does not have separate directories for powerpc32 and powerpc64. When
building glibc the new files worked okay, except for makecontext.S. This
file uses a macro HIDDEN_JUMPTARGET which is not defined in glibc 2.2.5.
To get it to build I compared the code to the makecontext source for i386
in glibc 2.2.5. I changed the instance of HIDDEN_JUMPTARGET in
makecontext.S to JUMPTARGET. I don't know if this is the correct way to do
this, but it did get the code to build.
I have placed the modified glibc 2.2.5 patch file used when building
the si and the journal file from the test run on linuxbase.org in the
~heffler/impl directory.
Regards,
Marvin Heffler
Linux Standard Base
IBM Linux Technology Center
11400 Burnet Road, Zip 908-1A33
Austin, TX 78758
(512) 838-0953 T/L 678-0953