From 659a314a19c12f5efeab46caca7a306c3330d85c Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 7 Jul 2013 21:44:37 +0200 Subject: osdep: remove unused mmap compatibility hacks Not sure how this worked. Only af_export.c and tvi_v4l2.c were using mmap, but they didn't include osdep/mmap.h or mmap_anon.h. In any case, we trust that the target system is sufficiently POSIX compliant if mmap is actually defined (as checked by configure). --- Makefile | 2 +- configure | 7 ----- osdep/mmap.h | 58 -------------------------------------- osdep/mmap_anon.c | 84 ------------------------------------------------------- osdep/mmap_anon.h | 26 ----------------- 5 files changed, 1 insertion(+), 176 deletions(-) delete mode 100644 osdep/mmap.h delete mode 100644 osdep/mmap_anon.c delete mode 100644 osdep/mmap_anon.h diff --git a/Makefile b/Makefile index a9f3cc49fc..7dc01f7a3d 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,7 @@ SOURCES-$(DVBIN) += stream/dvb_tune.c \ SOURCES-$(DVDREAD) += stream/stream_dvd.c \ stream/stream_dvd_common.c -SOURCES-$(HAVE_SYS_MMAN_H) += audio/filter/af_export.c osdep/mmap_anon.c +SOURCES-$(HAVE_SYS_MMAN_H) += audio/filter/af_export.c SOURCES-$(LADSPA) += audio/filter/af_ladspa.c SOURCES-$(LIBASS) += sub/ass_mp.c sub/sd_ass.c \ demux/demux_libass.c diff --git a/configure b/configure index fce0aed98c..2c9b98e04d 100755 --- a/configure +++ b/configure @@ -1217,13 +1217,6 @@ else fi echores "$_mman" -_mman_has_map_failed=no -statement_check sys/mman.h 'void *p = MAP_FAILED' && _mman_has_map_failed=yes -if test "$_mman_has_map_failed" = yes ; then - def_mman_has_map_failed='' -else - def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)' -fi echocheck "dynamic loader" _dl=no diff --git a/osdep/mmap.h b/osdep/mmap.h deleted file mode 100644 index db7c136a96..0000000000 --- a/osdep/mmap.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * mmap declaration header for systems with missing/nonfunctional sys/mman.h - * - * Copyright (c) 2008 KO Myung-Hun (komh@chollian.net) - * - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_MMAP_H -#define MPLAYER_MMAP_H - -#include - -/* - * 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 */ -#define MAP_FIXED 0x0010 /* map addr must be exactly as requested */ - -/* - * Mapping type - */ -#define MAP_ANON 0x1000 /* allocated from memory, swap space */ - -/* MAP_FAILED is defined in config.h */ - -#ifndef _MMAP_DECLARED -#define _MMAP_DECLARED -void *mmap( void *addr, size_t len, int prot, int flags, int fildes, off_t off ); -#endif -int munmap( void *addr, size_t len ); -int mprotect( void *addr, size_t len, int prot ); - -#endif /* MPLAYER_MMAP_H */ diff --git a/osdep/mmap_anon.c b/osdep/mmap_anon.c deleted file mode 100644 index d5b3a3dd2f..0000000000 --- a/osdep/mmap_anon.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - - /** - * \file mmap_anon.c - * \brief Provide a compatible anonymous space mapping function - */ -#include "config.h" - -#include -#include -#include -#include - -#include "mmap_anon.h" - -#if defined(MAP_ANON) && !defined(MAP_ANONYMOUS) -#define MAP_ANONYMOUS MAP_ANON -#endif - -/* - * mmap() anonymous space, depending on the system's mmap() style. On systems - * that use the /dev/zero mapping idiom, zerofd will be set to the file descriptor - * of the opened /dev/zero. - */ - - /** - * \brief mmap() anonymous space, depending on the system's mmap() style. On systems - * that use the /dev/zero mapping idiom, zerofd will be set to the file descriptor - * of the opened /dev/zero. - * - * \param addr address to map at. - * \param len number of bytes from addr to be mapped. - * \param prot protections (region accessibility). - * \param flags specifies the type of the mapped object. - * \param offset start mapping at byte offset. - * \param zerofd - * \return a pointer to the mapped region upon successful completion, -1 otherwise. - */ -void *mmap_anon(void *addr, size_t len, int prot, int flags, off_t offset) -{ - void *result; - - /* From loader/ext.c: - * "Linux EINVAL's on us if we don't pass MAP_PRIVATE to an anon mmap" - * Therefore we preserve the same behavior on all platforms, ie. no - * shared mappings of anon space (if the concepts are supported). */ -#if defined(MAP_SHARED) && defined(MAP_PRIVATE) - flags = (flags & ~MAP_SHARED) | MAP_PRIVATE; -#endif /* defined(MAP_SHARED) && defined(MAP_PRIVATE) */ - -#ifdef MAP_ANONYMOUS - /* BSD-style anonymous mapping */ - result = mmap(addr, len, prot, flags | MAP_ANONYMOUS, -1, offset); -#else - /* SysV-style anonymous mapping */ - int fd; - fd = open("/dev/zero", O_RDWR); - if(fd < 0){ - perror( "Cannot open /dev/zero for READ+WRITE. Check permissions! error: "); - return NULL; - } - - result = mmap(addr, len, prot, flags, fd, offset); - close(fd); -#endif /* MAP_ANONYMOUS */ - - return result; -} diff --git a/osdep/mmap_anon.h b/osdep/mmap_anon.h deleted file mode 100644 index 577f685838..0000000000 --- a/osdep/mmap_anon.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_MMAP_ANON_H -#define MPLAYER_MMAP_ANON_H - -#include - -void *mmap_anon(void *, size_t, int, int, off_t); - -#endif /* MPLAYER_MMAP_ANON_H */ -- cgit v1.2.3