aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@ericsson.com>2018-09-23 10:12:29 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2018-09-23 10:12:30 -0400
commit0c0a40e0abb9f1a584330a1911ad06b3686e5361 (patch)
tree8681327822223f0c97f9328c0376b84a438d11db /gdb
parent948f29603949cca8ccf581e0a09c08576d52c7b2 (diff)
downloadfsf-binutils-gdb-0c0a40e0abb9f1a584330a1911ad06b3686e5361.zip
fsf-binutils-gdb-0c0a40e0abb9f1a584330a1911ad06b3686e5361.tar.gz
fsf-binutils-gdb-0c0a40e0abb9f1a584330a1911ad06b3686e5361.tar.bz2
Fix build error in aarch64-linux-tdep.c on macOS
When building with --enable-targets=all on macOS, I get this error: CXX aarch64-linux-tdep.o /Users/simark/src/binutils-gdb/gdb/aarch64-linux-tdep.c:328:7: error: no matching function for call to 'store_integer' store_integer ((gdb_byte *)&vg_target, sizeof (uint64_t), byte_order, ^~~~~~~~~~~~~ /Users/simark/src/binutils-gdb/gdb/defs.h:556:13: note: candidate template ignored: requirement 'Or<is_same<unsigned long long, long>, is_same<unsigned long long, unsigned long> >::value' was not satisfied [with T = unsigned long long] extern void store_integer (gdb_byte *addr, int len, enum bfd_endian byte_order, ^ I believe it's because uint64_t is defined as "unsigned long long" on macOS, even though "unsigned long" is also 64 bits. Other 64-bits platforms define uint64_t as "unsigned long". This makes the type of the argument to store_integer (unsigned long long) not match the requirement that it must be the same as ULONGEST, which is unsigned long. Fix it by changing the type of the vl variable to be ULONGEST, which is what extract_unsigned_integer returns anyway. gdb/ChangeLog: * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): Change type of vl to ULONGEST.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/aarch64-linux-tdep.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2d824bd..8abb2ec 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2018-09-23 Simon Marchi <simon.marchi@ericsson.com>
+
+ * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): Change type
+ of vl to ULONGEST.
+
2018-09-21 Yacov Simhony <ysimhony@gmail.com>
* breakpoint.c (update_inserted_breakpoint_locations): Remove
diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
index dc2b891..42cd49e 100644
--- a/gdb/aarch64-linux-tdep.c
+++ b/gdb/aarch64-linux-tdep.c
@@ -316,7 +316,7 @@ aarch64_linux_supply_sve_regset (const struct regset *regset,
passed in SVE regset or a NEON fpregset. */
/* Extract required fields from the header. */
- uint64_t vl = extract_unsigned_integer (header + SVE_HEADER_VL_OFFSET,
+ ULONGEST vl = extract_unsigned_integer (header + SVE_HEADER_VL_OFFSET,
SVE_HEADER_VL_LENGTH, byte_order);
uint16_t flags = extract_unsigned_integer (header + SVE_HEADER_FLAGS_OFFSET,
SVE_HEADER_FLAGS_LENGTH,