From owner-freebsd-current@FreeBSD.ORG Sun Jul 23 10:15:51 2006 Return-Path: X-Original-To: freebsd-current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4152C16A4DE for ; Sun, 23 Jul 2006 10:15:51 +0000 (UTC) (envelope-from nork@FreeBSD.org) Received: from sakura.ninth-nine.com (sakura.ninth-nine.com [219.127.74.120]) by mx1.FreeBSD.org (Postfix) with ESMTP id 94BF643D49 for ; Sun, 23 Jul 2006 10:15:50 +0000 (GMT) (envelope-from nork@FreeBSD.org) Received: from mail.ninth-nine.com (melfina.ninth-nine.com [192.168.36.6]) (authenticated bits=0) by sakura.ninth-nine.com (8.13.6/8.13.6/NinthNine) with ESMTP id k6NAFVHQ028952 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 23 Jul 2006 19:15:32 +0900 (JST) (envelope-from nork@FreeBSD.org) Date: Sun, 23 Jul 2006 19:15:30 +0900 From: Norikatsu Shigemura To: Iain Templeton Message-Id: <20060723191530.80bf186d.nork@FreeBSD.org> In-Reply-To: <44BC1FBF.8050603@cisra.canon.com.au> References: <20060716232338.2357f50a.nork@FreeBSD.org> <200607171309.34139.jhb@freebsd.org> <20060718070334.496cfdf0.nork@FreeBSD.org> <44BC1FBF.8050603@cisra.canon.com.au> X-Mailer: Sylpheed version 2.2.6 (GTK+ 2.8.20; i386-portbld-freebsd6.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (sakura.ninth-nine.com [219.127.74.121]); Sun, 23 Jul 2006 19:15:32 +0900 (JST) Cc: freebsd-current@FreeBSD.org Subject: Re: many thread applications are unstable on 7-current X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Jul 2006 10:15:51 -0000 On Tue, 18 Jul 2006 09:39:43 +1000 Iain Templeton wrote: > > 5 nork@nadesico$ firefox > > /libexec/ld-elf.so.1: /usr/lib/libthr.so.2: Undefined symbol "thr_getscheduler" > > 6 nork@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