[kaffe] CVS kaffe (guilhem): Fixed a few warnings.
Kaffe CVS
cvs-commits at kaffe.org
Tue Jun 21 09:18:45 PDT 2005
PatchSet 6654
Date: 2005/06/21 16:11:48
Author: guilhem
Branch: HEAD
Tag: (none)
Log:
Fixed a few warnings.
* m4/ax_create_stdint_h.m4: Removed some broken & unused m4 code line.
* configure: Regenerated.
* config/config-std.h,
kaffe/kaffevm/lerrno.h: Moved definition of ENOTSUP to prevent
redefinition.
* kaffe/kaffevm/debug.c,
kaffe/kaffevm/systems/unix-pthreads/lock-impl.c,
kaffe/kaffevm/systems/unix-pthreads/signal.c,
kaffe/kaffevm/systems/unix-pthreads/thread-impl.c: Use lerrno.h
instead of errno.h
Members:
ChangeLog:1.4180->1.4181
configure:1.462->1.463
config/config-std.h:INITIAL->1.16
kaffe/kaffevm/debug.c:1.64->1.65
kaffe/kaffevm/lerrno.h:1.1->1.2
kaffe/kaffevm/systems/unix-pthreads/lock-impl.c:INITIAL->1.23
kaffe/kaffevm/systems/unix-pthreads/signal.c:1.22->1.23
kaffe/kaffevm/systems/unix-pthreads/thread-impl.c:1.84->1.85
m4/ax_create_stdint_h.m4:1.3->1.4
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4180 kaffe/ChangeLog:1.4181
--- kaffe/ChangeLog:1.4180 Tue Jun 21 15:17:03 2005
+++ kaffe/ChangeLog Tue Jun 21 16:11:48 2005
@@ -1,5 +1,21 @@
2005-06-21 Guilhem Lavaux <guilhem at kaffe.org>
+ * m4/ax_create_stdint_h.m4: Removed some broken & unused m4 code line.
+
+ * configure: Regenerated.
+
+ * config/config-std.h,
+ kaffe/kaffevm/lerrno.h: Moved definition of ENOTSUP to prevent
+ redefinition.
+
+ * kaffe/kaffevm/debug.c,
+ kaffe/kaffevm/systems/unix-pthreads/lock-impl.c,
+ kaffe/kaffevm/systems/unix-pthreads/signal.c,
+ kaffe/kaffevm/systems/unix-pthreads/thread-impl.c: Use lerrno.h
+ instead of errno.h
+
+2005-06-21 Guilhem Lavaux <guilhem at kaffe.org>
+
* config/sparc/atomic-sparc64.h,
config/mips/atomic.h: Removed gcc specific hacks. Moved into
config-hacks.h
Index: kaffe/configure
diff -u kaffe/configure:1.462 kaffe/configure:1.463
--- kaffe/configure:1.462 Tue Jun 21 15:17:06 2005
+++ kaffe/configure Tue Jun 21 16:11:42 2005
@@ -34349,8 +34349,7 @@
and64=""
fi
- stdint.h inttypes.h sys/inttypes.h $inttype_headers
- break
+ break
done
echo "$as_me:$LINENO: checking for stdint uintptr_t" >&5
echo $ECHO_N "checking for stdint uintptr_t... $ECHO_C" >&6
@@ -34500,8 +34499,6 @@
and64=""
fi
- inttypes.h sys/inttypes.h stdint.h $inttype_headers
- break
break;
done
echo "$as_me:$LINENO: checking for stdint uint32_t" >&5
@@ -34654,8 +34651,6 @@
and64=""
fi
- sys/types.h inttypes.h sys/inttypes.h $inttype_headers
- break
break;
done
echo "$as_me:$LINENO: checking for stdint u_int32_t" >&5
===================================================================
Checking out kaffe/config/config-std.h
RCS: /home/cvs/kaffe/kaffe/config/config-std.h,v
VERS: 1.16
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/config/config-std.h Tue Jun 21 16:18:44 2005
@@ -0,0 +1,71 @@
+/*
+ * config-std.h
+ *
+ * Copyright (c) 1996, 1997
+ * Transvirtual Technologies, Inc. All rights reserved.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ */
+
+
+#include "config.h"
+#ifndef __config_std_h
+#define __config_std_h
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+#include "config.h"
+
+#if defined(HAVE_STRING_H)
+#include <string.h>
+#endif
+#if defined(HAVE_UNISTD_H)
+#include <unistd.h>
+#endif
+#if defined (HAVE_TIME_H)
+#include <time.h>
+#endif
+#if defined(HAVE_SYS_TIME_H)
+#include <sys/time.h>
+#endif
+#if defined(HAVE_SYS_TYPES_H)
+#include <sys/types.h>
+#endif
+#if defined(HAVE_SYS_RESOURCE_H)
+#include <sys/resource.h>
+#endif
+#if !defined (__CYGWIN__)
+#if !defined(HAVE_WINDOWS_H) && defined(HAVE_WINNT_H)
+#include <winnt.h>
+#endif
+#if defined(HAVE_WINTYPES_H)
+#include <wintypes.h>
+#endif
+#endif /* ! __CYGWIN__ */
+#if defined(HAVE_BSD_LIBC_H)
+#include <bsd/libc.h>
+#endif
+#if defined(HAVE_KERNEL_OS_H)
+#include <kernel/OS.h>
+#endif
+
+#undef __UNUSED__
+#if defined(__GNUC__)
+#define __UNUSED__ __attribute__((__unused__))
+#else
+#define __UNUSED__
+#endif
+
+/* SunOS has on_exit only */
+#if !defined(HAVE_ATEXIT) && defined(HAVE_ON_EXIT)
+#define atexit(x) on_exit(x, 0)
+#endif
+
+#if defined(WITH_DMALLOC)
+# include <dmalloc.h>
+#endif
+
+#endif
Index: kaffe/kaffe/kaffevm/debug.c
diff -u kaffe/kaffe/kaffevm/debug.c:1.64 kaffe/kaffe/kaffevm/debug.c:1.65
--- kaffe/kaffe/kaffevm/debug.c:1.64 Sat May 14 21:46:31 2005
+++ kaffe/kaffe/kaffevm/debug.c Tue Jun 21 16:11:55 2005
@@ -26,7 +26,7 @@
#include <stdio.h>
-#include <errno.h>
+#include "lerrno.h"
#include "config.h"
#include "config-std.h"
#include "config-mem.h"
Index: kaffe/kaffe/kaffevm/lerrno.h
diff -u kaffe/kaffe/kaffevm/lerrno.h:1.1 kaffe/kaffe/kaffevm/lerrno.h:1.2
--- kaffe/kaffe/kaffevm/lerrno.h:1.1 Tue Mar 31 19:10:53 1998
+++ kaffe/kaffe/kaffevm/lerrno.h Tue Jun 21 16:11:55 2005
@@ -34,5 +34,13 @@
#if !defined(EISCONN)
#define EISCONN NOERRNO
#endif
+#if !defined(EOPNOTSUPP)
+#define EOPNOTSUPP NOERRNO
+#endif
+
+/* This is for NetBSD */
+#if !defined(ENOTSUP)
+#define ENOTSUP EOPNOTSUPP
+#endif
#endif
===================================================================
Checking out kaffe/kaffe/kaffevm/systems/unix-pthreads/lock-impl.c
RCS: /home/cvs/kaffe/kaffe/kaffe/kaffevm/systems/unix-pthreads/lock-impl.c,v
VERS: 1.23
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/kaffe/kaffevm/systems/unix-pthreads/lock-impl.c Tue Jun 21 16:18:44 2005
@@ -0,0 +1,183 @@
+/*
+ * lock-impl.c - pthread-based LockInterface implementation (Posix style)
+ *
+ * Copyright (c) 1998
+ * Transvirtual Technologies, Inc. All rights reserved.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ */
+
+#include "config.h"
+#include "config-std.h"
+#include "lerrno.h"
+#include "debug.h"
+
+#include "jthread.h"
+/* For NOTIMEOUT */
+#include "jsyscall.h"
+#ifdef KAFFE_BOEHM_GC
+#include "boehm-gc/boehm/include/gc.h"
+#endif
+#include <signal.h>
+
+static
+void
+setBlockState(jthread_t cur, unsigned int newState, void *sp, sigset_t *old_mask)
+{
+ int suspendSig;
+ sigset_t suspendMask, pendingMask;
+
+ suspendSig = KaffePThread_getSuspendSignal();
+ sigemptyset(&suspendMask);
+ sigaddset(&suspendMask, suspendSig);
+ pthread_sigmask(SIG_BLOCK, &suspendMask, old_mask);
+
+ pthread_mutex_lock(&cur->suspendLock);
+ cur->blockState |= newState;
+ cur->stackCur = sp;
+ pthread_mutex_unlock(&cur->suspendLock);
+
+ /* This thread is protected against suspendall. So if a signal has been
+ * received it is just before the mutex_lock and after pthread_sigmask.
+ * We must acknowledge and go in WaitForResume.
+ */
+ sigpending(&pendingMask);
+ if (sigismember(&pendingMask, suspendSig))
+ {
+ KaffePThread_AckAndWaitForResume(cur, newState);
+ }
+}
+
+void KaffePThread_setBlockingCall(void *sigdata)
+{
+ jthread_t cur = jthread_current();
+
+ setBlockState(cur, BS_SYSCALL, (void*)&cur, (sigset_t*)sigdata);
+}
+
+static inline void
+clearBlockState(jthread_t cur, unsigned int newState, sigset_t *old_mask)
+{
+ pthread_mutex_lock(&cur->suspendLock);
+ cur->blockState &= ~newState;
+ if (cur->suspendState == SS_SUSPENDED)
+ {
+ DBG(JTHREADDETAIL, dprintf("Changing blockstate of %p to %d while in suspend, block again\n", cur, newState));
+
+ KaffePThread_WaitForResume(true, 0);
+ }
+ else
+ {
+ cur->stackCur = NULL;
+ pthread_mutex_unlock(&cur->suspendLock);
+ }
+
+ /* Catch an interrupt event sent while we were being killed.
+ * This is needed for Darwin's pthreads.
+ */
+ if (cur->status == THREAD_KILL && ((cur->blockState & BS_THREAD) == 0))
+ {
+ /* Mark the thread as inactive now to acknowledge the shutdown. */
+ cur->active = 0;
+ pthread_exit(NULL);
+ }
+
+ pthread_sigmask(SIG_SETMASK, old_mask, NULL);
+ /* Here the state is not SS_PENDING_SUSPEND so releasing the signal will
+ * not trigger a deadlock.
+ */
+}
+
+void KaffePThread_clearBlockingCall(void *sigdata)
+{
+ jthread_t cur = jthread_current();
+
+ clearBlockState(cur, BS_SYSCALL, (sigset_t *)sigdata);
+}
+
+void
+jmutex_lock(jmutex* lk )
+{
+ jthread_t cur = jthread_current ();
+ sigset_t oldmask;
+
+ setBlockState(cur, BS_MUTEX, (void*)&cur, &oldmask);
+ pthread_mutex_lock( lk );
+ clearBlockState(cur, BS_MUTEX, &oldmask);
+}
+
+
+static inline int
+ThreadCondWait(jthread_t cur, jcondvar *cv, jmutex *mux)
+{
+ int status = 0;
+ sigset_t oldmask;
+
+ setBlockState(cur, BS_CV, (void*)&status, &oldmask);
+ status = pthread_cond_wait( cv, mux );
+ clearBlockState(cur, BS_CV, &oldmask);
+
+ return status;
+}
+
+/*
+ * Wait on the condvar with a given relative timeout in ms (which we
+ * have to convert into a absolute timespec now)
+ */
+jboolean
+jcondvar_wait (jcondvar* cv, jmutex *mux, jlong timeout )
+{
+ jthread_t cur = jthread_current();
+ int status = 0;
+
+ /*
+ * If a thread trying to get a heavy lock is interrupted, we may get here
+ * with the interrupted flag set (because the thread didn't get the heavy
+ * lock and has to wait again). Therefore, we must not clear the interrupted
+ * flag here.
+ */
+
+ if ( timeout == NOTIMEOUT )
+ {
+ /* we handle this as "wait forever" */
+ status = ThreadCondWait(cur, cv, mux);
+ }
+ else
+ {
+ sigset_t oldmask;
+ struct timespec abst;
+ struct timeval now;
+ /* timeout is in millisecs, timeval in microsecs, and timespec in nanosecs */
+ gettimeofday( &now, NULL);
+ abst.tv_sec = now.tv_sec + (timeout / 1000);
+ if( abst.tv_sec < now.tv_sec )
+ {
+ /* huge timeout value, we handle this as "wait forever" */
+ status = ThreadCondWait(cur, cv, mux);
+ }
+ else
+ {
+ abst.tv_nsec = (now.tv_usec * 1000) + (timeout % 1000) * 1000000;
+
+ if (abst.tv_nsec > 1000000000)
+ {
+ abst.tv_sec += 1;
+ abst.tv_nsec -= 1000000000;
+ }
+
+ setBlockState(cur, BS_CV_TO, (void*)&status, &oldmask);
+ status = pthread_cond_timedwait( cv, mux, &abst);
+ clearBlockState(cur, BS_CV_TO, &oldmask);
+ }
+ }
+
+ /*
+ * Since we interrupt a thread blocked on a condition variable by signaling that
+ * condition variable, we cannot set the interrupted flag based on the value of
+ * 'signal'. Therefore, we have to rely on the interrupting thread to set the
+ * flag.
+ */
+
+ return (status == 0);
+}
Index: kaffe/kaffe/kaffevm/systems/unix-pthreads/signal.c
diff -u kaffe/kaffe/kaffevm/systems/unix-pthreads/signal.c:1.22 kaffe/kaffe/kaffevm/systems/unix-pthreads/signal.c:1.23
--- kaffe/kaffe/kaffevm/systems/unix-pthreads/signal.c:1.22 Tue May 31 17:55:49 2005
+++ kaffe/kaffe/kaffevm/systems/unix-pthreads/signal.c Tue Jun 21 16:11:56 2005
@@ -22,7 +22,7 @@
#include "thread-internal.h"
#include "files.h"
#include "kaffe/jmalloc.h"
-#include <errno.h>
+#include "lerrno.h"
#ifdef KAFFE_BOEHM_GC
#include "boehm-gc/boehm/include/gc.h"
#endif
Index: kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-impl.c
diff -u kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-impl.c:1.84 kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-impl.c:1.85
--- kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-impl.c:1.84 Mon May 30 09:24:01 2005
+++ kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-impl.c Tue Jun 21 16:11:56 2005
@@ -12,7 +12,7 @@
* of this file.
*/
-#include <errno.h>
+#include "lerrno.h"
#include <limits.h>
#include "config.h"
Index: kaffe/m4/ax_create_stdint_h.m4
diff -u kaffe/m4/ax_create_stdint_h.m4:1.3 kaffe/m4/ax_create_stdint_h.m4:1.4
--- kaffe/m4/ax_create_stdint_h.m4:1.3 Sun Jun 19 13:47:28 2005
+++ kaffe/m4/ax_create_stdint_h.m4 Tue Jun 21 16:11:57 2005
@@ -30,7 +30,7 @@
dnl file will include it directly. No need for fuzzy HAVE_STDINT_H things...
dnl
dnl @, (status: used on new platforms) (see http://ac-archive.sf.net/gstdint/)
-dnl @version $Id: ax_create_stdint_h.m4,v 1.3 2005/06/19 13:47:28 guilhem Exp $
+dnl @version $Id: ax_create_stdint_h.m4,v 1.4 2005/06/21 16:11:57 guilhem Exp $
dnl @author Guido Draheim <guidod at gmx.de>
AC_DEFUN([AX_CHECK_DATA_MODEL],[
@@ -80,7 +80,7 @@
unset ac_cv_type_uint64_t
AC_CHECK_TYPE(uintptr_t,[ac_cv_header_stdint_x=$i],continue,[#include <$i>])
AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>])
- m4_ifvaln([$1],[$1]) break
+ break
done
AC_MSG_CHECKING([for stdint uintptr_t])
])
@@ -95,7 +95,6 @@
unset ac_cv_type_uint64_t
AC_CHECK_TYPE(uint32_t,[ac_cv_header_stdint_o=$i],continue,[#include <$i>])
AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>])
- m4_ifvaln([$1],[$1]) break
break;
done
AC_MSG_CHECKING([for stdint uint32_t])
@@ -111,7 +110,6 @@
unset ac_cv_type_u_int64_t
AC_CHECK_TYPE(u_int32_t,[ac_cv_header_stdint_u=$i],continue,[#include <$i>])
AC_CHECK_TYPE(u_int64_t,[and64="/u_int64_t"],[and64=""],[#include<$i>])
- m4_ifvaln([$1],[$1]) break
break;
done
AC_MSG_CHECKING([for stdint u_int32_t])
More information about the kaffe
mailing list