[BACK]Return to Makefile.inc CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libc / arch / or1k

File: [cvs.NetBSD.org] / src / lib / libc / arch / or1k / Makefile.inc (download)

Revision 1.2, Fri Sep 5 18:09:37 2014 UTC (7 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-9-base, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Changes since 1.1: +17 -2 lines

The OpenRISC calling standard only passes 6 parameters by register.  Any
others are passed on the stack.  NetBSD syscalls use up to 8 parameters
so that could mean two left on the stack for the kernel to access.  It's
easier for the kernel if userland could fetch into registers beforehand.
So we generate sysassym.h which contains the number of arguments for each
syscall and then use that to determine how many arguments need to be fetched
from the stack.

#	$NetBSD: Makefile.inc,v 1.2 2014/09/05 18:09:37 matt Exp $

SRCS+=		__sigaction14_sigtramp.c __sigtramp2.S
SRCS+=		mulsi3.S

CPPFLAGS+=	-I.

DPSRCS+=	sysassym.h
CLEANFILES+=	sysassym.h sysassym.h.tmp

sysassym.h: ${DESTDIR}/usr/include/sys/syscall.h \
	${DESTDIR}/usr/include/sys/syscallargs.h ${ARCHDIR}/syscallargs.awk
	${_MKTARGET_CREATE}
	${TOOL_CAT} \
		${DESTDIR}/usr/include/sys/syscall.h \
		${DESTDIR}/usr/include/sys/syscallargs.h | \
	${TOOL_AWK} -f ${ARCHDIR}/syscallargs.awk | \
	${TOOL_GENASSYM} -- ${CC} -ffreestanding ${CFLAGS:N-Wa,*} \
		${CPPFLAGS:N-D*} -D_KMEMUSER \
		${GENASSYM_CPPFLAGS} > $@.tmp && \
	mv -f $@.tmp $@

.if ${MKSOFTFLOAT} != "no"
.include <softfloat/Makefile.inc>
.endif