[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
lock: fix link error with --enable-threads=pth
From: |
Bruno Haible |
Subject: |
lock: fix link error with --enable-threads=pth |
Date: |
Sat, 05 Jan 2019 02:59:27 +0100 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-141-generic; KDE/5.18.0; x86_64; ; ) |
When building a testdir with --enable-threads=pth --with-libpth-prefix=...
I see link errors:
gcc -g -O2 -o test-fstrcmp test-fstrcmp.o libtests.a ../gllib/libgnu.a
libtests.a -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm
../gllib/libgnu.a(lock.o): In function `glthread_rwlock_init_multithreaded':
/media/develdata/devel/GNULIB/testdir-all/build-pth/gllib/../../gllib/glthread/lock.c:518:
undefined reference to `pth_cond_init'
/media/develdata/devel/GNULIB/testdir-all/build-pth/gllib/../../gllib/glthread/lock.c:520:
undefined reference to `pth_cond_init'
../gllib/libgnu.a(lock.o): In function `glthread_rwlock_rdlock_multithreaded':
/media/develdata/devel/GNULIB/testdir-all/build-pth/gllib/../../gllib/glthread/lock.c:543:
undefined reference to `pth_cond_await'
../gllib/libgnu.a(lock.o): In function `glthread_rwlock_wrlock_multithreaded':
/media/develdata/devel/GNULIB/testdir-all/build-pth/gllib/../../gllib/glthread/lock.c:567:
undefined reference to `pth_cond_await'
../gllib/libgnu.a(lock.o): In function `glthread_rwlock_unlock_multithreaded':
/media/develdata/devel/GNULIB/testdir-all/build-pth/gllib/../../gllib/glthread/lock.c:616:
undefined reference to `pth_cond_notify'
/media/develdata/devel/GNULIB/testdir-all/build-pth/gllib/../../gllib/glthread/lock.c:626:
undefined reference to `pth_cond_notify'
collect2: error: ld returned 1 exit status
Makefile:14436: recipe for target 'test-fstrcmp' failed
make[3]: *** [test-fstrcmp] Error 1
gcc -g -O2 -o test-once1 test-once.o libtests.a ../gllib/libgnu.a libtests.a
-lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm
../gllib/libgnu.a(lock.o): In function `glthread_rwlock_init_multithreaded':
/media/develdata/devel/GNULIB/testdir-all/build-pth/gllib/../../gllib/glthread/lock.c:518:
undefined reference to `pth_cond_init'
/media/develdata/devel/GNULIB/testdir-all/build-pth/gllib/../../gllib/glthread/lock.c:520:
undefined reference to `pth_cond_init'
../gllib/libgnu.a(lock.o): In function `glthread_rwlock_rdlock_multithreaded':
/media/develdata/devel/GNULIB/testdir-all/build-pth/gllib/../../gllib/glthread/lock.c:543:
undefined reference to `pth_cond_await'
../gllib/libgnu.a(lock.o): In function `glthread_rwlock_wrlock_multithreaded':
/media/develdata/devel/GNULIB/testdir-all/build-pth/gllib/../../gllib/glthread/lock.c:567:
undefined reference to `pth_cond_await'
../gllib/libgnu.a(lock.o): In function `glthread_rwlock_unlock_multithreaded':
/media/develdata/devel/GNULIB/testdir-all/build-pth/gllib/../../gllib/glthread/lock.c:616:
undefined reference to `pth_cond_notify'
/media/develdata/devel/GNULIB/testdir-all/build-pth/gllib/../../gllib/glthread/lock.c:626:
undefined reference to `pth_cond_notify'
collect2: error: ld returned 1 exit status
Makefile:15438: recipe for target 'test-once1' failed
make[3]: *** [test-once1] Error 1
This patch fixes them. Will push soon.
2019-01-04 Bruno Haible <address@hidden>
lock: Fix link error with --enable-threads=pth.
* lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
Mark as weak.
diff --git a/lib/glthread/lock.h b/lib/glthread/lock.h
index c0fa53e..6e1fdf8 100644
--- a/lib/glthread/lock.h
+++ b/lib/glthread/lock.h
@@ -416,6 +416,9 @@ extern "C" {
# pragma weak pth_rwlock_acquire
# pragma weak pth_rwlock_release
# pragma weak pth_once
+# pragma weak pth_cond_init
+# pragma weak pth_cond_await
+# pragma weak pth_cond_notify
# pragma weak pth_cancel
# define pth_in_use() (pth_cancel != NULL)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- lock: fix link error with --enable-threads=pth,
Bruno Haible <=