diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2023-06-27 17:24:49 +0300 |
---|---|---|
committer | Jia Tan <jiat0218@gmail.com> | 2023-06-27 23:56:06 +0800 |
commit | b4cf7a2822e8d30eb2b12a1a07fd04383b10ade3 (patch) | |
tree | 193c06f6a852d755d91c20d903de2110ba0b4a37 | |
parent | CMake: Rename CHECK_ATTR_IFUNC to ALLOW_ATTR_IFUNC. (diff) | |
download | xz-b4cf7a2822e8d30eb2b12a1a07fd04383b10ade3.tar.xz |
Minor tweaks to style and comments.
-rw-r--r-- | CMakeLists.txt | 8 | ||||
-rw-r--r-- | configure.ac | 9 |
2 files changed, 9 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 66a5ded6..7aed9d9f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -371,7 +371,7 @@ if(ENABLE_THREADS) # # The Win95 threading lacks thread-safe one-time initialization # function. - if (ENABLE_SMALL) + if(ENABLE_SMALL) message(SEND_ERROR "Threading method win95 and ENABLE_SMALL " "cannot be used at the same time") endif() @@ -772,9 +772,9 @@ if(ALLOW_ATTR_IFUNC) set(CMAKE_REQUIRED_FLAGS "-Werror") check_c_source_compiles(" static void func(void) { return; } - static void (*resolve_func (void)) (void) { return func; } - void func_ifunc (void) - __attribute__ ((__ifunc__ (\"resolve_func\"))); + static void (*resolve_func(void)) (void) { return func; } + void func_ifunc(void) + __attribute__((__ifunc__(\"resolve_func\"))); int main(void) { return 0; } " HAVE_FUNC_ATTRIBUTE_IFUNC) diff --git a/configure.ac b/configure.ac index 5b764fce..193e2d6d 100644 --- a/configure.ac +++ b/configure.ac @@ -859,11 +859,12 @@ AC_COMPILE_IFELSE([ ], [ AC_MSG_RESULT([no]) ]) - CFLAGS="$OLD_CFLAGS" -# __attribute__((__ifunc__())) can be used for one-time initializations, -# similar to __attribute__((__constructor__)). +# __attribute__((__ifunc__())) can be used to choose between different +# 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], [do not use __attribute__((__ifunc__()))])], [], [enable_ifunc=yes]) @@ -876,7 +877,7 @@ if test "x$enable_ifunc" = xyes ; then static void func(void) { return; } static void (*resolve_func (void)) (void) { return func; } void func_ifunc (void) - __attribute__ ((__ifunc__ ("resolve_func"))); + __attribute__((__ifunc__("resolve_func"))); ], [ AC_DEFINE([HAVE_FUNC_ATTRIBUTE_IFUNC], [1], [Define to 1 if __attribute__((__ifunc__())) |