Robert Millan : Enable for GNU/kFreeBSD the same kernel-specific interface/parameter

Alexandre Julliard julliard at wine.codeweavers.com
Sun Feb 5 06:52:49 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 8800352477f93de6bf1a8571a564fddb1e6dc5bb
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=8800352477f93de6bf1a8571a564fddb1e6dc5bb

Author: Robert Millan <rmh at aybabtu.com>
Date:   Sun Feb  5 13:06:50 2006 +0100

Enable for GNU/kFreeBSD the same kernel-specific interface/parameter
that is used with FreeBSD.

---

 configure                |    2 +-
 configure.ac             |    2 +-
 dlls/kernel/heap.c       |    4 ++--
 dlls/ntdll/directory.c   |    4 ++--
 dlls/ntdll/file.c        |    2 +-
 dlls/ntdll/signal_i386.c |    8 ++++----
 dlls/winsock/socket.c    |    2 +-
 libs/wine/ldt.c          |    4 ++--
 libs/wine/mmap.c         |    4 ++--
 server/context_i386.c    |    2 +-
 10 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/configure b/configure
index f4887d9..2d3080b 100755
--- a/configure
+++ b/configure
@@ -13019,7 +13019,7 @@ case $host_os in
 esac
 
 case $host_os in
-  linux*)
+  linux* | k*bsd*-gnu)
     case $host_cpu in
       *i[3456789]86*) WINE_BINARIES="wine-glibc wine-kthread wine-pthread wine-preloader"
  ;;
diff --git a/configure.ac b/configure.ac
index 310b2e3..f3e961e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1091,7 +1091,7 @@ case $host_os in
 esac
 
 case $host_os in
-  linux*)
+  linux* | k*bsd*-gnu)
     case $host_cpu in
       *i[[3456789]]86*) AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread wine-preloader") ;;
       *) AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread") ;;
diff --git a/dlls/kernel/heap.c b/dlls/kernel/heap.c
index 19d4b5b..3df7bbc 100644
--- a/dlls/kernel/heap.c
+++ b/dlls/kernel/heap.c
@@ -1138,7 +1138,7 @@ BOOL WINAPI GlobalMemoryStatusEx( LPMEMO
 #ifdef linux
     FILE *f;
 #endif
-#if defined(__FreeBSD__) || defined(__NetBSD__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__)
     int *tmp;
     int size_sys;
     int mib[2] = { CTL_HW };
@@ -1209,7 +1209,7 @@ BOOL WINAPI GlobalMemoryStatusEx( LPMEMO
                                       / (TotalPhysical / 100);
         }
     }
-#elif defined(__FreeBSD__) || defined(__NetBSD__)
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__)
     mib[1] = HW_PHYSMEM;
     sysctl(mib, 2, NULL, &size_sys, NULL, 0);
     tmp = malloc(size_sys * sizeof(int));
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index b07174d..6b18d5f 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -288,7 +288,7 @@ static char *parse_mount_entries( FILE *
 }
 #endif
 
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
 #include <fstab.h>
 static char *parse_mount_entries( FILE *f, dev_t dev, ino_t ino )
 {
@@ -391,7 +391,7 @@ static char *get_default_drive_device( c
     }
     RtlLeaveCriticalSection( &dir_section );
 
-#elif defined( __FreeBSD__ )
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__ )
     char *device = NULL;
     int fd, res = -1;
     struct stat st;
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index b817283..2293800 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -1594,7 +1594,7 @@ NTSTATUS FILE_GetDeviceInfo( int fd, FIL
             info->DeviceType = FILE_DEVICE_DISK_FILE_SYSTEM;
             break;
         }
-#elif defined(__FreeBSD__)
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
         struct statfs stfs;
 
         /* The proper way to do this in FreeBSD seems to be with the
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index d82c7bb..be5164d 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -204,7 +204,7 @@ typedef struct trapframe SIGCONTEXT;
 
 #endif /* bsdi */
 
-#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__)
 
 typedef struct sigcontext SIGCONTEXT;
 
