--- ../sal/osl/unx/system.h.orig Mon Apr 28 19:13:35 2003 +++ ../sal/osl/unx/system.h Sat May 31 23:32:34 2003 @@ -212,12 +212,19 @@ # include # include # include +# include # include # include +# include +# include +# include +# include +# include # include # include # define IORESOURCE_TRANSFER_BSD # include +#ifdef __FreeBSD_version < 500000 # if BYTE_ORDER == LITTLE_ENDIAN # define _LITTLE_ENDIAN # elif BYTE_ORDER == BIG_ENDIAN @@ -225,12 +232,14 @@ # elif BYTE_ORDER == PDP_ENDIAN # define _PDP_ENDIAN # endif -# define sched_yield() pthread_yield() -# define pthread_testcancel() +#endif # define NO_PTHREAD_RTL -# define NO_PTHREAD_PRIORITY -# define CMD_ARG_PRG __progname -# define CMD_ARG_ENV environ +/* __progname isn't sufficient here. We need the full path as well + * for e.g. setup and __progname only points to the binary name. + */ +# define CMD_ARG_PRG_IS_DEFINED +# define CMD_ARG_PRG *((struct ps_strings *)PS_STRINGS)->ps_argvstr +# define CMD_ARG_ENV environ #endif #ifdef SCO @@ -556,12 +565,14 @@ #endif #ifdef NO_PTHREAD_RTL +#if !defined FREEBSD || (__FreeBSD_version < 500112) struct passwd *getpwent_r(struct passwd *pwd, char *buffer, int buflen); extern struct spwd *getspnam_r(const char *name, struct spwd *result, char *buffer, int buflen); struct tm *localtime_r(const time_t *timep, struct tm *buffer); struct tm *gmtime_r(const time_t *timep, struct tm *buffer); +#endif /* !defined FREEBSD || (__FreeBSD_version < 500112) */ struct hostent *gethostbyname_r(const char *name, struct hostent *result, char *buffer, int buflen, int *h_errnop); #endif