From d7fac5f69c6426a9b74e6d98f926c8bf8d3207a0 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Fri, 22 Jun 2018 22:40:26 +0200
Subject: [PATCH] gdbserver: fix build for m68k
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

As for strace [1], when <sys/reg.h> is included after <linux/ptrace.h>,
the build fails on m68k with the following diagnostics:

In file included from ./../nat/linux-ptrace.h:28:0,
                 from linux-low.h:27,
                 from linux-m68k-low.c:20:
[...]/usr/include/sys/reg.h:26:3: error: expected identifier before numeric constant
   PT_D1 = 0,
   ^
[...]usr/include/sys/reg.h:26:3: error: expected « } » before numeric constant
[...]usr/include/sys/reg.h:26:3: error: expected unqualified-id before numeric constant
In file included from linux-m68k-low.c:27:0:
[...]usr/include/sys/reg.h:99:1: error: expected declaration before « } » token
 };
 ^

Fix this by moving <sys/reg.h> on top of "linux-low.h".

[1] https://github.com/strace/strace/commit/6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92

Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
 gdbserver/linux-m68k-low.cc | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gdbserver/linux-m68k-low.cc b/gdbserver/linux-m68k-low.cc
index 8020e49ac6e..d9ba6235288 100644
--- a/gdbserver/linux-m68k-low.cc
+++ b/gdbserver/linux-m68k-low.cc
@@ -16,6 +16,12 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include "server.h"
+
+#ifdef HAVE_SYS_REG_H
+#include <sys/reg.h>
+#endif
+
 #include "linux-low.h"
 
 /* Linux target op definitions for the m68k architecture.  */
@@ -79,10 +85,6 @@ m68k_target::low_decr_pc_after_break ()
 void init_registers_m68k (void);
 extern const struct target_desc *tdesc_m68k;
 
-#ifdef HAVE_SYS_REG_H
-#include <sys/reg.h>
-#endif
-
 #define m68k_num_regs 29
 #define m68k_num_gregs 18
 
-- 
2.45.2

