From owner-freebsd-current@FreeBSD.ORG Sun Jun 17 01:38:28 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 128CF16A41F; Sun, 17 Jun 2007 01:38:28 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.208.78.105]) by mx1.freebsd.org (Postfix) with ESMTP id E8AF313C43E; Sun, 17 Jun 2007 01:38:27 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (localhost.apl.washington.edu [127.0.0.1]) by troutmask.apl.washington.edu (8.14.1/8.13.8) with ESMTP id l5H1bfGB028341; Sat, 16 Jun 2007 18:37:41 -0700 (PDT) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.14.1/8.13.8/Submit) id l5H1bfkt028340; Sat, 16 Jun 2007 18:37:41 -0700 (PDT) (envelope-from sgk) Date: Sat, 16 Jun 2007 18:37:41 -0700 From: Steve Kargl To: Craig Rodrigues Message-ID: <20070617013741.GA28285@troutmask.apl.washington.edu> References: <20070616203624.GA37899@crodrigues.org> <20070616205434.GA26966@troutmask.apl.washington.edu> <20070616215506.GA87160@crodrigues.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070616215506.GA87160@crodrigues.org> User-Agent: Mutt/1.4.2.2i Cc: deischen@freebsd.org, freebsd-current@freebsd.org, davidxu@freebsd.org Subject: Re: Undefined symbol timer_delete()? 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, 17 Jun 2007 01:38:28 -0000 On Sat, Jun 16, 2007 at 05:55:06PM -0400, Craig Rodrigues wrote: > On Sat, Jun 16, 2007 at 01:54:34PM -0700, Steve Kargl wrote: > > mobile:kargl[205] cc -o z j.c -lrt > > > > It appears that the manpage is wrong > > > > LIBRARY > > Standard C Library (libc, -lc) > > Thanks, yes the man page is wrong, timer_delete() and friends > are in librt not in libc. > > It looks like similarly the man pages for > mq_open() and friends are wrong, because mq_* exist in librt, not > in libc. > > Do the aio_* functions in this library augment or replace those > in libc? > I'm not sure. I know the timer_delete function is defined as a weak symbol mobile:kargl[205] find . -type f | xargs grep timer_delete ... ./librt/timer.c:extern int __sys_ktimer_delete(int); ./librt/timer.c:__weak_reference(__timer_delete, timer_delete); ./librt/timer.c:__weak_reference(__timer_delete, _timer_delete); ./librt/timer.c:__timer_delete(timer_t timerid) which I believe means it can be overridden. Looking at librt/aio.c shows __weak_reference(__aio_read, _aio_read); __weak_reference(__aio_read, aio_read); __weak_reference(__aio_write, _aio_write); __weak_reference(__aio_write, aio_write); __weak_reference(__aio_return, _aio_return); __weak_reference(__aio_return, aio_return); __weak_reference(__aio_waitcomplete, _aio_waitcomplete); __weak_reference(__aio_waitcomplete, aio_waitcomplete); __weak_reference(__aio_fsync, _aio_fsync); __weak_reference(__aio_fsync, aio_fsync); David Xu can probably answer your question, but I haven't seen a recent email from him. -- Steve