ari, btrace: avoid unsigned long long
authorMarkus Metzger <markus.t.metzger@intel.com>
Wed, 8 Jul 2015 07:38:16 +0000 (09:38 +0200)
committerMarkus Metzger <markus.t.metzger@intel.com>
Wed, 15 Jul 2015 06:40:57 +0000 (08:40 +0200)
commite7b01ce03de85cfbbddb6ed755486db528abf1d1
treebefceca0e4eb95a1a8fa297c536e4665105d35a8
parent210187848791f50ee7dd8eaae8fc4bd371b3550b
ari, btrace: avoid unsigned long long

Fix the ARI warning about the use of unsigned long long.  We can't use
ULONGEST as this is defined unsigned long on 64-bit systems.  This will
result in a compile error when storing a pointer to an unsigned long long
structure field (declared in perf_event.h as __u64) in a ULONGEST * variable.

Use size_t to hold the buffer size inside GDB and __u64 when interfacing the
Linux kernel.

gdb/
* nat/linux-btrace.c (perf_event_read): Change the type of DATA_HEAD.
(perf_event_read_all): Change the type of SIZE and DATA_HEAD.
(perf_event_read_bts): Change the type of SIZE and READ.
(linux_enable_bts): Change the type of SIZE, PAGES, DATA_SIZE,
and DATA_OFFSET.  Move DATA_SIZE declaration.  Restrict the buffer size
to UINT_MAX.  Check for overflows when using DATA_HEAD from the perf
mmap page.
(linux_enable_pt): Change the type of PAGES and SIZE.  Restrict the
buffer size to UINT_MAX.
(linux_read_bts): Change the type of BUFFER_SIZE, SIZE, DATA_HEAD, and
DATA_TAIL.
* nat/linux-btrace.h (struct perf_event_buffer)<size, data_head>
<last_head>: Change type.
* common/btrace-common.h (struct btrace_dat_pt) <size>: Change type.
* common/btrace-common.c (btrace_data_append): Change the type of
SIZE.
* btrace.c (parse_xml_raw): Change the type of SIZE.  Change oddness
check.
gdb/ChangeLog
gdb/btrace.c
gdb/common/btrace-common.c
gdb/common/btrace-common.h
gdb/nat/linux-btrace.c
gdb/nat/linux-btrace.h