Minor tweaks to style and comments.

This commit is contained in:
Lasse Collin 2023-06-27 17:24:49 +03:00 committed by Jia Tan
parent 23fb9e3a32
commit b4cf7a2822
2 changed files with 9 additions and 8 deletions

View File

@ -371,7 +371,7 @@ if(ENABLE_THREADS)
# #
# The Win95 threading lacks thread-safe one-time initialization # The Win95 threading lacks thread-safe one-time initialization
# function. # function.
if (ENABLE_SMALL) if(ENABLE_SMALL)
message(SEND_ERROR "Threading method win95 and ENABLE_SMALL " message(SEND_ERROR "Threading method win95 and ENABLE_SMALL "
"cannot be used at the same time") "cannot be used at the same time")
endif() endif()
@ -772,9 +772,9 @@ if(ALLOW_ATTR_IFUNC)
set(CMAKE_REQUIRED_FLAGS "-Werror") set(CMAKE_REQUIRED_FLAGS "-Werror")
check_c_source_compiles(" check_c_source_compiles("
static void func(void) { return; } static void func(void) { return; }
static void (*resolve_func (void)) (void) { return func; } static void (*resolve_func(void)) (void) { return func; }
void func_ifunc (void) void func_ifunc(void)
__attribute__ ((__ifunc__ (\"resolve_func\"))); __attribute__((__ifunc__(\"resolve_func\")));
int main(void) { return 0; } int main(void) { return 0; }
" "
HAVE_FUNC_ATTRIBUTE_IFUNC) HAVE_FUNC_ATTRIBUTE_IFUNC)

View File

@ -859,11 +859,12 @@ AC_COMPILE_IFELSE([
], [ ], [
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
]) ])
CFLAGS="$OLD_CFLAGS" CFLAGS="$OLD_CFLAGS"
# __attribute__((__ifunc__())) can be used for one-time initializations, # __attribute__((__ifunc__())) can be used to choose between different
# similar to __attribute__((__constructor__)). # implementations of the same function at runtime. This is slightly more
# efficient than using __attribute__((__constructor__)) and setting
# a function pointer.
AC_ARG_ENABLE([ifunc], [AS_HELP_STRING([--disable-ifunc], AC_ARG_ENABLE([ifunc], [AS_HELP_STRING([--disable-ifunc],
[do not use __attribute__((__ifunc__()))])], [do not use __attribute__((__ifunc__()))])],
[], [enable_ifunc=yes]) [], [enable_ifunc=yes])
@ -876,7 +877,7 @@ if test "x$enable_ifunc" = xyes ; then
static void func(void) { return; } static void func(void) { return; }
static void (*resolve_func (void)) (void) { return func; } static void (*resolve_func (void)) (void) { return func; }
void func_ifunc (void) void func_ifunc (void)
__attribute__ ((__ifunc__ ("resolve_func"))); __attribute__((__ifunc__("resolve_func")));
], [ ], [
AC_DEFINE([HAVE_FUNC_ATTRIBUTE_IFUNC], [1], AC_DEFINE([HAVE_FUNC_ATTRIBUTE_IFUNC], [1],
[Define to 1 if __attribute__((__ifunc__())) [Define to 1 if __attribute__((__ifunc__()))