@@ -328,7 +328,7 @@ typedef ucontext_t SIGCONTEXT;
 
 #endif /* __APPLE__ */
 
-#if defined(linux) || defined(__NetBSD__) || defined(__FreeBSD__) ||\
+#if defined(linux) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ||\
     defined(__OpenBSD__) || defined(__EMX__) || defined(__CYGWIN__)
 
 #define EAX_sig(context)     ((context)->sc_eax)
@@ -358,7 +358,7 @@ typedef ucontext_t SIGCONTEXT;
 #define FAULT_ADDRESS        ((void *)HANDLER_CONTEXT->cr2)
 #endif
 
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
 #define EFL_sig(context)     ((context)->sc_efl)
 /* FreeBSD, see i386/i386/traps.c::trap_pfault va->err kludge  */
 #define FAULT_ADDRESS        ((void *)HANDLER_CONTEXT->sc_err)
@@ -1366,7 +1366,7 @@ static int set_handler( int sig, int hav
     sigaddset( &sig_act.sa_mask, SIGUSR1 );
     sigaddset( &sig_act.sa_mask, SIGUSR2 );
 
-#if defined(linux) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
+#if defined(linux) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__)
     sig_act.sa_flags = SA_RESTART;
 #elif defined (__svr4__) || defined(_SCO_DS) || defined(__APPLE__)
     sig_act.sa_flags = SA_SIGINFO | SA_RESTART;
diff --git a/dlls/winsock/socket.c b/dlls/winsock/socket.c
index 6df1c4d..ea730b8 100644
--- a/dlls/winsock/socket.c
+++ b/dlls/winsock/socket.c
@@ -144,7 +144,7 @@
 #endif
 
 
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
 # define sipx_network    sipx_addr.x_net
 # define sipx_node       sipx_addr.x_host.c_host
 #endif  /* __FreeBSD__ */
diff --git a/libs/wine/ldt.c b/libs/wine/ldt.c
index ab277e1..6038c6f 100644
--- a/libs/wine/ldt.c
+++ b/libs/wine/ldt.c
@@ -109,7 +109,7 @@ static inline int set_thread_area( struc
 #endif
 #endif
 
-#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__)
 #include <machine/segments.h>
 
 extern int i386_get_ldt(int, union descriptor *, int);
@@ -203,7 +203,7 @@ static int internal_set_entry( unsigned 
         if ((ret = modify_ldt(0x11, &ldt_info, sizeof(ldt_info))) < 0)
             perror( "modify_ldt" );
     }
-#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
+#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__)
     {
 	LDT_ENTRY entry_copy = *entry;
 	/* The kernel will only let us set LDTs with user priority level */
diff --git a/libs/wine/mmap.c b/libs/wine/mmap.c
index 2e16073..3d25f26 100644
--- a/libs/wine/mmap.c
+++ b/libs/wine/mmap.c
@@ -199,7 +199,7 @@ void *wine_anon_mmap( void *start, size_
 
     if (!(flags & MAP_FIXED))
     {
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
         /* Even FreeBSD 5.3 does not properly support NULL here. */
         if( start == NULL ) start = (void *)0x110000;
 #endif
@@ -283,7 +283,7 @@ void mmap_init(void)
 {
     struct reserved_area *area;
     struct list *ptr;
-#if defined(__i386__) && !defined(__FreeBSD__)  /* commented out until FreeBSD gets fixed */
+#if defined(__i386__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)  /* commented out until FreeBSD gets fixed */
     char stack;
     char * const stack_ptr = &stack;
     char *user_space_limit = (char *)0x80000000;
diff --git a/server/context_i386.c b/server/context_i386.c
index 7f1bb44..52b33aa 100644
--- a/server/context_i386.c
+++ b/server/context_i386.c
@@ -340,7 +340,7 @@ static void set_thread_context_ptrace( s
     file_set_error();
 }
 
-#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__NetBSD__)
 #include <machine/reg.h>
 
 /* retrieve a thread context */




More information about the wine-cvs mailing list