Work on this project has been stalled as Red Hat 9 approaches it's end of life, the PaX team no longer maintains
a patch for 2.4.20, and doing both a backport and a manual patch against (mainly) the ac patches just is too labour intensive.
I did not succeed in patching PaX against the 2.4.22 Fedora kernel that uses exec-shield.
Although I got the kernel to compile the result was unbootable (surprise, surprise ;) .
The disabling of CONFIG_KALLSYMS turned out to be unnecessary. If you patch linux-2.4.20/arch/i386/vmlinux.lds.S in the
original PaX patch tree against linux-2.4.20/arch/i386/vmlinux.lds in the Red Hat tree you should be able to reenable
CONFIG_KALLSYMS in the configs. That would mean you can drop all first hunks in the ix86 .config file patches.
Here you can find modified PaX patches for use with
a Red Hat 7.3 2.4.20 kernel (possibly with later releases, ie redhat 8.0 & 9 as well).
You will need the according spec file to build the PaX kernel. I had to disable the
linux-2.4.20-ldt.patch and disable CONFIG_KALLSYMS in all config files to get it to compile.
Although the resulting kernels have been running on my firewall for months without any apparent problems
these files are provided to you without any warranty ;-) .
Reversioned the spec file and patches so they include the full Red Hat kernel version in their name.