[Mesa-dev] [PATCH] configure.ac: Add AC_SYS_LARGEFILE

Marek Olšák maraeo at gmail.com
Tue Sep 2 02:54:49 PDT 2014


I think radeon_ctx.h is not included by Mesa, it's only included by
dumped CS traces, so it shouldn't be changed.

Marek

On Tue, Sep 2, 2014 at 9:17 AM, Michel Dänzer <michel at daenzer.net> wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> Making sure large file support is enabled across the tree even on 32-bit
> systems.
>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
> ---
>  configure.ac                                  |  2 ++
>  src/gallium/auxiliary/os/os_mman.h            | 13 +++++++++----
>  src/gallium/winsys/radeon/drm/radeon_ctx.h    |  1 -
>  src/gallium/winsys/radeon/drm/radeon_drm_bo.c |  1 -
>  src/gallium/winsys/svga/drm/Makefile.am       |  2 +-
>  5 files changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index aa7d1f2..9d2ddb4 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -57,6 +57,8 @@ AC_CHECK_PROGS([PYTHON2], [python2 python])
>  AC_PROG_SED
>  AC_PROG_MKDIR_P
>
> +AC_SYS_LARGEFILE
> +
>  LT_PREREQ([2.2])
>  LT_INIT([disable-static])
>
> diff --git a/src/gallium/auxiliary/os/os_mman.h b/src/gallium/auxiliary/os/os_mman.h
> index b48eb053..19478d2 100644
> --- a/src/gallium/auxiliary/os/os_mman.h
> +++ b/src/gallium/auxiliary/os/os_mman.h
> @@ -40,9 +40,6 @@
>  #include "pipe/p_compiler.h"
>
>  #if defined(PIPE_OS_UNIX)
> -#  ifndef _FILE_OFFSET_BITS
> -#    error _FILE_OFFSET_BITS must be defined to 64
> -#  endif
>  #  include <sys/mman.h>
>  #else
>  #  error Unsupported OS
> @@ -77,7 +74,15 @@ static INLINE void *os_mmap(void *addr, size_t length, int prot, int flags, int
>  #  define os_mmap(addr, length, prot, flags, fd, offset) mmap(addr, length, prot, flags, fd, offset)
>  #endif
>
> -#define os_munmap(addr, length) munmap(addr, length)
> +static INLINE int os_munmap(void *addr, size_t length)
> +{
> +   /* Copied from configure code generated by AC_SYS_LARGEFILE */
> +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
> +   STATIC_ASSERT(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1);
> +#undef LARGE_OFF_T
> +
> +   return munmap(addr, length);
> +}
>
>
>  #ifdef __cplusplus
> diff --git a/src/gallium/winsys/radeon/drm/radeon_ctx.h b/src/gallium/winsys/radeon/drm/radeon_ctx.h
> index 5618b3a..d027016 100644
> --- a/src/gallium/winsys/radeon/drm/radeon_ctx.h
> +++ b/src/gallium/winsys/radeon/drm/radeon_ctx.h
> @@ -26,7 +26,6 @@
>  #ifndef RADEON_CTX_H
>  #define RADEON_CTX_H
>
> -#define _FILE_OFFSET_BITS 64
>  #include <sys/mman.h>
>
>  #include <errno.h>
> diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
> index 03b9b1d..5a5a2f1 100644
> --- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
> +++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
> @@ -24,7 +24,6 @@
>   * of the Software.
>   */
>
> -#define _FILE_OFFSET_BITS 64
>  #include "radeon_drm_cs.h"
>
>  #include "util/u_hash_table.h"
> diff --git a/src/gallium/winsys/svga/drm/Makefile.am b/src/gallium/winsys/svga/drm/Makefile.am
> index 953e166..3b95b47 100644
> --- a/src/gallium/winsys/svga/drm/Makefile.am
> +++ b/src/gallium/winsys/svga/drm/Makefile.am
> @@ -30,7 +30,7 @@ AM_CFLAGS = \
>         $(LIBDRM_CFLAGS)
>
>  #On some systems -std= must be added to CFLAGS to be the last -std=
> -CFLAGS += -std=gnu99 -D_FILE_OFFSET_BITS=64
> +CFLAGS += -std=gnu99
>
>  noinst_LTLIBRARIES = libsvgadrm.la
>
> --
> 2.1.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list