[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [parisc-linux] Support for 2.4.x kernels on hppa



> As Dave mentioned, there is a case in gcc which is currently broken when
> running 2.4 kernels, because sigcontext handling was broken in 2.4
> kernels for 64-bit kernels. Carlos fixed this in 2.6.x (thanks Carlos).
> 
> The signal trampoline layout also changed in 2.6.x kernels, breaking 
> backward compatibility for userspace applications that need to process 
> the signal context structure. This has come up not only for gcc but for
> some other applications (this topic comes up from time to time on 
> debian-hppa).
> 
> Currently there is code in gcc to handle 32-bit 2.4 kernels, 32-bit 2.6
> kernels and 64-bit 2.6 kernels. However, it appears that with 2.4
> kernels there are still some bugs related to either mmap, signal
> handling or unaligned trap handling that causes the gcc testsuite to
> hang the machine from time to time. If you run a 64-bit 2.4 kernel than
> some of the gcc unwinding stuff will not work at all.

Thanks for all the help! Yeah, the sigcontext fixes wouldn't have been
possible without James Bottomley's cleanups. A backport of all that code
is a lengthy project, with a lot of reboot cycles.

Since sigcontext is an opaque structures, and we don't have
set/get/make/swap context calls we only broke those programs that parsed
sigcontext by themselves. I apologize for that, but it was the only way
to implement restartable system calls without a race condition (or
rather 2 race conditions, we still have a race I think).

c.



Reply to: