Fix warnings building linux-atomic.c and fptr.c on hppa64-linux
commita1957c9755418f0f45a0bac296f61f486952960e
authorJohn David Anglin <danglin@gcc.gnu.org>
Wed, 27 Oct 2021 18:00:36 +0000 (27 18:00 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Wed, 27 Oct 2021 18:00:36 +0000 (27 18:00 +0000)
treed136b9a568a773487ebf00946d710f25730ece3f
parent99b1021d21e5812ed01221d8fca8e8a32488a934
Fix warnings building linux-atomic.c and fptr.c on hppa64-linux

The file fptr.c is specific to 32-bit hppa-linux and should not be
included in LIB2ADD on hppa64-linux.

There is a builtin type mismatch in linux-atomic.c using the type
long long unsigned int for 64-bit atomic operations on hppa64-linux.

2021-10-27  John David Anglin  <danglin@gcc.gnu.org>

libgcc/ChangeLog:

* config.host (hppa*64*-*-linux*): Don't add pa/t-linux to
tmake_file.
* config/pa/linux-atomic.c: Define u8, u16 and u64 types.
Use them in FETCH_AND_OP_2, OP_AND_FETCH_2, COMPARE_AND_SWAP_2,
SYNC_LOCK_TEST_AND_SET_2 and SYNC_LOCK_RELEASE_1 macros.
* config/pa/t-linux64 (LIB1ASMSRC): New define.
(LIB1ASMFUNCS): Revise.
(HOST_LIBGCC2_CFLAGS): Add "-DLINUX=1".
libgcc/config.host
libgcc/config/pa/linux-atomic.c
libgcc/config/pa/t-linux64