From owner-freebsd-standards@FreeBSD.ORG Mon Apr 12 11:07:10 2010 Return-Path: Delivered-To: freebsd-standards@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0AA31065689 for ; Mon, 12 Apr 2010 11:07:10 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 8DDC18FC15 for ; Mon, 12 Apr 2010 11:07:10 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o3CB7ADH042578 for ; Mon, 12 Apr 2010 11:07:10 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o3CB796R042576 for freebsd-standards@FreeBSD.org; Mon, 12 Apr 2010 11:07:09 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 12 Apr 2010 11:07:09 GMT Message-Id: <201004121107.o3CB796R042576@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-standards@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-standards@FreeBSD.org X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Apr 2010 11:07:10 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o stand/145517 standards POSIX getline() missing o stand/145082 standards Patch against w(1) & uptime(1) to use 24H time by defa o stand/144231 standards bind/connect/sendto too strict about sockaddr length o stand/143358 standards [libm] nearbyint(3) raises spurious inexact exception o stand/142803 standards j0 Bessel function inaccurate near zeros of the functi o stand/142255 standards scandir prototype in dirent.h isn't compliant with POS s stand/141705 standards [libc] [request] libc lacks cexp (and friends) o stand/130067 standards Wrong numeric limits in system headers? o stand/129196 standards Inconsistent errno in strtol() o bin/125855 standards sh(1) allows for multiline, non-escaped control struct o stand/124860 standards flockfile(3) doesn't work when the memory has been exh o stand/123688 standards POSIX standard changes in unistd.h and grp.h o stand/121921 standards [patch] Add leap second support to at(1), atrun(8) o stand/121568 standards [patch] ln(1): wrong "ln -s" behaviour o stand/120947 standards xsm ignores system.xsm and .xsmstartup o stand/116826 standards [patch] sh support for POSIX character classes o stand/116477 standards rm(1): rm behaves unexpectedly when using -r and relat o bin/116413 standards incorrect getconf(1) handling of unsigned constants gi o stand/116081 standards make does not work with the directive sinclude p stand/107561 standards [libc] [patch] [request] Missing SUS function tcgetsid o stand/104743 standards [headers] [patch] Wrong values for _POSIX_ minimal lim o stand/100017 standards [Patch] Add fuser(1) functionality to fstat(1) o stand/96236 standards [patch] [posix] sed(1) incorrectly describes a functio o stand/96016 standards [headers] clock_getres et al should be in o stand/94729 standards [libc] fcntl() throws undocumented ENOTTY o kern/93705 standards [headers] [patch] ENODATA and EGREGIOUS (for glibc com o stand/92362 standards [headers] [patch] Missing SIGPOLL in kernel headers a stand/86484 standards [patch] mkfifo(1) uses wrong permissions o stand/83845 standards [libm] [patch] add log2() and log2f() support for libm o stand/82654 standards C99 long double math functions are missing o stand/81287 standards [patch] fingerd(8) might send a line not ending in CRL a stand/80293 standards sysconf() does not support well-defined unistd values o stand/79056 standards [feature request] [atch] regex(3) regression tests o stand/70813 standards [patch] ls(1) not Posix compliant o stand/66357 standards make POSIX conformance problem ('sh -e' & '+' command- s kern/64875 standards [libc] [patch] [request] add a system call: fdatasync( s stand/62858 standards malloc(0) not C99 compliant o stand/56476 standards [patch] cd9660 unicode support simple hack o stand/54410 standards one-true-awk not POSIX compliant (no extended REs) o stand/46119 standards Priority problems for SCHED_OTHER using pthreads o stand/44425 standards getcwd() succeeds even if current dir has perm 000. p stand/41576 standards POSIX compliance of ln(1) o stand/39256 standards snprintf/vsnprintf aren't POSIX-conformant for strings o kern/27835 standards [libc] execve() doesn't conform to execve(2) spec in s a docs/26003 standards getgroups(2) lists NGROUPS_MAX but not syslimits.h s stand/24590 standards timezone function not compatible witn Single Unix Spec o bin/24390 standards ln(1) Replacing old dir-symlinks when using /bin/ln o stand/21519 standards sys/dir.h should be deprecated some more s bin/14925 standards getsubopt isn't poisonous enough 49 problems total. From owner-freebsd-standards@FreeBSD.ORG Wed Apr 14 19:08:14 2010 Return-Path: Delivered-To: standards@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C1C941065670 for ; Wed, 14 Apr 2010 19:08:14 +0000 (UTC) (envelope-from wollman@khavrinen.csail.mit.edu) Received: from khavrinen.csail.mit.edu (khavrinen.csail.mit.edu [128.30.28.20]) by mx1.freebsd.org (Postfix) with ESMTP id 79C578FC08 for ; Wed, 14 Apr 2010 19:08:14 +0000 (UTC) Received: from khavrinen.csail.mit.edu (localhost [127.0.0.1]) by khavrinen.csail.mit.edu (8.14.3/8.14.3) with ESMTP id o3EIWEs5009345 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL CN=khavrinen.csail.mit.edu issuer=Client+20CA); Wed, 14 Apr 2010 14:32:14 -0400 (EDT) (envelope-from wollman@khavrinen.csail.mit.edu) Received: (from wollman@localhost) by khavrinen.csail.mit.edu (8.14.3/8.14.3/Submit) id o3EIWEvj009342; Wed, 14 Apr 2010 14:32:14 -0400 (EDT) (envelope-from wollman) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <19398.2606.92468.700955@khavrinen.csail.mit.edu> Date: Wed, 14 Apr 2010 14:32:14 -0400 From: Garrett Wollman To: Garrett Cooper In-Reply-To: References: X-Mailer: VM 7.17 under 21.4 (patch 22) "Instant Classic" XEmacs Lucid X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.3 (khavrinen.csail.mit.edu [127.0.0.1]); Wed, 14 Apr 2010 14:32:14 -0400 (EDT) Cc: standards@freebsd.org Subject: Non-POSIX compliant portions of FreeBSD X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Apr 2010 19:08:14 -0000 < said: > I was recently piqued by Warner to look into open_posix_testsuite, > and I've noticed that there are some discrepancies in our compliance > with POSIX standards: Please take note of the broad variety of options in the POSIX specification. There are many options which we do not implement, either because they are bad ideas (e.g., XSI, tracing), or because nobody has gotten around to implementing them (e.g., synchronous I/O). A correct application will check (using getconf(1), sysconf(3), or both) whether the interface it desires is available before attempting to use it. A broken application will use autoconf. > 1. We don't implement any of the pieces in errno.h relating to POSIX > STREAMs (I assume this is intentional?). It is intentional. > 2. We don't define daylight or timezone in time.h - > http://www.opengroup.org/onlinepubs/009695399/basedefs/time.h.html This interface is broken as designed and impossible to implement correctly. The POSIX "timezone" interface conflicts with the traditional BSD "timezone" interface (which is also broken as designed) and I don't think anyone has ever done the work to disentangle this particular mess. > 3. We don't define SIGPOLL - > http://www.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html Marked as OB (obsolete), XSR (STREAMS interface). > 4. We don't define SCHED_SPORADIC and friends - > http://www.opengroup.org/onlinepubs/000095399/basedefs/sched.h.html > 5. We don't define the sched_param struct - > http://www.opengroup.org/onlinepubs/000095399/basedefs/sched.h.html Marked as SS | TPS (options we don't implement). > 6. We don't define bsd_signal (snickers) - > http://www.opengroup.org/onlinepubs/000095399/functions/bsd_signal.html Interface removed in SUSv7 (along with bcmp, bcopy, bzero, ecvt, fcvt, ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno, index, makecontext, mktemp, pthread_attr_[gs]etstackaddr, rindex, scalb, setcontext, swapcontext, ualarm, usleep, vfork, and wcswcs). > 7. We don't have clock_nanosleep, clock_getcpuclockid, or getdate > defined using the POSIX defined headers. POSIX_CLOCK_SELECTION option group. -GAWollman From owner-freebsd-standards@FreeBSD.ORG Sat Apr 17 21:02:24 2010 Return-Path: Delivered-To: standards@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A0C8106566C for ; Sat, 17 Apr 2010 21:02:24 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (relay02.stack.nl [IPv6:2001:610:1108:5010::104]) by mx1.freebsd.org (Postfix) with ESMTP id 20AAF8FC15 for ; Sat, 17 Apr 2010 21:02:24 +0000 (UTC) Received: from turtle.stack.nl (turtle.stack.nl [IPv6:2001:610:1108:5010::132]) by mx1.stack.nl (Postfix) with ESMTP id 7C22135A82C; Sat, 17 Apr 2010 23:02:23 +0200 (CEST) Received: by turtle.stack.nl (Postfix, from userid 1677) id 7155A1738D; Sat, 17 Apr 2010 23:02:23 +0200 (CEST) Date: Sat, 17 Apr 2010 23:02:23 +0200 From: Jilles Tjoelker To: Garrett Wollman Message-ID: <20100417210223.GA41384@stack.nl> References: <19398.2606.92468.700955@khavrinen.csail.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <19398.2606.92468.700955@khavrinen.csail.mit.edu> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: Garrett Cooper , standards@freebsd.org Subject: Re: Non-POSIX compliant portions of FreeBSD X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Apr 2010 21:02:24 -0000 On Wed, Apr 14, 2010 at 02:32:14PM -0400, Garrett Wollman wrote: > < said: > > > I was recently piqued by Warner to look into open_posix_testsuite, > > and I've noticed that there are some discrepancies in our compliance > > with POSIX standards: > > Please take note of the broad variety of options in the POSIX > specification. There are many options which we do not implement, > either because they are bad ideas (e.g., XSI, tracing), or because > nobody has gotten around to implementing them (e.g., synchronous > I/O). A correct application will check (using getconf(1), sysconf(3), > or both) whether the interface it desires is available before > attempting to use it. A broken application will use autoconf. > > 7. We don't have clock_nanosleep, clock_getcpuclockid, or getdate > > defined using the POSIX defined headers. > POSIX_CLOCK_SELECTION option group. clock_nanosleep is in the base in the 2008 version (SUSv4); the previous POSIX_CLOCK_SELECTION option is now required. Implementing clock_nanosleep requires a new in-kernel facility to sleep until a certain CLOCK_REALTIME value in such a way that setting the clock forwards makes it wake up earlier and vice versa (in particular, the thread needs to be woken up immediately if the clock is stepped beyond the specified absolute time). pthread_cond_timedwait() (unless the application has selected the CLOCK_MONOTONIC clock), pthread_mutex_timedlock(), pthread_rwlock_timedrdlock(), pthread_rwlock_timedwrlock(), mq_timedsend(), mq_timedreceive() and maybe more are also specified to sleep in this manner, but FreeBSD effectively uses CLOCK_MONOTONIC timing for them, except that some of them will correctly sleep longer if the clock has been set backwards. This error probably has little practical effect, but clock_nanosleep() doesn't really add anything above nanosleep() if it does not implement absolute CLOCK_REALTIME sleeps. clock_getcpuclockid is part of the _POSIX_CPUTIME option. Most of the functionality of this option can be obtained via setitimer(ITIMER_PROF), clock_gettime(CLOCK_PROF), getrusage() and kvm_getprocs(). getdate is in the XSI option group. -- Jilles Tjoelker From owner-freebsd-standards@FreeBSD.ORG Sat Apr 17 21:38:59 2010 Return-Path: Delivered-To: standards@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 76BFB1065676 for ; Sat, 17 Apr 2010 21:38:59 +0000 (UTC) (envelope-from yanefbsd@gmail.com) Received: from qw-out-2122.google.com (qw-out-2122.google.com [74.125.92.26]) by mx1.freebsd.org (Postfix) with ESMTP id 2FC228FC19 for ; Sat, 17 Apr 2010 21:38:59 +0000 (UTC) Received: by qw-out-2122.google.com with SMTP id 5so1188267qwi.7 for ; Sat, 17 Apr 2010 14:38:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=RPMmu323MgOpq/UP2NpmdXtOUnTGNMt6u/J/5xU4HuI=; b=pYeVEZTX1AOkaN/beS9EiOn30VC/Kbl2IU1KLgs8WKNsIL+DqfO7zdeirD/RN7xnXF RuU2VuvIaSlanSZpqA1YtYq7neBKyg5KbEhm4mfmJRU4TSWuokIJlrapdH1/mZg6fmbr APfwy8HZ8uLi9H6/gYIR/v4xpgLFKBKneVW+U= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=FUASwokATi0TIV9EqzaHReO2YicuFiZ4GBmNtNGZ7SKj5twicFFFKMTilyJHdHQ/MY mvXRM3pkGCM3V4a5RU35+ykl1IzT9cJyVYWoZ+F+pquN3IpW4y8EsdxCHxQ/JETp3IUE unueHRYZTXwH3cLXSR9HDxSIoUiIaXHDnATGg= MIME-Version: 1.0 Received: by 10.229.28.85 with HTTP; Sat, 17 Apr 2010 14:38:58 -0700 (PDT) In-Reply-To: <20100417210223.GA41384@stack.nl> References: <19398.2606.92468.700955@khavrinen.csail.mit.edu> <20100417210223.GA41384@stack.nl> Date: Sat, 17 Apr 2010 14:38:58 -0700 Received: by 10.229.221.14 with SMTP id ia14mr4748978qcb.8.1271540338427; Sat, 17 Apr 2010 14:38:58 -0700 (PDT) Message-ID: From: Garrett Cooper To: Jilles Tjoelker Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Garrett Wollman , standards@freebsd.org Subject: Re: Non-POSIX compliant portions of FreeBSD X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Apr 2010 21:38:59 -0000 On Sat, Apr 17, 2010 at 2:02 PM, Jilles Tjoelker wrote: > On Wed, Apr 14, 2010 at 02:32:14PM -0400, Garrett Wollman wrote: >> <= said: >> >> > =A0 =A0 I was recently piqued by Warner to look into open_posix_testsu= ite, >> > and I've noticed that there are some discrepancies in our compliance >> > with POSIX standards: >> >> Please take note of the broad variety of options in the POSIX >> specification. =A0There are many options which we do not implement, >> either because they are bad ideas (e.g., XSI, tracing), or because >> nobody has gotten around to implementing them (e.g., synchronous >> I/O). =A0A correct application will check (using getconf(1), sysconf(3), >> or both) whether the interface it desires is available before >> attempting to use it. =A0A broken application will use autoconf. > >> > 7. We don't have clock_nanosleep, clock_getcpuclockid, or getdate >> > defined using the POSIX defined headers. > >> POSIX_CLOCK_SELECTION option group. > > clock_nanosleep is in the base in the 2008 version (SUSv4); the previous > POSIX_CLOCK_SELECTION option is now required. Implementing > clock_nanosleep requires a new in-kernel facility to sleep until a > certain CLOCK_REALTIME value in such a way that setting the clock > forwards makes it wake up earlier and vice versa (in particular, the > thread needs to be woken up immediately if the clock is stepped beyond > the specified absolute time). pthread_cond_timedwait() (unless the > application has selected the CLOCK_MONOTONIC clock), > pthread_mutex_timedlock(), pthread_rwlock_timedrdlock(), > pthread_rwlock_timedwrlock(), mq_timedsend(), mq_timedreceive() and > maybe more are also specified to sleep in this manner, but FreeBSD > effectively uses CLOCK_MONOTONIC timing for them, except that some of > them will correctly sleep longer if the clock has been set backwards. > This error probably has little practical effect, but clock_nanosleep() > doesn't really add anything above nanosleep() if it does not implement > absolute CLOCK_REALTIME sleeps. > > clock_getcpuclockid is part of the _POSIX_CPUTIME option. Most of the > functionality of this option can be obtained via setitimer(ITIMER_PROF), > clock_gettime(CLOCK_PROF), getrusage() and kvm_getprocs(). > > getdate is in the XSI option group. This is good stuff to note. I'll be taking this info as well as anything else I get and commit it back to LTP's copy of the openposix test suite so that this stuff is corrected upstream. Thanks, -Garrett