From owner-freebsd-current Tue Feb 21 03:17:07 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.9/8.6.6) id DAA26660 for current-outgoing; Tue, 21 Feb 1995 03:17:07 -0800 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.cdrom.com (8.6.9/8.6.6) with ESMTP id DAA26596; Tue, 21 Feb 1995 03:16:44 -0800 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id WAA13910; Tue, 21 Feb 1995 22:10:36 +1100 Date: Tue, 21 Feb 1995 22:10:36 +1100 From: Bruce Evans Message-Id: <199502211110.WAA13910@godzilla.zeta.org.au> To: jkh@freefall.cdrom.com, rgrimes@gndrsh.aac.dev.com Subject: Re: pax and gzip botch.. Cc: current@freefall.cdrom.com Sender: current-owner@FreeBSD.org Precedence: bulk >> ld: Unexpected multiple definitions of symbol `_warn', type 0x1 >This was caused by the changes to src/lib/libc/locale, the local startup >stuff now calls err/warn/..., this causes err.o to be loaded in all programs >from libc. I think the opposite is the case. collate.c was changed to _not_ call err/warn. The change isn't quite right. err() writes to stdout while __collate_err() writes to STDERR_FILENO. There is a difference if stderr is buffer. stdio uses special code to avoid this bug for perror(). It should use and export a general function __write_stderr(). I'm running the library from a couple of days ago and have some locale changes but don't have the linkage problems. >Is warn/err/... in the POSIX name space or not? This may simply be namespace >pollution from libc that needs fixed, or namespace pollution in all the >other sources :-(. They are in the user namespace, like about 90% of the names in libc. Bruce