]> git.ipfire.org Git - thirdparty/libbsd.git/commitdiff
build: Enable .init_array support when building with LTO
authorVictor Westerhuis <victor@westerhu.is>
Fri, 26 Nov 2021 19:01:18 +0000 (20:01 +0100)
committerGuillem Jover <guillem@hadrons.org>
Sat, 27 Nov 2021 05:51:02 +0000 (06:51 +0100)
Because these symbols are not otherwise referenced, GCC would like
to remove them.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
configure.ac
src/setproctitle_ctor.c

index 645a95b0c6e136b91cdb91406bc81aae5756bc72..806b7d38f69c84e6397dd36ffba2450d1f55b073 100644 (file)
@@ -175,7 +175,7 @@ AC_CACHE_CHECK(
 [[
 static int rc = 1;
 static void init(int argc) { if (argc == 1) rc = 0; }
-void (*init_func)(int argc) __attribute__((__section__(".init_array"))) = init;
+void (*init_func)(int argc) __attribute__((__section__(".init_array"), __used__)) = init;
 int main() { return rc; }
 ]]
                )],
index 2c5b6d0d6eaa37420ec22e2988e7dc2976572415..f25dbfc1b88a9ff3dc0a33e8f969fe12a3a29be1 100644 (file)
@@ -49,4 +49,4 @@
  * move them from .ctors to .init_array.
  */
 void (*libbsd_init_func)(int argc, char *argv[], char *envp[])
-       __attribute__((__section__(".init_array"))) = setproctitle_init;
+       __attribute__((__section__(".init_array"), __used__)) = setproctitle_init;