diff options
author | Eric Andersen <andersen@codepoet.org> | 2001-10-16 03:10:39 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2001-10-16 03:10:39 +0000 |
commit | 46d6bbc8e2d2016ecbe851a10bb1676bd7e96274 (patch) | |
tree | b76ccd5c7986509f6153f98e7f40168454619d41 | |
parent | 38b024251f16664891f1b714d9d786168cef0cca (diff) |
Revert global old mmap usage, and do it per arch
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | extra/Configs/Config.v850e | 5 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/syscalls.c | 5 | ||||
-rw-r--r-- | libc/sysdeps/linux/v850/Makefile | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/v850/_mmap.c | 20 |
5 files changed, 24 insertions, 13 deletions
@@ -165,11 +165,6 @@ uClibc_config.h: Makefile Config else \ echo "#undef __UCLIBC_USE_UNIFIED_SYSCALL__" >> uClibc_config.h ; \ fi - @if [ "$(OLD_STYLE_MMAP)" != "false" ] ; then \ - echo "#define __UCLIBC_OLD_STYLE_MMAP__ 1" >> uClibc_config.h ; \ - else \ - echo "#undef __UCLIBC_OLD_STYLE_MMAP__" >> uClibc_config.h ; \ - fi @echo "#define C_SYMBOL_PREFIX "\""$(C_SYMBOL_PREFIX)"\" >> uClibc_config.h subdirs: $(patsubst %, _dir_%, $(DIRS)) diff --git a/extra/Configs/Config.v850e b/extra/Configs/Config.v850e index 3383293f9..2d0533839 100644 --- a/extra/Configs/Config.v850e +++ b/extra/Configs/Config.v850e @@ -119,11 +119,6 @@ MALLOC = malloc # At present, only affects i386. UNIFIED_SYSCALL = false -# If false, then the mmap syscall takes individual arguments, just like -# every other syscall; otherwise, they're all packed into a buffer first -# (which was necessary on old version of linux worked). -OLD_STYLE_MMAP = false - # If you want large file summit support (greater then 2 Gib), # turn this on. This has no effect unless your kernel supports # lfs. This currently does nothing, but may someday... diff --git a/libc/sysdeps/linux/common/syscalls.c b/libc/sysdeps/linux/common/syscalls.c index 0d470db8c..b02d4864f 100644 --- a/libc/sysdeps/linux/common/syscalls.c +++ b/libc/sysdeps/linux/common/syscalls.c @@ -2,8 +2,9 @@ /* * Syscalls for uClibc * - * Copyright (C) 2000, 2001 by Lineo, inc. Written by Erik Andersen - * <andersen@lineo.com>, <andersee@debian.org> + * Copyright (C) 2000 by Lineo, inc + * Copyright (C) 2001 by Erik Andersen + * Written by Erik Andersen <andersen@codpoet.org> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Library General Public License as published by diff --git a/libc/sysdeps/linux/v850/Makefile b/libc/sysdeps/linux/v850/Makefile index a48dcfd1d..4e2974551 100644 --- a/libc/sysdeps/linux/v850/Makefile +++ b/libc/sysdeps/linux/v850/Makefile @@ -18,7 +18,7 @@ CFLAGS+= -I../ -D__ASSEMBLER__ -DASM_GLOBAL_DIRECTIVE=.globl TARGET_MACHINE_TYPE=$(shell $(CC) -dumpmachine) -CRT0=crt0.S +CRT0=crt0.S _mmap.c CRT0_OBJ=$(patsubst %.S,%.o, $(CRT0)) SSRC=setjmp.S longjmp.S vfork.S diff --git a/libc/sysdeps/linux/v850/_mmap.c b/libc/sysdeps/linux/v850/_mmap.c new file mode 100644 index 000000000..a0c58253a --- /dev/null +++ b/libc/sysdeps/linux/v850/_mmap.c @@ -0,0 +1,20 @@ +/* Use old style mmap for v850 */ +#include <unistd.h> +#include <sys/mman.h> +#include <sys/syscall.h> + + +__ptr_t mmap(__ptr_t addr, size_t len, int prot, + int flags, int fd, __off_t offset) +{ + unsigned long buffer[6]; + + buffer[0] = (unsigned long) addr; + buffer[1] = (unsigned long) len; + buffer[2] = (unsigned long) prot; + buffer[3] = (unsigned long) flags; + buffer[4] = (unsigned long) fd; + buffer[5] = (unsigned long) offset; + return (__ptr_t) _mmap(buffer); +} + |