--- j2se/src/share/native/sun/awt/medialib/mlib_sys.c +++ j2se/src/share/native/sun/awt/medialib/mlib_sys.c @@ -15,6 +15,9 @@ #include #include #include "mlib_SysMath.h" +#if defined(_ALLBSD_SOURCE) +#include +#endif /***************************************************************/ @@ -72,6 +75,9 @@ * alignment. -- from stdlib.h of MS VC++5.0. */ return (void *) malloc(size); +#elif defined(__FreeBSD__) && (__FreeBSD_version >= 700013) + void *ret; + return posix_memalign(&ret, 8, size) ? NULL : ret; #elif defined(_ALLBSD_SOURCE) return valloc(size); #else --- j2se/src/solaris/bin/java_md.c.orig Tue Jun 5 13:05:40 2007 +++ j2se/src/solaris/bin/java_md.c Tue Jun 5 18:32:21 2007 @@ -1075,8 +1075,9 @@ #if defined(_ALLBSD_SOURCE) - uint64_t result; - int mib[2], rlen; + unsigned long result; + int mib[2]; + size_t rlen; /* fetch sysctl(hw.physmem) value */ mib[0] = CTL_HW; @@ -1395,10 +1396,11 @@ #if defined(_ALLBSD_SOURCE) - unsigned long result, sys_processors; - int mib[2], rlen; + unsigned long sys_processors; + int mib[2], result; + size_t rlen; - /* fetch sysctl(hw.physmem) value */ + /* fetch sysctl(hw.ncpu) value */ mib[0] = CTL_HW; mib[1] = HW_NCPU; rlen = sizeof(result); @@ -1407,7 +1409,7 @@ result = 1; if (_launcher_debug) { - printf("sysctl(hw.ncpu): %lu\n", result); + printf("sysctl(hw.ncpu): %d\n", result); } sys_processors = result; @@ -1688,7 +1690,7 @@ while (dp != NULL) { cp = strchr(dp, (int)':'); if (cp != NULL) - *cp = (char)NULL; + *cp = '\0'; if ((target = ProcessDir(info, dp)) != NULL) break; dp = cp; --- j2se/src/solaris/hpi/src/memory_md.c +++ j2se/src/solaris/hpi/src/memory_md.c @@ -32,7 +32,9 @@ #include #include /* For perror() */ #include -#if !defined(_ALLBSD_SOURCE) +#if defined(_ALLBSD_SOURCE) +#include +#else #include #endif @@ -67,7 +69,16 @@ static size_t memGrainSize; /* A page for Linux */ #elif defined(_ALLBSD_SOURCE) static size_t memGrainSize; /* A page for FreeBSD */ +#if defined(__FreeBSD__) && (__FreeBSD_version >= 700013) +static inline void * +memalign(size_t alignment, size_t size) +{ + void *ret; + return posix_memalign(&ret, alignment, size) ? NULL : ret; +} +#else #define memalign(a, b) valloc(b) +#endif #else static unsigned int memGrainSize; /* A page for Solaris */ #endif --- j2se/src/solaris/native/com/sun/media/sound/engine/HAE_API_BSDOS.c +++ j2se/src/solaris/native/com/sun/media/sound/engine/HAE_API_BSDOS.c @@ -42,6 +42,7 @@ #include #ifdef __FreeBSD__ +#include #include #endif #if defined(__NetBSD__) || defined(__OpenBSD__) @@ -67,7 +68,16 @@ #define FALSE 0 #endif +#if defined(__FreeBSD__) && (__FreeBSD_version >= 700013) +static inline void * +memalign(size_t alignment, size_t size) +{ + void *ret; + return posix_memalign(&ret, alignment, size) ? NULL : ret; +} +#else #define memalign(a, b) valloc(b) +#endif // How many audio frames to generate at one time #define HAE_BSD_FRAMES_PER_BLOCK 8