Hi Marcus,

thanks for the patch. Applied and pushed.

best regards
 Waldemar

Marcus Haehnel wrote,

> The _dl_auxvt is also used on non shared builds to access the values of
> the vector from getauxval. Putting the definitions in ldso.h leads to
> issues because that header also implements fcntl.h functionality making
> it incompatible with files that include that header directly.
> 
> Factor out the _dl_auxvt related declarations to a new header dl-auxvt.h
> and include from ldso.h as well as include it directly from
> __uClibc_main.c to make the definitions available.
> 
> Signed-off-by: Marcus Haehnel <marcus.haeh...@kernkonzept.com>
> ---
>  ldso/include/dl-auxvt.h             | 9 +++++++++
>  ldso/include/ldso.h                 | 6 +-----
>  libc/misc/internals/__uClibc_main.c | 2 +-
>  3 files changed, 11 insertions(+), 6 deletions(-)
>  create mode 100644 ldso/include/dl-auxvt.h
> 
> diff --git a/ldso/include/dl-auxvt.h b/ldso/include/dl-auxvt.h
> new file mode 100644
> index 000000000..29eda6eb3
> --- /dev/null
> +++ b/ldso/include/dl-auxvt.h
> @@ -0,0 +1,9 @@
> +#ifndef _DL_AUXVT_H
> +#define _DL_AUXVT_H
> +
> +#define AUX_MAX_AT_ID 40
> +extern ElfW(auxv_t) _dl_auxvt[AUX_MAX_AT_ID]; /* Cache frequently accessed 
> auxiliary vector entries */
> +extern ElfW(auxv_t) *_dl_auxv_start;          /* Start of the auxiliary 
> vector */
> +
> +#endif /* _DL_AUXVT_H */
> +
> diff --git a/ldso/include/ldso.h b/ldso/include/ldso.h
> index a2c3ec040..061d8a536 100755
> --- a/ldso/include/ldso.h
> +++ b/ldso/include/ldso.h
> @@ -34,7 +34,6 @@
>  #include <stdarg.h>
>  #include <stddef.h> /* for ptrdiff_t */
>  #include <stdbool.h>
> -#if !defined(_FCNTL_H)
>  #define _FCNTL_H
>  /* We need this if arch has only new syscalls defined */
>  #ifndef AT_FDCWD
> @@ -191,11 +190,8 @@ extern void *_dl_get_ready_to_run(struct elf_resolve 
> *tpnt, DL_LOADADDR_TYPE loa
>  #include <dl-elf.h>
>  
>  #endif
> -#endif /* _FCNTL_H */
>  
> -#define AUX_MAX_AT_ID 40
> -extern ElfW(auxv_t) _dl_auxvt[AUX_MAX_AT_ID]; /* Cache frequently accessed 
> auxiliary vector entries */
> -extern ElfW(auxv_t) *_dl_auxv_start;          /* Start of the auxiliary 
> vector */
> +#include <dl-auxvt.h>
>  
>  void load_vdso(void *sys_info_ehdr, char **envp );
>  
> diff --git a/libc/misc/internals/__uClibc_main.c 
> b/libc/misc/internals/__uClibc_main.c
> index 87f80d4f2..60695b6ed 100644
> --- a/libc/misc/internals/__uClibc_main.c
> +++ b/libc/misc/internals/__uClibc_main.c
> @@ -84,7 +84,7 @@ static void fdpic_init_array_jump(void *addr)
>  #ifndef SHARED
>  void *__libc_stack_end = NULL;
>  
> -#include "ldso.h" /* Needed for _dl_auxvt */
> +#include "dl-auxvt.h"
>  
>  # ifdef __UCLIBC_HAS_SSP__
>  #  include <dl-osinfo.h>
> -- 
> 2.47.1
> 
> _______________________________________________
> devel mailing list -- devel@uclibc-ng.org
> To unsubscribe send an email to devel-le...@uclibc-ng.org
> 
_______________________________________________
devel mailing list -- devel@uclibc-ng.org
To unsubscribe send an email to devel-le...@uclibc-ng.org

Reply via email to