Bump buildroot to 2019.02
This commit is contained in:
@@ -1,55 +0,0 @@
|
||||
Fix build on platforms where __USER_LABEL_PREFIX__ is not empty
|
||||
|
||||
On most platforms, a C language symbol and its assembly equivalent are
|
||||
identical. However, on the Blackfin architecture, this isn't the case,
|
||||
the corresponding C language symbol in assembly is prepended with a
|
||||
"_". Blackfin therefore has __USER_LABEL_PREFIX__ defined to "_".
|
||||
|
||||
Cairo already has some code to cope with __USER_LABEL_PREFIX__, but
|
||||
this code isn't completely correct: it prepends both assembly symbols
|
||||
and C symbols with __USER_LABEL_PREFIX__, which cannot work.
|
||||
|
||||
This patch fixes that by using the existing slim_hidden_asmname() to
|
||||
define assembly symbols, and introduce a new slim_hidden_realname()
|
||||
for C symbols.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/src/cairo-compiler-private.h
|
||||
===================================================================
|
||||
--- a/src/cairo-compiler-private.h
|
||||
+++ b/src/cairo-compiler-private.h
|
||||
@@ -93,12 +93,13 @@
|
||||
__asm__ (slim_hidden_asmname (internal))
|
||||
# define slim_hidden_def1(name, internal) \
|
||||
extern __typeof (name) EXT_##name __asm__(slim_hidden_asmname(name)) \
|
||||
- __attribute__((__alias__(slim_hidden_asmname(internal))))
|
||||
+ __attribute__((__alias__(slim_hidden_realname(internal))))
|
||||
# define slim_hidden_ulp slim_hidden_ulp1(__USER_LABEL_PREFIX__)
|
||||
# define slim_hidden_ulp1(x) slim_hidden_ulp2(x)
|
||||
# define slim_hidden_ulp2(x) #x
|
||||
# define slim_hidden_asmname(name) slim_hidden_asmname1(name)
|
||||
# define slim_hidden_asmname1(name) slim_hidden_ulp #name
|
||||
+# define slim_hidden_realname(name) #name
|
||||
#else
|
||||
# define slim_hidden_proto(name) int _cairo_dummy_prototype(void)
|
||||
# define slim_hidden_proto_no_warn(name) int _cairo_dummy_prototype(void)
|
||||
Index: b/util/cairo-script/cairo-script-private.h
|
||||
===================================================================
|
||||
--- a/util/cairo-script/cairo-script-private.h
|
||||
+++ b/util/cairo-script/cairo-script-private.h
|
||||
@@ -109,12 +109,13 @@
|
||||
__asm__ (slim_hidden_asmname (internal))
|
||||
# define slim_hidden_def1(name, internal) \
|
||||
extern __typeof (name) EXT_##name __asm__(slim_hidden_asmname(name)) \
|
||||
- __attribute__((__alias__(slim_hidden_asmname(internal))))
|
||||
+ __attribute__((__alias__(slim_hidden_realname(internal))))
|
||||
# define slim_hidden_ulp slim_hidden_ulp1(__USER_LABEL_PREFIX__)
|
||||
# define slim_hidden_ulp1(x) slim_hidden_ulp2(x)
|
||||
# define slim_hidden_ulp2(x) #x
|
||||
# define slim_hidden_asmname(name) slim_hidden_asmname1(name)
|
||||
# define slim_hidden_asmname1(name) slim_hidden_ulp #name
|
||||
+# define slim_hidden_realname(name) #name
|
||||
#else
|
||||
# define slim_hidden_proto(name) int _csi_dummy_prototype(void)
|
||||
# define slim_hidden_proto_no_warn(name) int _csi_dummy_prototype(void)
|
||||
@@ -1,38 +0,0 @@
|
||||
Fix build with gcc 4.9
|
||||
|
||||
cairo fails to build with gcc 4.9 due to a bad interaction of cairo
|
||||
modules with the LTO mechanism. The suggested workaround is to pass
|
||||
-ffat-lto-objects. See
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=77060 for the upstream
|
||||
bug report, and
|
||||
https://bugs.archlinux.org/task/40313?project=1&openedfrom=-1+week for
|
||||
the ArchLinux bug report.
|
||||
|
||||
This patch passes -ffat-lto-objects when gcc understands this option,
|
||||
in order to provide compatibility with gcc versions older than 4.8,
|
||||
which did not provide this option, but are anyway unaffected by the
|
||||
issue.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -37,6 +37,16 @@
|
||||
m4_include(build/configure.ac.pthread) dnl checks for pthreads
|
||||
AC_CACHE_SAVE
|
||||
|
||||
+old_cflags=$CFLAGS
|
||||
+CFLAGS=-ffat-lto-objects
|
||||
+AC_MSG_CHECKING([whether CC supports -ffat-lto-objects])
|
||||
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
|
||||
+ [AC_MSG_RESULT([yes])]
|
||||
+ [LTO_CFLAGS=-ffat-lto-objects],
|
||||
+ [AC_MSG_RESULT([no])]
|
||||
+)
|
||||
+CFLAGS="${old_CFLAGS} ${LTO_CFLAGS}"
|
||||
+
|
||||
dnl ===========================================================================
|
||||
|
||||
AC_CHECK_LIB(z, compress,
|
||||
@@ -1,4 +1,9 @@
|
||||
# From http://cairographics.org/releases/cairo-1.14.10.tar.xz.sha1
|
||||
sha1 28c59d85d6b790c21b8b59ece73a6a1dda28d69a cairo-1.14.10.tar.xz
|
||||
# From https://www.cairographics.org/snapshots/cairo-1.15.12.tar.xz.sha1
|
||||
sha1 4e64c6a48789edb4c60bc3fa95bd3992cc388b88 cairo-1.15.12.tar.xz
|
||||
# Calculated based on the hash above
|
||||
sha256 7e87878658f2c9951a14fc64114d4958c0e65ac47530b8ac3078b2ce41b66a09 cairo-1.14.10.tar.xz
|
||||
sha256 7623081b94548a47ee6839a7312af34e9322997806948b6eec421a8c6d0594c9 cairo-1.15.12.tar.xz
|
||||
|
||||
# Hash for license files:
|
||||
sha256 67228a9f7c5f9b67c58f556f1be178f62da4d9e2e6285318d8c74d567255abdf COPYING
|
||||
sha256 9e9e8608c4cdda51a78cc3a385f4ec9a2e4c96d5ecad74ac8bca5fca3e563b7d COPYING-LGPL-2.1
|
||||
sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f COPYING-MPL-1.1
|
||||
|
||||
@@ -4,13 +4,12 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CAIRO_VERSION = 1.14.10
|
||||
CAIRO_VERSION = 1.15.12
|
||||
CAIRO_SOURCE = cairo-$(CAIRO_VERSION).tar.xz
|
||||
CAIRO_LICENSE = LGPL-2.1 or MPL-1.1 (library)
|
||||
CAIRO_LICENSE_FILES = COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1
|
||||
CAIRO_SITE = http://cairographics.org/releases
|
||||
CAIRO_SITE = http://cairographics.org/snapshots
|
||||
CAIRO_INSTALL_STAGING = YES
|
||||
CAIRO_AUTORECONF = YES
|
||||
|
||||
# relocation truncated to fit: R_68K_GOT16O
|
||||
ifeq ($(BR2_m68k_cf),y)
|
||||
|
||||
Reference in New Issue
Block a user