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 #include ]) -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 -#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 + * Copyright © 2012 Guillem Jover * * 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;