Re: [PATCH] Only use _FILE_OFFSET_BITS with __GLIBC__

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 7, 2019 at 12:32 PM Heiko Becker <heirecka@xxxxxxxxxxx> wrote:
>
> It's a glibc specific macro. With the musl libc {,l}stat64 are just

Is it really glibc-specific? Just grepping uClibc for example returns
the macro there - this would probably break this libc. Do we have a
macro like this to test for musl? Another options would be to check if
these "functions" are implemented like macros and avoid the wrappers
in this case.

Lucas De Marchi

> a macro defined for compatibility and off_t is always 64bit. The
> former's expansion causes a build error though:
> "...testsuite/path.c:191:21: error: redefinition of 'stat'".
> ---
>  testsuite/path.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/testsuite/path.c b/testsuite/path.c
> index fa5fceb..74db898 100644
> --- a/testsuite/path.c
> +++ b/testsuite/path.c
> @@ -187,7 +187,7 @@ WRAP_2ARGS(int, -1, mkdir, mode_t);
>  WRAP_2ARGS(int, -1, access, int);
>  WRAP_2ARGS(int, -1, stat, struct stat*);
>  WRAP_2ARGS(int, -1, lstat, struct stat*);
> -#ifndef _FILE_OFFSET_BITS
> +#if defined(__GLIBC__) && !defined(_FILE_OFFSET_BITS)
>  WRAP_2ARGS(int, -1, stat64, struct stat64*);
>  WRAP_2ARGS(int, -1, lstat64, struct stat64*);
>  WRAP_OPEN(64);
> @@ -198,7 +198,7 @@ WRAP_OPEN();
>  #ifdef HAVE___XSTAT
>  WRAP_VERSTAT(__x,);
>  WRAP_VERSTAT(__lx,);
> -#ifndef _FILE_OFFSET_BITS
> +#if defined(__GLIBC__) && !defined(_FILE_OFFSET_BITS)
>  WRAP_VERSTAT(__x,64);
>  WRAP_VERSTAT(__lx,64);
>  #endif
> --
> 2.21.0
>


-- 
Lucas De Marchi



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux