Build __error.c into libc, but not libc_r. The weak symbol in the

file works with libpthread, but when built into libc_r which has a non-weak
symbol of the same name, the linker behaves unpredicatably and sometimes
links the wrong symbol. The linker behaviour is a byproduct of what
the program calls from object to object so it is like winning a lottery
if the program actually works. The odds are quite good - 95:1, I think.
We need a sure thing, though, so weak symbols can't be used instead
of renaming things.
This commit is contained in:
jb 1998-04-30 09:13:48 +00:00
parent 0b5bef5fb7
commit 18a366f3a0

View File

@ -1,5 +1,5 @@
# @(#)Makefile.inc 8.3 (Berkeley) 10/24/94
# $Id: Makefile.inc,v 1.49 1998/03/23 21:04:06 jb Exp $
# $Id: Makefile.inc,v 1.50 1998/03/28 11:48:48 dufault Exp $
# sys sources
.PATH: ${.CURDIR}/../libc/${MACHINE_ARCH}/sys ${.CURDIR}/../libc/sys
@ -26,7 +26,12 @@ SRCS+= netbsd_getdirentries.c netbsd_msync.c netbsd_stat.c netbsd_swapon.c
.endif
# Sources common to both syscall interfaces:
SRCS+= __error.c ftruncate.c lseek.c mmap.c truncate.c
SRCS+= ftruncate.c lseek.c mmap.c truncate.c
# Build __error() into libc, but not libc_r which has it's own:
.if ${LIB} == "c"
SRCS+= __error.c
.endif
# Add machine dependent asm sources:
SRCS+=${MDASM}