* [Buildroot] [PATCH] xserver_xorg-server: use -O2 build optimization level
@ 2016-05-06 0:08 Gustavo Zacarias
2016-05-06 6:47 ` Peter Seiderer
2016-05-06 13:51 ` Thomas Petazzoni
0 siblings, 2 replies; 6+ messages in thread
From: Gustavo Zacarias @ 2016-05-06 0:08 UTC (permalink / raw)
To: buildroot
The xorg server is somewhat sensitive to certain gcc versions combined
with -Os, particularly for ARM and MIPS, typically in the form of the
following symptom/error:
(EE) Segmentation fault at address 0x0
(EE)
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
Force -O2 to work around this problem - for a target rootfs that uses
X11 the tradeoff is minimal since a sample/test image for qemu vexpress
with X11 + xinit + xterm + twm + xclock + gtk2 with demos is 60+ MB.
And it's less complicated than trying to find all of the bad
combinations.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
index 617bcbc..9de6d91 100644
--- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
+++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
@@ -62,7 +62,7 @@ XSERVER_XORG_SERVER_CONF_OPTS = \
--disable-xephyr \
--disable-dmx \
--with-builder-addr=buildroot at buildroot.org \
- CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1" \
+ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1 -O2" \
--with-fontrootdir=/usr/share/fonts/X11/ \
--$(if $(BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB),en,dis)able-xvfb
--
2.7.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH] xserver_xorg-server: use -O2 build optimization level
2016-05-06 0:08 [Buildroot] [PATCH] xserver_xorg-server: use -O2 build optimization level Gustavo Zacarias
@ 2016-05-06 6:47 ` Peter Seiderer
2016-05-06 6:55 ` Peter Seiderer
2016-05-06 12:15 ` Gustavo Zacarias
2016-05-06 13:51 ` Thomas Petazzoni
1 sibling, 2 replies; 6+ messages in thread
From: Peter Seiderer @ 2016-05-06 6:47 UTC (permalink / raw)
To: buildroot
Hello Gustavo,
On Thu, 5 May 2016 21:08:27 -0300, Gustavo Zacarias <gustavo@zacarias.com.ar> wrote:
> The xorg server is somewhat sensitive to certain gcc versions combined
> with -Os, particularly for ARM and MIPS, typically in the form of the
> following symptom/error:
>
> (EE) Segmentation fault at address 0x0
> (EE)
> Fatal server error:
> (EE) Caught signal 11 (Segmentation fault). Server aborting
>
> Force -O2 to work around this problem - for a target rootfs that uses
> X11 the tradeoff is minimal since a sample/test image for qemu vexpress
> with X11 + xinit + xterm + twm + xclock + gtk2 with demos is 60+ MB.
>
> And it's less complicated than trying to find all of the bad
> combinations.
>
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
> package/x11r7/xserver_xorg-server/xserver_xorg-server.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
> index 617bcbc..9de6d91 100644
> --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
> +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
> @@ -62,7 +62,7 @@ XSERVER_XORG_SERVER_CONF_OPTS = \
> --disable-xephyr \
> --disable-dmx \
> --with-builder-addr=buildroot at buildroot.org \
> - CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1" \
> + CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1 -O2" \
> --with-fontrootdir=/usr/share/fonts/X11/ \
> --$(if $(BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB),en,dis)able-xvfb
>
Thanks for the patch, will surely improve the 'out of the box' usability of buildroot,
but I would prefer a 'blacklist' of known failing combinations and simply disable
xserver (with comment why) in this case(s), the only know to me is RPi1:
BR2_ARCH="arm"
BR2_GCC_TARGET_CPU="arm1176jzf-s"
BR2_OPTIMIZE_S=y
The perfect solution would be a fix for gcc (and/or xserver)...
Regards,
Peter
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH] xserver_xorg-server: use -O2 build optimization level
2016-05-06 6:47 ` Peter Seiderer
@ 2016-05-06 6:55 ` Peter Seiderer
2016-05-06 12:15 ` Gustavo Zacarias
1 sibling, 0 replies; 6+ messages in thread
From: Peter Seiderer @ 2016-05-06 6:55 UTC (permalink / raw)
To: buildroot
On Fri, 6 May 2016 08:47:34 +0200, Peter Seiderer <ps.report@gmx.net> wrote:
> Hello Gustavo,
>
> On Thu, 5 May 2016 21:08:27 -0300, Gustavo Zacarias <gustavo@zacarias.com.ar> wrote:
>
> > The xorg server is somewhat sensitive to certain gcc versions combined
> > with -Os, particularly for ARM and MIPS, typically in the form of the
> > following symptom/error:
> >
> > (EE) Segmentation fault at address 0x0
> > (EE)
> > Fatal server error:
> > (EE) Caught signal 11 (Segmentation fault). Server aborting
> >
> > Force -O2 to work around this problem - for a target rootfs that uses
> > X11 the tradeoff is minimal since a sample/test image for qemu vexpress
> > with X11 + xinit + xterm + twm + xclock + gtk2 with demos is 60+ MB.
> >
> > And it's less complicated than trying to find all of the bad
> > combinations.
> >
> > Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> > ---
> > package/x11r7/xserver_xorg-server/xserver_xorg-server.mk | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
> > index 617bcbc..9de6d91 100644
> > --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
> > +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
> > @@ -62,7 +62,7 @@ XSERVER_XORG_SERVER_CONF_OPTS = \
> > --disable-xephyr \
> > --disable-dmx \
> > --with-builder-addr=buildroot at buildroot.org \
> > - CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1" \
> > + CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1 -O2" \
> > --with-fontrootdir=/usr/share/fonts/X11/ \
> > --$(if $(BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB),en,dis)able-xvfb
> >
>
> Thanks for the patch, will surely improve the 'out of the box' usability of buildroot,
> but I would prefer a 'blacklist' of known failing combinations and simply disable
> xserver (with comment why) in this case(s), the only know to me is RPi1:
>
> BR2_ARCH="arm"
> BR2_GCC_TARGET_CPU="arm1176jzf-s"
> BR2_OPTIMIZE_S=y
>
The original post [1] was about RPi2, so two known failing combinations ;-)
Curious if its the same failure location as for RPi1 (see [2]), anyone with
RPi2 hardware who could try to run with debug info enabled (and/or the reduced
test case from the bug report)?
Regards,
Peter
[1] http://lists.busybox.net/pipermail/buildroot/2016-May/160491.html
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63346
> The perfect solution would be a fix for gcc (and/or xserver)...
>
> Regards,
> Peter
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH] xserver_xorg-server: use -O2 build optimization level
2016-05-06 6:47 ` Peter Seiderer
2016-05-06 6:55 ` Peter Seiderer
@ 2016-05-06 12:15 ` Gustavo Zacarias
2016-05-06 21:33 ` Peter Seiderer
1 sibling, 1 reply; 6+ messages in thread
From: Gustavo Zacarias @ 2016-05-06 12:15 UTC (permalink / raw)
To: buildroot
On 06/05/16 03:47, Peter Seiderer wrote:
> Thanks for the patch, will surely improve the 'out of the box' usability of buildroot,
> but I would prefer a 'blacklist' of known failing combinations and simply disable
> xserver (with comment why) in this case(s), the only know to me is RPi1:
>
> BR2_ARCH="arm"
> BR2_GCC_TARGET_CPU="arm1176jzf-s"
> BR2_OPTIMIZE_S=y
>
> The perfect solution would be a fix for gcc (and/or xserver)...
>
> Regards,
> Peter
Hi Peter.
Isn't that a bit harsh?
I'm not 100% comfortable with this solution either, however blacklisting
xorg will be messy to put it lightly.
Also finding the failing combinations will not be simple - it seems ARM
in general is affected on several toolchain combinations, as is MIPS as
well (both tested in Qemu) - so it goes beyond some particular platforms.
Another alternative could be finding the exact gcc option that's causing
it diffing the output of --help=optimizers and trying enabling/disabling
one by one until it's fixed or fails since this would probably help
pinpoint the precise optimizations that's causing it (which would in
turn help in making a minimal test case to help upstream).
Regards.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH] xserver_xorg-server: use -O2 build optimization level
2016-05-06 0:08 [Buildroot] [PATCH] xserver_xorg-server: use -O2 build optimization level Gustavo Zacarias
2016-05-06 6:47 ` Peter Seiderer
@ 2016-05-06 13:51 ` Thomas Petazzoni
1 sibling, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2016-05-06 13:51 UTC (permalink / raw)
To: buildroot
Hello,
On Thu, 5 May 2016 21:08:27 -0300, Gustavo Zacarias wrote:
> The xorg server is somewhat sensitive to certain gcc versions combined
> with -Os, particularly for ARM and MIPS, typically in the form of the
> following symptom/error:
>
> (EE) Segmentation fault at address 0x0
> (EE)
> Fatal server error:
> (EE) Caught signal 11 (Segmentation fault). Server aborting
>
> Force -O2 to work around this problem - for a target rootfs that uses
> X11 the tradeoff is minimal since a sample/test image for qemu vexpress
> with X11 + xinit + xterm + twm + xclock + gtk2 with demos is 60+ MB.
>
> And it's less complicated than trying to find all of the bad
> combinations.
>
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
> package/x11r7/xserver_xorg-server/xserver_xorg-server.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
I've added a comment in the .mk file that explains why we are forcing
-O2, and a reference to the Bugzilla bug that this is fixing. Applied
with those changes. Thanks a lot!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH] xserver_xorg-server: use -O2 build optimization level
2016-05-06 12:15 ` Gustavo Zacarias
@ 2016-05-06 21:33 ` Peter Seiderer
0 siblings, 0 replies; 6+ messages in thread
From: Peter Seiderer @ 2016-05-06 21:33 UTC (permalink / raw)
To: buildroot
Hello Gustavo,
On Fri, 6 May 2016 09:15:10 -0300, Gustavo Zacarias <gustavo@zacarias.com.ar> wrote:
> On 06/05/16 03:47, Peter Seiderer wrote:
>
> > Thanks for the patch, will surely improve the 'out of the box' usability of buildroot,
> > but I would prefer a 'blacklist' of known failing combinations and simply disable
> > xserver (with comment why) in this case(s), the only know to me is RPi1:
> >
> > BR2_ARCH="arm"
> > BR2_GCC_TARGET_CPU="arm1176jzf-s"
> > BR2_OPTIMIZE_S=y
> >
> > The perfect solution would be a fix for gcc (and/or xserver)...
> >
> > Regards,
> > Peter
>
> Hi Peter.
> Isn't that a bit harsh?
Ups, sorry, apologize for my wrong/misleading wording, was not meant so...
> I'm not 100% comfortable with this solution either, however blacklisting
> xorg will be messy to put it lightly.
Yes, did not catch it that more than one combination is affected (thought it
was only RPi1....until sending the first e-mail, and only afterward registered
the original post was about RPi2...
> Also finding the failing combinations will not be simple - it seems ARM
> in general is affected on several toolchain combinations, as is MIPS as
> well (both tested in Qemu) - so it goes beyond some particular platforms.
Mind to share your configs and test commands (specially the MIPS one)?
> Another alternative could be finding the exact gcc option that's causing
> it diffing the output of --help=optimizers and trying enabling/disabling
> one by one until it's fixed or fails since this would probably help
> pinpoint the precise optimizations that's causing it (which would in
> turn help in making a minimal test case to help upstream).
> Regards.
Thanks for the suggestion, will try it with a test case...
Regards,
Peter
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-05-06 21:33 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-06 0:08 [Buildroot] [PATCH] xserver_xorg-server: use -O2 build optimization level Gustavo Zacarias
2016-05-06 6:47 ` Peter Seiderer
2016-05-06 6:55 ` Peter Seiderer
2016-05-06 12:15 ` Gustavo Zacarias
2016-05-06 21:33 ` Peter Seiderer
2016-05-06 13:51 ` Thomas Petazzoni
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.