summaryrefslogtreecommitdiff
path: root/ldso/ldso
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@st.com>2018-07-04 17:55:20 +0200
committerWaldemar Brodkorb <wbrodkorb@conet.de>2018-08-10 16:01:58 +0200
commitc86f875f07f2e2ef54ce3741914a5cc74f7ddd3c (patch)
tree365e80b70dbda2f4412c34493ea69e3d2298df46 /ldso/ldso
parent75bce1a7320f94c36854fc958fa93937ed92bf83 (diff)
Fix bug in _dl_pread when using pread64 syscall
In ARM_EABI mode, the pread64 syscall parameters are aligned on 64-bits. This syscall is used in rtld when processing FDPIC relocations. * ldso/include/dl-syscall.h (__syscall_pread): Fix definition. (__dl_pread): Fix syscall invocation. * ldso/ldso/fdpic/dl-sysdep.h (__DL_PREAD): Handle __NR_pread64. Signed-off-by: Mickaël Guêné <mickael.guene@st.com> Signed-off-by: Christophe Lyon <christophe.lyon@st.com>
Diffstat (limited to 'ldso/ldso')
-rw-r--r--ldso/ldso/fdpic/dl-sysdep.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/ldso/ldso/fdpic/dl-sysdep.h b/ldso/ldso/fdpic/dl-sysdep.h
index 546811ad0..6ab303b37 100644
--- a/ldso/ldso/fdpic/dl-sysdep.h
+++ b/ldso/ldso/fdpic/dl-sysdep.h
@@ -96,7 +96,7 @@ struct funcdesc_ht;
elfinterp.c. */
#define DL_SKIP_BOOTSTRAP_RELOC(SYMTAB, INDEX, STRTAB) 0
-#ifdef __NR_pread
+#if defined(__NR_pread) || defined(__NR_pread64)
#define _DL_PREAD(FD, BUF, SIZE, OFFSET) \
(_dl_pread((FD), (BUF), (SIZE), (OFFSET)))
#endif