From daca624e4b5f1363dc5ffaf333324e41746bf138 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Thu, 10 Jul 2008 15:59:04 +0000 Subject: classpath: Added patch fixing build on newer GCCs (and prevents a bug). --- packages/classpath/classpath_0.95.bb | 3 ++- packages/classpath/classpath_0.96.1.bb | 3 ++- packages/classpath/classpath_0.97.2.bb | 3 ++- packages/classpath/files/javanet-local.patch | 37 ++++++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 packages/classpath/files/javanet-local.patch (limited to 'packages') diff --git a/packages/classpath/classpath_0.95.bb b/packages/classpath/classpath_0.95.bb index 0b2090f72f..45ce04f519 100644 --- a/packages/classpath/classpath_0.95.bb +++ b/packages/classpath/classpath_0.95.bb @@ -3,9 +3,10 @@ require classpath.inc SRC_URI += "\ file://gjar-prefix-patch.diff;patch=1;pnum=0 \ file://xmlstream-fix.patch;patch=1;pnum=0 \ + file://javanet-local.patch;patch=1;pnum=0 \ " -PR = "r3" +PR = "r4" DEPENDS += "gtk+ gconf libxtst" diff --git a/packages/classpath/classpath_0.96.1.bb b/packages/classpath/classpath_0.96.1.bb index 9d347a0303..6952cda72f 100644 --- a/packages/classpath/classpath_0.96.1.bb +++ b/packages/classpath/classpath_0.96.1.bb @@ -3,9 +3,10 @@ require classpath.inc SRC_URI += "\ file://gjar-prefix-patch.diff;patch=1;pnum=0 \ file://xmlstream-fix.patch;patch=1;pnum=0 \ + file://javanet-local.patch;patch=1;pnum=0 \ " -PR = "r5" +PR = "r6" DEPENDS += "gtk+ gconf libxtst" diff --git a/packages/classpath/classpath_0.97.2.bb b/packages/classpath/classpath_0.97.2.bb index 338ebcf0d4..fafe0bbb88 100644 --- a/packages/classpath/classpath_0.97.2.bb +++ b/packages/classpath/classpath_0.97.2.bb @@ -3,9 +3,10 @@ require classpath.inc SRC_URI += "\ file://netif_16.patch;patch=1;pnum=0 \ file://SimpleName.diff;patch=1;pnum=0 \ + file://javanet-local;patch=1;pnum=0 \ " -PR = "r0" +PR = "r1" DEPENDS += "gtk+ gconf libxtst" diff --git a/packages/classpath/files/javanet-local.patch b/packages/classpath/files/javanet-local.patch new file mode 100644 index 0000000000..b8d1584e7c --- /dev/null +++ b/packages/classpath/files/javanet-local.patch @@ -0,0 +1,37 @@ +Index: native/jni/java-net/local.c +=================================================================== +RCS file: /sources/classpath/classpath/native/jni/java-net/local.c,v +retrieving revision 1.4 +diff -u -r1.4 local.c +--- native/jni/java-net/local.c 17 Apr 2007 21:46:27 -0000 1.4 ++++ native/jni/java-net/local.c 27 Jun 2008 13:14:40 -0000 +@@ -73,27 +73,18 @@ + return socket (PF_UNIX, stream ? SOCK_STREAM : SOCK_DGRAM, 0); + } + +-static int gcc_sucks = 0; +- + int + local_bind (int fd, const char *addr) + { + struct sockaddr_un saddr; + +- /* For some reason, GCC 4.0.1 on Darwin/x86 MODIFIES the `addr' +- pointer in the CALLER's STACK FRAME after calling this function, +- but if we add this statement below, it doesn't! */ +- if (gcc_sucks) +- fprintf (stderr, "bind %p\n", addr); +- +- if (strlen (addr) > sizeof (saddr.sun_path)) ++ if (strlen (addr) >= sizeof (saddr.sun_path)) + { + errno = ENAMETOOLONG; + return -1; + } + +- strncpy (saddr.sun_path, addr, sizeof (saddr.sun_path)); +- saddr.sun_path[sizeof (saddr.sun_path)] = '\0'; ++ strcpy (saddr.sun_path, addr); + saddr.sun_family = AF_LOCAL; + + return bind (fd, (struct sockaddr *) &saddr, SUN_LEN (&saddr)); -- cgit v1.2.3