gdbserver: set IP_AGENT_EXPORT_FUNC to static when not building IPA, add declarations
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 13 Jan 2020 19:05:32 +0000 (14:05 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Mon, 13 Jan 2020 19:05:32 +0000 (14:05 -0500)
Fixing the -Wmissing-declarations errors in gdbserver's tracepoint.c is
a bit tricky, because some functions are compiled for both gdbserver, in
which case they should be static, since they are only used in that file,
and for libinproctrace.so, in which case they should be externally
visible, since they need to be looked up.  In the case where they are
externally visible, -Wmissing-declarations requires that a declaration
exists (that's the point of the warning).

I've reused the IP_AGENT_EXPORT_FUNC macro to mark the functions as
static when compiled for gdbserver.  Some seemingly unnecessary
declarations are added for when compiling libinproctrace.so (thanks to
Tom for the suggestion).

gdb/gdbserver/ChangeLog:

* tracepoint.h (IP_AGENT_EXPORT_FUNC) [!IN_PROCESS_AGENT]:
Define to static.
* tracepoint.c (stop_tracing, flush_trace_buffer,
about_to_request_buffer_space, get_trace_state_variable_value,
set_trace_state_variable_value, gdb_collect): Add declaration.

Change-Id: If9c66151bd00c3b9c5caa27a7c21c5a3a952de2a

gdb/gdbserver/ChangeLog
gdb/gdbserver/tracepoint.c
gdb/gdbserver/tracepoint.h

index 9842da52b709db764b93a655b87b6c5c32ba1ff1..233bc621369e62538d10fdb6a0f92f201c42236b 100644 (file)
@@ -1,3 +1,11 @@
+2020-01-13  Simon Marchi  <simon.marchi@efficios.com>
+
+       * tracepoint.h (IP_AGENT_EXPORT_FUNC) [!IN_PROCESS_AGENT]:
+       Define to static.
+       * tracepoint.c (stop_tracing, flush_trace_buffer,
+       about_to_request_buffer_space, get_trace_state_variable_value,
+       set_trace_state_variable_value, gdb_collect): Add declaration.
+
 2020-01-13  Simon Marchi  <simon.marchi@efficios.com>
 
        * linux-x86-low.c (x86_linux_regs_info, amd64_emit_eq_goto,
index 2ef94e6998d11cee5d8e9568b4dbb95d5054449f..bbca48b2efd36c2bd3f9b427b6f293eec94398f2 100644 (file)
@@ -370,6 +370,9 @@ read_inferior_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len)
 #  define UNKNOWN_SIDE_EFFECTS() do {} while (0)
 #endif
 
+/* This is needed for -Wmissing-declarations.  */
+IP_AGENT_EXPORT_FUNC void stop_tracing (void);
+
 IP_AGENT_EXPORT_FUNC void
 stop_tracing (void)
 {
@@ -377,6 +380,9 @@ stop_tracing (void)
   UNKNOWN_SIDE_EFFECTS();
 }
 
+/* This is needed for -Wmissing-declarations.  */
+IP_AGENT_EXPORT_FUNC void flush_trace_buffer (void);
+
 IP_AGENT_EXPORT_FUNC void
 flush_trace_buffer (void)
 {
@@ -1496,6 +1502,9 @@ init_trace_buffer (LONGEST bufsize)
 
 #ifdef IN_PROCESS_AGENT
 
+/* This is needed for -Wmissing-declarations.  */
+IP_AGENT_EXPORT_FUNC void about_to_request_buffer_space (void);
+
 IP_AGENT_EXPORT_FUNC void
 about_to_request_buffer_space (void)
 {
@@ -2091,6 +2100,9 @@ create_trace_state_variable (int num, int gdb)
   return tsv;
 }
 
+/* This is needed for -Wmissing-declarations.  */
+IP_AGENT_EXPORT_FUNC LONGEST get_trace_state_variable_value (int num);
+
 IP_AGENT_EXPORT_FUNC LONGEST
 get_trace_state_variable_value (int num)
 {
@@ -2117,6 +2129,10 @@ get_trace_state_variable_value (int num)
   return tsv->value;
 }
 
+/* This is needed for -Wmissing-declarations.  */
+IP_AGENT_EXPORT_FUNC void set_trace_state_variable_value (int num,
+                                                         LONGEST val);
+
 IP_AGENT_EXPORT_FUNC void
 set_trace_state_variable_value (int num, LONGEST val)
 {
@@ -5786,6 +5802,10 @@ EXTERN_C_PUSH
 IP_AGENT_EXPORT_VAR collecting_t *collecting;
 EXTERN_C_POP
 
+/* This is needed for -Wmissing-declarations.  */
+IP_AGENT_EXPORT_FUNC void gdb_collect (struct tracepoint *tpoint,
+                                      unsigned char *regs);
+
 /* This routine, called from the jump pad (in asm) is designed to be
    called from the jump pads of fast tracepoints, thus it is on the
    critical path.  */
index a56e8bf5131ea05f3aed40887bd9eebecaf91990..030b2a9234459d86e070a51d562aa9b6c73c3f4e 100644 (file)
@@ -62,7 +62,7 @@ void initialize_tracepoint (void);
 # define IP_AGENT_EXPORT_VAR EXPORTED_SYMBOL ATTR_USED
 # define IP_AGENT_EXPORT_VAR_DECL EXTERN_C EXPORTED_SYMBOL
 #else
-# define IP_AGENT_EXPORT_FUNC
+# define IP_AGENT_EXPORT_FUNC static
 # define IP_AGENT_EXPORT_VAR
 # define IP_AGENT_EXPORT_VAR_DECL extern
 #endif