This requires toolchain bump with the sister patch "rtems: add sys/mman.h" on newlib.
On Mon, Aug 1, 2016 at 4:11 PM, Gedare Bloom <ged...@rtems.org> wrote: > --- > cpukit/Makefile.am | 1 - > cpukit/posix/include/sys/mman.h | 189 > --------------------- > cpukit/posix/src/mprotect.c | 2 +- > cpukit/preinstall.am | 4 - > testsuites/psxtests/psxhdrs/Makefile.am | 13 ++ > testsuites/psxtests/psxhdrs/sys/mman/mlock.c | 28 +++ > testsuites/psxtests/psxhdrs/sys/mman/mlockall.c | 27 +++ > testsuites/psxtests/psxhdrs/sys/mman/mmap.c | 30 ++++ > testsuites/psxtests/psxhdrs/sys/mman/mprotect.c | 29 ++++ > testsuites/psxtests/psxhdrs/sys/mman/msync.c | 29 ++++ > testsuites/psxtests/psxhdrs/sys/mman/munlock.c | 28 +++ > testsuites/psxtests/psxhdrs/sys/mman/munlockall.c | 25 +++ > testsuites/psxtests/psxhdrs/sys/mman/munmap.c | 28 +++ > .../psxtests/psxhdrs/sys/mman/posix_madvise.c | 29 ++++ > testsuites/psxtests/psxhdrs/sys/mman/shm_open.c | 29 ++++ > testsuites/psxtests/psxhdrs/sys/mman/shm_unlink.c | 27 +++ > 16 files changed, 323 insertions(+), 195 deletions(-) > delete mode 100644 cpukit/posix/include/sys/mman.h > create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/mlock.c > create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/mlockall.c > create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/mmap.c > create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/mprotect.c > create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/msync.c > create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/munlock.c > create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/munlockall.c > create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/munmap.c > create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/posix_madvise.c > create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/shm_open.c > create mode 100644 testsuites/psxtests/psxhdrs/sys/mman/shm_unlink.c > > diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am > index ac97530..9d90f82 100644 > --- a/cpukit/Makefile.am > +++ b/cpukit/Makefile.am > @@ -54,7 +54,6 @@ include_sys_HEADERS = > include_HEADERS += include/crypt.h > include_HEADERS += include/memory.h > > -include_sys_HEADERS += posix/include/sys/mman.h > include_sys_HEADERS += libcsupport/include/sys/ioccom.h > include_sys_HEADERS += libcsupport/include/sys/event.h > include_sys_HEADERS += libcsupport/include/sys/filio.h > diff --git a/cpukit/posix/include/sys/mman.h b/cpukit/posix/include/sys/mman.h > deleted file mode 100644 > index ddf34cc..0000000 > --- a/cpukit/posix/include/sys/mman.h > +++ /dev/null > @@ -1,189 +0,0 @@ > -/* $NetBSD: mman.h,v 1.36 2005/09/13 01:42:51 christos Exp $ */ > - > -/*- > - * Copyright (c) 1982, 1986, 1993 > - * The Regents of the University of California. All rights reserved. > - * > - * Redistribution and use in source and binary forms, with or without > - * modification, are permitted provided that the following conditions > - * are met: > - * 1. Redistributions of source code must retain the above copyright > - * notice, this list of conditions and the following disclaimer. > - * 2. Redistributions in binary form must reproduce the above copyright > - * notice, this list of conditions and the following disclaimer in the > - * documentation and/or other materials provided with the distribution. > - * 3. Neither the name of the University nor the names of its contributors > - * may be used to endorse or promote products derived from this software > - * without specific prior written permission. > - * > - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > - * SUCH DAMAGE. > - * > - * @(#)mman.h 8.2 (Berkeley) 1/9/95 > - */ > - > -#ifndef _SYS_MMAN_H_ > -#define _SYS_MMAN_H_ > - > -#ifdef __rtems__ > - > -#include <inttypes.h> > -#include <stddef.h> > -#include <sys/types.h> > - > -#else /* __rtems__ */ > -#include <sys/featuretest.h> > - > -#include <machine/ansi.h> > - > -#ifdef _BSD_SIZE_T_ > -typedef _BSD_SIZE_T_ size_t; > -#undef _BSD_SIZE_T_ > -#endif > - > -#include <sys/ansi.h> > - > -#ifndef mode_t > -typedef __mode_t mode_t; > -#define mode_t __mode_t > -#endif > - > -#ifndef off_t > -typedef __off_t off_t; /* file offset */ > -#define off_t __off_t > -#endif > -#endif /* __rtems__ */ > - > - > -/* > - * Protections are chosen from these bits, or-ed together > - */ > -#define PROT_NONE 0x00 /* no permissions */ > -#define PROT_READ 0x01 /* pages can be read */ > -#define PROT_WRITE 0x02 /* pages can be written */ > -#define PROT_EXEC 0x04 /* pages can be executed */ > - > -/* > - * Flags contain sharing type and options. > - * Sharing types; choose one. > - */ > -#define MAP_SHARED 0x0001 /* share changes */ > -#define MAP_PRIVATE 0x0002 /* changes are private */ > - > -#ifdef _KERNEL > -/* > - * Deprecated flag; these are treated as MAP_PRIVATE internally by > - * the kernel. > - */ > -#define MAP_COPY 0x0004 /* "copy" region at mmap time */ > -#endif > - > -/* > - * Other flags > - */ > -#define MAP_FIXED 0x0010 /* map addr must be exactly as > requested */ > -#define MAP_RENAME 0x0020 /* Sun: rename private pages to file > */ > -#define MAP_NORESERVE 0x0040 /* Sun: don't reserve needed swap > area */ > -#define MAP_INHERIT 0x0080 /* region is retained after exec */ > -#define MAP_HASSEMAPHORE 0x0200 /* region may contain semaphores */ > -#define MAP_TRYFIXED 0x0400 /* attempt hint address, even within > break */ > -#define MAP_WIRED 0x0800 /* mlock() mapping when it is > established */ > - > -/* > - * Mapping type > - */ > -#define MAP_FILE 0x0000 /* map from file (default) */ > -#define MAP_ANON 0x1000 /* allocated from memory, swap space > */ > - > -/* > - * Alignment (expressed in log2). Must be >= log2(PAGE_SIZE) and > - * < # bits in a pointer (26 (acorn26), 32 or 64). > - */ > -#define MAP_ALIGNED(n) ((n) << MAP_ALIGNMENT_SHIFT) > -#define MAP_ALIGNMENT_SHIFT 24 > -#define MAP_ALIGNMENT_MASK MAP_ALIGNED(0xff) > -#define MAP_ALIGNMENT_64KB MAP_ALIGNED(16) /* 2^16 */ > -#define MAP_ALIGNMENT_16MB MAP_ALIGNED(24) /* 2^24 */ > -#define MAP_ALIGNMENT_4GB MAP_ALIGNED(32) /* 2^32 */ > -#define MAP_ALIGNMENT_1TB MAP_ALIGNED(40) /* 2^40 */ > -#define MAP_ALIGNMENT_256TB MAP_ALIGNED(48) /* 2^48 */ > -#define MAP_ALIGNMENT_64PB MAP_ALIGNED(56) /* 2^56 */ > - > -/* > - * Error indicator returned by mmap(2) > - */ > -#define MAP_FAILED ((void *) -1) /* mmap() failed */ > - > -/* > - * Flags to msync > - */ > -#define MS_ASYNC 0x01 /* perform asynchronous writes */ > -#define MS_INVALIDATE 0x02 /* invalidate cached data */ > -#define MS_SYNC 0x04 /* perform synchronous writes */ > - > -/* > - * Flags to mlockall > - */ > -#define MCL_CURRENT 0x01 /* lock all pages currently mapped */ > -#define MCL_FUTURE 0x02 /* lock all pages mapped in the > future */ > - > -#if defined(_NETBSD_SOURCE) > -/* > - * Advice to madvise > - */ > -#define MADV_NORMAL 0 /* no further special treatment */ > -#define MADV_RANDOM 1 /* expect random page references */ > -#define MADV_SEQUENTIAL 2 /* expect sequential page references > */ > -#define MADV_WILLNEED 3 /* will need these pages */ > -#define MADV_DONTNEED 4 /* dont need these pages */ > -#define MADV_SPACEAVAIL 5 /* insure that resources are reserved > */ > -#define MADV_FREE 6 /* pages are empty, free them */ > -/* > - * Flags to minherit > - */ > -#define MAP_INHERIT_SHARE 0 /* share with child */ > -#define MAP_INHERIT_COPY 1 /* copy into child */ > -#define MAP_INHERIT_NONE 2 /* absent from child */ > -#define MAP_INHERIT_DONATE_COPY 3 /* copy and delete -- not > - implemented in UVM */ > -#define MAP_INHERIT_DEFAULT MAP_INHERIT_COPY > -#endif > - > -#ifndef _KERNEL > - > -#include <sys/cdefs.h> > - > -__BEGIN_DECLS > -void *mmap(void *, size_t, int, int, int, off_t); > -int munmap(void *, size_t); > -int mprotect(void *, size_t, int); > -#ifndef __LIBC12_SOURCE__ > -#if defined(__rtems__) > -int msync(void *, size_t, int); > -#else > -int msync(void *, size_t, int) __RENAME(__msync13); > -#endif > -#endif > -int mlock(const void *, size_t); > -int munlock(const void *, size_t); > -int mlockall(int); > -int munlockall(void); > -#if defined(_NETBSD_SOURCE) > -int madvise(void *, size_t, int); > -int mincore(void *, size_t, char *); > -int minherit(void *, size_t, int); > -#endif > -__END_DECLS > - > -#endif /* !_KERNEL */ > - > -#endif /* !_SYS_MMAN_H_ */ > diff --git a/cpukit/posix/src/mprotect.c b/cpukit/posix/src/mprotect.c > index 7158383..13017ce 100644 > --- a/cpukit/posix/src/mprotect.c > +++ b/cpukit/posix/src/mprotect.c > @@ -31,7 +31,7 @@ > #include <sys/mman.h> > > int mprotect( > - void *addr, > + const void *addr, > size_t len, > int prot > ) > diff --git a/cpukit/preinstall.am b/cpukit/preinstall.am > index 5ba1ee4..31f545e 100644 > --- a/cpukit/preinstall.am > +++ b/cpukit/preinstall.am > @@ -59,10 +59,6 @@ $(PROJECT_INCLUDE)/memory.h: include/memory.h > $(PROJECT_INCLUDE)/$(dirstamp) > $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/memory.h > PREINSTALL_FILES += $(PROJECT_INCLUDE)/memory.h > > -$(PROJECT_INCLUDE)/sys/mman.h: posix/include/sys/mman.h > $(PROJECT_INCLUDE)/sys/$(dirstamp) > - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/sys/mman.h > -PREINSTALL_FILES += $(PROJECT_INCLUDE)/sys/mman.h > - > $(PROJECT_INCLUDE)/sys/ioccom.h: libcsupport/include/sys/ioccom.h > $(PROJECT_INCLUDE)/sys/$(dirstamp) > $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/sys/ioccom.h > PREINSTALL_FILES += $(PROJECT_INCLUDE)/sys/ioccom.h > diff --git a/testsuites/psxtests/psxhdrs/Makefile.am > b/testsuites/psxtests/psxhdrs/Makefile.am > index 82fb315..7bf1601 100644 > --- a/testsuites/psxtests/psxhdrs/Makefile.am > +++ b/testsuites/psxtests/psxhdrs/Makefile.am > @@ -138,6 +138,19 @@ lib_a_SOURCES += unistd/sync.c > lib_a_SOURCES += unistd/ualarm.c > lib_a_SOURCES += unistd/usleep.c > > +# methods in <sys/mman.h> > +lib_a_SOURCES += sys/mman/mlockall.c > +lib_a_SOURCES += sys/mman/mlock.c > +lib_a_SOURCES += sys/mman/mmap.c > +lib_a_SOURCES += sys/mman/mprotect.c > +lib_a_SOURCES += sys/mman/msync.c > +lib_a_SOURCES += sys/mman/munlockall.c > +lib_a_SOURCES += sys/mman/munlock.c > +lib_a_SOURCES += sys/mman/munmap.c > +lib_a_SOURCES += sys/mman/posix_madvise.c > +lib_a_SOURCES += sys/mman/shm_open.c > +lib_a_SOURCES += sys/mman/shm_unlink.c > + > if HAS_NETWORKING > # methods in <sys/socket.h> > lib_a_SOURCES += sys/socket/accept.c > diff --git a/testsuites/psxtests/psxhdrs/sys/mman/mlock.c > b/testsuites/psxtests/psxhdrs/sys/mman/mlock.c > new file mode 100644 > index 0000000..1f7d7b5 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/sys/mman/mlock.c > @@ -0,0 +1,28 @@ > +/* > + * Copyright (c) 2016 Gedare Bloom. > + * > + * The license and distribution terms for this file may be > + * found in the file LICENSE in this distribution or at > + * http://www.rtems.org/license/LICENSE. > + */ > + > +/* This test file is used to verify that the header files associated with > + * invoking this function are correct. > + */ > + > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <sys/mman.h> > + > +int test( void ); > + > +int test( void ) > +{ > + void *addr = NULL; > + size_t len = 0; > + > + return mlock( addr, len ); > +} > diff --git a/testsuites/psxtests/psxhdrs/sys/mman/mlockall.c > b/testsuites/psxtests/psxhdrs/sys/mman/mlockall.c > new file mode 100644 > index 0000000..023c0a4 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/sys/mman/mlockall.c > @@ -0,0 +1,27 @@ > +/* > + * Copyright (c) 2016 Gedare Bloom. > + * > + * The license and distribution terms for this file may be > + * found in the file LICENSE in this distribution or at > + * http://www.rtems.org/license/LICENSE. > + */ > + > +/* This test file is used to verify that the header files associated with > + * invoking this function are correct. > + */ > + > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <sys/mman.h> > + > +int test( void ); > + > +int test( void ) > +{ > + int flags = 0; > + > + return mlockall( flags ); > +} > diff --git a/testsuites/psxtests/psxhdrs/sys/mman/mmap.c > b/testsuites/psxtests/psxhdrs/sys/mman/mmap.c > new file mode 100644 > index 0000000..7613200 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/sys/mman/mmap.c > @@ -0,0 +1,30 @@ > +/* > + * Copyright (c) 2016 Gedare Bloom. > + * > + * The license and distribution terms for this file may be > + * found in the file LICENSE in this distribution or at > + * http://www.rtems.org/license/LICENSE. > + */ > + > +/* This test file is used to verify that the header files associated with > + * invoking this function are correct. > + */ > + > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <sys/mman.h> > + > +void* test( void ); > + > +void* test( void ) > +{ > + void *addr = NULL; > + size_t len = 0; > + int prot = 0, flags = 0, fildes = 0; > + off_t off = 0; > + > + return mmap( addr, len, prot, flags, fildes, off ); > +} > diff --git a/testsuites/psxtests/psxhdrs/sys/mman/mprotect.c > b/testsuites/psxtests/psxhdrs/sys/mman/mprotect.c > new file mode 100644 > index 0000000..8b6f423 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/sys/mman/mprotect.c > @@ -0,0 +1,29 @@ > +/* > + * Copyright (c) 2016 Gedare Bloom. > + * > + * The license and distribution terms for this file may be > + * found in the file LICENSE in this distribution or at > + * http://www.rtems.org/license/LICENSE. > + */ > + > +/* This test file is used to verify that the header files associated with > + * invoking this function are correct. > + */ > + > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <sys/mman.h> > + > +int test( void ); > + > +int test( void ) > +{ > + void *addr = NULL; > + size_t len = 0; > + int prot = 0; > + > + return mprotect( addr, len, prot ); > +} > diff --git a/testsuites/psxtests/psxhdrs/sys/mman/msync.c > b/testsuites/psxtests/psxhdrs/sys/mman/msync.c > new file mode 100644 > index 0000000..c22f145 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/sys/mman/msync.c > @@ -0,0 +1,29 @@ > +/* > + * Copyright (c) 2016 Gedare Bloom. > + * > + * The license and distribution terms for this file may be > + * found in the file LICENSE in this distribution or at > + * http://www.rtems.org/license/LICENSE. > + */ > + > +/* This test file is used to verify that the header files associated with > + * invoking this function are correct. > + */ > + > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <sys/mman.h> > + > +int test( void ); > + > +int test( void ) > +{ > + void *addr = NULL; > + size_t len = 0; > + int flags = 0; > + > + return msync( addr, len, flags ); > +} > diff --git a/testsuites/psxtests/psxhdrs/sys/mman/munlock.c > b/testsuites/psxtests/psxhdrs/sys/mman/munlock.c > new file mode 100644 > index 0000000..df901e1 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/sys/mman/munlock.c > @@ -0,0 +1,28 @@ > +/* > + * Copyright (c) 2016 Gedare Bloom. > + * > + * The license and distribution terms for this file may be > + * found in the file LICENSE in this distribution or at > + * http://www.rtems.org/license/LICENSE. > + */ > + > +/* This test file is used to verify that the header files associated with > + * invoking this function are correct. > + */ > + > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <sys/mman.h> > + > +int test( void ); > + > +int test( void ) > +{ > + void *addr = NULL; > + size_t len = 0; > + > + return munlock( addr, len ); > +} > diff --git a/testsuites/psxtests/psxhdrs/sys/mman/munlockall.c > b/testsuites/psxtests/psxhdrs/sys/mman/munlockall.c > new file mode 100644 > index 0000000..2f88ae5 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/sys/mman/munlockall.c > @@ -0,0 +1,25 @@ > +/* > + * Copyright (c) 2016 Gedare Bloom. > + * > + * The license and distribution terms for this file may be > + * found in the file LICENSE in this distribution or at > + * http://www.rtems.org/license/LICENSE. > + */ > + > +/* This test file is used to verify that the header files associated with > + * invoking this function are correct. > + */ > + > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <sys/mman.h> > + > +int test( void ); > + > +int test( void ) > +{ > + return munlockall(); > +} > diff --git a/testsuites/psxtests/psxhdrs/sys/mman/munmap.c > b/testsuites/psxtests/psxhdrs/sys/mman/munmap.c > new file mode 100644 > index 0000000..253230a > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/sys/mman/munmap.c > @@ -0,0 +1,28 @@ > +/* > + * Copyright (c) 2016 Gedare Bloom. > + * > + * The license and distribution terms for this file may be > + * found in the file LICENSE in this distribution or at > + * http://www.rtems.org/license/LICENSE. > + */ > + > +/* This test file is used to verify that the header files associated with > + * invoking this function are correct. > + */ > + > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <sys/mman.h> > + > +int test( void ); > + > +int test( void ) > +{ > + void *addr = NULL; > + size_t len = 0; > + > + return munmap( addr, len ); > +} > diff --git a/testsuites/psxtests/psxhdrs/sys/mman/posix_madvise.c > b/testsuites/psxtests/psxhdrs/sys/mman/posix_madvise.c > new file mode 100644 > index 0000000..59b7d1a > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/sys/mman/posix_madvise.c > @@ -0,0 +1,29 @@ > +/* > + * Copyright (c) 2016 Gedare Bloom. > + * > + * The license and distribution terms for this file may be > + * found in the file LICENSE in this distribution or at > + * http://www.rtems.org/license/LICENSE. > + */ > + > +/* This test file is used to verify that the header files associated with > + * invoking this function are correct. > + */ > + > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <sys/mman.h> > + > +int test( void ); > + > +int test( void ) > +{ > + void *addr = NULL; > + size_t len = 0; > + int advice = 0; > + > + return posix_madvise( addr, len, advice ); > +} > diff --git a/testsuites/psxtests/psxhdrs/sys/mman/shm_open.c > b/testsuites/psxtests/psxhdrs/sys/mman/shm_open.c > new file mode 100644 > index 0000000..8db7610 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/sys/mman/shm_open.c > @@ -0,0 +1,29 @@ > +/* > + * Copyright (c) 2016 Gedare Bloom. > + * > + * The license and distribution terms for this file may be > + * found in the file LICENSE in this distribution or at > + * http://www.rtems.org/license/LICENSE. > + */ > + > +/* This test file is used to verify that the header files associated with > + * invoking this function are correct. > + */ > + > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <sys/mman.h> > + > +int test( void ); > + > +int test( void ) > +{ > + char *name = "test"; > + int oflag = 0; > + mode_t mode = 0; > + > + return shm_open( name, oflag, mode ); > +} > diff --git a/testsuites/psxtests/psxhdrs/sys/mman/shm_unlink.c > b/testsuites/psxtests/psxhdrs/sys/mman/shm_unlink.c > new file mode 100644 > index 0000000..182f796 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/sys/mman/shm_unlink.c > @@ -0,0 +1,27 @@ > +/* > + * Copyright (c) 2016 Gedare Bloom. > + * > + * The license and distribution terms for this file may be > + * found in the file LICENSE in this distribution or at > + * http://www.rtems.org/license/LICENSE. > + */ > + > +/* This test file is used to verify that the header files associated with > + * invoking this function are correct. > + */ > + > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <sys/mman.h> > + > +int test( void ); > + > +int test( void ) > +{ > + char *name = "test"; > + > + return shm_unlink( name ); > +} > -- > 1.9.1 > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel