PatchSet 4047 
Date: 2003/09/18 18:29:01
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
MD updates for ARM Linux (SIGNAL_ARGS, ...) + reindentation of toURI and File(URI)

Members: 
        ChangeLog:1.1643->1.1644 
        config/arm/linux/jit-md.h:1.4->1.5 
        config/arm/linux/md.h:1.3->1.4 
        libraries/javalib/java/io/File.java:1.37->1.38 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1643 kaffe/ChangeLog:1.1644
--- kaffe/ChangeLog:1.1643      Thu Sep 18 16:46:24 2003
+++ kaffe/ChangeLog     Thu Sep 18 18:29:01 2003
@@ -1,3 +1,12 @@
+2003-09-18  Guilhem Lavaux <[EMAIL PROTECTED]>
+
+       * config/arm/linux/md.h, config/arm/linux/jit-md.h: Implemented
+       SIGNAL_ARGS, SIGNAL_GET_CONTEXT_POINTER, SIGNAL_PC.
+
+       * libraries/javalib/java/io/File.java:
+       (toURI, File(URI) ) Reindented, removed unnecessary code which was
+       throwing NullPointerException.
+       
 2003-09-18  Dalibor Topic <[EMAIL PROTECTED]>
 
        * config/arm/trampolines.c:
Index: kaffe/config/arm/linux/jit-md.h
diff -u kaffe/config/arm/linux/jit-md.h:1.4 kaffe/config/arm/linux/jit-md.h:1.5
--- kaffe/config/arm/linux/jit-md.h:1.4 Sat Oct 16 21:37:43 1999
+++ kaffe/config/arm/linux/jit-md.h     Thu Sep 18 18:29:02 2003
@@ -52,29 +52,7 @@
  */
 #define ARM_LINUX_HACK
 
-/* Function prototype for signal handlers */
-#if defined(HAVE_STRUCT_SIGCONTEXT_STRUCT) && !defined(__GLIBC__)
-/* Linux < 2.1.1 */
-#if defined(ARM_LINUX_HACK)
-#define EXCEPTIONPROTO                                            \
-        int sig, int r1, int r2, int r3, struct sigcontext_struct ctx
-#else
-#define        EXCEPTIONPROTO                                                  \
-       int sig, struct sigcontext_struct ctx
-#endif /* ARM_LINUX_HACK */
-
-#elif defined(HAVE_STRUCT_SIGCONTEXT) || defined(__GLIBC__)
-/* Linux >= 2.1.1  or Linux 2.0.x with glibc2 */
-#if defined(ARM_LINUX_HACK)
-#define EXCEPTIONPROTO                                                  \
-        int sig, int r1, int r2, int r3, struct sigcontext ctx
-#else
-#define        EXCEPTIONPROTO                                                  \
-       int sig, struct sigcontext ctx
-#endif /* ARM_LINUX_HACK */
-#else
-#error Do not know how to define EXCEPTIONPROTO
-#endif
+#define EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #if defined(HAVE_REG_SIGCONTEXT)
Index: kaffe/config/arm/linux/md.h
diff -u kaffe/config/arm/linux/md.h:1.3 kaffe/config/arm/linux/md.h:1.4
--- kaffe/config/arm/linux/md.h:1.3     Tue Mar 11 08:00:16 2003
+++ kaffe/config/arm/linux/md.h Thu Sep 18 18:29:02 2003
@@ -15,6 +15,47 @@
 #include "arm/common.h"
 #include "arm/threads.h"
 
