All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] Replace 'struct siginfo' with 'siginfo_t'.
@ 2012-07-05 13:32 Richard W.M. Jones
  2012-07-05 14:16 ` Peter Maydell
  2012-07-09 16:50 ` Richard W.M. Jones
  0 siblings, 2 replies; 5+ messages in thread
From: Richard W.M. Jones @ 2012-07-05 13:32 UTC (permalink / raw)
  To: qemu-devel; +Cc: hdegoede, aliguori

From: "Richard W.M. Jones" <rjones@redhat.com>

glibc 2.16 will remove the undocumented definition of 'struct siginfo'
from <bits/siginfo.h>.

This change is already present in glibc 2.15.90, so qemu compilation
of certain targets (eg. cris-user) breaks.

This struct was always typedef'd to be the same as 'siginfo_t' which
is what POSIX documents, so use that instead.

Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
---
 linux-user/signal.c |    8 ++++----
 user-exec.c         |    2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/linux-user/signal.c b/linux-user/signal.c
index 43346dc..108dff9 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -2849,7 +2849,7 @@ static void setup_rt_frame(int sig, struct target_sigaction *ka,
     * Arguments to signal handler:
     *
     *   a0 = signal number
-    *   a1 = pointer to struct siginfo
+    *   a1 = pointer to siginfo_t
     *   a2 = pointer to struct ucontext
     *
     * $25 and PC point to the signal handler, $29 points to the
@@ -3255,7 +3255,7 @@ struct target_signal_frame {
 };
 
 struct rt_signal_frame {
-    struct siginfo info;
+    siginfo_t info;
     struct ucontext uc;
     uint32_t tramp[2];
 };
@@ -3474,9 +3474,9 @@ struct target_signal_frame {
 };
 
 struct rt_signal_frame {
-        struct siginfo *pinfo;
+        siginfo_t *pinfo;
         void *puc;
-        struct siginfo info;
+        siginfo_t info;
         struct ucontext uc;
         uint8_t retcode[8];       /* Trampoline code. */
 };
diff --git a/user-exec.c b/user-exec.c
index b2a4261..1a9c276 100644
--- a/user-exec.c
+++ b/user-exec.c
@@ -588,7 +588,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
 int cpu_signal_handler(int host_signum, void *pinfo,
                        void *puc)
 {
-    struct siginfo *info = pinfo;
+    siginfo_t *info = pinfo;
     struct ucontext *uc = puc;
     unsigned long pc = uc->uc_mcontext.sc_iaoq[0];
     uint32_t insn = *(uint32_t *)pc;
-- 
1.7.10.4

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

* Re: [Qemu-devel] [PATCH] Replace 'struct siginfo' with 'siginfo_t'.
  2012-07-05 13:32 [Qemu-devel] [PATCH] Replace 'struct siginfo' with 'siginfo_t' Richard W.M. Jones
@ 2012-07-05 14:16 ` Peter Maydell
  2012-07-05 14:26   ` Richard W.M. Jones
  2012-07-09 16:50 ` Richard W.M. Jones
  1 sibling, 1 reply; 5+ messages in thread
From: Peter Maydell @ 2012-07-05 14:16 UTC (permalink / raw)
  To: Richard W.M. Jones; +Cc: hdegoede, aliguori, qemu-devel

On 5 July 2012 14:32, Richard W.M. Jones <rjones@redhat.com> wrote:
> From: "Richard W.M. Jones" <rjones@redhat.com>
>
> glibc 2.16 will remove the undocumented definition of 'struct siginfo'
> from <bits/siginfo.h>.

Progress marches on, trampling all in its wake.

> This change is already present in glibc 2.15.90, so qemu compilation
> of certain targets (eg. cris-user) breaks.
>
> This struct was always typedef'd to be the same as 'siginfo_t' which
> is what POSIX documents, so use that instead.
>
> Signed-off-by: Richard W.M. Jones <rjones@redhat.com>

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

-- PMM

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

* Re: [Qemu-devel] [PATCH] Replace 'struct siginfo' with 'siginfo_t'.
  2012-07-05 14:16 ` Peter Maydell
@ 2012-07-05 14:26   ` Richard W.M. Jones
  0 siblings, 0 replies; 5+ messages in thread
From: Richard W.M. Jones @ 2012-07-05 14:26 UTC (permalink / raw)
  To: Peter Maydell; +Cc: hdegoede, aliguori, qemu-devel

On Thu, Jul 05, 2012 at 03:16:12PM +0100, Peter Maydell wrote:
> On 5 July 2012 14:32, Richard W.M. Jones <rjones@redhat.com> wrote:
> > From: "Richard W.M. Jones" <rjones@redhat.com>
> >
> > glibc 2.16 will remove the undocumented definition of 'struct siginfo'
> > from <bits/siginfo.h>.
> 
> Progress marches on, trampling all in its wake.

Hey, don't shoot the messenger :-)

> > This change is already present in glibc 2.15.90, so qemu compilation
> > of certain targets (eg. cris-user) breaks.
> >
> > This struct was always typedef'd to be the same as 'siginfo_t' which
> > is what POSIX documents, so use that instead.
> >
> > Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
> 
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

Thanks,

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://et.redhat.com/~rjones/virt-df/

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

* Re: [Qemu-devel] [PATCH] Replace 'struct siginfo' with 'siginfo_t'.
  2012-07-05 13:32 [Qemu-devel] [PATCH] Replace 'struct siginfo' with 'siginfo_t' Richard W.M. Jones
  2012-07-05 14:16 ` Peter Maydell
@ 2012-07-09 16:50 ` Richard W.M. Jones
  2012-07-09 16:52   ` Peter Maydell
  1 sibling, 1 reply; 5+ messages in thread
From: Richard W.M. Jones @ 2012-07-09 16:50 UTC (permalink / raw)
  To: aliguori, qemu-devel; +Cc: hdegoede

On Thu, Jul 05, 2012 at 02:32:44PM +0100, Richard W.M. Jones wrote:
> From: "Richard W.M. Jones" <rjones@redhat.com>
> 
> glibc 2.16 will remove the undocumented definition of 'struct siginfo'
> from <bits/siginfo.h>.
> 
> This change is already present in glibc 2.15.90, so qemu compilation
> of certain targets (eg. cris-user) breaks.
> 
> This struct was always typedef'd to be the same as 'siginfo_t' which
> is what POSIX documents, so use that instead.
> 
> Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
> ---
>  linux-user/signal.c |    8 ++++----
>  user-exec.c         |    2 +-
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/linux-user/signal.c b/linux-user/signal.c
> index 43346dc..108dff9 100644
> --- a/linux-user/signal.c
> +++ b/linux-user/signal.c
> @@ -2849,7 +2849,7 @@ static void setup_rt_frame(int sig, struct target_sigaction *ka,
>      * Arguments to signal handler:
>      *
>      *   a0 = signal number
> -    *   a1 = pointer to struct siginfo
> +    *   a1 = pointer to siginfo_t
>      *   a2 = pointer to struct ucontext
>      *
>      * $25 and PC point to the signal handler, $29 points to the
> @@ -3255,7 +3255,7 @@ struct target_signal_frame {
>  };
>  
>  struct rt_signal_frame {
> -    struct siginfo info;
> +    siginfo_t info;
>      struct ucontext uc;
>      uint32_t tramp[2];
>  };
> @@ -3474,9 +3474,9 @@ struct target_signal_frame {
>  };
>  
>  struct rt_signal_frame {
> -        struct siginfo *pinfo;
> +        siginfo_t *pinfo;
>          void *puc;
> -        struct siginfo info;
> +        siginfo_t info;
>          struct ucontext uc;
>          uint8_t retcode[8];       /* Trampoline code. */
>  };
> diff --git a/user-exec.c b/user-exec.c
> index b2a4261..1a9c276 100644
> --- a/user-exec.c
> +++ b/user-exec.c
> @@ -588,7 +588,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
>  int cpu_signal_handler(int host_signum, void *pinfo,
>                         void *puc)
>  {
> -    struct siginfo *info = pinfo;
> +    siginfo_t *info = pinfo;
>      struct ucontext *uc = puc;
>      unsigned long pc = uc->uc_mcontext.sc_iaoq[0];
>      uint32_t insn = *(uint32_t *)pc;
> -- 
> 1.7.10.4
> 

Any news on this?  Pretty obvious fix if you're using the new glibc ...

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org

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

* Re: [Qemu-devel] [PATCH] Replace 'struct siginfo' with 'siginfo_t'.
  2012-07-09 16:50 ` Richard W.M. Jones
@ 2012-07-09 16:52   ` Peter Maydell
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2012-07-09 16:52 UTC (permalink / raw)
  To: Richard W.M. Jones; +Cc: hdegoede, aliguori, qemu-devel

On 9 July 2012 17:50, Richard W.M. Jones <rjones@redhat.com> wrote:
> On Thu, Jul 05, 2012 at 02:32:44PM +0100, Richard W.M. Jones wrote:
>> From: "Richard W.M. Jones" <rjones@redhat.com>
>>
>> glibc 2.16 will remove the undocumented definition of 'struct siginfo'
>> from <bits/siginfo.h>.
>>
>> This change is already present in glibc 2.15.90, so qemu compilation
>> of certain targets (eg. cris-user) breaks.
>>
>> This struct was always typedef'd to be the same as 'siginfo_t' which
>> is what POSIX documents, so use that instead.

> Any news on this?  Pretty obvious fix if you're using the new glibc ...

4 days would be pretty fast for getting a patch committed, and I think
aliguori is either asleep or on holiday this past week or so :-)

-- PMM

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

end of thread, other threads:[~2012-07-09 16:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-05 13:32 [Qemu-devel] [PATCH] Replace 'struct siginfo' with 'siginfo_t' Richard W.M. Jones
2012-07-05 14:16 ` Peter Maydell
2012-07-05 14:26   ` Richard W.M. Jones
2012-07-09 16:50 ` Richard W.M. Jones
2012-07-09 16:52   ` Peter Maydell

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.