diff options
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/Makefile | 4 | ||||
-rw-r--r-- | stdlib/atexit.c | 11 | ||||
-rw-r--r-- | stdlib/cxa_finalize.c | 4 | ||||
-rw-r--r-- | stdlib/stdlib.h | 16 |
4 files changed, 14 insertions, 21 deletions
diff --git a/stdlib/Makefile b/stdlib/Makefile index ecda85b0dd..b4518b2bb3 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -104,10 +104,6 @@ CFLAGS-strfmon.c = -D_IO_MTSAFE_IO CFLAGS-strfmon_l.c = -D_IO_MTSAFE_IO endif -ifeq (yes,$(have-protected)) -CFLAGS-atexit.c = -DHAVE_DOT_HIDDEN -endif - CFLAGS-tst-bsearch.c = $(stack-align-test-flags) CFLAGS-tst-qsort.c = $(stack-align-test-flags) diff --git a/stdlib/atexit.c b/stdlib/atexit.c index 307662bdcd..256c5fcfc0 100644 --- a/stdlib/atexit.c +++ b/stdlib/atexit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1996, 1999, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1996, 1999, 2001, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,14 +43,11 @@ extern void *__dso_handle __attribute__ ((__weak__)); /* Register FUNC to be executed by `exit'. */ int +#ifndef atexit +attribute_hidden +#endif atexit (void (*func) (void)) { return __cxa_atexit ((void (*) (void *)) func, NULL, &__dso_handle == NULL ? NULL : __dso_handle); } - -/* Hide the symbol so that no definition but the one locally in the - executable or DSO is used. */ -#ifdef HAVE_DOT_HIDDEN -asm (".hidden\tatexit"); -#endif diff --git a/stdlib/cxa_finalize.c b/stdlib/cxa_finalize.c index bb49f36ddd..148d57f200 100644 --- a/stdlib/cxa_finalize.c +++ b/stdlib/cxa_finalize.c @@ -45,8 +45,8 @@ __cxa_finalize (void *d) /* We don't want to run this cleanup more than once. */ && (cxafn = f->func.cxa.fn, cxaarg = f->func.cxa.arg, - ! atomic_compare_and_exchange_bool_acq (&f->flavor, ef_free, - ef_cxa))) + ! catomic_compare_and_exchange_bool_acq (&f->flavor, ef_free, + ef_cxa))) { uint64_t check = __new_exitfn_called; diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index fd81cf9e5b..7b39bc018a 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2003,2004,2005,2006,2007 Free Software Foundation, Inc. +/* Copyright (C) 1991-2003,2004,2005,2006 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -741,18 +741,18 @@ __END_NAMESPACE_STD #ifdef __USE_GNU /* Return a malloc'd string containing the canonical absolute name of the - named file. The last file name component need not exist, and may be a - symlink to a nonexistent file. */ + existing named file. */ extern char *canonicalize_file_name (__const char *__name) __THROW __nonnull ((1)) __wur; #endif #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED -/* Return the canonical absolute name of file NAME. If RESOLVED is - null, the result is malloc'd; otherwise, if the canonical name is - PATH_MAX chars or more, returns null with `errno' set to - ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, - returns the name in RESOLVED. */ +/* Return the canonical absolute name of file NAME. The last file name + component need not exist, and may be a symlink to a nonexistent file. + If RESOLVED is null, the result is malloc'd; otherwise, if the canonical + name is PATH_MAX chars or more, returns null with `errno' set to + ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, returns the + name in RESOLVED. */ extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) __THROW __wur; #endif |