diff options
Diffstat (limited to 'nx-X11/util/misc')
-rw-r--r-- | nx-X11/util/misc/dlsym.c | 29 | ||||
-rw-r--r-- | nx-X11/util/misc/rt.stdarg.h | 8 | ||||
-rw-r--r-- | nx-X11/util/misc/thr_stubs.c | 27 |
3 files changed, 64 insertions, 0 deletions
diff --git a/nx-X11/util/misc/dlsym.c b/nx-X11/util/misc/dlsym.c new file mode 100644 index 000000000..78d7a361f --- /dev/null +++ b/nx-X11/util/misc/dlsym.c @@ -0,0 +1,29 @@ +/* $Xorg: dlsym.c,v 1.3 2000/08/17 19:55:21 cpqbld Exp $ */ +/* + * Stub interface to dynamic linker routines + * that SunOS uses but didn't ship with 4.1. + * + * The C library routine wcstombs in SunOS 4.1 tries to dynamically + * load some routines using the dlsym interface, described in dlsym(3x). + * Unfortunately SunOS 4.1 does not include the necessary library, libdl. + * + * The R5 Xlib uses wcstombs. If you link dynamcally, your program can + * run even with the unresolved reference to dlsym. However, if you + * link statically, you will encounter this bug. One workaround + * is to include these stub routines when you link. + */ + +void *dlopen() +{ + return 0; +} + +void *dlsym() +{ + return 0; +} + +int dlclose() +{ + return -1; +} diff --git a/nx-X11/util/misc/rt.stdarg.h b/nx-X11/util/misc/rt.stdarg.h new file mode 100644 index 000000000..3a3099207 --- /dev/null +++ b/nx-X11/util/misc/rt.stdarg.h @@ -0,0 +1,8 @@ +/* $Xorg: rt.stdarg.h,v 1.3 2000/08/17 19:55:21 cpqbld Exp $ */ +#ifndef _STDARG_H +#define _STDARG_H +typedef int *va_list; +#define va_start(ap, arg) ap = ((int *)&arg) + ((sizeof(arg) + 3) / 4) +#define va_end(ap) +#define va_arg(ap, type) ((type *)(ap += (sizeof(type)+3)/4))[-1] +#endif diff --git a/nx-X11/util/misc/thr_stubs.c b/nx-X11/util/misc/thr_stubs.c new file mode 100644 index 000000000..012539e9c --- /dev/null +++ b/nx-X11/util/misc/thr_stubs.c @@ -0,0 +1,27 @@ +/* $Xorg: thr_stubs.c,v 1.3 2000/08/17 19:55:21 cpqbld Exp $ */ +/* + * Stub interface to thread routines that Solaris needs but shipped + * broken/buggy versions in 5.2 and 5.3 + * + * One workaround is to include this stub routine when you link. + * + * These routines don't need to have accurate interfaces -- they will + * never be called. They just need to be there in order to be resolved + * at link time by non-threaded programs. + */ + +extern int errno; + +typedef int thread_t; + +thread_t thr_self(void) { errno = -1; return 0; } +int thr_create(void) { errno = -1; return -1; } +int mutex_init(void) { errno = -1; return -1; } +int mutex_destroy(void) { errno = -1; return -1; } +int mutex_lock(void) { errno = -1; return -1; } +int mutex_unlock(void) { errno = -1; return -1; } +int cond_init(void) { errno = -1; return -1; } +int cond_destroy(void) { errno = -1; return -1; } +int cond_wait(void) { errno = -1; return -1; } +int cond_signal(void) { errno = -1; return -1; } +int cond_broadcast(void) { errno = -1; return -1; } |