]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: initcall: uniformize the section names between MacOS and other unixes
authorWilly Tarreau <w@1wt.eu>
Sat, 10 Apr 2021 13:43:17 +0000 (15:43 +0200)
committerWilly Tarreau <w@1wt.eu>
Sat, 10 Apr 2021 17:27:41 +0000 (19:27 +0200)
Due to length restrictions on OSX the initcall sections are called "i_"
there while they're called "init_" on other OSes. However the start and
end of sections are still called "__start_init_" and "__stop_init_",
which forces to have distinct code between the OSes. Let's switch everyone
to "i_" and rename the symbols accordingly.

include/haproxy/initcall.h

index eb7369b93be8913006682d5730d40d2f4e19031b..7066cfcd9a2c6b96a1c7f3cbc2cb404cf9c4c08a 100644 (file)
@@ -85,7 +85,7 @@ struct initcall {
 #ifdef __APPLE__
 #define HA_SECTION(s) __section__("__DATA, i_" # s)
 #else
-#define HA_SECTION(s) __section__("init_" # s)
+#define HA_SECTION(s) __section__("i_" # s)
 #endif
 
 /* Declare a static variable in the init section dedicated to stage <stg>,
@@ -101,8 +101,8 @@ struct initcall {
 #define __GLOBL1(sym)   __asm__(".globl " #sym)
 #define __GLOBL(sym)    __GLOBL1(sym)
 #define __DECLARE_INITCALL(stg, linenum, function, a1, a2, a3)     \
-        __GLOBL(__start_init_##stg );                              \
-       __GLOBL(__stop_init_##stg );                               \
+        __GLOBL(__start_i_##stg );                                 \
+        __GLOBL(__stop_i_##stg );                                  \
        static const struct initcall *__initcb_##linenum           \
            __attribute__((__used__,HA_SECTION(stg))) =            \
                (stg < STG_SIZE) ? &(const struct initcall) {      \
@@ -179,7 +179,7 @@ __attribute__((constructor)) static void __initcb_##linenum()      \
  * stage <stg>.
  */
 #define FOREACH_INITCALL(p,stg)                                               \
-       for ((p) = &(__start_init_##stg); (p) < &(__stop_init_##stg); (p)++)
+       for ((p) = &(__start_i_##stg); (p) < &(__stop_i_##stg); (p)++)
 
 #else // USE_OBSOLETE_LINKER
 
@@ -197,13 +197,13 @@ __attribute__((constructor)) static void __initcb_##linenum()      \
  */
 #ifdef __APPLE__
 #define DECLARE_INIT_SECTION(stg)                                                   \
-       extern __attribute__((__weak__)) const struct initcall *__start_init_##stg __asm("section$start$__DATA$i_" # stg); \
-       extern __attribute__((__weak__)) const struct initcall *__stop_init_##stg __asm("section$end$__DATA$i_" # stg)
+       extern __attribute__((__weak__)) const struct initcall *__start_i_##stg __asm("section$start$__DATA$i_" # stg); \
+       extern __attribute__((__weak__)) const struct initcall *__stop_i_##stg __asm("section$end$__DATA$i_" # stg)
 
 #else
 #define DECLARE_INIT_SECTION(stg)                                                   \
-       extern __attribute__((__weak__)) const struct initcall *__start_init_##stg; \
-       extern __attribute__((__weak__)) const struct initcall *__stop_init_##stg
+       extern __attribute__((__weak__)) const struct initcall *__start_i_##stg; \
+       extern __attribute__((__weak__)) const struct initcall *__stop_i_##stg
 #endif
 
 /* Declare all initcall sections here */