Re: [Qemu-devel] [PATCH] build: Add include check on syscall.h

2016-01-29 Thread Lluís Vilanova
Peter Maydell writes:

> On 29 January 2016 at 13:30, Lluís Vilanova  wrote:
>> Peter Maydell writes:
>>> Adding include guards is fine, but it sounds to me like what we
>>> should actually do to fix this confusion is rename all the linux-user
>>> local headers to target_syscall.h.
>> 
>> Hmmm, I didn't know if using the same name was on purpose or not. If the
>> intention was *not* to override the system's syscall.h, then a rename is the
>> proper solution.


> Yes, the intention is absolutely not to override any system header
> (the constants defined are only relevant to the guest, and if the
> header got included and overrode the host's syscall.h then nothing
> would work and it probably wouldn't even compile). It just ended up
> with the same name by accident.

Aha, then I'll resend with the filles renamed.

Cheers,
  Lluis



Re: [Qemu-devel] [PATCH] build: Add include check on syscall.h

2016-01-29 Thread Lluís Vilanova
Peter Maydell writes:

> On 28 January 2016 at 20:36, Lluís Vilanova  wrote:
>> The LTTng tracing backend includes the system's "syscall.h", but QEMU
>> replaces it with its own for linux-user builds. This results in a double
>> include on some targets (when LTTng is enabled).
>> 
>> Signed-off-by: Lluís Vilanova 

> Adding include guards is fine, but it sounds to me like what we
> should actually do to fix this confusion is rename all the linux-user
> local headers to target_syscall.h.

Hmmm, I didn't know if using the same name was on purpose or not. If the
intention was *not* to override the system's syscall.h, then a rename is the
proper solution.

Can you or someone else confirm this?

Thanks,
  Lluis



Re: [Qemu-devel] [PATCH] build: Add include check on syscall.h

2016-01-29 Thread Peter Maydell
On 29 January 2016 at 13:30, Lluís Vilanova  wrote:
> Peter Maydell writes:
>> Adding include guards is fine, but it sounds to me like what we
>> should actually do to fix this confusion is rename all the linux-user
>> local headers to target_syscall.h.
>
> Hmmm, I didn't know if using the same name was on purpose or not. If the
> intention was *not* to override the system's syscall.h, then a rename is the
> proper solution.


Yes, the intention is absolutely not to override any system header
(the constants defined are only relevant to the guest, and if the
header got included and overrode the host's syscall.h then nothing
would work and it probably wouldn't even compile). It just ended up
with the same name by accident.

thanks
-- PMM



Re: [Qemu-devel] [PATCH] build: Add include check on syscall.h

2016-01-29 Thread Peter Maydell
On 28 January 2016 at 20:36, Lluís Vilanova  wrote:
> The LTTng tracing backend includes the system's "syscall.h", but QEMU
> replaces it with its own for linux-user builds. This results in a double
> include on some targets (when LTTng is enabled).
>
> Signed-off-by: Lluís Vilanova 

Adding include guards is fine, but it sounds to me like what we
should actually do to fix this confusion is rename all the linux-user
local headers to target_syscall.h.

thanks
-- PMM



[Qemu-devel] [PATCH] build: Add include check on syscall.h

2016-01-28 Thread Lluís Vilanova
The LTTng tracing backend includes the system's "syscall.h", but QEMU
replaces it with its own for linux-user builds. This results in a double
include on some targets (when LTTng is enabled).

Signed-off-by: Lluís Vilanova 
---
 linux-user/aarch64/syscall.h  |5 +
 linux-user/alpha/syscall.h|5 +
 linux-user/arm/syscall.h  |4 
 linux-user/i386/syscall.h |5 +
 linux-user/m68k/syscall.h |4 
 linux-user/mips/syscall.h |4 
 linux-user/mips64/syscall.h   |4 
 linux-user/openrisc/syscall.h |5 +
 linux-user/ppc/syscall.h  |5 +
 linux-user/s390x/syscall.h|5 +
 linux-user/sh4/syscall.h  |5 +
 linux-user/sparc/syscall.h|5 +
 linux-user/sparc64/syscall.h  |5 +
 linux-user/x86_64/syscall.h   |5 +
 14 files changed, 66 insertions(+)

diff --git a/linux-user/aarch64/syscall.h b/linux-user/aarch64/syscall.h
index dc72a15..b2e63c0 100644
--- a/linux-user/aarch64/syscall.h
+++ b/linux-user/aarch64/syscall.h
@@ -1,3 +1,6 @@
+#ifndef SYSCALL_H
+#define SYSCALL_H
+
 struct target_pt_regs {
 uint64_tregs[31];
 uint64_tsp;
@@ -11,3 +14,5 @@ struct target_pt_regs {
 #define TARGET_MINSIGSTKSZ   2048
 #define TARGET_MLOCKALL_MCL_CURRENT 1
 #define TARGET_MLOCKALL_MCL_FUTURE  2
+
+#endif  /* SYSCALL_H */
diff --git a/linux-user/alpha/syscall.h b/linux-user/alpha/syscall.h
index 245cff2..f3f7ee8 100644
--- a/linux-user/alpha/syscall.h
+++ b/linux-user/alpha/syscall.h
@@ -1,3 +1,6 @@
+#ifndef SYSCALL_H
+#define SYSCALL_H
+
 /* default linux values for the selectors */
 #define __USER_DS  (1)
 
@@ -255,3 +258,5 @@ struct target_pt_regs {
 #define TARGET_MINSIGSTKSZ  4096
 #define TARGET_MLOCKALL_MCL_CURRENT 0x2000
 #define TARGET_MLOCKALL_MCL_FUTURE  0x4000
+
+#endif  /* SYSCALL_H */
diff --git a/linux-user/arm/syscall.h b/linux-user/arm/syscall.h
index 3844a96..795b99e 100644
--- a/linux-user/arm/syscall.h
+++ b/linux-user/arm/syscall.h
@@ -1,3 +1,5 @@
+#ifndef SYSCALL_H
+#define SYSCALL_H
 
 /* this struct defines the way the registers are stored on the
stack during a system call. */
@@ -48,3 +50,5 @@ struct target_pt_regs {
 #define TARGET_MINSIGSTKSZ 2048
 #define TARGET_MLOCKALL_MCL_CURRENT 1
 #define TARGET_MLOCKALL_MCL_FUTURE  2
+
+#endif  /* SYSCALL_H */
diff --git a/linux-user/i386/syscall.h b/linux-user/i386/syscall.h
index 906aaac..527789b 100644
--- a/linux-user/i386/syscall.h
+++ b/linux-user/i386/syscall.h
@@ -1,3 +1,6 @@
+#ifndef SYSCALL_H
+#define SYSCALL_H
+
 /* default linux values for the selectors */
 #define __USER_CS  (0x23)
 #define __USER_DS  (0x2B)
@@ -150,3 +153,5 @@ struct target_vm86plus_struct {
 #define TARGET_MINSIGSTKSZ 2048
 #define TARGET_MLOCKALL_MCL_CURRENT 1
 #define TARGET_MLOCKALL_MCL_FUTURE  2
+
+#endif  /* SYSCALL_H */
diff --git a/linux-user/m68k/syscall.h b/linux-user/m68k/syscall.h
index 9218493..16db513 100644
--- a/linux-user/m68k/syscall.h
+++ b/linux-user/m68k/syscall.h
@@ -1,3 +1,5 @@
+#ifndef SYSCALL_H
+#define SYSCALL_H
 
 /* this struct defines the way the registers are stored on the
stack during a system call. */
@@ -23,3 +25,5 @@ struct target_pt_regs {
 #define TARGET_MLOCKALL_MCL_FUTURE  2
 
 void do_m68k_simcall(CPUM68KState *, int);
+
+#endif  /* SYSCALL_H */
diff --git a/linux-user/mips/syscall.h b/linux-user/mips/syscall.h
index 35ca23b..3d66419 100644
--- a/linux-user/mips/syscall.h
+++ b/linux-user/mips/syscall.h
@@ -1,3 +1,5 @@
+#ifndef SYSCALL_H
+#define SYSCALL_H
 
 /* this struct defines the way the registers are stored on the
stack during a system call. */
@@ -231,3 +233,5 @@ struct target_pt_regs {
 #define TARGET_MINSIGSTKSZ 2048
 #define TARGET_MLOCKALL_MCL_CURRENT 1
 #define TARGET_MLOCKALL_MCL_FUTURE  2
+
+#endif  /* SYSCALL_H */
diff --git a/linux-user/mips64/syscall.h b/linux-user/mips64/syscall.h
index 6733107..850900b 100644
--- a/linux-user/mips64/syscall.h
+++ b/linux-user/mips64/syscall.h
@@ -1,3 +1,5 @@
+#ifndef SYSCALL_H
+#define SYSCALL_H
 
 /* this struct defines the way the registers are stored on the
stack during a system call. */
@@ -228,3 +230,5 @@ struct target_pt_regs {
 #define TARGET_MINSIGSTKSZ  2048
 #define TARGET_MLOCKALL_MCL_CURRENT 1
 #define TARGET_MLOCKALL_MCL_FUTURE  2
+
+#endif  /* SYSCALL_H */
diff --git a/linux-user/openrisc/syscall.h b/linux-user/openrisc/syscall.h
index 8ac0365..dedec50 100644
--- a/linux-user/openrisc/syscall.h
+++ b/linux-user/openrisc/syscall.h
@@ -1,3 +1,6 @@
+#ifndef SYSCALL_H
+#define SYSCALL_H
+
 struct target_pt_regs {
 union {
 struct {
@@ -27,3 +30,5 @@ struct target_pt_regs {
 #define TARGET_MINSIGSTKSZ 2048
 #define TARGET_MLOCKALL_MCL_CURRENT 1
 #define TARGET_MLOCKALL_MCL_FUTURE  2
+
+#endif  /* SYSCALL_H */
diff --git a/linux-user/ppc/syscall.h b/linux-user/ppc/syscall.h
index 0daf5cd..eec5a5f 100644
--- a/linux-user/ppc/syscall.h
+++