All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH] ptrace: Fix build problems with glibc-2.18
@ 2013-11-22 14:20 Markos Chandras
  2013-11-25  7:14 ` Wanlong Gao
  0 siblings, 1 reply; 3+ messages in thread
From: Markos Chandras @ 2013-11-22 14:20 UTC (permalink / raw
  To: ltp-list

Since glibc-2.18, the struct ptrace_peeksiginfo_args is
also defined in sys/ptrace.h and conflicts with the definition
from the Linux kernel in linux/ptrace.h. We fix this by not
including the linux/ptrace.h header if the sys/ptrace.h header
defines the said struct. Fixes
https://github.com/linux-test-project/ltp/issues/6

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
---
Build tested on glibc-2.17 and glibc-2.18 systems
---
 configure.ac                              | 4 ++++
 include/config.h.default                  | 3 +++
 testcases/kernel/syscalls/ptrace/ptrace.h | 4 +++-
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 4846afd..d427276 100644
--- a/configure.ac
+++ b/configure.ac
@@ -48,6 +48,10 @@ AC_CHECK_HEADERS([ \
     sys/prctl.h \
 ])
 
+# glibc-2.18 defines ptrace_peeksiginfo_args in sys/ptrace.h which
+# conflicts with the one from linux kernel in linux/ptrace.h
+AC_CHECK_TYPES([struct ptrace_peeksiginfo_args],,,[#include <sys/ptrace.h>])
+
 # Tools knobs
 
 # Expect
diff --git a/include/config.h.default b/include/config.h.default
index 96e25c4..f226333 100644
--- a/include/config.h.default
+++ b/include/config.h.default
@@ -167,6 +167,9 @@
 /* Define to 1 if the system has the type `struct modify_ldt_ldt_s'. */
 #undef HAVE_STRUCT_MODIFY_LDT_LDT_S
 
+/* Define to 1 if the system has the type `struct ptrace_peeksiginfo_args'. */
+#undef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARG
+
 /* Define to 1 if `signo' is member of `struct signalfd_siginfo'. */
 #undef HAVE_STRUCT_SIGNALFD_SIGINFO_SIGNO
 
diff --git a/testcases/kernel/syscalls/ptrace/ptrace.h b/testcases/kernel/syscalls/ptrace/ptrace.h
index f0767d7..4a43f01 100644
--- a/testcases/kernel/syscalls/ptrace/ptrace.h
+++ b/testcases/kernel/syscalls/ptrace/ptrace.h
@@ -19,7 +19,9 @@
 # include <asm/ptrace.h>
 #endif
 #ifdef HAVE_LINUX_PTRACE_H
-# include <linux/ptrace.h>
+# ifndef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS
+#  include <linux/ptrace.h>
+# endif
 #endif
 #undef FU_ia64_fpreg
 #undef FU_pt_all_user_regs
-- 
1.8.4.3



------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [LTP] [PATCH] ptrace: Fix build problems with glibc-2.18
  2013-11-22 14:20 [LTP] [PATCH] ptrace: Fix build problems with glibc-2.18 Markos Chandras
@ 2013-11-25  7:14 ` Wanlong Gao
  2013-11-25  9:22   ` Markos Chandras
  0 siblings, 1 reply; 3+ messages in thread
