package/glibc: update glibc version for RISC-V 32-bit

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Alistair Francis 2019-03-18 21:02:02 +00:00 committed by Thomas Petazzoni
parent baffecda16
commit a495856728
4 changed files with 2 additions and 100 deletions

View file

@ -1,5 +1,5 @@
# Locally calculated (fetched from Github)
sha256 a40f908125135bad2cf92c18d07ad25b3091b161b3a5d3aea46c23ffd2ac90b8 glibc-4e2943456e690d89f48e6e710757dd09404b0c9a.tar.gz
sha256 703877c0df77fce00719fe55cc62b07bb8d5f44fdb704bbb1b0bf2cf38afe10a glibc-06983fe52cfe8e4779035c27e8cc5d2caab31531.tar.gz
# Hashes for license files
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING

View file

@ -1,59 +0,0 @@
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

View file

@ -1,39 +0,0 @@
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

View file

@ -8,7 +8,7 @@ ifeq ($(BR2_arc),y)
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_VERSION = 06983fe52cfe8e4779035c27e8cc5d2caab31531
GLIBC_SITE = $(call github,riscv,riscv-glibc,$(GLIBC_VERSION))
else
# Generate version string using: