about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/hppa/bits
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@systemhalted.org>2015-02-05 21:33:03 -0500
committerCarlos O'Donell <carlos@systemhalted.org>2015-02-05 21:37:47 -0500
commit3f823f488a4db8d048892af1a7ee992aab770e5a (patch)
treec35bb819cad653780e3778de1bd2cc7c6ec29962 /sysdeps/unix/sysv/linux/hppa/bits
parent34c5604814cb97264aa2393800967b0b0e4585cd (diff)
downloadglibc-3f823f488a4db8d048892af1a7ee992aab770e5a.tar.gz
glibc-3f823f488a4db8d048892af1a7ee992aab770e5a.tar.xz
glibc-3f823f488a4db8d048892af1a7ee992aab770e5a.zip
hppa: Remove warnings and fix conformance errors.
(1) Fix warnings.

This is a bulk update to fix all the warnings that were causing
build failures with -Werror on hppa.

The most egregious problems are in dl-fptr.c which needs to be
entirely rewritten, thus I've used -Wno-error for that.

(2) Fix conformance errors.

The sysdep.c file had __syscall_error and syscall in one file
which caused conformance issues by including syscall when
__syscall_error was linked to. The fix is obviously to split
the file and use syscall.c to implement syscall.
Diffstat (limited to 'sysdeps/unix/sysv/linux/hppa/bits')
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/atomic.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/atomic.h b/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
index 9550196f77..abde83e2f9 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
@@ -67,7 +67,7 @@ typedef uintmax_t uatomic_max_t;
 # define atomic_compare_and_exchange_val_acq(mem, newval, oldval)	\
   ({									\
      volatile int lws_errno;						\
-     volatile int lws_ret;						\
+     __typeof__ (*mem) lws_ret;						\
      asm volatile(							\
 	"0:					\n\t"			\
 	"copy	%2, %%r26			\n\t"			\
@@ -96,10 +96,10 @@ typedef uintmax_t uatomic_max_t;
 
 # define atomic_compare_and_exchange_bool_acq(mem, newval, oldval)	\
   ({									\
-     int ret;								\
+     __typeof__ (*mem) ret;						\
      ret = atomic_compare_and_exchange_val_acq(mem, newval, oldval);	\
      /* Return 1 if it was already acquired.  */			\
-     (ret != (int)oldval);						\
+     (ret != oldval);							\
    })
 #else
 # error __ASSUME_LWS_CAS is required to build glibc.