From e53f70e1e1fc250c060d3432844fb222e32754b1 Mon Sep 17 00:00:00 2001 From: Manuel Novoa III Date: Thu, 28 Jun 2001 01:59:07 +0000 Subject: Added a script to create bits/syscall.h for each arch. NOTE!!! This is run by "make -C libc/sysdeps/linux/$(TARGET_ARCH) headers" in the main Makefile, but I only changed libc/sysdeps/linux/i386/Makefile as I had no way of testing it for the other archs. Various arch maintainers, please check and update the corresponding Makefile... or report bugs ;-)... appropriately. You'll also want to "cvs del" syscall.h and add it to a .cvsignore in $(ARCH)/bits. Also added a define to uClibc_config.h, __UCLIBC_USE_UNIFIED_SYSCALL__, and moved i386 unified syscall stuff out of common and into i386/bits/syscalls.h. --- extra/scripts/gen_bits_syscall_h.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 extra/scripts/gen_bits_syscall_h.sh (limited to 'extra') diff --git a/extra/scripts/gen_bits_syscall_h.sh b/extra/scripts/gen_bits_syscall_h.sh new file mode 100755 index 000000000..51f68fcf7 --- /dev/null +++ b/extra/scripts/gen_bits_syscall_h.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# +# June 27, 2001 Manuel Novoa III +# +# This script expects TOPDIR and CC (as used in the Makefiles) to be set in +# the environment, and outputs the appropriate $TOPDIR/include/bits/syscall.h +# corresponding to $TOPDIR/include/asm/unistd.h to stdout. +# +# Warning!!! This does _no_ error checking!!! + +UNISTD_H_PATH=$TOPDIR/include/asm/unistd.h + +( echo "#include \"$UNISTD_H_PATH\"" ; + $CC -E -dN $UNISTD_H_PATH | # needed to strip out any kernel-internal defines + sed -ne 's/^[ ]*#define[ ]*__NR_\([A-Za-z0-9_]*\).*/UCLIBC_\1 __NR_\1/gp' +) | +$CC -E - | +( echo "/* WARNING!!! AUTO-GENERATED FILE!!! DO NOT EDIT!!! */" ; echo ; + echo "#ifndef _SYSCALL_H" ; + echo "# error \"Never use directly; include instead.\"" ; + echo "#endif" ; echo ; + sed -ne 's/^UCLIBC_\([A-Za-z0-9_]*\) *\([^ ]*\)/#define SYS_\1 \2\ +#define __NR_\1 \2\ +#define __STR_NR_\1 \"\2\"/gp' +) -- cgit v1.2.3