[PATCH obv] gdbserver: Fix C++ build errors in tracepoint.c

Marcin Kościelnicki
2016-03-31T21:42:13Z

These were introduced by 1cda1512689aabb36588a01370002632a0c8e560
and a13c46966d308297a1273e35ccc807a3912d573d . One is a simple
missing cast, the other is const usage on global function pointers
exported from IPA: in C++, consts are static, and thus won't be
exported from the DSO (the build error was because of non-applicable
visibility("default")).

gdb/gdbserver/ChangeLog:

* tracepoint.c (gdb_collect_ptr): Remove const qualifier.
(get_raw_reg_ptr): Likewise.
(get_trace_state_variable_value_ptr): Likewise.
(set_trace_state_variable_value_ptr): Likewise.
(initialize_tracepoint): Cast alloc_jump_pad_buffer result to
char *.
---
Thanks for noticing that. Here's the fix, pushed as obvious.

gdb/gdbserver/tracepoint.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
index 56b8e69..8f71325 100644
--- a/gdb/gdbserver/tracepoint.c
+++ b/gdb/gdbserver/tracepoint.c
@@ -5903,11 +5903,11 @@ typedef LONGEST (*get_trace_state_variable_value_ptr_type) (int);
typedef void (*set_trace_state_variable_value_ptr_type) (int, LONGEST);

EXTERN_C_PUSH
-IP_AGENT_EXPORT_VAR const gdb_collect_ptr_type gdb_collect_ptr = gdb_collect;
-IP_AGENT_EXPORT_VAR const get_raw_reg_ptr_type get_raw_reg_ptr = get_raw_reg;
-IP_AGENT_EXPORT_VAR const get_trace_state_variable_value_ptr_type
+IP_AGENT_EXPORT_VAR gdb_collect_ptr_type gdb_collect_ptr = gdb_collect;
+IP_AGENT_EXPORT_VAR get_raw_reg_ptr_type get_raw_reg_ptr = get_raw_reg;
+IP_AGENT_EXPORT_VAR get_trace_state_variable_value_ptr_type
get_trace_state_variable_value_ptr = get_trace_state_variable_value;
-IP_AGENT_EXPORT_VAR const set_trace_state_variable_value_ptr_type
+IP_AGENT_EXPORT_VAR set_trace_state_variable_value_ptr_type
set_trace_state_variable_value_ptr = set_trace_state_variable_value;
EXTERN_C_POP

@@ -7440,7 +7440,7 @@ initialize_tracepoint (void)
jump_pad_size = pagesize * SCRATCH_BUFFER_NPAGES;

gdb_tp_heap_buffer = (char *) xmalloc (5 * 1024 * 1024);
- gdb_jump_pad_buffer = alloc_jump_pad_buffer (jump_pad_size);
+ gdb_jump_pad_buffer = (char *) alloc_jump_pad_buffer (jump_pad_size);
if (gdb_jump_pad_buffer == NULL)
perror_with_name ("mmap");
gdb_jump_pad_buffer_end = gdb_jump_pad_buffer + jump_pad_size;
--
2.7.4