Bump buildroot to 2019.02
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
From 4909cfbbe8dd512b8fc0892859549c26e1b14d30 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Corbin <mark.corbin@embecosm.com>
|
||||
Date: Sun, 21 Oct 2018 10:38:18 +0100
|
||||
Subject: [PATCH] Fix RISC-V 32-bit build of riscv-glibc 2.26
|
||||
|
||||
This patch fixes two build errors with the 32-bit version of
|
||||
glibc-2.26 from the riscv-glibc repository.
|
||||
|
||||
A void reference to 'refsym' has been added to dl-runtime.c to avoid
|
||||
an 'unused variable' error when building with '-Werror'.
|
||||
|
||||
Some data types were hard-coded for 64-bit in ldsodefs.h. These have
|
||||
been modified to allow 32-bit builds.
|
||||
|
||||
This patch was provided by Fabrice Bellard as part of his RISC-V
|
||||
Buildroot development source.
|
||||
|
||||
Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
|
||||
---
|
||||
elf/dl-runtime.c | 1 +
|
||||
sysdeps/riscv/ldsodefs.h | 4 ++--
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
|
||||
index 51d3819d4a..e728e8907e 100644
|
||||
--- a/elf/dl-runtime.c
|
||||
+++ b/elf/dl-runtime.c
|
||||
@@ -146,6 +146,7 @@ _dl_fixup (
|
||||
if (__glibc_unlikely (GLRO(dl_bind_not)))
|
||||
return value;
|
||||
|
||||
+ (void)refsym;
|
||||
return elf_machine_fixup_plt (l, result, refsym, sym, reloc, rel_addr, value);
|
||||
}
|
||||
|
||||
diff --git a/sysdeps/riscv/ldsodefs.h b/sysdeps/riscv/ldsodefs.h
|
||||
index db993df80a..91e7a8c88f 100644
|
||||
--- a/sysdeps/riscv/ldsodefs.h
|
||||
+++ b/sysdeps/riscv/ldsodefs.h
|
||||
@@ -25,14 +25,14 @@ struct La_riscv_regs;
|
||||
struct La_riscv_retval;
|
||||
|
||||
#define ARCH_PLTENTER_MEMBERS \
|
||||
- Elf64_Addr (*riscv_gnu_pltenter) (Elf64_Sym *, unsigned int, \
|
||||
+ ElfW(Addr) (*riscv_gnu_pltenter) (ElfW(Sym) *, unsigned int, \
|
||||
uintptr_t *, uintptr_t *, \
|
||||
const struct La_riscv_regs *, \
|
||||
unsigned int *, const char *name, \
|
||||
long int *framesizep);
|
||||
|
||||
#define ARCH_PLTEXIT_MEMBERS \
|
||||
- unsigned int (*riscv_gnu_pltexit) (Elf64_Sym *, unsigned int, \
|
||||
+ unsigned int (*riscv_gnu_pltexit) (ElfW(Sym) *, unsigned int, \
|
||||
uintptr_t *, uintptr_t *, \
|
||||
const struct La_riscv_regs *, \
|
||||
struct La_riscv_retval *, \
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From 6b4520e13c2ed7fca725d5f5c879854cd7c96c19 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Corbin <mark.corbin@embecosm.com>
|
||||
Date: Mon, 4 Feb 2019 10:35:27 +0000
|
||||
Subject: [PATCH] Fix mcontext_t error that breaks RISC-V architecture
|
||||
package builds
|
||||
|
||||
The riscv-glibc repository version of glibc 2.26 will build for
|
||||
RISC-V 32bit, but when many packages are built against the resulting
|
||||
library an 'unknown type name mcontext_t' error is reported. The
|
||||
definition of mcontext_h in the ucontext.h header file needs to be
|
||||
moved outside of the '#ifdef __USE_MISC' structure to fix this
|
||||
issue.
|
||||
|
||||
Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
|
||||
---
|
||||
sysdeps/unix/sysv/linux/riscv/sys/ucontext.h | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h b/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h
|
||||
index 8f02f09106..b9dd04564a 100644
|
||||
--- a/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h
|
||||
+++ b/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h
|
||||
@@ -48,12 +48,11 @@ typedef greg_t gregset_t[NGREG];
|
||||
|
||||
/* Container for floating-point state. */
|
||||
typedef union __riscv_fp_state fpregset_t;
|
||||
+#endif
|
||||
|
||||
/* Context to describe whole processor state. */
|
||||
typedef struct sigcontext mcontext_t;
|
||||
|
||||
-#endif
|
||||
-
|
||||
/* Userlevel context. */
|
||||
typedef struct ucontext
|
||||
{
|
||||
--
|
||||
2.19.1
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# Locally calculated (fetched from Github)
|
||||
sha256 a40f908125135bad2cf92c18d07ad25b3091b161b3a5d3aea46c23ffd2ac90b8 glibc-4e2943456e690d89f48e6e710757dd09404b0c9a.tar.gz
|
||||
|
||||
# Hashes for license files
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
|
||||
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
|
||||
sha256 61abdd6930c9c599062d89e916b3e7968783879b6be0ee1c6229dd6169def431 LICENSES
|
||||
@@ -0,0 +1,7 @@
|
||||
# Locally calculated (fetched from Github)
|
||||
sha256 cc2aa6b16641ebcf1492bf6245897d8c263c96b6e30375d09351306a12b6d529 glibc-arc-2018.09-release.tar.gz
|
||||
|
||||
# Hashes for license files
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
|
||||
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
|
||||
sha256 35bdb41dc0bcb10702ddacbd51ec4c0fe6fb3129f734e8c85fc02e4d3eb0ce3f LICENSES
|
||||
@@ -0,0 +1,7 @@
|
||||
# Locally calculated (fetched from Github)
|
||||
sha256 ebf04c7b00153d6df8beceec0666d4b13e1ac613b40d5774d1b8c6f61c1686e6 glibc-glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1.tar.gz
|
||||
|
||||
# Hashes for license files
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
|
||||
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
|
||||
sha256 35bdb41dc0bcb10702ddacbd51ec4c0fe6fb3129f734e8c85fc02e4d3eb0ce3f LICENSES
|
||||
@@ -1,4 +1,2 @@
|
||||
# Locally calculated (fetched from Github)
|
||||
sha256 acbec224e69f29c9c59c34f15f0fbb19eecf3fce347eba8bb928fac507ae86c6 glibc-glibc-2.26-175-gc5c90b480e4f21ed1d28e0e6d942b06b8d9e8bd7.tar.gz
|
||||
# Locally calculated (fetched from Github)
|
||||
sha256 5aa9adeac09727db0b8a52794186563771e74d70410e9fd86431e339953fd4bb glibc-arc-2017.09-release.tar.gz
|
||||
# This hash file is not used; instead, update the
|
||||
# hash files in the per-version sub-directories.
|
||||
|
||||
@@ -5,12 +5,15 @@
|
||||
################################################################################
|
||||
|
||||
ifeq ($(BR2_arc),y)
|
||||
GLIBC_VERSION = arc-2017.09-release
|
||||
GLIBC_VERSION = arc-2018.09-release
|
||||
GLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,glibc,$(GLIBC_VERSION))
|
||||
else ifeq ($(BR2_RISCV_32),y)
|
||||
GLIBC_VERSION = 4e2943456e690d89f48e6e710757dd09404b0c9a
|
||||
GLIBC_SITE = $(call github,riscv,riscv-glibc,$(GLIBC_VERSION))
|
||||
else
|
||||
# Generate version string using:
|
||||
# git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master
|
||||
GLIBC_VERSION = glibc-2.26-175-gc5c90b480e4f21ed1d28e0e6d942b06b8d9e8bd7
|
||||
GLIBC_VERSION = glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1
|
||||
# Upstream doesn't officially provide an https download link.
|
||||
# There is one (https://sourceware.org/git/glibc.git) but it's not reliable,
|
||||
# sometimes the connection times out. So use an unofficial github mirror.
|
||||
@@ -20,17 +23,16 @@ GLIBC_VERSION = glibc-2.26-175-gc5c90b480e4f21ed1d28e0e6d942b06b8d9e8bd7
|
||||
GLIBC_SITE = $(call github,bminor,glibc,$(GLIBC_VERSION))
|
||||
endif
|
||||
|
||||
GLIBC_SRC_SUBDIR = .
|
||||
|
||||
GLIBC_LICENSE = GPL-2.0+ (programs), LGPL-2.1+, BSD-3-Clause, MIT (library)
|
||||
GLIBC_LICENSE_FILES = $(addprefix $(GLIBC_SRC_SUBDIR)/,COPYING COPYING.LIB LICENSES)
|
||||
GLIBC_LICENSE_FILES = COPYING COPYING.LIB LICENSES
|
||||
|
||||
# glibc is part of the toolchain so disable the toolchain dependency
|
||||
GLIBC_ADD_TOOLCHAIN_DEPENDENCY = NO
|
||||
|
||||
# Before glibc is configured, we must have the first stage
|
||||
# cross-compiler and the kernel headers
|
||||
GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-gawk
|
||||
GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-bison host-gawk \
|
||||
$(BR2_MAKE_HOST_DEPENDENCY)
|
||||
|
||||
GLIBC_SUBDIR = build
|
||||
|
||||
@@ -68,6 +70,26 @@ define GLIBC_ADD_MISSING_STUB_H
|
||||
endef
|
||||
endif
|
||||
|
||||
GLIBC_CONF_ENV = \
|
||||
ac_cv_path_BASH_SHELL=/bin/bash \
|
||||
libc_cv_forced_unwind=yes \
|
||||
libc_cv_ssp=no
|
||||
|
||||
# Override the default library locations of /lib64/<abi> and
|
||||
# /usr/lib64/<abi>/ for RISC-V.
|
||||
ifeq ($(BR2_riscv),y)
|
||||
ifeq ($(BR2_RISCV_64),y)
|
||||
GLIBC_CONF_ENV += libc_cv_slibdir=/lib64 libc_cv_rtlddir=/lib
|
||||
else
|
||||
GLIBC_CONF_ENV += libc_cv_slibdir=/lib32 libc_cv_rtlddir=/lib
|
||||
endif
|
||||
endif
|
||||
|
||||
# glibc requires make >= 4.0 since 2.28 release.
|
||||
# https://www.sourceware.org/ml/libc-alpha/2018-08/msg00003.html
|
||||
GLIBC_MAKE = $(BR2_MAKE)
|
||||
GLIBC_CONF_ENV += ac_cv_prog_MAKE="$(BR2_MAKE)"
|
||||
|
||||
# Even though we use the autotools-package infrastructure, we have to
|
||||
# override the default configure commands for several reasons:
|
||||
#
|
||||
@@ -86,16 +108,13 @@ define GLIBC_CONFIGURE_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
CFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" CPPFLAGS="" \
|
||||
CXXFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" \
|
||||
$(SHELL) $(@D)/$(GLIBC_SRC_SUBDIR)/configure \
|
||||
ac_cv_path_BASH_SHELL=/bin/bash \
|
||||
libc_cv_forced_unwind=yes \
|
||||
libc_cv_ssp=no \
|
||||
$(GLIBC_CONF_ENV) \
|
||||
$(SHELL) $(@D)/configure \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
--prefix=/usr \
|
||||
--enable-shared \
|
||||
$(if $(BR2_SOFT_FLOAT),--without-fp,--with-fp) \
|
||||
$(if $(BR2_x86_64),--enable-lock-elision) \
|
||||
--with-pkgversion="Buildroot" \
|
||||
--without-cvs \
|
||||
@@ -114,7 +133,7 @@ endef
|
||||
|
||||
GLIBC_LIBS_LIB = \
|
||||
ld*.so.* libanl.so.* libc.so.* libcrypt.so.* libdl.so.* libgcc_s.so.* \
|
||||
libm.so.* libnsl.so.* libpthread.so.* libresolv.so.* librt.so.* \
|
||||
libm.so.* libpthread.so.* libresolv.so.* librt.so.* \
|
||||
libutil.so.* libnss_files.so.* libnss_dns.so.* libmvec.so.*
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GDB),y)
|
||||
|
||||
Reference in New Issue
Block a user