+
+/* It looks like the linux kernel sets r0 to the signal number
+ * and passes a pointer to the context as the fourth argument
+ * use this hack to account for that.  -- gback
+ *
+ * Undef when this gets fixed -- check arch/arm/kernel/signal.c
+ */
+#define ARM_LINUX_HACK
+
+/* Function prototype for signal handlers */
+#if defined(HAVE_STRUCT_SIGCONTEXT_STRUCT) && !defined(__GLIBC__)
+/* Linux < 2.1.1 */
+#if defined(ARM_LINUX_HACK)
+#define SIGNAL_ARGS(sig, ctx) \
+        int sig, int r1, int r2, int r3, struct sigcontext_struct ctx
+#else
+#define        SIGNAL_ARGS(sig, ctx) \
+       int sig, struct sigcontext_struct ctx
+#endif /* ARM_LINUX_HACK */
+
+#elif defined(HAVE_STRUCT_SIGCONTEXT) || defined(__GLIBC__)
+/* Linux >= 2.1.1  or Linux 2.0.x with glibc2 */
+#if defined(ARM_LINUX_HACK)
+#define SIGNAL_ARGS(sig, ctx) \
+        int sig, int r1, int r2, int r3, struct sigcontext ctx
+#else
+#define        SIGNAL_ARGS(sig, ctx) \
+       int sig, struct sigcontext ctx
+#endif /* ARM_LINUX_HACK */
+#else
+#error Do not know how to define EXCEPTIONPROTO
+#endif
+
+#define GET_SIGNAL_CONTEXT_POINTER(ctx) (&ctx)
+
+#if defined(HAVE_REG_SIGCONTEXT)
+#define SIGNAL_PC(ctx) (ctx)->reg.ARM_pc
+#else
+#define SIGNAL_PC(ctx) (ctx)->arm_pc
+#endif
+
 #if defined(TRANSLATOR)
 #include "jit-md.h"
 #endif
Index: kaffe/libraries/javalib/java/io/File.java
diff -u kaffe/libraries/javalib/java/io/File.java:1.37 
kaffe/libraries/javalib/java/io/File.java:1.38
--- kaffe/libraries/javalib/java/io/File.java:1.37      Fri Sep 12 23:27:57 2003
+++ kaffe/libraries/javalib/java/io/File.java   Thu Sep 18 18:29:03 2003
@@ -294,23 +294,21 @@
     return existsInternal (path);
   }
 
-//  File(URI) copied from Kaffe's File.java
   /**
    * This method initializes a new <code>File</code> object to represent
    * a file with the specified URI.
    *
    * @param uri The URI of the file
+   * @author Ito Kazumitsu
    */
-
-public File(URI uri) {
-       if (uri == null) {
-               throw new NullPointerException();
-       }
-       this.path = uri.getPath();
-       if (this.path == null) {
-               throw new IllegalArgumentException();
-       }
-}
+  public File(URI uri)
+  {
+    this.path = uri.getPath();
+    if (this.path == null)
+      {
+       throw new IllegalArgumentException();
+      }
+  }
 
   /**
    * This method initializes a new <code>File</code> object to represent
@@ -887,29 +885,30 @@
     return new URL (url_string);
   }
 
-// toURI() copied from Kaffe's File.java
-/**
- * @since 1.4
- */
-public URI toURI() {
-       try {
-               return new URI("file",
-                              null,
-                              (isDirectory() ?                               
-                               getAbsolutePath() + separator
-                               : getAbsolutePath()),
-                              null,
-                              null);
-       }
-       catch (URISyntaxException e) {
-               throw (IllegalArgumentException) 
-                       new IllegalArgumentException("Couldn't convert "
-                                                    + toString()
-                                                    + " to an URI")
-                       .initCause(e);
-       }
-}
-
+  /**
+   * @since 1.4
+   * @author Ito Kazumitsu
+   */
+  public URI toURI() {
+    try
+      {
+       return new URI("file",
+                      null,
+                      (isDirectory() ?                               
+                       getAbsolutePath() + separator
+                       : getAbsolutePath()),
+                      null,
+                      null);
+      }
+    catch (URISyntaxException e)
+      {
+       throw (IllegalArgumentException) 
+         new IllegalArgumentException("Couldn't convert "
+                                      + toString()
+                                      + " to an URI").initCause(e);
+      }
+  }
+    
   /*
    * This native method actually creates the directory
    */

_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to