[PATCH 5/7] ldso: Fix Build warnings with common-generic ABI build

Markos Chandras markos.chandras at gmail.com
Mon Mar 11 13:35:49 UTC 2013


On 11 March 2013 13:21, Vineet Gupta <Vineet.Gupta1 at synopsys.com> wrote:
>   CC ldso/ldso/ldso.oS
> In file included from ./ldso/include/ldso.h:47,
>                  from ldso/ldso/ldso.c:33:
> ./ldso/include/dl-syscall.h:35:1: warning: "S_ISUID" redefined
> In file included from ./include/bits/kernel_stat.h:10,
>                  from ./ldso/include/dl-syscall.h:31,
>                  from ./ldso/include/ldso.h:47,
>                  from ldso/ldso/ldso.c:33:
> ./include/sys/stat.h:163:1: warning: this is the location of the
> previous definition
> In file included from ./ldso/include/ldso.h:47,
>                  from ldso/ldso/ldso.c:33:
> ./ldso/include/dl-syscall.h:36:1: warning: "S_ISGID" redefined
> In file included from ./include/bits/kernel_stat.h:10,
>                  from ./ldso/include/dl-syscall.h:31,
>                  from ./ldso/include/ldso.h:47,
>                  from ldso/ldso/ldso.c:33:
> ./include/sys/stat.h:164:1: warning: this is the location of the
> previous definition
>
> -----------------------------------------------------------------
>
> Cleanly seperated the legacy ABI vs. new ABI scenario.
>
> Signed-off-by: Vineet Gupta <vgupta at synopsys.com>
> Cc: Markos Chandras <markos.chandras at imgtec.com>
> ---
>  ldso/include/dl-syscall.h |   11 ++++++++++-
>  1 files changed, 10 insertions(+), 1 deletions(-)
>
> diff --git a/ldso/include/dl-syscall.h b/ldso/include/dl-syscall.h
> index b1f69ab..675b93a 100644
> --- a/ldso/include/dl-syscall.h
> +++ b/ldso/include/dl-syscall.h
> @@ -20,10 +20,12 @@ extern int _dl_errno;
>  /*  For MAP_ANONYMOUS -- differs between platforms */
>  #define _SYS_MMAN_H 1
>  #include <bits/mman.h>
> +
> +#ifdef __ARCH_HAS_DEPRECATED_SYSCALLS__
>  /* Pull in whatever this particular arch's kernel thinks the kernel version of
>   * struct stat should look like.  It turns out that each arch has a different
>   * opinion on the subject, and different kernel revs use different names... */
> -#if !defined __NR_stat || (defined(__sparc_v9__) && (__WORDSIZE == 64))
> +#if defined(__sparc_v9__) && (__WORDSIZE == 64)
>  #define kernel_stat64 stat
>  #else
>  #define kernel_stat stat
> @@ -35,6 +37,13 @@ extern int _dl_errno;
>  #define        S_ISUID         04000   /* Set user ID on execution.  */
>  #define        S_ISGID         02000   /* Set group ID on execution.  */
>
> +#else
> +/* 1. common-generic ABI doesn't need kernel_stat translation
> + * 3. S_IS?ID already provided by stat.h
> + */
> +#include <sys/stat.h>
> +#endif
> +
>
>  /* Here are the definitions for some syscalls that are used
>     by the dynamic linker.  The idea is that we want to be able
> --
> 1.7.4.1
>
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc

Looks good to me. Thanks

-- 
Regards,
Markos Chandras


More information about the uClibc mailing list