diff options
author | DJ Delorie <dj@redhat.com> | 2010-10-06 23:01:30 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2010-10-06 23:01:30 +0000 |
commit | 9711ae4d9fb353051cbce8d4f72ce25bdf988f74 (patch) | |
tree | 84dde83f5042262f2c4471750a0142eb633e9d0f /libiberty | |
parent | b98aa77cb421596fe1a8cc61737bffd021f282ea (diff) | |
download | fsf-binutils-gdb-9711ae4d9fb353051cbce8d4f72ce25bdf988f74.zip fsf-binutils-gdb-9711ae4d9fb353051cbce8d4f72ce25bdf988f74.tar.gz fsf-binutils-gdb-9711ae4d9fb353051cbce8d4f72ce25bdf988f74.tar.bz2 |
merge from gcc
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 11 | ||||
-rw-r--r-- | libiberty/Makefile.in | 13 | ||||
-rw-r--r-- | libiberty/config.in | 16 | ||||
-rwxr-xr-x | libiberty/configure | 31 | ||||
-rw-r--r-- | libiberty/configure.ac | 14 | ||||
-rw-r--r-- | libiberty/functions.texi | 10 | ||||
-rw-r--r-- | libiberty/setproctitle.c | 47 |
7 files changed, 129 insertions, 13 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 77f7fe3..9316975 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,14 @@ +2010-10-06 Andi Kleen <ak@linux.intel.com> + + * Makefile.in (CFILES): Add setproctitle. + (CONFIGURED_OFILES): Add setproctitle. + (setproctitle): Add rule. + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Add checks for prctl PR_SET_NAME and setproctitle. + * setproctitle.c: Add file. + * functions.texi: Regenerate. + 2010-09-22 Tristan Gingold <gingold@adacore.com> * cplus-dem.c (ada_demangle): Add comments. diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in index c5e9929..1893254 100644 --- a/libiberty/Makefile.in +++ b/libiberty/Makefile.in @@ -144,7 +144,8 @@ CFILES = alloca.c argv.c asprintf.c atexit.c \ pex-unix.c pex-win32.c \ physmem.c putenv.c \ random.c regex.c rename.c rindex.c \ - safe-ctype.c setenv.c sha1.c sigsetmask.c snprintf.c sort.c \ + safe-ctype.c setenv.c setproctitle.c sha1.c sigsetmask.c \ + snprintf.c sort.c \ spaces.c splay-tree.c stpcpy.c stpncpy.c strcasecmp.c \ strchr.c strdup.c strerror.c strncasecmp.c strncmp.c \ strrchr.c strsignal.c strstr.c strtod.c strtol.c strtoul.c \ @@ -201,7 +202,9 @@ CONFIGURED_OFILES = ./asprintf.$(objext) ./atexit.$(objext) \ ./pex-unix.$(objext) ./pex-win32.$(objext) \ ./putenv.$(objext) \ ./random.$(objext) ./rename.$(objext) ./rindex.$(objext) \ - ./setenv.$(objext) ./sigsetmask.$(objext) ./snprintf.$(objext) \ + ./setenv.$(objext) \ + ./setproctitle.$(objext) \ + ./sigsetmask.$(objext) ./snprintf.$(objext) \ ./stpcpy.$(objext) ./stpncpy.$(objext) ./strcasecmp.$(objext) \ ./strchr.$(objext) ./strdup.$(objext) ./strncasecmp.$(objext) \ ./strncmp.$(objext) ./strndup.$(objext) ./strrchr.$(objext) \ @@ -944,6 +947,12 @@ $(CONFIGURED_OFILES): stamp-picdir else true; fi $(COMPILE.c) $(srcdir)/setenv.c $(OUTPUT_OPTION) +./setproctitle.$(objext): $(srcdir)/setproctitle.c config.h $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/setproctitle.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/setproctitle.c $(OUTPUT_OPTION) + ./sha1.$(objext): $(srcdir)/sha1.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/sha1.h if [ x"$(PICFLAG)" != x ]; then \ $(COMPILE.c) $(PICFLAG) $(srcdir)/sha1.c -o pic/$@; \ diff --git a/libiberty/config.in b/libiberty/config.in index 1931648..02d93da 100644 --- a/libiberty/config.in +++ b/libiberty/config.in @@ -44,8 +44,8 @@ don't. */ #undef HAVE_DECL_ASPRINTF -/* Define to 1 if you have the declaration of `basename', and to 0 if you - don't. */ +/* Define to 1 if you have the declaration of `basename(char *)', and to 0 if + you don't. */ #undef HAVE_DECL_BASENAME /* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. @@ -154,9 +154,6 @@ /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H -/* Define to 1 if you have the `mempcpy' function. */ -#undef HAVE_MEMPCPY - /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET @@ -169,6 +166,9 @@ /* Define to 1 if you have the `on_exit' function. */ #undef HAVE_ON_EXIT +/* Define if you have prctl PR_SET_NAME */ +#undef HAVE_PRCTL_SET_NAME + /* Define to 1 if you have the `psignal' function. */ #undef HAVE_PSIGNAL @@ -199,6 +199,9 @@ /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV +/* Define to 1 if you have the `setproctitle' function. */ +#undef HAVE_SETPROCTITLE + /* Define to 1 if you have the `sigsetmask' function. */ #undef HAVE_SIGSETMASK @@ -358,9 +361,6 @@ /* Define to 1 if you have the `vprintf' function. */ #undef HAVE_VPRINTF -/* Define to 1 if you have the `vsnprintf' function. */ -#undef HAVE_VSNPRINTF - /* Define to 1 if you have the `vsprintf' function. */ #undef HAVE_VSPRINTF diff --git a/libiberty/configure b/libiberty/configure index 9a3b2d3..7ff7792 100755 --- a/libiberty/configure +++ b/libiberty/configure @@ -5276,6 +5276,7 @@ funcs="$funcs vprintf" funcs="$funcs vsnprintf" funcs="$funcs vsprintf" funcs="$funcs waitpid" +funcs="$funcs setproctitle" # Also in the old function.def file: alloca, vfork, getopt. @@ -5298,7 +5299,8 @@ if test "x" = "y"; then on_exit \ psignal pstat_getdynamic pstat_getstatic putenv \ random realpath rename rindex \ - sbrk setenv sigsetmask snprintf stpcpy stpncpy strcasecmp strchr strdup \ + sbrk setenv setproctitle sigsetmask snprintf stpcpy stpncpy strcasecmp strchr \ + strdup \ strerror strncasecmp strndup strrchr strsignal strstr strtod strtol \ strtoul strverscmp sysconf sysctl sysmp \ table times tmpnam \ @@ -5704,6 +5706,33 @@ fi +# check for prctl PR_SET_NAME +if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <sys/prctl.h> +int main() +{ + return (prctl(PR_SET_NAME, "foo") == 0) ? 0 : 1; +} + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +$as_echo "#define HAVE_PRCTL_SET_NAME 1" >>confdefs.h + +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + case "${host}" in *-*-cygwin* | *-*-mingw*) $as_echo "#define HAVE_SYS_ERRLIST 1" >>confdefs.h diff --git a/libiberty/configure.ac b/libiberty/configure.ac index 4de83f9..8b7be18 100644 --- a/libiberty/configure.ac +++ b/libiberty/configure.ac @@ -351,6 +351,7 @@ funcs="$funcs vprintf" funcs="$funcs vsnprintf" funcs="$funcs vsprintf" funcs="$funcs waitpid" +funcs="$funcs setproctitle" # Also in the old function.def file: alloca, vfork, getopt. @@ -373,7 +374,8 @@ if test "x" = "y"; then on_exit \ psignal pstat_getdynamic pstat_getstatic putenv \ random realpath rename rindex \ - sbrk setenv sigsetmask snprintf stpcpy stpncpy strcasecmp strchr strdup \ + sbrk setenv setproctitle sigsetmask snprintf stpcpy stpncpy strcasecmp strchr \ + strdup \ strerror strncasecmp strndup strrchr strsignal strstr strtod strtol \ strtoul strverscmp sysconf sysctl sysmp \ table times tmpnam \ @@ -533,6 +535,16 @@ fi AC_SUBST(CHECK) AC_SUBST(target_header_dir) +# check for prctl PR_SET_NAME +AC_RUN_IFELSE([AC_LANG_SOURCE([[ +#include <sys/prctl.h> +int main() +{ + return (prctl(PR_SET_NAME, "foo") == 0) ? 0 : 1; +} +]])], AC_DEFINE(HAVE_PRCTL_SET_NAME, 1, + [Define if you have prctl PR_SET_NAME])) + case "${host}" in *-*-cygwin* | *-*-mingw*) AC_DEFINE(HAVE_SYS_ERRLIST) diff --git a/libiberty/functions.texi b/libiberty/functions.texi index d9fef8c..e074ba7 100644 --- a/libiberty/functions.texi +++ b/libiberty/functions.texi @@ -667,7 +667,7 @@ relative prefix can be found, return @code{NULL}. @end deftypefn -@c make-temp-file.c:168 +@c make-temp-file.c:173 @deftypefn Replacement char* make_temp_file (const char *@var{suffix}) Return a temporary file name (as a string) or @code{NULL} if unable to @@ -1146,6 +1146,14 @@ environment. This implementation is not safe for multithreaded code. @end deftypefn +@c setproctitle.c:30 +@deftypefn Supplemental void setproctitle(const char *@var{fmt} ...) + +Set the title of a process to @var{fmt}. va args not supported for now, +but defined for compatibility with BSD. + +@end deftypefn + @c strsignal.c:348 @deftypefn Extension int signo_max (void) diff --git a/libiberty/setproctitle.c b/libiberty/setproctitle.c new file mode 100644 index 0000000..b176b41 --- /dev/null +++ b/libiberty/setproctitle.c @@ -0,0 +1,47 @@ +/* Set the title of a process. + Copyright (C) 2010 Free Software Foundation, Inc. + +This file is part of the libiberty library. +Libiberty is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +Libiberty is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with libiberty; see the file COPYING.LIB. If not, +write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +Boston, MA 02110-1301, USA. */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#ifdef HAVE_PRCTL_SET_NAME +#include <sys/prctl.h> +#endif +#include "ansidecl.h" + +/* + +@deftypefn Supplemental void setproctitle(const char *@var{fmt} ...) + +Set the title of a process to @var{fmt}. va args not supported for now, +but defined for compatibility with BSD. + +@end deftypefn + +*/ + +void +setproctitle (const char *name ATTRIBUTE_UNUSED, ...) +{ +#ifdef HAVE_PRCTL_SET_NAME + /* On Linux this sets the top visible "comm", but not necessarily + the name visible in ps. */ + prctl (PR_SET_NAME, name); +#endif +} |