Date: Tue, 21 Feb 1995 22:10:36 +1100 From: Bruce Evans <bde@zeta.org.au> To: jkh@freefall.cdrom.com, rgrimes@gndrsh.aac.dev.com Cc: current@freefall.cdrom.com Subject: Re: pax and gzip botch.. Message-ID: <199502211110.WAA13910@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199502211110.WAA13910>