add pth with armv5 patch

This commit is contained in:
Mario Fetka
2011-12-21 20:15:54 +01:00
parent b8a626114d
commit df335ea69a
9 changed files with 423 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
--- Makefile.in.orig 2005-11-08 05:58:55.000000000 +1100
+++ Makefile.in 2005-11-08 06:29:02.000000000 +1100
@@ -148,10 +148,9 @@
# be aware of libtool when building the objects
.SUFFIXES:
-.SUFFIXES: .c .o .lo
-.c.o:
+%.o: %.c $(TARGET_PREQ)
$(CC) -c $(CPPFLAGS) $(CFLAGS) $<
-.c.lo:
+%.lo: %.c $(TARGET_PREQ)
$(LIBTOOL) --mode=compile --quiet $(CC) -c $(CPPFLAGS) $(CFLAGS) $<
# the default target

View File

@@ -0,0 +1,17 @@
Index: pth-2.0.6/Makefile.in
===================================================================
--- pth-2.0.6.orig/Makefile.in
+++ pth-2.0.6/Makefile.in
@@ -168,10 +168,10 @@ pth_p.h: $(S)pth_p.h.in
# build the static and possibly shared libraries
libpth.la: $(LOBJS)
- $(LIBTOOL) --mode=link --quiet $(CC) -o libpth.la $(LOBJS) \
+ $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o libpth.la $(LOBJS) \
-rpath $(libdir) -version-info `$(SHTOOL) version -lc -dlibtool $(_VERSION_FILE)`
libpthread.la: pthread.lo $(LOBJS)
- $(LIBTOOL) --mode=link --quiet $(CC) -o libpthread.la pthread.lo $(LOBJS) \
+ $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o libpthread.la pthread.lo $(LOBJS) \
-rpath $(libdir) -version-info `$(SHTOOL) version -lc -dlibtool $(_VERSION_FILE)`
# build the manual pages

View File

@@ -0,0 +1,22 @@
diff -urNp pth-2.0.6.old/aclocal.m4 pth-2.0.6/aclocal.m4
--- pth-2.0.6.old/aclocal.m4 2004-12-31 21:33:19.000000000 +0200
+++ pth-2.0.6/aclocal.m4 2006-09-20 14:46:59.000000000 +0300
@@ -1522,6 +1522,7 @@ int main(int argc, char *argv[])
int sksize;
char result[1024];
int i;
+exit (1);
sksize = 32768;
skbuf = (char *)malloc(sksize*2+2*sizeof(union alltypes));
if (skbuf == NULL)
diff -urNp pth-2.0.6.old/configure pth-2.0.6/configure
--- pth-2.0.6.old/configure 2005-11-22 09:49:21.000000000 +0200
+++ pth-2.0.6/configure 2006-09-20 14:55:23.000000000 +0300
@@ -24735,6 +24735,7 @@ int main(int argc, char *argv[])
int sksize;
char result[1024];
int i;
+exit (1);
sksize = 32768;
skbuf = (char *)malloc(sksize*2+2*sizeof(union alltypes));
if (skbuf == NULL)

View File

@@ -0,0 +1,30 @@
# http://bugs.debian.org/225780
diff -Naurp pth.orig/pth_sched.c pth/pth_sched.c
--- pth.orig/pth_sched.c 2009-07-16 23:16:52.000000000 +0000
+++ pth/pth_sched.c 2009-07-16 23:20:51.000000000 +0000
@@ -297,8 +297,15 @@ intern void *pth_scheduler(void *dummy)
/*
* Check for stack overflow
*/
+#ifndef __ia64__
if (pth_current->stackguard != NULL) {
if (*pth_current->stackguard != 0xDEAD) {
+#else
+ /* On ia64 the stack grows down but the bottom part is used for register
+ * backing store which grows up. So we check for a meet in the middle
+ */
+ if (pth_current->mctx.uc.uc_mcontext.sc_gr[12] <= pth_current->mctx.uc.uc_mcontext.sc_ar_bsp) {
+#endif
pth_debug3("pth_scheduler: stack overflow detected for thread 0x%lx (\"%s\")",
(unsigned long)pth_current, pth_current->name);
/*
@@ -324,7 +331,9 @@ intern void *pth_scheduler(void *dummy)
pth_current->state = PTH_STATE_DEAD;
kill(getpid(), SIGSEGV);
}
+#ifndef __ia64__
}
+#endif
/*
* If previous thread is now marked as dead, kick it out

View File

@@ -0,0 +1,12 @@
--- Makefile.in 2010-12-13 12:59:07.000000000 -0500
+++ Makefile.new 2010-12-13 13:00:22.000000000 -0500
@@ -215,7 +215,8 @@
# install the package
install: all-for-install
- @$(MAKE) $(MKFLAGS) install-dirs install-pth @INSTALL_PTHREAD@
+ @$(MAKE) $(MKFLAGS) install-dirs
+ @$(MAKE) $(MKFLAGS) install-pth @INSTALL_PTHREAD@
@touch .done-install >/dev/null 2>&1 || $(TRUE)
@$(MAKE) $(MKFLAGS) what-next
install-dirs: