many thread applications are unstable on 7-current
Norikatsu Shigemura
nork at FreeBSD.org
Sun Jul 23 10:15:51 UTC 2006
On Tue, 18 Jul 2006 09:39:43 +1000
Iain Templeton <iain.templeton at cisra.canon.com.au> wrote:
> > 5 nork at nadesico$ firefox
> > /libexec/ld-elf.so.1: /usr/lib/libthr.so.2: Undefined symbol "thr_getscheduler"
> > 6 nork at nadesico$ cvsync
> > /libexec/ld-elf.so.1: /usr/lib/libthr.so.2: Undefined symbol "thr_getscheduler"
> If you have set SYMVER_ENABLED when building libc, then you may not have
> thr_getscheduler(), thr_setscheduler() and thr_setschedparam() in the
> src/lib/libc/sys/Versions.def file for the syscalls. (Path and syscall
> name may vary...)
I knew why these functions are not. Some syscall functions
are not in Symbol.map. Please apply following patch.
--- lib/libc/sys/Symbol.map.orig Mon Mar 13 09:53:20 2006
+++ lib/libc/sys/Symbol.map Sun Jul 23 12:18:24 2006
@@ -42,6 +42,7 @@
adjtime;
aio_cancel;
aio_error;
+ aio_fsync;
aio_read;
aio_return;
aio_suspend;
@@ -293,10 +294,13 @@
syscall;
thr_create;
thr_exit;
+ thr_getscheduler;
thr_kill;
thr_new;
thr_self;
thr_set_name;
+ thr_setschedparam;
+ thr_setscheduler
thr_suspend;
thr_wake;
ktimer_create; # Do we want these to be publc interfaces?
@@ -400,6 +404,8 @@
__sys_aio_cancel;
_aio_error;
__sys_aio_error;
+ _aio_fsync;
+ __sys_aio_fsync;
_aio_read;
__sys_aio_read;
_aio_return;
@@ -902,6 +908,8 @@
__sys_thr_create;
_thr_exit;
__sys_thr_exit;
+ _thr_getscheduler;
+ __sys_thr_getscheduler;
_thr_kill;
__sys_thr_kill;
_thr_new;
@@ -910,6 +918,10 @@
__sys_thr_self;
_thr_set_name;
__sys_thr_set_name;
+ _thr_setschedparam;
+ __sys_thr_setscheduler;
+ _thr_setscheduler;
+ __sys_thr_setscheduler;
_thr_suspend;
__sys_thr_suspend;
_thr_wake;
I found above functions by runing following command:
$ cd /usr/obj/usr/src/lib/libc
$ readelf -sW *.o | fgrep -e GLOBAL -e WEAK | fgrep -v -e HIDDEN -e UND | fgrep FUNC | awk '{print $8}' | while read i; do echo -n "$i "; if fgrep -qw $i Version.map; then echo "*EXIST*"; else echo "*NONE*"; fi; done
More information about the freebsd-current
mailing list