From fbfde146ca8e9e2c830bbd659027a6ca69aa8c33 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Tue, 20 Apr 2004 06:33:11 +0000 Subject: Cope with gcc 3.4's more aggressive persuit of attribute unused --- include/features.h | 3 +++ ldso/ldso/arm/dl-startup.h | 2 +- ldso/ldso/cris/dl-startup.h | 2 +- ldso/ldso/frv/elfinterp.c | 24 +++++++++++------------- ldso/ldso/i386/dl-startup.h | 2 +- ldso/ldso/m68k/dl-startup.h | 2 +- ldso/ldso/mips/dl-startup.h | 2 +- ldso/ldso/powerpc/dl-startup.h | 2 +- ldso/ldso/sh/dl-startup.h | 2 +- ldso/ldso/sh64/dl-startup.h | 2 +- ldso/ldso/sparc/dl-startup.h | 2 +- libc/inet/rpc/clnt_perror.c | 2 +- libc/sysdeps/linux/alpha/bits/atomicity.h | 6 +++--- libc/sysdeps/linux/arm/bits/atomicity.h | 6 +++--- libc/sysdeps/linux/common/bits/atomicity.h | 6 +++--- libc/sysdeps/linux/i386/bits/atomicity.h | 6 +++--- libc/sysdeps/linux/i386/bits/mathinline.h | 2 +- libc/sysdeps/linux/m68k/bits/atomicity.h | 6 +++--- libc/sysdeps/linux/mips/bits/atomicity.h | 6 +++--- libc/sysdeps/linux/powerpc/bits/atomicity.h | 10 +++++----- libc/sysdeps/linux/sh/bits/machine-gmon.h | 2 +- libc/sysdeps/linux/sparc/bits/atomicity.h | 6 +++--- libpthread/linuxthreads_db/td_thr_tls_get_addr.c | 8 ++++---- 23 files changed, 56 insertions(+), 55 deletions(-) diff --git a/include/features.h b/include/features.h index bd97d38f9..15da6886a 100644 --- a/include/features.h +++ b/include/features.h @@ -437,6 +437,9 @@ uClibc was built without large file support enabled. #define __LINUX_COMPILER_H #endif +/* Pull in things like __attribute_used__ */ +#include + /* --- this is added to integrate linuxthreads */ #define __USE_UNIX98 1 diff --git a/ldso/ldso/arm/dl-startup.h b/ldso/ldso/arm/dl-startup.h index d4a1ee79b..97e6fc75b 100644 --- a/ldso/ldso/arm/dl-startup.h +++ b/ldso/ldso/arm/dl-startup.h @@ -20,7 +20,7 @@ asm("" \ " mov pc, r6\n" \ ); -#define DL_BOOT(X) static __attribute__ ((unused)) void* _dl_boot2 (X) +#define DL_BOOT(X) static __attribute_used__ void* _dl_boot2 (X) /* Get a pointer to the argv array. On many platforms this can be just diff --git a/ldso/ldso/cris/dl-startup.h b/ldso/ldso/cris/dl-startup.h index e910c235c..cf8fd353a 100644 --- a/ldso/ldso/cris/dl-startup.h +++ b/ldso/ldso/cris/dl-startup.h @@ -15,7 +15,7 @@ asm("" \ " jsr $r9\n" \ ); -#define DL_BOOT(X) static void __attribute__ ((unused)) _dl_boot2 (X) +#define DL_BOOT(X) static void __attribute_used__ _dl_boot2 (X) /* Get a pointer to the argv array. On many platforms this can be just diff --git a/ldso/ldso/frv/elfinterp.c b/ldso/ldso/frv/elfinterp.c index 270a5a60e..227ef8cad 100644 --- a/ldso/ldso/frv/elfinterp.c +++ b/ldso/ldso/frv/elfinterp.c @@ -2,7 +2,7 @@ Copyright (C) 2003 Red Hat, Inc. Contributed by Alexandre Oliva Lots of code copied from ../i386/elfinterp.c, so: - Copyright (c) 1994-2000 Eric Youngdale, Peter MacDonald, + Copyright (c) 1994-2000 Eric Youngdale, Peter MacDonald, David Engel, Hongjiu Lu and Mitch D'Souza Copyright (C) 2001-2002, Erik Andersen All rights reserved. @@ -24,9 +24,7 @@ License along with uClibc; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#ifndef ATTRIBUTE_UNUSED -# define ATTRIBUTE_UNUSED __attribute__((__unused__)) -#endif +#include /* __attribute_used__ */ #if defined (__SUPPORT_LD_DEBUG__) static const char *_dl_reltypes_tab[] = @@ -393,9 +391,9 @@ _dl_do_reloc (struct elf_resolve *tpnt,struct dyn_elf *scope, static int _dl_do_lazy_reloc (struct elf_resolve *tpnt, - struct dyn_elf *scope ATTRIBUTE_UNUSED, - ELF_RELOC *rpnt, Elf32_Sym *symtab ATTRIBUTE_UNUSED, - char *strtab ATTRIBUTE_UNUSED) + struct dyn_elf *scope __attribute_used__, + ELF_RELOC *rpnt, Elf32_Sym *symtab __attribute_used__, + char *strtab __attribute_used__) { int reloc_type; struct funcdesc_value volatile *reloc_addr; @@ -436,7 +434,7 @@ _dl_do_lazy_reloc (struct elf_resolve *tpnt, void _dl_parse_lazy_relocation_information (struct dyn_elf *rpnt, unsigned long rel_addr, unsigned long rel_size, - int type ATTRIBUTE_UNUSED) + int type __attribute_used__) { _dl_parse(rpnt->dyn, NULL, rel_addr, rel_size, _dl_do_lazy_reloc); } @@ -444,7 +442,7 @@ _dl_parse_lazy_relocation_information int _dl_parse_relocation_information (struct dyn_elf *rpnt, unsigned long rel_addr, unsigned long rel_size, - int type ATTRIBUTE_UNUSED) + int type __attribute_used__) { /* The interpreter initial self-relocation is complete, and we can't re-apply relocations. */ @@ -458,10 +456,10 @@ _dl_parse_relocation_information int _dl_parse_copy_information -(struct dyn_elf *rpnt ATTRIBUTE_UNUSED, - unsigned long rel_addr ATTRIBUTE_UNUSED, - unsigned long rel_size ATTRIBUTE_UNUSED, - int type ATTRIBUTE_UNUSED) +(struct dyn_elf *rpnt __attribute_used__, + unsigned long rel_addr __attribute_used__, + unsigned long rel_size __attribute_used__, + int type __attribute_used__) { return 0; } diff --git a/ldso/ldso/i386/dl-startup.h b/ldso/ldso/i386/dl-startup.h index d57134d19..8f5a6c0e7 100644 --- a/ldso/ldso/i386/dl-startup.h +++ b/ldso/ldso/i386/dl-startup.h @@ -5,7 +5,7 @@ */ /* For x86 we do not need any special setup so go right to _dl_boot() */ -#define DL_BOOT(X) __attribute__ ((unused)) void _dl_boot (X) +#define DL_BOOT(X) __attribute_used__ void _dl_boot (X) /* Get a pointer to the argv array. On many platforms this can be just * the address if the first argument, on other platforms we need to diff --git a/ldso/ldso/m68k/dl-startup.h b/ldso/ldso/m68k/dl-startup.h index 8c37ebf0d..3716735df 100644 --- a/ldso/ldso/m68k/dl-startup.h +++ b/ldso/ldso/m68k/dl-startup.h @@ -3,7 +3,7 @@ */ /* For m68k we do not need any special setup so go right to _dl_boot() */ -#define DL_BOOT(X) __attribute__ ((unused)) void _dl_boot (X) +#define DL_BOOT(X) __attribute_used__ void _dl_boot (X) /* Get a pointer to the argv array. On many platforms this can be just * the address if the first argument, on other platforms we need to diff --git a/ldso/ldso/mips/dl-startup.h b/ldso/ldso/mips/dl-startup.h index 21c9074e1..3d9b829c3 100644 --- a/ldso/ldso/mips/dl-startup.h +++ b/ldso/ldso/mips/dl-startup.h @@ -34,7 +34,7 @@ asm("" \ " jr $25\n" \ ); -#define DL_BOOT(X) static void __attribute__ ((unused)) _dl_boot2 (X) +#define DL_BOOT(X) static void __attribute_used__ _dl_boot2 (X) /* * Get a pointer to the argv array. On many platforms this can be just diff --git a/ldso/ldso/powerpc/dl-startup.h b/ldso/ldso/powerpc/dl-startup.h index b33d6c5a7..5d8073ccf 100644 --- a/ldso/ldso/powerpc/dl-startup.h +++ b/ldso/ldso/powerpc/dl-startup.h @@ -17,7 +17,7 @@ asm("" \ ".previous\n" \ ); -#define DL_BOOT(X) static void __attribute__ ((unused)) _dl_boot2(X) +#define DL_BOOT(X) static void __attribute_used__ _dl_boot2(X) /* * Get a pointer to the argv array. On many platforms this can be just diff --git a/ldso/ldso/sh/dl-startup.h b/ldso/ldso/sh/dl-startup.h index 0a41e36d6..78e844a64 100644 --- a/ldso/ldso/sh/dl-startup.h +++ b/ldso/ldso/sh/dl-startup.h @@ -18,7 +18,7 @@ asm("" \ " .previous\n" \ ); -#define DL_BOOT(X) static void __attribute__ ((unused)) _dl_boot2 (X) +#define DL_BOOT(X) static void __attribute_used__ _dl_boot2 (X) /* * Get a pointer to the argv array. On many platforms this can be just diff --git a/ldso/ldso/sh64/dl-startup.h b/ldso/ldso/sh64/dl-startup.h index 9c92e221f..6f420aa7b 100644 --- a/ldso/ldso/sh64/dl-startup.h +++ b/ldso/ldso/sh64/dl-startup.h @@ -21,7 +21,7 @@ asm("" \ " blink tr0, r18 ! call _dl_boot2 - user EP is in r2\n" \ ); -#define DL_BOOT(X) static void __attribute__ ((unused)) _dl_boot2 (X) +#define DL_BOOT(X) static void __attribute_used__ _dl_boot2 (X) /* * Get a pointer to the argv array. On many platforms this can be just diff --git a/ldso/ldso/sparc/dl-startup.h b/ldso/ldso/sparc/dl-startup.h index dd502f39c..b0d6a4361 100644 --- a/ldso/ldso/sparc/dl-startup.h +++ b/ldso/ldso/sparc/dl-startup.h @@ -4,7 +4,7 @@ * can be done. */ -#define DL_BOOT(X) __attribute__ ((unused)) void _dl_boot (X) +#define DL_BOOT(X) __attribute_used__ void _dl_boot (X) /* diff --git a/libc/inet/rpc/clnt_perror.c b/libc/inet/rpc/clnt_perror.c index c4b8ee5f6..1c9ca88ae 100644 --- a/libc/inet/rpc/clnt_perror.c +++ b/libc/inet/rpc/clnt_perror.c @@ -425,7 +425,7 @@ auth_errmsg (enum auth_stat stat) } -static void __attribute__ ((unused)) +static void __attribute_used__ free_mem (void) { free (buf); diff --git a/libc/sysdeps/linux/alpha/bits/atomicity.h b/libc/sysdeps/linux/alpha/bits/atomicity.h index 9388f2384..df6e01a1e 100644 --- a/libc/sysdeps/linux/alpha/bits/atomicity.h +++ b/libc/sysdeps/linux/alpha/bits/atomicity.h @@ -24,7 +24,7 @@ static inline int -__attribute__ ((unused)) +__attribute_used__ exchange_and_add (volatile uint32_t *mem, int val) { register int result, tmp; @@ -49,7 +49,7 @@ exchange_and_add (volatile uint32_t *mem, int val) } static inline void -__attribute__ ((unused)) +__attribute_used__ atomic_add (volatile uint32_t *mem, int val) { register int result; @@ -72,7 +72,7 @@ atomic_add (volatile uint32_t *mem, int val) } static inline long -__attribute__ ((unused)) +__attribute_used__ compare_and_swap (volatile long int *p, long int oldval, long int newval) { long int ret; diff --git a/libc/sysdeps/linux/arm/bits/atomicity.h b/libc/sysdeps/linux/arm/bits/atomicity.h index 1a437a6d3..def974f8a 100644 --- a/libc/sysdeps/linux/arm/bits/atomicity.h +++ b/libc/sysdeps/linux/arm/bits/atomicity.h @@ -24,7 +24,7 @@ static inline int -__attribute__ ((unused)) +__attribute_used__ exchange_and_add (volatile uint32_t *mem, int val) { int tmp1; @@ -44,7 +44,7 @@ exchange_and_add (volatile uint32_t *mem, int val) } static inline void -__attribute__ ((unused)) +__attribute_used__ atomic_add (volatile uint32_t *mem, int val) { int tmp1; @@ -63,7 +63,7 @@ atomic_add (volatile uint32_t *mem, int val) } static inline int -__attribute__ ((unused)) +__attribute_used__ compare_and_swap (volatile long int *p, long int oldval, long int newval) { int result, tmp; diff --git a/libc/sysdeps/linux/common/bits/atomicity.h b/libc/sysdeps/linux/common/bits/atomicity.h index 1a756498b..57bcaad5d 100644 --- a/libc/sysdeps/linux/common/bits/atomicity.h +++ b/libc/sysdeps/linux/common/bits/atomicity.h @@ -25,7 +25,7 @@ #warning stub atomicity functions are not really atomic static inline int -__attribute__ ((unused)) +__attribute_used__ exchange_and_add (volatile uint32_t *mem, int val) { int result = *mem; @@ -34,14 +34,14 @@ exchange_and_add (volatile uint32_t *mem, int val) } static inline void -__attribute__ ((unused)) +__attribute_used__ atomic_add (volatile uint32_t *mem, int val) { *mem += val; } static inline int -__attribute__ ((unused)) +__attribute_used__ compare_and_swap (volatile long int *p, long int oldval, long int newval) { if (*p != oldval) diff --git a/libc/sysdeps/linux/i386/bits/atomicity.h b/libc/sysdeps/linux/i386/bits/atomicity.h index df2fb8184..d83ae791e 100644 --- a/libc/sysdeps/linux/i386/bits/atomicity.h +++ b/libc/sysdeps/linux/i386/bits/atomicity.h @@ -24,7 +24,7 @@ static inline uint32_t -__attribute__ ((unused)) +__attribute_used__ exchange_and_add (volatile uint32_t *mem, uint32_t val) { register uint32_t result; @@ -34,7 +34,7 @@ exchange_and_add (volatile uint32_t *mem, uint32_t val) } static inline void -__attribute__ ((unused)) +__attribute_used__ atomic_add (volatile uint32_t *mem, int val) { __asm__ __volatile__ ("lock; addl %1,%0" @@ -42,7 +42,7 @@ atomic_add (volatile uint32_t *mem, int val) } static inline char -__attribute__ ((unused)) +__attribute_used__ compare_and_swap (volatile long int *p, long int oldval, long int newval) { char ret; diff --git a/libc/sysdeps/linux/i386/bits/mathinline.h b/libc/sysdeps/linux/i386/bits/mathinline.h index 0464003b7..d39a122ca 100644 --- a/libc/sysdeps/linux/i386/bits/mathinline.h +++ b/libc/sysdeps/linux/i386/bits/mathinline.h @@ -408,7 +408,7 @@ __inline_mathcodeNP_ (long double, __expl, __x, __exp_code) __inline_mathcodeNP (tan, __x, \ register long double __value; \ - register long double __value2 __attribute__ ((__unused__)); \ + register long double __value2 __attribute_used__; \ __asm __volatile__ \ ("fptan" \ : "=t" (__value2), "=u" (__value) : "0" (__x)); \ diff --git a/libc/sysdeps/linux/m68k/bits/atomicity.h b/libc/sysdeps/linux/m68k/bits/atomicity.h index 464948086..db1c9bfae 100644 --- a/libc/sysdeps/linux/m68k/bits/atomicity.h +++ b/libc/sysdeps/linux/m68k/bits/atomicity.h @@ -25,7 +25,7 @@ static inline int -__attribute__ ((unused)) +__attribute_used__ exchange_and_add (volatile uint32_t *mem, int val) { register int result = *mem; @@ -40,7 +40,7 @@ exchange_and_add (volatile uint32_t *mem, int val) } static inline void -__attribute__ ((unused)) +__attribute_used__ atomic_add (volatile uint32_t *mem, int val) { /* XXX Use cas here as well? */ @@ -49,7 +49,7 @@ atomic_add (volatile uint32_t *mem, int val) } static inline int -__attribute__ ((unused)) +__attribute_used__ compare_and_swap (volatile long int *p, long int oldval, long int newval) { char ret; diff --git a/libc/sysdeps/linux/mips/bits/atomicity.h b/libc/sysdeps/linux/mips/bits/atomicity.h index bccacd9c9..5d1020352 100644 --- a/libc/sysdeps/linux/mips/bits/atomicity.h +++ b/libc/sysdeps/linux/mips/bits/atomicity.h @@ -23,7 +23,7 @@ #include static inline int -__attribute__ ((unused)) +__attribute_used__ exchange_and_add (volatile uint32_t *mem, int val) { int result, tmp; @@ -47,7 +47,7 @@ exchange_and_add (volatile uint32_t *mem, int val) } static inline void -__attribute__ ((unused)) +__attribute_used__ atomic_add (volatile uint32_t *mem, int val) { int result; @@ -69,7 +69,7 @@ atomic_add (volatile uint32_t *mem, int val) } static inline int -__attribute__ ((unused)) +__attribute_used__ compare_and_swap (volatile long int *p, long int oldval, long int newval) { long int ret, temp; diff --git a/libc/sysdeps/linux/powerpc/bits/atomicity.h b/libc/sysdeps/linux/powerpc/bits/atomicity.h index a3f672e5e..6969749e8 100644 --- a/libc/sysdeps/linux/powerpc/bits/atomicity.h +++ b/libc/sysdeps/linux/powerpc/bits/atomicity.h @@ -29,7 +29,7 @@ #endif static __ATOMICITY_INLINE int -__attribute__ ((unused)) +__attribute_used__ exchange_and_add (volatile uint32_t *mem, int val) { int tmp, result; @@ -43,7 +43,7 @@ exchange_and_add (volatile uint32_t *mem, int val) } static __ATOMICITY_INLINE void -__attribute__ ((unused)) +__attribute_used__ atomic_add (volatile uint32_t *mem, int val) { int tmp; @@ -56,7 +56,7 @@ atomic_add (volatile uint32_t *mem, int val) } static __ATOMICITY_INLINE int -__attribute__ ((unused)) +__attribute_used__ compare_and_swap (volatile long int *p, long int oldval, long int newval) { int result; @@ -73,7 +73,7 @@ compare_and_swap (volatile long int *p, long int oldval, long int newval) } static __ATOMICITY_INLINE long int -__attribute__ ((unused)) +__attribute_used__ always_swap (volatile long int *p, long int newval) { long int result; @@ -86,7 +86,7 @@ always_swap (volatile long int *p, long int newval) } static __ATOMICITY_INLINE int -__attribute__ ((unused)) +__attribute_used__ test_and_set (volatile long int *p, long int newval) { int result; diff --git a/libc/sysdeps/linux/sh/bits/machine-gmon.h b/libc/sysdeps/linux/sh/bits/machine-gmon.h index 6497859ad..f2ef019c7 100644 --- a/libc/sysdeps/linux/sh/bits/machine-gmon.h +++ b/libc/sysdeps/linux/sh/bits/machine-gmon.h @@ -21,7 +21,7 @@ #define mcount_internal __mcount_internal #define _MCOUNT_DECL(frompc, selfpc) \ -static void __attribute__((unused)) mcount_internal (u_long frompc, u_long selfpc) +static void __attribute_used__ mcount_internal (u_long frompc, u_long selfpc) /* * This mcount implementation expect the 'frompc' return address on diff --git a/libc/sysdeps/linux/sparc/bits/atomicity.h b/libc/sysdeps/linux/sparc/bits/atomicity.h index ec82541c2..22f5b3f50 100644 --- a/libc/sysdeps/linux/sparc/bits/atomicity.h +++ b/libc/sysdeps/linux/sparc/bits/atomicity.h @@ -23,7 +23,7 @@ #include static int -__attribute__ ((unused)) +__attribute_used__ exchange_and_add (volatile uint32_t *mem, int val) { static unsigned char lock; @@ -46,7 +46,7 @@ exchange_and_add (volatile uint32_t *mem, int val) } static void -__attribute__ ((unused)) +__attribute_used__ atomic_add (volatile uint32_t *mem, int val) { static unsigned char lock; @@ -67,7 +67,7 @@ atomic_add (volatile uint32_t *mem, int val) } static int -__attribute__ ((unused)) +__attribute_used__ compare_and_swap (volatile long int *p, long int oldval, long int newval) { static unsigned char lock; diff --git a/libpthread/linuxthreads_db/td_thr_tls_get_addr.c b/libpthread/linuxthreads_db/td_thr_tls_get_addr.c index e140b77dc..330407482 100644 --- a/libpthread/linuxthreads_db/td_thr_tls_get_addr.c +++ b/libpthread/linuxthreads_db/td_thr_tls_get_addr.c @@ -27,10 +27,10 @@ td_err_e -td_thr_tls_get_addr (const td_thrhandle_t *th __attribute__ ((unused)), - void *map_address __attribute__ ((unused)), - size_t offset __attribute__ ((unused)), - void **address __attribute__ ((unused))) +td_thr_tls_get_addr (const td_thrhandle_t *th __attribute_used__, + void *map_address __attribute_used__, + size_t offset __attribute_used__, + void **address __attribute_used__) { #if USE_TLS size_t modid; -- cgit v1.2.3