* [Qemu-devel] [PATCH] linux-user: fix GPROF build failure
@ 2019-05-02 9:27 Alex Bennée
2019-05-02 9:27 ` Alex Bennée
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: Alex Bennée @ 2019-05-02 9:27 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée, Riku Voipio, Laurent Vivier
When linux-user/exit was introduced we failed to move the gprof
include at the same time. The CI didn't notice because it only builds
system emulation. Fix it for those that still find gprof useful.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
linux-user/exit.c | 3 +++
linux-user/syscall.c | 3 ---
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/linux-user/exit.c b/linux-user/exit.c
index 14e94e28fa..bdda720553 100644
--- a/linux-user/exit.c
+++ b/linux-user/exit.c
@@ -18,6 +18,9 @@
*/
#include "qemu/osdep.h"
#include "qemu.h"
+#ifdef TARGET_GPROF
+#include <sys/gmon.h>
+#endif
#ifdef CONFIG_GCOV
extern void __gcov_dump(void);
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 96cd4bf86d..f2d9883aef 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -59,9 +59,6 @@
#ifdef CONFIG_TIMERFD
#include <sys/timerfd.h>
#endif
-#ifdef TARGET_GPROF
-#include <sys/gmon.h>
-#endif
#ifdef CONFIG_EVENTFD
#include <sys/eventfd.h>
#endif
--
2.20.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [Qemu-devel] [PATCH] linux-user: fix GPROF build failure
2019-05-02 9:27 [Qemu-devel] [PATCH] linux-user: fix GPROF build failure Alex Bennée
@ 2019-05-02 9:27 ` Alex Bennée
2019-05-02 10:14 ` Laurent Desnogues
2019-05-09 17:08 ` [Qemu-devel] [PATCH] linux-user: fix GPROF build failure Laurent Vivier
2 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2019-05-02 9:27 UTC (permalink / raw)
To: qemu-devel; +Cc: Riku Voipio, Alex Bennée, Laurent Vivier
When linux-user/exit was introduced we failed to move the gprof
include at the same time. The CI didn't notice because it only builds
system emulation. Fix it for those that still find gprof useful.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
linux-user/exit.c | 3 +++
linux-user/syscall.c | 3 ---
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/linux-user/exit.c b/linux-user/exit.c
index 14e94e28fa..bdda720553 100644
--- a/linux-user/exit.c
+++ b/linux-user/exit.c
@@ -18,6 +18,9 @@
*/
#include "qemu/osdep.h"
#include "qemu.h"
+#ifdef TARGET_GPROF
+#include <sys/gmon.h>
+#endif
#ifdef CONFIG_GCOV
extern void __gcov_dump(void);
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 96cd4bf86d..f2d9883aef 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -59,9 +59,6 @@
#ifdef CONFIG_TIMERFD
#include <sys/timerfd.h>
#endif
-#ifdef TARGET_GPROF
-#include <sys/gmon.h>
-#endif
#ifdef CONFIG_EVENTFD
#include <sys/eventfd.h>
#endif
--
2.20.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: fix GPROF build failure
2019-05-02 9:27 [Qemu-devel] [PATCH] linux-user: fix GPROF build failure Alex Bennée
2019-05-02 9:27 ` Alex Bennée
@ 2019-05-02 10:14 ` Laurent Desnogues
2019-05-02 10:14 ` Laurent Desnogues
2019-05-02 14:50 ` Alex Bennée
2019-05-09 17:08 ` [Qemu-devel] [PATCH] linux-user: fix GPROF build failure Laurent Vivier
2 siblings, 2 replies; 16+ messages in thread
From: Laurent Desnogues @ 2019-05-02 10:14 UTC (permalink / raw)
To: Alex Bennée; +Cc: qemu-devel@nongnu.org, Riku Voipio, Laurent Vivier
Hello,
On Thu, May 2, 2019 at 11:31 AM Alex Bennée <alex.bennee@linaro.org> wrote:
>
> When linux-user/exit was introduced we failed to move the gprof
> include at the same time. The CI didn't notice because it only builds
> system emulation. Fix it for those that still find gprof useful.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Thanks,
Laurent
> ---
> linux-user/exit.c | 3 +++
> linux-user/syscall.c | 3 ---
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/linux-user/exit.c b/linux-user/exit.c
> index 14e94e28fa..bdda720553 100644
> --- a/linux-user/exit.c
> +++ b/linux-user/exit.c
> @@ -18,6 +18,9 @@
> */
> #include "qemu/osdep.h"
> #include "qemu.h"
> +#ifdef TARGET_GPROF
> +#include <sys/gmon.h>
> +#endif
>
> #ifdef CONFIG_GCOV
> extern void __gcov_dump(void);
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 96cd4bf86d..f2d9883aef 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -59,9 +59,6 @@
> #ifdef CONFIG_TIMERFD
> #include <sys/timerfd.h>
> #endif
> -#ifdef TARGET_GPROF
> -#include <sys/gmon.h>
> -#endif
> #ifdef CONFIG_EVENTFD
> #include <sys/eventfd.h>
> #endif
> --
> 2.20.1
>
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: fix GPROF build failure
2019-05-02 10:14 ` Laurent Desnogues
@ 2019-05-02 10:14 ` Laurent Desnogues
2019-05-02 14:50 ` Alex Bennée
1 sibling, 0 replies; 16+ messages in thread
From: Laurent Desnogues @ 2019-05-02 10:14 UTC (permalink / raw)
To: Alex Bennée; +Cc: Riku Voipio, qemu-devel@nongnu.org, Laurent Vivier
Hello,
On Thu, May 2, 2019 at 11:31 AM Alex Bennée <alex.bennee@linaro.org> wrote:
>
> When linux-user/exit was introduced we failed to move the gprof
> include at the same time. The CI didn't notice because it only builds
> system emulation. Fix it for those that still find gprof useful.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Thanks,
Laurent
> ---
> linux-user/exit.c | 3 +++
> linux-user/syscall.c | 3 ---
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/linux-user/exit.c b/linux-user/exit.c
> index 14e94e28fa..bdda720553 100644
> --- a/linux-user/exit.c
> +++ b/linux-user/exit.c
> @@ -18,6 +18,9 @@
> */
> #include "qemu/osdep.h"
> #include "qemu.h"
> +#ifdef TARGET_GPROF
> +#include <sys/gmon.h>
> +#endif
>
> #ifdef CONFIG_GCOV
> extern void __gcov_dump(void);
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 96cd4bf86d..f2d9883aef 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -59,9 +59,6 @@
> #ifdef CONFIG_TIMERFD
> #include <sys/timerfd.h>
> #endif
> -#ifdef TARGET_GPROF
> -#include <sys/gmon.h>
> -#endif
> #ifdef CONFIG_EVENTFD
> #include <sys/eventfd.h>
> #endif
> --
> 2.20.1
>
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: fix GPROF build failure
2019-05-02 10:14 ` Laurent Desnogues
2019-05-02 10:14 ` Laurent Desnogues
@ 2019-05-02 14:50 ` Alex Bennée
2019-05-02 14:50 ` Alex Bennée
2019-05-02 14:58 ` [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals Alex Bennée
1 sibling, 2 replies; 16+ messages in thread
From: Alex Bennée @ 2019-05-02 14:50 UTC (permalink / raw)
To: Laurent Desnogues; +Cc: qemu-devel@nongnu.org, Riku Voipio, Laurent Vivier
Laurent Desnogues <laurent.desnogues@gmail.com> writes:
> Hello,
>
> On Thu, May 2, 2019 at 11:31 AM Alex Bennée <alex.bennee@linaro.org> wrote:
>>
>> When linux-user/exit was introduced we failed to move the gprof
>> include at the same time. The CI didn't notice because it only builds
>> system emulation. Fix it for those that still find gprof useful.
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> Tested-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Sadly running programs then fails because of the SIG_PROF signal getting
passed to the guest. I wonder how this ever worked?
--
Alex Bennée
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: fix GPROF build failure
2019-05-02 14:50 ` Alex Bennée
@ 2019-05-02 14:50 ` Alex Bennée
2019-05-02 14:58 ` [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals Alex Bennée
1 sibling, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2019-05-02 14:50 UTC (permalink / raw)
To: Laurent Desnogues; +Cc: Riku Voipio, qemu-devel@nongnu.org, Laurent Vivier
Laurent Desnogues <laurent.desnogues@gmail.com> writes:
> Hello,
>
> On Thu, May 2, 2019 at 11:31 AM Alex Bennée <alex.bennee@linaro.org> wrote:
>>
>> When linux-user/exit was introduced we failed to move the gprof
>> include at the same time. The CI didn't notice because it only builds
>> system emulation. Fix it for those that still find gprof useful.
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> Tested-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Sadly running programs then fails because of the SIG_PROF signal getting
passed to the guest. I wonder how this ever worked?
--
Alex Bennée
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals
2019-05-02 14:50 ` Alex Bennée
2019-05-02 14:50 ` Alex Bennée
@ 2019-05-02 14:58 ` Alex Bennée
2019-05-02 14:58 ` Alex Bennée
` (2 more replies)
1 sibling, 3 replies; 16+ messages in thread
From: Alex Bennée @ 2019-05-02 14:58 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée, Riku Voipio, Laurent Vivier
The guest tends to get confused when it receives signals it doesn't
know about. Given the gprof magic has also set up it's own handler we
would do well to avoid stomping on it as well.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
linux-user/signal.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/linux-user/signal.c b/linux-user/signal.c
index e2c0b37173..44b2d3b35a 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -508,6 +508,11 @@ void signal_init(void)
act.sa_flags = SA_SIGINFO;
act.sa_sigaction = host_signal_handler;
for(i = 1; i <= TARGET_NSIG; i++) {
+#ifdef TARGET_GPROF
+ if (i == SIGPROF) {
+ continue;
+ }
+#endif
host_sig = target_to_host_signal(i);
sigaction(host_sig, NULL, &oact);
if (oact.sa_sigaction == (void *)SIG_IGN) {
--
2.20.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals
2019-05-02 14:58 ` [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals Alex Bennée
@ 2019-05-02 14:58 ` Alex Bennée
2019-05-02 16:14 ` Laurent Vivier
2019-05-09 17:08 ` Laurent Vivier
2 siblings, 0 replies; 16+ messages in thread
From: Alex Bennée @ 2019-05-02 14:58 UTC (permalink / raw)
To: qemu-devel; +Cc: Riku Voipio, Alex Bennée, Laurent Vivier
The guest tends to get confused when it receives signals it doesn't
know about. Given the gprof magic has also set up it's own handler we
would do well to avoid stomping on it as well.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
linux-user/signal.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/linux-user/signal.c b/linux-user/signal.c
index e2c0b37173..44b2d3b35a 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -508,6 +508,11 @@ void signal_init(void)
act.sa_flags = SA_SIGINFO;
act.sa_sigaction = host_signal_handler;
for(i = 1; i <= TARGET_NSIG; i++) {
+#ifdef TARGET_GPROF
+ if (i == SIGPROF) {
+ continue;
+ }
+#endif
host_sig = target_to_host_signal(i);
sigaction(host_sig, NULL, &oact);
if (oact.sa_sigaction == (void *)SIG_IGN) {
--
2.20.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals
2019-05-02 14:58 ` [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals Alex Bennée
2019-05-02 14:58 ` Alex Bennée
@ 2019-05-02 16:14 ` Laurent Vivier
2019-05-02 16:14 ` Laurent Vivier
2019-05-02 16:27 ` Laurent Desnogues
2019-05-09 17:08 ` Laurent Vivier
2 siblings, 2 replies; 16+ messages in thread
From: Laurent Vivier @ 2019-05-02 16:14 UTC (permalink / raw)
To: Alex Bennée, qemu-devel; +Cc: Riku Voipio
On 02/05/2019 16:58, Alex Bennée wrote:
> The guest tends to get confused when it receives signals it doesn't
> know about. Given the gprof magic has also set up it's own handler we
> would do well to avoid stomping on it as well.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> linux-user/signal.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/linux-user/signal.c b/linux-user/signal.c
> index e2c0b37173..44b2d3b35a 100644
> --- a/linux-user/signal.c
> +++ b/linux-user/signal.c
> @@ -508,6 +508,11 @@ void signal_init(void)
> act.sa_flags = SA_SIGINFO;
> act.sa_sigaction = host_signal_handler;
> for(i = 1; i <= TARGET_NSIG; i++) {
> +#ifdef TARGET_GPROF
> + if (i == SIGPROF) {
> + continue;
> + }
> +#endif
> host_sig = target_to_host_signal(i);
> sigaction(host_sig, NULL, &oact);
> if (oact.sa_sigaction == (void *)SIG_IGN) {
>
Perhaps merge this with the previous one and send a v2: it will ease
bisecting.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals
2019-05-02 16:14 ` Laurent Vivier
@ 2019-05-02 16:14 ` Laurent Vivier
2019-05-02 16:27 ` Laurent Desnogues
1 sibling, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2019-05-02 16:14 UTC (permalink / raw)
To: Alex Bennée, qemu-devel; +Cc: Riku Voipio
On 02/05/2019 16:58, Alex Bennée wrote:
> The guest tends to get confused when it receives signals it doesn't
> know about. Given the gprof magic has also set up it's own handler we
> would do well to avoid stomping on it as well.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> linux-user/signal.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/linux-user/signal.c b/linux-user/signal.c
> index e2c0b37173..44b2d3b35a 100644
> --- a/linux-user/signal.c
> +++ b/linux-user/signal.c
> @@ -508,6 +508,11 @@ void signal_init(void)
> act.sa_flags = SA_SIGINFO;
> act.sa_sigaction = host_signal_handler;
> for(i = 1; i <= TARGET_NSIG; i++) {
> +#ifdef TARGET_GPROF
> + if (i == SIGPROF) {
> + continue;
> + }
> +#endif
> host_sig = target_to_host_signal(i);
> sigaction(host_sig, NULL, &oact);
> if (oact.sa_sigaction == (void *)SIG_IGN) {
>
Perhaps merge this with the previous one and send a v2: it will ease
bisecting.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals
2019-05-02 16:14 ` Laurent Vivier
2019-05-02 16:14 ` Laurent Vivier
@ 2019-05-02 16:27 ` Laurent Desnogues
2019-05-02 16:27 ` Laurent Desnogues
2019-05-02 16:33 ` Laurent Vivier
1 sibling, 2 replies; 16+ messages in thread
From: Laurent Desnogues @ 2019-05-02 16:27 UTC (permalink / raw)
To: Laurent Vivier; +Cc: Alex Bennée, qemu-devel@nongnu.org, Riku Voipio
On Thu, May 2, 2019 at 6:17 PM Laurent Vivier <laurent@vivier.eu> wrote:
>
> On 02/05/2019 16:58, Alex Bennée wrote:
> > The guest tends to get confused when it receives signals it doesn't
> > know about. Given the gprof magic has also set up it's own handler we
> > would do well to avoid stomping on it as well.
> >
> > Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> > ---
> > linux-user/signal.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/linux-user/signal.c b/linux-user/signal.c
> > index e2c0b37173..44b2d3b35a 100644
> > --- a/linux-user/signal.c
> > +++ b/linux-user/signal.c
> > @@ -508,6 +508,11 @@ void signal_init(void)
> > act.sa_flags = SA_SIGINFO;
> > act.sa_sigaction = host_signal_handler;
> > for(i = 1; i <= TARGET_NSIG; i++) {
> > +#ifdef TARGET_GPROF
> > + if (i == SIGPROF) {
> > + continue;
> > + }
> > +#endif
> > host_sig = target_to_host_signal(i);
> > sigaction(host_sig, NULL, &oact);
> > if (oact.sa_sigaction == (void *)SIG_IGN) {
> >
>
> Perhaps merge this with the previous one and send a v2: it will ease
> bisecting.
I agree it would be better, though it should be noted that the signal
issue has existed for at least 8 years (that's when I had to add a
specific patch in my private repository).
Thanks,
Laurent
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals
2019-05-02 16:27 ` Laurent Desnogues
@ 2019-05-02 16:27 ` Laurent Desnogues
2019-05-02 16:33 ` Laurent Vivier
1 sibling, 0 replies; 16+ messages in thread
From: Laurent Desnogues @ 2019-05-02 16:27 UTC (permalink / raw)
To: Laurent Vivier; +Cc: Riku Voipio, Alex Bennée, qemu-devel@nongnu.org
On Thu, May 2, 2019 at 6:17 PM Laurent Vivier <laurent@vivier.eu> wrote:
>
> On 02/05/2019 16:58, Alex Bennée wrote:
> > The guest tends to get confused when it receives signals it doesn't
> > know about. Given the gprof magic has also set up it's own handler we
> > would do well to avoid stomping on it as well.
> >
> > Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> > ---
> > linux-user/signal.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/linux-user/signal.c b/linux-user/signal.c
> > index e2c0b37173..44b2d3b35a 100644
> > --- a/linux-user/signal.c
> > +++ b/linux-user/signal.c
> > @@ -508,6 +508,11 @@ void signal_init(void)
> > act.sa_flags = SA_SIGINFO;
> > act.sa_sigaction = host_signal_handler;
> > for(i = 1; i <= TARGET_NSIG; i++) {
> > +#ifdef TARGET_GPROF
> > + if (i == SIGPROF) {
> > + continue;
> > + }
> > +#endif
> > host_sig = target_to_host_signal(i);
> > sigaction(host_sig, NULL, &oact);
> > if (oact.sa_sigaction == (void *)SIG_IGN) {
> >
>
> Perhaps merge this with the previous one and send a v2: it will ease
> bisecting.
I agree it would be better, though it should be noted that the signal
issue has existed for at least 8 years (that's when I had to add a
specific patch in my private repository).
Thanks,
Laurent
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals
2019-05-02 16:27 ` Laurent Desnogues
2019-05-02 16:27 ` Laurent Desnogues
@ 2019-05-02 16:33 ` Laurent Vivier
2019-05-02 16:33 ` Laurent Vivier
1 sibling, 1 reply; 16+ messages in thread
From: Laurent Vivier @ 2019-05-02 16:33 UTC (permalink / raw)
To: Laurent Desnogues; +Cc: Alex Bennée, qemu-devel@nongnu.org, Riku Voipio
On 02/05/2019 18:27, Laurent Desnogues wrote:
> On Thu, May 2, 2019 at 6:17 PM Laurent Vivier <laurent@vivier.eu> wrote:
>>
>> On 02/05/2019 16:58, Alex Bennée wrote:
>>> The guest tends to get confused when it receives signals it doesn't
>>> know about. Given the gprof magic has also set up it's own handler we
>>> would do well to avoid stomping on it as well.
>>>
>>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>>> ---
>>> linux-user/signal.c | 5 +++++
>>> 1 file changed, 5 insertions(+)
>>>
>>> diff --git a/linux-user/signal.c b/linux-user/signal.c
>>> index e2c0b37173..44b2d3b35a 100644
>>> --- a/linux-user/signal.c
>>> +++ b/linux-user/signal.c
>>> @@ -508,6 +508,11 @@ void signal_init(void)
>>> act.sa_flags = SA_SIGINFO;
>>> act.sa_sigaction = host_signal_handler;
>>> for(i = 1; i <= TARGET_NSIG; i++) {
>>> +#ifdef TARGET_GPROF
>>> + if (i == SIGPROF) {
>>> + continue;
>>> + }
>>> +#endif
>>> host_sig = target_to_host_signal(i);
>>> sigaction(host_sig, NULL, &oact);
>>> if (oact.sa_sigaction == (void *)SIG_IGN) {
>>>
>>
>> Perhaps merge this with the previous one and send a v2: it will ease
>> bisecting.
>
> I agree it would be better, though it should be noted that the signal
> issue has existed for at least 8 years (that's when I had to add a
> specific patch in my private repository).
I can also apply the second first, and the first then...
Thanks,
Laurent
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals
2019-05-02 16:33 ` Laurent Vivier
@ 2019-05-02 16:33 ` Laurent Vivier
0 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2019-05-02 16:33 UTC (permalink / raw)
To: Laurent Desnogues; +Cc: Riku Voipio, Alex Bennée, qemu-devel@nongnu.org
On 02/05/2019 18:27, Laurent Desnogues wrote:
> On Thu, May 2, 2019 at 6:17 PM Laurent Vivier <laurent@vivier.eu> wrote:
>>
>> On 02/05/2019 16:58, Alex Bennée wrote:
>>> The guest tends to get confused when it receives signals it doesn't
>>> know about. Given the gprof magic has also set up it's own handler we
>>> would do well to avoid stomping on it as well.
>>>
>>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>>> ---
>>> linux-user/signal.c | 5 +++++
>>> 1 file changed, 5 insertions(+)
>>>
>>> diff --git a/linux-user/signal.c b/linux-user/signal.c
>>> index e2c0b37173..44b2d3b35a 100644
>>> --- a/linux-user/signal.c
>>> +++ b/linux-user/signal.c
>>> @@ -508,6 +508,11 @@ void signal_init(void)
>>> act.sa_flags = SA_SIGINFO;
>>> act.sa_sigaction = host_signal_handler;
>>> for(i = 1; i <= TARGET_NSIG; i++) {
>>> +#ifdef TARGET_GPROF
>>> + if (i == SIGPROF) {
>>> + continue;
>>> + }
>>> +#endif
>>> host_sig = target_to_host_signal(i);
>>> sigaction(host_sig, NULL, &oact);
>>> if (oact.sa_sigaction == (void *)SIG_IGN) {
>>>
>>
>> Perhaps merge this with the previous one and send a v2: it will ease
>> bisecting.
>
> I agree it would be better, though it should be noted that the signal
> issue has existed for at least 8 years (that's when I had to add a
> specific patch in my private repository).
I can also apply the second first, and the first then...
Thanks,
Laurent
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals
2019-05-02 14:58 ` [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals Alex Bennée
2019-05-02 14:58 ` Alex Bennée
2019-05-02 16:14 ` Laurent Vivier
@ 2019-05-09 17:08 ` Laurent Vivier
2 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2019-05-09 17:08 UTC (permalink / raw)
To: Alex Bennée, qemu-devel; +Cc: Riku Voipio
On 02/05/2019 16:58, Alex Bennée wrote:
> The guest tends to get confused when it receives signals it doesn't
> know about. Given the gprof magic has also set up it's own handler we
> would do well to avoid stomping on it as well.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> linux-user/signal.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/linux-user/signal.c b/linux-user/signal.c
> index e2c0b37173..44b2d3b35a 100644
> --- a/linux-user/signal.c
> +++ b/linux-user/signal.c
> @@ -508,6 +508,11 @@ void signal_init(void)
> act.sa_flags = SA_SIGINFO;
> act.sa_sigaction = host_signal_handler;
> for(i = 1; i <= TARGET_NSIG; i++) {
> +#ifdef TARGET_GPROF
> + if (i == SIGPROF) {
> + continue;
> + }
> +#endif
> host_sig = target_to_host_signal(i);
> sigaction(host_sig, NULL, &oact);
> if (oact.sa_sigaction == (void *)SIG_IGN) {
>
Applied to my linux-user branch.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH] linux-user: fix GPROF build failure
2019-05-02 9:27 [Qemu-devel] [PATCH] linux-user: fix GPROF build failure Alex Bennée
2019-05-02 9:27 ` Alex Bennée
2019-05-02 10:14 ` Laurent Desnogues
@ 2019-05-09 17:08 ` Laurent Vivier
2 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2019-05-09 17:08 UTC (permalink / raw)
To: Alex Bennée, qemu-devel; +Cc: Riku Voipio
On 02/05/2019 11:27, Alex Bennée wrote:
> When linux-user/exit was introduced we failed to move the gprof
> include at the same time. The CI didn't notice because it only builds
> system emulation. Fix it for those that still find gprof useful.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> linux-user/exit.c | 3 +++
> linux-user/syscall.c | 3 ---
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/linux-user/exit.c b/linux-user/exit.c
> index 14e94e28fa..bdda720553 100644
> --- a/linux-user/exit.c
> +++ b/linux-user/exit.c
> @@ -18,6 +18,9 @@
> */
> #include "qemu/osdep.h"
> #include "qemu.h"
> +#ifdef TARGET_GPROF
> +#include <sys/gmon.h>
> +#endif
>
> #ifdef CONFIG_GCOV
> extern void __gcov_dump(void);
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 96cd4bf86d..f2d9883aef 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -59,9 +59,6 @@
> #ifdef CONFIG_TIMERFD
> #include <sys/timerfd.h>
> #endif
> -#ifdef TARGET_GPROF
> -#include <sys/gmon.h>
> -#endif
> #ifdef CONFIG_EVENTFD
> #include <sys/eventfd.h>
> #endif
>
Applied to my linux-user branch.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2019-05-09 17:30 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-02 9:27 [Qemu-devel] [PATCH] linux-user: fix GPROF build failure Alex Bennée
2019-05-02 9:27 ` Alex Bennée
2019-05-02 10:14 ` Laurent Desnogues
2019-05-02 10:14 ` Laurent Desnogues
2019-05-02 14:50 ` Alex Bennée
2019-05-02 14:50 ` Alex Bennée
2019-05-02 14:58 ` [Qemu-devel] [PATCH] linux-user: avoid treading on gprof's SIGPROF signals Alex Bennée
2019-05-02 14:58 ` Alex Bennée
2019-05-02 16:14 ` Laurent Vivier
2019-05-02 16:14 ` Laurent Vivier
2019-05-02 16:27 ` Laurent Desnogues
2019-05-02 16:27 ` Laurent Desnogues
2019-05-02 16:33 ` Laurent Vivier
2019-05-02 16:33 ` Laurent Vivier
2019-05-09 17:08 ` Laurent Vivier
2019-05-09 17:08 ` [Qemu-devel] [PATCH] linux-user: fix GPROF build failure Laurent Vivier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).