diff options
Diffstat (limited to 'main/libbsd/Revert_Force_setproctitle_into_.init_array_section.patch')
-rw-r--r-- | main/libbsd/Revert_Force_setproctitle_into_.init_array_section.patch | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/main/libbsd/Revert_Force_setproctitle_into_.init_array_section.patch b/main/libbsd/Revert_Force_setproctitle_into_.init_array_section.patch new file mode 100644 index 000000000..5d5b215a8 --- /dev/null +++ b/main/libbsd/Revert_Force_setproctitle_into_.init_array_section.patch @@ -0,0 +1,77 @@ +diff -rupN a/configure.ac b/configure.ac +--- a/configure.ac 2013-07-14 13:34:07.000000000 +0200 ++++ b/configure.ac 2013-11-12 10:27:39.986117039 +0100 +@@ -60,51 +60,6 @@ AC_CHECK_DECL([F_CLOSEM], + [#include <limits.h> + #include <fcntl.h>]) + +-AC_CACHE_CHECK( +- [for GNU .init_array section support], +- [libbsd_cv_gnu_init_array_support], +- [AC_RUN_IFELSE( +- [AC_LANG_SOURCE( +-[[ +-static int rc = 1; +-static void init(int argc) { if (argc == 1) rc = 0; } +-void (*init_func)(int argc) __attribute__((section(".init_array"))) = init; +-int main() { return rc; } +-]] +- )], +- [libbsd_cv_gnu_init_array_support=yes], +- [libbsd_cv_gnu_init_array_support=no], +- [AC_PREPROC_IFELSE( +- [AC_LANG_SOURCE( +-[[ +-/* Look for a known libc that supports .init_array with the GNU extension +- * to pass main() arguments to the init functions. */ +-#include <stdlib.h> +-#if defined __GLIBC_PREREQ +-# if __GLIBC_PREREQ(2, 4) +-/* glibc supports GNU .init_array since 2.4. */ +-# else +-# error glibc does not support GNU .init_array +-# endif +-#else +-/* +- * Basic SysV ABI .init_array support, init functions do not get arguments: +- * - Bionic since its inception. +- * - uClibc since 0.9.29. +- */ +-# error unknown whether libc supports GNU .init_array +-#endif +-]] +- )], +- [libbsd_cv_gnu_init_array_support=yes], +- [libbsd_cv_gnu_init_array_support=no]) +- ] +- )] +-) +-if test "$libbsd_cv_gnu_init_array_support" = no; then +- AC_MSG_ERROR([missing required GNU .init_array section support]) +-fi +- + # Checks for library functions. + AC_MSG_CHECKING([for program_invocation_short_name]) + AC_LINK_IFELSE( +diff -rupN a/src/setproctitle.c b/src/setproctitle.c +--- a/src/setproctitle.c 2013-07-14 13:34:07.000000000 +0200 ++++ b/src/setproctitle.c 2013-11-12 10:28:55.332787881 +0100 +@@ -1,6 +1,6 @@ + /* + * Copyright © 2010 William Ahern +- * Copyright © 2012-2013 Guillem Jover <guillem@hadrons.org> ++ * Copyright © 2012 Guillem Jover <guillem@hadrons.org> + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the +@@ -155,8 +155,8 @@ spt_copyargs(int argc, char *argv[]) + return 0; + } + +-void +-setproctitle_init(int argc, char *argv[], char *envp[]) ++static void ++spt_init(int argc, char *argv[], char *envp[]) + { + char *base, *end, *nul, *tmp; + int i, envc, error; |