From 5ab732a1a1c57bc9f9a5e71230eccee217110ade Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 25 Mar 2020 23:29:19 -0700 Subject: glibc: Backport patch to fix ifuncs on risc-v and gcc10 builds ifunc patch is needed to address a glibc ptests failure on riscv long double double patch is backported to let 2.31 build with gcc10 Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- .../glibc/0030-Improve-IFUNC-check-BZ-25506.patch | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 meta/recipes-core/glibc/glibc/0030-Improve-IFUNC-check-BZ-25506.patch (limited to 'meta/recipes-core/glibc/glibc/0030-Improve-IFUNC-check-BZ-25506.patch') diff --git a/meta/recipes-core/glibc/glibc/0030-Improve-IFUNC-check-BZ-25506.patch b/meta/recipes-core/glibc/glibc/0030-Improve-IFUNC-check-BZ-25506.patch new file mode 100644 index 0000000000..1cb398d2bc --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0030-Improve-IFUNC-check-BZ-25506.patch @@ -0,0 +1,47 @@ +From 87a698a21646b7ee620923ef5ffa9735471a8ddd Mon Sep 17 00:00:00 2001 +From: Fangrui Song +Date: Tue, 4 Feb 2020 21:55:44 -0800 +Subject: [PATCH] Improve IFUNC check [BZ #25506] + +GNU ld's RISCV port does not support IFUNC. ld -no-pie produces no +relocation and the test passed incorrectly. Be more rigid by testing +IRELATIVE explicitly. + +Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=87a698a21646b7ee620923ef5ffa9735471a8ddd] +Tested-by: Aurelien Jarno +Reviewed-by: Adhemerval Zanella +Signed-off-by: Khem Raj +--- + configure | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index b959d2d988..3b98ec312f 100755 +--- a/configure ++++ b/configure +@@ -4035,7 +4035,7 @@ if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \ + -o conftest conftest.S 1>&5 2>&5; then + # Do a link to see if the backend supports IFUNC relocs. + $READELF -r conftest 1>&5 +- LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || { ++ LC_ALL=C $READELF -Wr conftest | grep -q 'IRELATIVE\|R_SPARC_JMP_IREL' && { + libc_cv_ld_gnu_indirect_function=yes + } + fi +diff --git a/configure.ac b/configure.ac +index 49b900c1ed..e20034f301 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -649,7 +649,7 @@ if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \ + -o conftest conftest.S 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then + # Do a link to see if the backend supports IFUNC relocs. + $READELF -r conftest 1>&AS_MESSAGE_LOG_FD +- LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || { ++ LC_ALL=C $READELF -Wr conftest | grep -q 'IRELATIVE\|R_SPARC_JMP_IREL' && { + libc_cv_ld_gnu_indirect_function=yes + } + fi +-- +2.25.1 + -- cgit 1.2.3-korg