fixed post-increment issue on ppc*

die when AT_PAGESZ entry is empty
This commit is contained in:
ensc 2008-06-21 14:22:29 +00:00
commit d9ffe98eab

View file

@ -129,12 +129,13 @@
register size_t idx=0;
--- dietlibc-0.31.20080409/ppc/start.S.pagesize
+++ dietlibc-0.31.20080409/ppc/start.S
@@ -31,6 +31,14 @@ _start:
@@ -31,6 +31,15 @@ _start:
lis 14,environ@ha
stw 5,environ@l(14)
+#ifdef WANT_ELFINFO
+1: lwzu 15,4(5)
+1: lwzu 15,0(5)
+ addi 5, 5, 4
+ cmpwi 15,0
+ bne 1b
+
@ -355,7 +356,7 @@
+}
--- dietlibc-0.31.20080409/libcruft/getpagesize.c.pagesize
+++ dietlibc-0.31.20080409/libcruft/getpagesize.c
@@ -2,14 +2,23 @@
@@ -2,14 +2,22 @@
#include <sys/ipc.h>
#include <sys/shm.h>
@ -373,8 +374,7 @@
+
+ if (__unlikely(pgsz==0)) {
+ __diet_elf_addr_t *v = __get_elf_aux_value(AT_PAGESZ);
+ if (__likely(v))
+ pgsz = *v;
+ pgsz = *v; /* causes segfault when 'v==NULL' */
+ }
+
+ return pgsz;
@ -675,12 +675,13 @@
}
--- dietlibc-0.31.20080409/ppc64/start.S.pagesize
+++ dietlibc-0.31.20080409/ppc64/start.S
@@ -58,6 +58,14 @@ _start:
@@ -58,6 +58,15 @@ _start:
oris 14,14,environ@ha
std 5,environ@l(14)
+#ifdef WANT_ELFINFO
+1: ldu 15,8(5)
+1: ldu 15,0(5)
+ addi 5, 5, 8
+ cmpdi 15,0
+ bne 1b
+