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.
Fixes bug #8436.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
[Thomas: add comment in .mk file, add reference to bug.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This reverts commit 7bac31ceea.
This commit is no longer needed, since libdrm no longer needs arm >=
v6 support thanks to the fix to the CAS implementation.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Move libpciaccess selection under BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR
to simplify.
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When BR2_PACKAGE_XPROTO_DRI3PROTO and
BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR are selected, xlib_libxshmfence
package build is triggered at Makefile level.
Since 28f67899e5, the build
stop if a package build is trigged at Makefile level without
being selected at Config.in level.
Fixes:
http://autobuild.buildroot.net/results/a25/a253d19191dbc8bcc54f9e9d7fddae03d6695b4b/
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fixes
CC dri.lo
/tmp/ccc6IbbW.s: Assembler messages:
/tmp/ccc6IbbW.s:3114: Error: selected processor does not support ARM mode `ldrex r2,[r1]'
/tmp/ccc6IbbW.s:3117: Error: selected processor does not support ARM mode `strexeq r2,r0,[r1]'
/tmp/ccc6IbbW.s:3273: Error: selected processor does not support ARM mode `ldrex r2,[r1]'
/tmp/ccc6IbbW.s:3276: Error: selected processor does not support ARM mode `strexeq r2,r3,[r1]'
/tmp/ccc6IbbW.s:3352: Error: selected processor does not support ARM mode `ldrex r1,[r2]'
/tmp/ccc6IbbW.s:3355: Error: selected processor does not support ARM mode `strexeq r1,r0,[r2]'
/tmp/ccc6IbbW.s:3451: Error: selected processor does not support ARM mode `ldrex r3,[r2]'
/tmp/ccc6IbbW.s:3454: Error: selected processor does not support ARM mode `strexeq r3,ip,[r2]'
/tmp/ccc6IbbW.s:3522: Error: selected processor does not support ARM mode `ldrex r3,[r0]'
/tmp/ccc6IbbW.s:3525: Error: selected processor does not support ARM mode `strexeq r3,r1,[r0]'
Makefile:653: recipe for target 'dri.lo' failed
make[5]: *** [dri.lo] Error 1
make[5]: Leaving directory '/home/buildroot/buildroot/output/build/xserver_xorg-server-1.17.2/hw/xfree86/dri'
using this defconfig
BR2_arm=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
[Peter: fix conditional, add comment explaining issue]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
X.org xserver depends on libepoxy for glamor support, which depends on
EGL support. Mesa3d is not the only possible EGL provider therefore
change the dependency check.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes compile error using this defconfig
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XPROTO_DRI2PROTO=y
drmVersionPtr is referenced not only in hw/xfree86/dri2/dri2.c
but also in hw/xfree86/dri/dri.c.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Some old binary blobs drivers, like the NVidia Tegra2/3 blobs, only
implement an old VIDEODRV ABI.
Since VIDEODRV ABIs are not backward compatible [0], lets introduce an
older Xserver version that supports such an old ABI.
[0] http://www.x.org/wiki/XorgModuleABIVersions/
[Thomas:
- rename option BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14_7 to
BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14
- add hash file, change provided by Nicolas Serafini.]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Support for the Present protocol has been added to, and is mandatory
since version 1.15.
As we're on the verge of adding 1.14.7, we need to make Present a
version-specific dependency.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The upcoming NVidia Tegra2/3 binary blobs only work with a certain
VIDEODRV ABI (namely up to 14), so we must have a way to represent that
ABI so that such packages can not be enabled with a too recent/old ABI.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Only a single entry for now, but we'll add one more in an upcoming
patch, to support old binary-only drivers, like the NVidia Tegra2/3
drivers.
[Thomas:
- rename option from BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17_1 to
BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17, since we don't want to
rename the option at each minor release of the X.org server, and
X.org servers with the same major version will not have a different
ABI.]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Now that largefile is mandatory removes package dependencies and
conditionals.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes
../../../glamor/glamor_egl.c:603:25: error: unknown type name 'RRProviderPtr'
RRProviderPtr provider,
^
../../../glamor/glamor_egl.c:650:1: error: unknown type name 'dri3_screen_info_rec'
static dri3_screen_info_rec glamor_dri3_info = {
^
using this defconfig
BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_INIT_NONE=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_I915=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL=y
RRProviderPtr is defined in dri3/dri3.h, so make sure glamor is enabled only
if dri3 is enabled, too.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
If the libdrm package is enabled, the system is built with an udev
provider and MESA3D_DRI_DRIVER is disabled this adds a --disable-libdrm
to configure options, but udev still requires libdrm and results in a
build failure since libdrm include paths aren't filled in (missing drm.h
include error).
So add --enable-libdrm for the udev scenario to counteract the previous
--disable-libdrm.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
xserver_xorg-server needs libdrm only when DRI is enabled, see configure.ac,
line 1280. But since version 1.16.99.901 configure searches for optional libdrm
support in configure.ac, line 2041,
http://cgit.freedesktop.org/xorg/xserver/commit/configure.ac?id=2feda3b6b58f46cef91ea41312aac9021a703777
as well due to libdrm support being enabled by default, but the macro
PKG_CHECK_EXISTS used in line 2041 does not add libdrm-specific CFLAGS to
Makefile causing the build to fail:
In file included from dumb_bo.c:36:0:
/home/br/br7/output/host/usr/i586-buildroot-linux-uclibc/sysroot/usr/include/xf86drm.h:40:17: fatal error: drm.h: No such file or directory
#include <drm.h>
This patch enables libdrm support only when dri support is enabled, which in
turn depends on mesa3d. Since mesa3d selects libdrm already remove that line
from Config.in as well.
Tested using this defconfig
BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR=y
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes:
CVE-2015-0255 - Information leak in the XkbSetGeometry request of X servers
http://www.x.org/wiki/Development/Security/Advisory-2015-02-10/
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
libunwind support was broken for MIPS variants with 32-bit pointers so
we disabled it:
http://lists.busybox.net/pipermail/buildroot/2014-December/114404.html
But now we have a patch to fix that problem so we can enable it again.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes:
CVE-2015-0255 - Information leak in the XkbSetGeometry request of X servers
http://www.x.org/wiki/Development/Security/Advisory-2015-02-10/
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
- remove patches, all were applied upstream
- add support for libglamor, needed by package/x11r7/xdriver_xf86-video-ati
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Upstream removed this configure option back in 2010 (for server 1.8):
http://cgit.freedesktop.org/xorg/xserver/commit/?id=60b6477f6dc005a1b052be8c5
So this hasn't done anything since 759d548e3e (xserver_xorg-server: bump
version).
Don't add any Config.in.legacy for this as it as been broken for so long any
way.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Patch 0003 will be extended to fix the blackfin build as well, therefore
it is renamed according to the fixed variable.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
libunwind support in xorg-server is not only broken for MIPS64 n32 but
for all MIPS variants with 32-bit pointers. The reason is exactly the
same one. libunwind defines a uint64 variable to store the words. Then,
xorg-server casts that variable (64-bit) into a pointer (32-bit), and
the compilation fails:
backtrace.c:98:13: error: cast to pointer from integer of different size
[-Werror=int-to-pointer-cast]
Related:
https://bugs.freedesktop.org/show_bug.cgi?id=79939
Fixes:
http://autobuild.buildroot.net/results/87b/87be2c95957f9925c1258812e536df72689fc5da/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Amend the former commit and disable xorg-server with libunwind support
only for MIPS64 n32, as stated in the bug report:
https://bugs.freedesktop.org/show_bug.cgi?id=79939
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>