From: Lennart Poettering Date: Mon, 3 Dec 2018 12:08:33 +0000 (+0100) Subject: tree-wide: use gcc attribute macros where appropriate X-Git-Tag: v240~148^2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d34dae1817f589014bca224230bfd5bb81dfc6a6;p=thirdparty%2Fsystemd.git tree-wide: use gcc attribute macros where appropriate We have these macros already, hence use them. --- diff --git a/src/basic/hashmap.c b/src/basic/hashmap.c index eba56add1fc..edcdfb86528 100644 --- a/src/basic/hashmap.c +++ b/src/basic/hashmap.c @@ -276,7 +276,7 @@ static const struct hashmap_type_info hashmap_type_info[_HASHMAP_TYPE_MAX] = { }; #if VALGRIND -__attribute__((destructor)) static void cleanup_pools(void) { +_destructor_ static void cleanup_pools(void) { _cleanup_free_ char *t = NULL; int r; diff --git a/src/basic/process-util.c b/src/basic/process-util.c index d1a34338f6d..981628504b3 100644 --- a/src/basic/process-util.c +++ b/src/basic/process-util.c @@ -1172,7 +1172,7 @@ void reset_cached_pid(void) { * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against * libpthread, as it is part of glibc anyway. */ extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle); -extern void* __dso_handle __attribute__ ((__weak__)); +extern void* __dso_handle _weak_; pid_t getpid_cached(void) { static bool installed = false; diff --git a/src/basic/static-destruct.h b/src/basic/static-destruct.h index cad838083fa..b780985d117 100644 --- a/src/basic/static-destruct.h +++ b/src/basic/static-destruct.h @@ -32,8 +32,8 @@ typedef struct StaticDestructor { /* Beginning and end of our section listing the destructors. We define these as weak as we want this to work even if * there's not a single destructor is defined in which case the section will be missing. */ -extern const struct StaticDestructor __attribute__((__weak__)) __start_SYSTEMD_STATIC_DESTRUCT[]; -extern const struct StaticDestructor __attribute__((__weak__)) __stop_SYSTEMD_STATIC_DESTRUCT[]; +extern const struct StaticDestructor _weak_ __start_SYSTEMD_STATIC_DESTRUCT[]; +extern const struct StaticDestructor _weak_ __stop_SYSTEMD_STATIC_DESTRUCT[]; /* The function to destroy everything. (Note that this must be static inline, as it's key that it remains in the same * linking unit as the variables we want to destroy. */ diff --git a/src/basic/util.h b/src/basic/util.h index 2f3d1eeab86..43f40811906 100644 --- a/src/basic/util.h +++ b/src/basic/util.h @@ -173,7 +173,7 @@ static inline void _reset_errno_(int *saved_errno) { } #define PROTECT_ERRNO \ - _cleanup_(_reset_errno_) __attribute__((__unused__)) int _saved_errno_ = errno + _cleanup_(_reset_errno_) _unused_ int _saved_errno_ = errno static inline int negative_errno(void) { /* This helper should be used to shut up gcc if you know 'errno' is