From owner-freebsd-standards@FreeBSD.ORG Sun Aug 29 20:00:03 2010 Return-Path: Delivered-To: freebsd-standards@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 85A061065695 for ; Sun, 29 Aug 2010 20:00:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 586118FC1B for ; Sun, 29 Aug 2010 20:00:03 +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 o7TK032J035223 for ; Sun, 29 Aug 2010 20:00:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o7TK03IA035222; Sun, 29 Aug 2010 20:00:03 GMT (envelope-from gnats) Resent-Date: Sun, 29 Aug 2010 20:00:03 GMT Resent-Message-Id: <201008292000.o7TK03IA035222@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-standards@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Yuri Karaban Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1A3611065697 for ; Sun, 29 Aug 2010 19:53:16 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 09CDB8FC0C for ; Sun, 29 Aug 2010 19:53:16 +0000 (UTC) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o7TJrFGp050172 for ; Sun, 29 Aug 2010 19:53:15 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id o7TJrFgZ050171; Sun, 29 Aug 2010 19:53:15 GMT (envelope-from nobody) Message-Id: <201008291953.o7TJrFgZ050171@www.freebsd.org> Date: Sun, 29 Aug 2010 19:53:15 GMT From: Yuri Karaban To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: standards/150093: C++ std::locale support is broken 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: Sun, 29 Aug 2010 20:00:03 -0000 >Number: 150093 >Category: standards >Synopsis: C++ std::locale support is broken >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-standards >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Aug 29 20:00:02 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Yuri Karaban >Release: 8.1-RELEASE >Organization: >Environment: >Description: Standard C++ library, libstdc++, compiled with "generic" locale support. So only "C" and "POSIX" locales are supported. Setting any other locale will throw the runtime_error exception "locale::facet::_S_create_c_locale name not valid". Though locale name is valid and works with setlocale(3). On Linux libstdc++ is using "gnu" locale configuration. Which takes use of newlocale(3)/uselocale(3)/freelocale(3)/... POSIX calls. FreeBSD does not support these calls so it is not possible to use "gnu" configuration. Since C++ standard allow several locale instances to coexists simultaneously, it must be not possible to implement C++ locales in terms of setlocale(3). There are two possible solutions: 1. Implement locale related functions in FreeBSD C Library. This option is preferred: supporting standard functions is always a plus and having these function it is possible to use existing locale model in libstdc++. 2. Implement custom locale support for FreeBSD in libstdc++. Advantage that standard C library would be untouched. But on the other hand, there are many disadvantages (to create libstdc++ locale model from scratch; difficult to implement in terms of setlocale, means use of some hacks with libc internals). PS. Locale support is really important. C++ programs which use locale is unusable on FreeBSD and there is no workaround. >How-To-Repeat: Compile and run following C++ code: #include int main() { std::locale("en_US.UTF-8"); } >Fix: >Release-Note: >Audit-Trail: >Unformatted: From owner-freebsd-standards@FreeBSD.ORG Sun Aug 29 21:50:03 2010 Return-Path: Delivered-To: freebsd-standards@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7EC4510656A6 for ; Sun, 29 Aug 2010 21:50:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 693208FC08 for ; Sun, 29 Aug 2010 21:50:03 +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 o7TLo3k5045952 for ; Sun, 29 Aug 2010 21:50:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o7TLo30M045951; Sun, 29 Aug 2010 21:50:03 GMT (envelope-from gnats) Date: Sun, 29 Aug 2010 21:50:03 GMT Message-Id: <201008292150.o7TLo30M045951@freefall.freebsd.org> To: freebsd-standards@FreeBSD.org From: Garrett Cooper Cc: Subject: Re: standards/104743: [headers] [patch] Wrong values for _POSIX_ minimal limits X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Garrett Cooper List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Aug 2010 21:50:03 -0000 The following reply was made to PR standards/104743; it has been noted by GNATS. From: Garrett Cooper To: bug-followup@FreeBSD.org, thomas@cuivre.fr.eu.org Cc: Subject: Re: standards/104743: [headers] [patch] Wrong values for _POSIX_ minimal limits Date: Sun, 29 Aug 2010 14:49:46 -0700 --00151747b844927577048efd53df Content-Type: text/plain; charset=ISO-8859-1 Looking at SUSv4, the only item of value in this patch now is _POSIX_AIO_LISTIO_MAX: {_POSIX_AIO_LISTIO_MAX} The number of I/O operations that can be specified in a list I/O call. Value: 2 All other values listed conform 100% to SUSv4. The attached patch corrects that. Thanks, -Garrett --00151747b844927577048efd53df Content-Type: application/octet-stream; name="standards-104743.diff" Content-Disposition: attachment; filename="standards-104743.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gdgfn1ag0 SW5kZXg6IGxpbWl0cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpbWl0cy5oCShyZXZpc2lvbiAyMTE3OTQp CisrKyBsaW1pdHMuaAkod29ya2luZyBjb3B5KQpAQCAtNzAsNyArNzAsNyBAQAogI2VuZGlmCiAK ICNpZiBfX1BPU0lYX1ZJU0lCTEUgPj0gMTk5MzA5Ci0jZGVmaW5lCV9QT1NJWF9BSU9fTElTVElP X01BWAkxNgorI2RlZmluZQlfUE9TSVhfQUlPX0xJU1RJT19NQVgJMgogI2RlZmluZQlfUE9TSVhf QUlPX01BWAkJMQogI2RlZmluZQlfUE9TSVhfREVMQVlUSU1FUl9NQVgJMzIKICNkZWZpbmUJX1BP U0lYX01RX09QRU5fTUFYCTgK --00151747b844927577048efd53df-- From owner-freebsd-standards@FreeBSD.ORG Mon Aug 30 11:07:08 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 52E7810656AB for ; Mon, 30 Aug 2010 11:07:08 +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 1A12F8FC21 for ; Mon, 30 Aug 2010 11:07:08 +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 o7UB77Kc087562 for ; Mon, 30 Aug 2010 11:07:07 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o7UB76fl087560 for freebsd-standards@FreeBSD.org; Mon, 30 Aug 2010 11:07:06 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 30 Aug 2010 11:07:06 GMT Message-Id: <201008301107.o7UB76fl087560@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, 30 Aug 2010 11:07:08 -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/150093 standards C++ std::locale support is broken o stand/147210 standards xmmintrin.h and cstdlib conflicts with each other with p stand/145517 standards POSIX getline() missing 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 s stand/141705 standards [libc] [request] libc lacks cexp (and friends) o stand/130067 standards Wrong numeric limits in system headers? 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/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 o stand/114633 standards /etc/rc.subr: line 511: omits a quotation mark: "force 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 f stand/41576 standards ln(1): replacing old dir-symlinks 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 stand/21519 standards sys/dir.h should be deprecated some more s bin/14925 standards getsubopt isn't poisonous enough 44 problems total. From owner-freebsd-standards@FreeBSD.ORG Tue Aug 31 09:21:45 2010 Return-Path: Delivered-To: freebsd-standards@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E988B10656AB; Tue, 31 Aug 2010 09:21:45 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id C0B328FC1C; Tue, 31 Aug 2010 09:21:45 +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 o7V9Ljnr078999; Tue, 31 Aug 2010 09:21:45 GMT (envelope-from gavin@freefall.freebsd.org) Received: (from gavin@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o7V9Ljhp078995; Tue, 31 Aug 2010 09:21:45 GMT (envelope-from gavin) Date: Tue, 31 Aug 2010 09:21:45 GMT Message-Id: <201008310921.o7V9Ljhp078995@freefall.freebsd.org> To: gavin@FreeBSD.org, freebsd-bugs@FreeBSD.org, freebsd-standards@FreeBSD.org From: gavin@FreeBSD.org Cc: Subject: Re: standards/149980: [patch] negative value integer to nanosleep(2) should fail with EINVAL 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: Tue, 31 Aug 2010 09:21:46 -0000 Synopsis: [patch] negative value integer to nanosleep(2) should fail with EINVAL Responsible-Changed-From-To: freebsd-bugs->freebsd-standards Responsible-Changed-By: gavin Responsible-Changed-When: Tue Aug 31 09:10:49 UTC 2010 Responsible-Changed-Why: I'm not sure if this is somethign -standards will have an opinion on, pass it over to them. I'll pick this up in a week or so if not. http://www.freebsd.org/cgi/query-pr.cgi?pr=149980 From owner-freebsd-standards@FreeBSD.ORG Tue Aug 31 10:42:50 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 4A95D1065679; Tue, 31 Aug 2010 10:42:50 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id B9A078FC17; Tue, 31 Aug 2010 10:42:49 +0000 (UTC) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id o7VA6Zm4050227 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 31 Aug 2010 13:06:35 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4) with ESMTP id o7VA6ZUY018736; Tue, 31 Aug 2010 13:06:35 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4/Submit) id o7VA6ZEY018735; Tue, 31 Aug 2010 13:06:35 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 31 Aug 2010 13:06:35 +0300 From: Kostik Belousov To: gavin@freebsd.org Message-ID: <20100831100635.GB2396@deviant.kiev.zoral.com.ua> References: <201008310921.o7V9Ljhp078995@freefall.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201008310921.o7V9Ljhp078995@freefall.freebsd.org> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-2.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_40, DNS_FROM_OPENWHOIS autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: freebsd-bugs@freebsd.org, freebsd-standards@freebsd.org Subject: Re: standards/149980: [patch] negative value integer to nanosleep(2) should fail with EINVAL 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: Tue, 31 Aug 2010 10:42:50 -0000 I do think that the change is not useful. It puts more burden on the application writers to check for the negative value before making the syscall. Also, it changes the API. Please, just close the PR.