diff -uNr dietlibc-0.18.orig/libdl/_dl_rel.h dietlibc-0.18/libdl/_dl_rel.h
---- dietlibc-0.18.orig/libdl/_dl_rel.h Mon Feb 11 21:41:05 2002
-+++ dietlibc-0.18/libdl/_dl_rel.h Mon Aug 5 01:23:10 2002
+--- dietlibc-0.23/libdl/_dl_rel.h.orig 2003-02-19 14:18:40.000000000 +0100
++++ dietlibc-0.23/libdl/_dl_rel.h 2003-09-13 03:42:07.000000000 +0200
@@ -9,7 +9,7 @@
#define _DL_REL_PLT(b,r) (*(unsigned long*)((b)+(r)->r_offset)+=(unsigned long)(b))
--#elif defined(__alpha__) || defined(__hppa__) || defined(__ppc__) || defined(__sparc__) || defined(__s390__)
-+#elif defined(__alpha__) || defined(__hppa__) || defined(__powerpc__) || defined(__sparc__) || defined(__s390__)
- /* this are RELA only archs: alpha, chris, hppa, ia64, m68k, ppc, sparc, sparc64, sh, s390 */
+-#elif defined(__alpha__) || defined(__hppa__) || defined(__ppc__) || defined(__sparc__) || defined(__s390__) \
++#elif defined(__alpha__) || defined(__hppa__) || defined(__powerpc__) || defined(__sparc__) || defined(__s390__) \
+ || defined(__x86_64__)
+ /* this are RELA only archs: alpha, chris, hppa, ia64, m68k, ppc, sparc, sparc64, sh, s390, x86_64 */
+
+diff -ur dietlibc-0.22/ppc/mmap.S dietlibc-0.22-/ppc/mmap.S
+--- dietlibc-0.22/ppc/mmap.S 2003-07-01 13:01:26.000000000 +0200
++++ dietlibc-0.22-/ppc/mmap.S 2003-07-01 13:01:13.000000000 +0200
+@@ -0,0 +1,27 @@
++ .section ".text"
++ .align 2
++ .globl mmap
++ .type mmap,@function
++mmap:
++ stwu 1,-16(1)
++ mflr 0
++ stw 31,12(1)
++ stw 0,20(1)
++ li 0,90
++ sc
++ mfcr 0
++ andis. 9,0,4096
++ mr 31,3
++ bc 12,2,.L4
++ bl __errno_location
++ stw 31,0(3)
++ li 31,-1
++.L4:
++ mr 3,31
++ lwz 0,20(1)
++ mtlr 0
++ lwz 31,12(1)
++ la 1,16(1)
++ blr
++.Lfe1:
++ .size mmap,.Lfe1-mmap
+--- dietlibc-0.24/include/sys/ucontext.h.orig 2003-10-10 15:17:46.000000000 +0200
++++ dietlibc-0.24/include/sys/ucontext.h 2003-11-22 18:21:22.390804792 +0100
+@@ -1,6 +1,13 @@
+ #ifndef _SYS_UCONTEXT_H
+ #define _SYS_UCONTEXT_H
+
++/* follow glibc <bits/sigcontext.h> on ppc: */
++#if defined(powerpc) && !defined(sigcontext_struct)
++/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
++ * we need sigcontext. */
++# define sigcontext_struct sigcontext
++#endif
++
+ #include <asm/sigcontext.h>
+ #include <signal.h>
- #define _dl_rel_t Elf_Rela