From: Wanlong Gao @ 2013-11-25  7:14 UTC (permalink / raw
  To: Markos Chandras; +Cc: ltp-list

On 11/22/2013 10:20 PM, Markos Chandras wrote:
> Since glibc-2.18, the struct ptrace_peeksiginfo_args is
> also defined in sys/ptrace.h and conflicts with the definition
> from the Linux kernel in linux/ptrace.h. We fix this by not
> including the linux/ptrace.h header if the sys/ptrace.h header
> defines the said struct. Fixes
> https://github.com/linux-test-project/ltp/issues/6
> 
> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> ---
> Build tested on glibc-2.17 and glibc-2.18 systems
> ---
>  configure.ac                              | 4 ++++
>  include/config.h.default                  | 3 +++
>  testcases/kernel/syscalls/ptrace/ptrace.h | 4 +++-
>  3 files changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 4846afd..d427276 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -48,6 +48,10 @@ AC_CHECK_HEADERS([ \
>      sys/prctl.h \
>  ])
>  
> +# glibc-2.18 defines ptrace_peeksiginfo_args in sys/ptrace.h which
> +# conflicts with the one from linux kernel in linux/ptrace.h
> +AC_CHECK_TYPES([struct ptrace_peeksiginfo_args],,,[#include <sys/ptrace.h>])

We generally place this like checks to m4/*.

> +
>  # Tools knobs
>  
>  # Expect
> diff --git a/include/config.h.default b/include/config.h.default
> index 96e25c4..f226333 100644
> --- a/include/config.h.default
> +++ b/include/config.h.default
> @@ -167,6 +167,9 @@
>  /* Define to 1 if the system has the type `struct modify_ldt_ldt_s'. */
>  #undef HAVE_STRUCT_MODIFY_LDT_LDT_S
>  
> +/* Define to 1 if the system has the type `struct ptrace_peeksiginfo_args'. */
> +#undef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARG

Missed an "S" here?

Thanks,
Wanlong Gao

> +
>  /* Define to 1 if `signo' is member of `struct signalfd_siginfo'. */
>  #undef HAVE_STRUCT_SIGNALFD_SIGINFO_SIGNO
>  
> diff --git a/testcases/kernel/syscalls/ptrace/ptrace.h b/testcases/kernel/syscalls/ptrace/ptrace.h
> index f0767d7..4a43f01 100644
> --- a/testcases/kernel/syscalls/ptrace/ptrace.h
> +++ b/testcases/kernel/syscalls/ptrace/ptrace.h
> @@ -19,7 +19,9 @@
>  # include <asm/ptrace.h>
>  #endif
>  #ifdef HAVE_LINUX_PTRACE_H
> -# include <linux/ptrace.h>
> +# ifndef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS
> +#  include <linux/ptrace.h>
> +# endif
>  #endif
>  #undef FU_ia64_fpreg
>  #undef FU_pt_all_user_regs
> 


------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [LTP] [PATCH] ptrace: Fix build problems with glibc-2.18
  2013-11-25  7:14 ` Wanlong Gao
@ 2013-11-25  9:22   ` Markos Chandras
  0 siblings, 0 replies; 3+ messages in thread
From: Markos Chandras @ 2013-11-25  9:22 UTC (permalink / raw
  To: gaowanlong; +Cc: ltp-list

On 11/25/2013 07:14 AM, Wanlong Gao wrote:
> On 11/22/2013 10:20 PM, Markos Chandras wrote:
>> Since glibc-2.18, the struct ptrace_peeksiginfo_args is
>> also defined in sys/ptrace.h and conflicts with the definition
>> from the Linux kernel in linux/ptrace.h. We fix this by not
>> including the linux/ptrace.h header if the sys/ptrace.h header
>> defines the said struct. Fixes
>> https://github.com/linux-test-project/ltp/issues/6
>>
>> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
>> ---
>> Build tested on glibc-2.17 and glibc-2.18 systems
>> ---
>>   configure.ac                              | 4 ++++
>>   include/config.h.default                  | 3 +++
>>   testcases/kernel/syscalls/ptrace/ptrace.h | 4 +++-
>>   3 files changed, 10 insertions(+), 1 deletion(-)
>>
>> diff --git a/configure.ac b/configure.ac
>> index 4846afd..d427276 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -48,6 +48,10 @@ AC_CHECK_HEADERS([ \
>>       sys/prctl.h \
>>   ])
>>
>> +# glibc-2.18 defines ptrace_peeksiginfo_args in sys/ptrace.h which
>> +# conflicts with the one from linux kernel in linux/ptrace.h
>> +AC_CHECK_TYPES([struct ptrace_peeksiginfo_args],,,[#include <sys/ptrace.h>])
>
> We generally place this like checks to m4/*.
>
>> +
>>   # Tools knobs
>>
>>   # Expect
>> diff --git a/include/config.h.default b/include/config.h.default
>> index 96e25c4..f226333 100644
>> --- a/include/config.h.default
>> +++ b/include/config.h.default
>> @@ -167,6 +167,9 @@
>>   /* Define to 1 if the system has the type `struct modify_ldt_ldt_s'. */
>>   #undef HAVE_STRUCT_MODIFY_LDT_LDT_S
>>
>> +/* Define to 1 if the system has the type `struct ptrace_peeksiginfo_args'. */
>> +#undef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARG
>
> Missed an "S" here?
>
> Thanks,
> Wanlong Gao
>
>> +
>>   /* Define to 1 if `signo' is member of `struct signalfd_siginfo'. */
>>   #undef HAVE_STRUCT_SIGNALFD_SIGINFO_SIGNO
>>
>> diff --git a/testcases/kernel/syscalls/ptrace/ptrace.h b/testcases/kernel/syscalls/ptrace/ptrace.h
>> index f0767d7..4a43f01 100644
>> --- a/testcases/kernel/syscalls/ptrace/ptrace.h
>> +++ b/testcases/kernel/syscalls/ptrace/ptrace.h
>> @@ -19,7 +19,9 @@
>>   # include <asm/ptrace.h>
>>   #endif
>>   #ifdef HAVE_LINUX_PTRACE_H
>> -# include <linux/ptrace.h>
>> +# ifndef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS
>> +#  include <linux/ptrace.h>
>> +# endif
>>   #endif
>>   #undef FU_ia64_fpreg
>>   #undef FU_pt_all_user_regs
>>
>
Thanks for the review. I will send a v2 soon

-- 
markos


------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-11-25  9:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-22 14:20 [LTP] [PATCH] ptrace: Fix build problems with glibc-2.18 Markos Chandras
2013-11-25  7:14 ` Wanlong Gao
2013-11-25  9:22   ` Markos Chandras

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.