On Sun, 2002-05-26 at 03:46, 山田 健 wrote:
> I have the same symptom with binary package of XFree86-4.  And furthermore I
> cannot compile XFree86-4-libraries with FreeBSD-current.
> It says;
> UIThrStubs.c:102: alias arg not a string
> UIThrStubs.c:103: alias arg not a string
>     :                      :              :
> UIThrStubs.c:115: alias arg not a string
> UIThrStubs.c:131: warning: `_Xthr_self_stub_' defined but not used
> UIThrStubs.c:139: warning: `_Xthr_zero_stub_' defined but not used
> 
> Any fix ?

I just made this patch today while working on X stuff.  Unfortunately
after that it dies with a compiler error in the DRI compile for me. DRI
CVS doesn't have the compiler error.

making all in lib/GL/mesa/src...
<snip big compile line>
In file included from translate.c:779:
../../../../extras/Mesa/src/trans_tmp.h: In function
`trans_1_GLdouble_1ub_elt':
../../../../extras/Mesa/src/trans_tmp.h:124: could not find a spill
register
(insn 96 94 97 (set (subreg:SF (reg:QI 75) 0)
        (plus:SF (reg:SF 8 st(0) [76])
            (reg:SF 9 st(1) [80]))) 525 {*fop_sf_comm_nosse} (insn_list
87 (nil))
    (expr_list:REG_DEAD (reg:SF 8 st(0) [76])
        (nil)))
../../../../extras/Mesa/src/trans_tmp.h:124: Internal compiler error in
failed_reload, at reload1.c:5050
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

If someone is interested I can give them more full logs.

-- 
Eric Anholt <[EMAIL PROTECTED]>
http://gladstone.uoregon.edu/~eanholt/dri/

--- lib/XThrStub/UIThrStubs.c.orig      Sat May 25 16:01:07 2002
+++ lib/XThrStub/UIThrStubs.c   Sat May 25 16:28:25 2002
@@ -99,6 +99,26 @@
 #else
 #include <pthread.h>
 typedef pthread_t xthread_t;
+#if __GNUC__ >= 3
+static xthread_t _Xthr_self_stub_();
+static int _Xthr_zero_stub_();
+
+xthread_t pthread_self() __attribute__ ((weak, alias ("_Xthr_self_stub_")));
+int pthread_mutex_init() __attribute__ ((weak, alias ("_Xthr_zero_stub_")));
+int pthread_mutex_destroy() __attribute__ ((weak, alias ("_Xthr_zero_stub_")));
+int pthread_mutex_lock() __attribute__ ((weak, alias ("_Xthr_zero_stub_")));
+int pthread_mutex_unlock() __attribute__ ((weak, alias ("_Xthr_zero_stub_")));
+int pthread_cond_init() __attribute__ ((weak, alias ("_Xthr_zero_stub_")));
+int pthread_cond_destroy() __attribute__ ((weak, alias ("_Xthr_zero_stub_")));
+int pthread_cond_wait() __attribute__ ((weak, alias ("_Xthr_zero_stub_")));
+int pthread_cond_signal() __attribute__ ((weak, alias ("_Xthr_zero_stub_")));
+int pthread_cond_broadcast() __attribute__ ((weak, alias ("_Xthr_zero_stub_")));
+/* These are added for libGL */
+int pthread_key_create() __attribute__ ((weak, alias ("_Xthr_zero_stub_")));
+void * pthread_getspecific() __attribute__ ((weak, alias ("_Xthr_zero_stub_")));
+int pthread_setspecific() __attribute__ ((weak, alias ("_Xthr_zero_stub_")));
+/*int pthread_equal __attribute__ ((__weak__)) = _Xthr_equal_stub_;*/  /* See 
+Xthreads.h! */
+#else
 #pragma weak pthread_self = _Xthr_self_stub_
 #pragma weak pthread_mutex_init = _Xthr_zero_stub_
 #pragma weak pthread_mutex_destroy = _Xthr_zero_stub_
@@ -113,6 +133,7 @@
 #pragma weak pthread_key_create = _Xthr_zero_stub_
 #pragma weak pthread_getspecific = _Xthr_zero_stub_
 #pragma weak pthread_setspecific = _Xthr_zero_stub_
+#endif /* __GNUC__ */
 #if defined(_DECTHREADS_) || defined(linux)
 #pragma weak pthread_equal = _Xthr_equal_stub_ /* See Xthreads.h! */
 int

Reply via email to