summaryrefslogtreecommitdiff
path: root/lib/libpthread/sys/Makefile.inc
blob: f39fe7e43a03b32d7bc3caa5a05c67afb6500587 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#	$OpenBSD: Makefile.inc,v 1.13 2004/02/06 01:52:01 brad Exp $

.PATH:	 ${SRCDIR}/sys ${SRCDIR}/arch/${MACHINE_ARCH}

SRCS+=	uthread_error.c
SRCS+=	slow_atomic_lock.c

.if exists(${SRCDIR}/arch/${MACHINE_ARCH}/_atomic_lock.c)
SRCS+=	_atomic_lock.c
.endif
.if exists(${SRCDIR}/arch/${MACHINE_ARCH}/uthread_machdep_asm.S)
SRCS+=	uthread_machdep_asm.S
.endif
.if exists(${SRCDIR}/arch/${MACHINE_ARCH}/uthread_machdep.c)
SRCS+=	uthread_machdep.c
.endif

.if (${LIB} == "c_r") && (${ELF_TOOLCHAIN:L} == "no")

#
# All syscalls are renamed as _thread_sys_{syscall}.
# This is a list of syscalls that are renamed as _thread_sys_{syscall}
# so that libc_r can provide replacement functions.
#
HIDDEN_SYSCALLS= accept.o bind.o close.o connect.o dup.o dup2.o \
	execve.o fchflags.o fchmod.o fchown.o fcntl.o \
	flock.o fpathconf.o fstat.o fstatfs.o fsync.o getdirentries.o \
	getlogin.o getpeername.o getsockname.o getsockopt.o ioctl.o kevent.o \
	kqueue.o listen.o msync.o nanosleep.o open.o pipe.o poll.o read.o \
	readv.o recvfrom.o recvmsg.o sched_yield.o select.o sendmsg.o sendto.o \
	setsockopt.o shutdown.o sigaction.o sigaltstack.o \
	sigprocmask.o sigsuspend.o \
	socket.o socketpair.o wait4.o write.o writev.o \
	_exit.o

SRCS+= _sys_aliases.c
CLEANFILES += _sys_aliases.c

_sys_aliases.c: ${SRCDIR}/Makefile ${LIBCSRCDIR}/sys/Makefile.inc
	echo '#include <sys/cdefs.h>' > ${.TARGET}
	for fn in ${ASM:R} ${PSEUDO:R} ""; do \
		case $$fn in ${HIDDEN_SYSCALLS:.o=|}"") : stays hidden ;; \
			*) echo "__indr_reference(_thread_sys_$$fn,$$fn);";; \
		esac; \
	done >> ${.TARGET}
.endif