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