mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-08 17:22:05 +03:00
Resolve conflicts for functions introduced in Android API level 34.
* lib/string.in.h (memset_explicit): Consider REPLACE_MEMSET_EXPLICIT. * m4/string_h.m4 (gl_STRING_H_DEFAULTS): Initialize REPLACE_MEMSET_EXPLICIT. * modules/string (Makefile.am): Substitute REPLACE_MEMSET_EXPLICIT. * m4/memset_explicit.m4 (gl_FUNC_MEMSET_EXPLICIT): Test for memset_explicit using gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE. Conditionally set REPLACE_MEMSET_EXPLICIT. * modules/memset_explicit (configure.ac): Consider REPLACE_MEMSET_EXPLICIT. * doc/posix-functions/memset_explicit.texi: Mention the Android API levels.
This commit is contained in:
12
ChangeLog
12
ChangeLog
@@ -2,6 +2,18 @@
|
|||||||
|
|
||||||
Resolve conflicts for functions introduced in Android API level 34.
|
Resolve conflicts for functions introduced in Android API level 34.
|
||||||
|
|
||||||
|
* lib/string.in.h (memset_explicit): Consider REPLACE_MEMSET_EXPLICIT.
|
||||||
|
* m4/string_h.m4 (gl_STRING_H_DEFAULTS): Initialize
|
||||||
|
REPLACE_MEMSET_EXPLICIT.
|
||||||
|
* modules/string (Makefile.am): Substitute REPLACE_MEMSET_EXPLICIT.
|
||||||
|
* m4/memset_explicit.m4 (gl_FUNC_MEMSET_EXPLICIT): Test for
|
||||||
|
memset_explicit using gl_CHECK_FUNCS_ANDROID instead of
|
||||||
|
AC_CHECK_FUNCS_ONCE. Conditionally set REPLACE_MEMSET_EXPLICIT.
|
||||||
|
* modules/memset_explicit (configure.ac): Consider
|
||||||
|
REPLACE_MEMSET_EXPLICIT.
|
||||||
|
* doc/posix-functions/memset_explicit.texi: Mention the Android API
|
||||||
|
levels.
|
||||||
|
|
||||||
* m4/freadahead.m4 (gl_FUNC_FREADAHEAD): Test for __freadahead using
|
* m4/freadahead.m4 (gl_FUNC_FREADAHEAD): Test for __freadahead using
|
||||||
gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
|
gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
|
||||||
* lib/freadahead.h: Update comment.
|
* lib/freadahead.h: Update comment.
|
||||||
|
@@ -29,7 +29,7 @@ Portability problems fixed by Gnulib:
|
|||||||
@itemize
|
@itemize
|
||||||
@item
|
@item
|
||||||
This function is missing on some platforms:
|
This function is missing on some platforms:
|
||||||
glibc 2.36, FreeBSD 13.1, NetBSD 9.3, OpenBSD 7.2, macOS 13, Solaris 11.4, Android 13,
|
glibc 2.36, FreeBSD 13.1, NetBSD 9.3, OpenBSD 7.2, macOS 13, Solaris 11.4, Android API level 33,
|
||||||
and many other systems.
|
and many other systems.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
|
@@ -414,11 +414,21 @@ _GL_WARN_ON_USE (memrchr, "memrchr is unportable - "
|
|||||||
/* Overwrite a block of memory. The compiler will not optimize
|
/* Overwrite a block of memory. The compiler will not optimize
|
||||||
effects away, even if the block is dead after the call. */
|
effects away, even if the block is dead after the call. */
|
||||||
#if @GNULIB_MEMSET_EXPLICIT@
|
#if @GNULIB_MEMSET_EXPLICIT@
|
||||||
# if ! @HAVE_MEMSET_EXPLICIT@
|
# if @REPLACE_MEMSET_EXPLICIT@
|
||||||
|
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||||
|
# undef memset_explicit
|
||||||
|
# define memset_explicit rpl_memset_explicit
|
||||||
|
# endif
|
||||||
|
_GL_FUNCDECL_RPL (memset_explicit, void *,
|
||||||
|
(void *__dest, int __c, size_t __n) _GL_ARG_NONNULL ((1)));
|
||||||
|
_GL_CXXALIAS_RPL (memset_explicit, void *, (void *__dest, int __c, size_t __n));
|
||||||
|
# else
|
||||||
|
# if !@HAVE_MEMSET_EXPLICIT@
|
||||||
_GL_FUNCDECL_SYS (memset_explicit, void *,
|
_GL_FUNCDECL_SYS (memset_explicit, void *,
|
||||||
(void *__dest, int __c, size_t __n) _GL_ARG_NONNULL ((1)));
|
(void *__dest, int __c, size_t __n) _GL_ARG_NONNULL ((1)));
|
||||||
# endif
|
# endif
|
||||||
_GL_CXXALIAS_SYS (memset_explicit, void *, (void *__dest, int __c, size_t __n));
|
_GL_CXXALIAS_SYS (memset_explicit, void *, (void *__dest, int __c, size_t __n));
|
||||||
|
# endif
|
||||||
_GL_CXXALIASWARN (memset_explicit);
|
_GL_CXXALIASWARN (memset_explicit);
|
||||||
#elif defined GNULIB_POSIXCHECK
|
#elif defined GNULIB_POSIXCHECK
|
||||||
# undef memset_explicit
|
# undef memset_explicit
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
# memset_explicit.m4 serial 2
|
||||||
dnl Copyright 2022-2024 Free Software Foundation, Inc.
|
dnl Copyright 2022-2024 Free Software Foundation, Inc.
|
||||||
dnl This file is free software; the Free Software Foundation
|
dnl This file is free software; the Free Software Foundation
|
||||||
dnl gives unlimited permission to copy and/or distribute it,
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
@@ -7,9 +8,12 @@ AC_DEFUN([gl_FUNC_MEMSET_EXPLICIT],
|
|||||||
[
|
[
|
||||||
AC_REQUIRE([gl_STRING_H_DEFAULTS])
|
AC_REQUIRE([gl_STRING_H_DEFAULTS])
|
||||||
|
|
||||||
AC_CHECK_FUNCS_ONCE([memset_explicit])
|
gl_CHECK_FUNCS_ANDROID([memset_explicit], [[#include <string.h>]])
|
||||||
if test $ac_cv_func_memset_explicit = no; then
|
if test $ac_cv_func_memset_explicit = no; then
|
||||||
HAVE_MEMSET_EXPLICIT=0
|
HAVE_MEMSET_EXPLICIT=0
|
||||||
|
case "$gl_cv_onwards_func_memset_explicit" in
|
||||||
|
future*) REPLACE_MEMSET_EXPLICIT=1 ;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
# serial 38
|
# serial 39
|
||||||
|
|
||||||
# Written by Paul Eggert.
|
# Written by Paul Eggert.
|
||||||
|
|
||||||
@@ -132,6 +132,7 @@ AC_DEFUN([gl_STRING_H_DEFAULTS],
|
|||||||
REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR])
|
REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR])
|
||||||
REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM])
|
REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM])
|
||||||
REPLACE_MEMPCPY=0; AC_SUBST([REPLACE_MEMPCPY])
|
REPLACE_MEMPCPY=0; AC_SUBST([REPLACE_MEMPCPY])
|
||||||
|
REPLACE_MEMSET_EXPLICIT=0; AC_SUBST([REPLACE_MEMSET_EXPLICIT])
|
||||||
REPLACE_STPCPY=0; AC_SUBST([REPLACE_STPCPY])
|
REPLACE_STPCPY=0; AC_SUBST([REPLACE_STPCPY])
|
||||||
REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY])
|
REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY])
|
||||||
REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL])
|
REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL])
|
||||||
|
@@ -10,7 +10,8 @@ string
|
|||||||
|
|
||||||
configure.ac:
|
configure.ac:
|
||||||
gl_FUNC_MEMSET_EXPLICIT
|
gl_FUNC_MEMSET_EXPLICIT
|
||||||
gl_CONDITIONAL([GL_COND_OBJ_MEMSET_EXPLICIT], [test $HAVE_MEMSET_EXPLICIT = 0])
|
gl_CONDITIONAL([GL_COND_OBJ_MEMSET_EXPLICIT],
|
||||||
|
[test $HAVE_MEMSET_EXPLICIT = 0 || test $REPLACE_MEMSET_EXPLICIT = 1])
|
||||||
AM_COND_IF([GL_COND_OBJ_MEMSET_EXPLICIT], [
|
AM_COND_IF([GL_COND_OBJ_MEMSET_EXPLICIT], [
|
||||||
gl_PREREQ_MEMSET_EXPLICIT
|
gl_PREREQ_MEMSET_EXPLICIT
|
||||||
])
|
])
|
||||||
|
@@ -110,6 +110,7 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
|||||||
-e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
|
-e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
|
||||||
-e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
|
-e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
|
||||||
-e 's|@''REPLACE_MEMPCPY''@|$(REPLACE_MEMPCPY)|g' \
|
-e 's|@''REPLACE_MEMPCPY''@|$(REPLACE_MEMPCPY)|g' \
|
||||||
|
-e 's|@''REPLACE_MEMSET_EXPLICIT''@|$(REPLACE_MEMSET_EXPLICIT)|g' \
|
||||||
-e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
|
-e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
|
||||||
-e 's|@''REPLACE_STPCPY''@|$(REPLACE_STPCPY)|g' \
|
-e 's|@''REPLACE_STPCPY''@|$(REPLACE_STPCPY)|g' \
|
||||||
-e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
|
-e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
|
||||||
|
Reference in New Issue
Block a user