Message ID | 145401341105.13283.6918542543924796946.stgit@localhost (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 28 January 2016 at 20:36, Lluís Vilanova <vilanova@ac.upc.edu> 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 <vilanova@ac.upc.edu> 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
Peter Maydell writes: > On 28 January 2016 at 20:36, Lluís Vilanova <vilanova@ac.upc.edu> 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 <vilanova@ac.upc.edu> > 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
On 29 January 2016 at 13:30, Lluís Vilanova <vilanova@ac.upc.edu> 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
Peter Maydell writes: > On 29 January 2016 at 13:30, Lluís Vilanova <vilanova@ac.upc.edu> 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
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_t regs[31]; uint64_t sp; @@ -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 +++ b/linux-user/ppc/syscall.h @@ -17,6 +17,9 @@ * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ +#ifndef SYSCALL_H +#define SYSCALL_H + /* XXX: ABSOLUTELY BUGGY: * for now, this is quite just a cut-and-paste from i386 target... */ @@ -73,3 +76,5 @@ struct target_revectored_struct { #define TARGET_MINSIGSTKSZ 2048 #define TARGET_MLOCKALL_MCL_CURRENT 0x2000 #define TARGET_MLOCKALL_MCL_FUTURE 0x4000 + +#endif /* SYSCALL_H */ diff --git a/linux-user/s390x/syscall.h b/linux-user/s390x/syscall.h index 35f170a..5dfb4eb 100644 --- a/linux-user/s390x/syscall.h +++ b/linux-user/s390x/syscall.h @@ -1,3 +1,6 @@ +#ifndef SYSCALL_H +#define SYSCALL_H + /* this typedef defines how a Program Status Word looks like */ typedef struct { abi_ulong mask; @@ -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/sh4/syscall.h b/linux-user/sh4/syscall.h index 7aa4f23..3079965 100644 --- a/linux-user/sh4/syscall.h +++ b/linux-user/sh4/syscall.h @@ -1,3 +1,6 @@ +#ifndef SYSCALL_H +#define SYSCALL_H + struct target_pt_regs { unsigned long regs[16]; unsigned long pc; @@ -15,3 +18,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/sparc/syscall.h b/linux-user/sparc/syscall.h index 58573b9..1dea395 100644 --- a/linux-user/sparc/syscall.h +++ b/linux-user/sparc/syscall.h @@ -1,3 +1,6 @@ +#ifndef SYSCALL_H +#define SYSCALL_H + struct target_pt_regs { abi_ulong psr; abi_ulong pc; @@ -18,3 +21,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/sparc64/syscall.h b/linux-user/sparc64/syscall.h index 8398d3f..6b52c72 100644 --- a/linux-user/sparc64/syscall.h +++ b/linux-user/sparc64/syscall.h @@ -1,3 +1,6 @@ +#ifndef SYSCALL_H +#define SYSCALL_H + struct target_pt_regs { abi_ulong u_regs[16]; abi_ulong tstate; @@ -19,3 +22,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/x86_64/syscall.h b/linux-user/x86_64/syscall.h index 88b3c3f..7e6b83b 100644 --- a/linux-user/x86_64/syscall.h +++ b/linux-user/x86_64/syscall.h @@ -1,3 +1,6 @@ +#ifndef SYSCALL_H +#define SYSCALL_H + #define __USER_CS (0x33) #define __USER_DS (0x2B) @@ -100,3 +103,5 @@ struct target_msqid64_ds { #define TARGET_MINSIGSTKSZ 2048 #define TARGET_MLOCKALL_MCL_CURRENT 1 #define TARGET_MLOCKALL_MCL_FUTURE 2 + +#endif /* SYSCALL_H */
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 <vilanova@ac.upc.edu> --- 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(+)