aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/util/misc
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/util/misc')
-rw-r--r--nx-X11/util/misc/dlsym.c29
-rw-r--r--nx-X11/util/misc/rt.stdarg.h8
-rw-r--r--nx-X11/util/misc/thr_stubs.c27
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; }