GNU C Library master sources branch release/2.27/master updated. glibc-2.27-6-g750a1c2
dj@sourceware.org
dj@sourceware.org
Sat Feb 10 01:57:00 GMT 2018
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, release/2.27/master has been updated
via 750a1c253f81a9dfe2cef5a568c68a5838ab46b9 (commit)
from 56170e064e2b21ce204f0817733e92f1730541ea (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=750a1c253f81a9dfe2cef5a568c68a5838ab46b9
commit 750a1c253f81a9dfe2cef5a568c68a5838ab46b9
Author: DJ Delorie <dj@redhat.com>
Date: Fri Feb 9 18:37:15 2018 -0500
[RISC-V] Fix parsing flags in ELF64 files.
When ldconfig reads Elf64 files to determine the ABI, it used the
Elf32 type, so read the wrong location, and stored the wrong ABI
type in the cache, making the cache useless. This patch uses
an Elf64 type for Elf64 objects instead.
Note that pre-patch caches might need to be manually removed and
regenerated to get the correct ABIs stored.
[BZ #22827]
* sysdeps/unix/sysv/linux/riscv/readelflib.c (process_elf_file): Use
64-bit ELF type for 64-bit ELF objects.
(cherry picked from commit 6a1ff640dcec04905d8518983ad6252d38b7a733)
diff --git a/ChangeLog b/ChangeLog
index cfe43e3..7be7772 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-02-09 DJ Delorie <dj@redhat.com>
+
+ [BZ #22827]
+ * sysdeps/unix/sysv/linux/riscv/readelflib.c (process_elf_file): Use
+ 64-bit ELF type for 64-bit ELF objects.
+
2018-02-07 Igor Gnatenko <ignatenko@redhat.com>
[BZ #22797]
diff --git a/sysdeps/unix/sysv/linux/riscv/readelflib.c b/sysdeps/unix/sysv/linux/riscv/readelflib.c
index 6e249ff..7e27e0c 100644
--- a/sysdeps/unix/sysv/linux/riscv/readelflib.c
+++ b/sysdeps/unix/sysv/linux/riscv/readelflib.c
@@ -43,6 +43,7 @@ process_elf_file (const char *file_name, const char *lib, int *flag,
{
ElfW(Ehdr) *elf_header = (ElfW(Ehdr) *) file_contents;
Elf32_Ehdr *elf32_header = (Elf32_Ehdr *) elf_header;
+ Elf64_Ehdr *elf64_header = (Elf64_Ehdr *) elf_header;
int ret;
long flags;
@@ -59,7 +60,7 @@ process_elf_file (const char *file_name, const char *lib, int *flag,
{
ret = process_elf64_file (file_name, lib, flag, osversion, soname,
file_contents, file_length);
- flags = elf32_header->e_flags;
+ flags = elf64_header->e_flags;
}
/* RISC-V linkers encode the floating point ABI as part of the ELF headers. */
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
sysdeps/unix/sysv/linux/riscv/readelflib.c | 3 ++-
2 files changed, 8 insertions(+), 1 deletions(-)
hooks/post-receive
--
GNU C Library master sources
More information about the Glibc-cvs
mailing list