Skip to contentSkip to conversation

Breaking PARISC ABI - Testing procedures?

parisc-linux Carlos O'Donell 2 participants 3 messages Aug 26, 2002 – Aug 27, 2002

lore
Share & tools
lore
#0 lore raw

debian-gcc,

I sense another PARISC ABI breakage coming in the very near future. The ABI breakage is caused by the following three items:

1- setjmp/longjmp implementation is flawed (Testing) 2- mcontext_t is incorrect in glibc (BTS #157374) 3- sizeof(long double) is incorrect in gcc and glibc (?)

My main question is:

How does one run a preliminary test to ferret out possibly problems that were not forseen?

My current procedure is to build a new glibc, create a chroot, install glibc there and begin building things.

Does anyone have a general procedure for this? Or is this what experimental or unstable is about? :/

---

I'm working on providing various test cases for "1-" and I already have a patch in my local glibc tree (the initial patch made the mistake of not allocating enough room for jmpbuf - kudos to Randolph for noticing that during RFC).

I have a patch for "2-" and it works, but we have a kernel bug when copying registers into the sigcontext that gets passed back to a 32-bit userspace from a 64-bit kernel. Luckily the old definition of mcontect_t matches the new sigcontext typedef for accesses to general registers and floating point registers, so we maintain backwards compat in that scenario. I would like to note that it has never worked when running a 64-bit kernel under parisc :}

The last issue will get fixed when I get around to poking changes at gcc.

c.

#1 lore raw
Quoted 1 line

3- sizeof(long double) is incorrect in gcc and glibc (?)

This also needs to be fixed under 64-bit hpux. Need to determine the calling convention for long doubles.

Dave

Signature · 2 lines
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)
#2 lore raw
In reply to Carlos O'Donell
Quoted 1 line

3- sizeof(long double) is incorrect in gcc and glibc (?)

This also needs to be fixed under 64-bit hpux. Need to determine the calling convention for long doubles.

Dave

Signature · 2 lines
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)