From owner-freebsd-arch@FreeBSD.ORG Thu May 1 08:15:08 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2B6F037B401; Thu, 1 May 2003 08:15:08 -0700 (PDT) Received: from nagual.pp.ru (pobrecita.freebsd.ru [194.87.13.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id EA3F543FBD; Thu, 1 May 2003 08:15:05 -0700 (PDT) (envelope-from ache@pobrecita.freebsd.ru) Received: from pobrecita.freebsd.ru (ache@localhost [127.0.0.1]) by nagual.pp.ru (8.12.9/8.12.9) with ESMTP id h41FF3nd054492; Thu, 1 May 2003 19:15:03 +0400 (MSD) (envelope-from ache@pobrecita.freebsd.ru) Received: (from ache@localhost) by pobrecita.freebsd.ru (8.12.9/8.12.9/Submit) id h41FF2fU054491; Thu, 1 May 2003 19:15:02 +0400 (MSD) Date: Thu, 1 May 2003 19:15:01 +0400 From: "Andrey A. Chernov" To: "Jacques A. Vidrine" , Paul Richards , freebsd-arch@FreeBSD.org Message-ID: <20030501151458.GA54182@nagual.pp.ru> References: <20030430043303.GA46365@mero.morphisms.net> <20030430062647.GA82023@rot13.obsecurity.org> <20030430143121.GK39658@survey.codeburst.net> <20030430152708.GA26216@madman.celabo.org> <20030430153645.GL39658@survey.codeburst.net> <20030430164135.GB26508@madman.celabo.org> <20030501140255.GB1869@survey.codeburst.net> <20030501143032.GA34163@madman.celabo.org> <20030501144600.GC1869@survey.codeburst.net> <20030501145345.GA34884@madman.celabo.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030501145345.GA34884@madman.celabo.org> User-Agent: Mutt/1.5.4i Subject: Re: `Hiding' libc symbols (was Re: cvs commit: src/lib/libc/gen ...) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 May 2003 15:15:08 -0000 On Thu, May 01, 2003 at 09:53:45 -0500, Jacques A. Vidrine wrote: > > A libc consumer (getpwent.c): > 587 namesize = _strlcpy(&keybuf[1], name, sizeof(keybuf)-1); IMHO, it is bad hack at whole, and all namespace.h tricks should be removed. The reason is quite simple. Yes, you can save libc this way, but what happens, if application linked, say, with libc AND libncurses (insert any other system library here)? libc will be saved, but libncurses will not. It means, to be logically, you need to replace strlcpy with _strlcpy in ALL FreeBSD libraries. Better way is stop doing half-singing - half-dancing and produce linker error when application attempts to replace any function in standard namespace. It automatically makes impossible broken binary-only packages. So, I vote for namespace.h removing (i.e. all _ tricks). Who with me?