summaryrefslogtreecommitdiff
path: root/libc/ports/sysdeps/unix/sysv/linux/aarch64
diff options
context:
space:
mode:
authorjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2012-12-25 10:39:27 +0000
committerjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2012-12-25 10:39:27 +0000
commit105320fa7b3665877cb3c50c821d10cf7ce154d0 (patch)
tree1b9b6f46b453cf110c6df3493e977b4468af25f6 /libc/ports/sysdeps/unix/sysv/linux/aarch64
parent94c459cc7a611211d10773eef526826a8da80456 (diff)
Merge changes between r21911 and r22029 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@22061 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/ports/sysdeps/unix/sysv/linux/aarch64')
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/aarch64/ldconfig.h4
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/aarch64/mmap.c2
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/aarch64/readelflib.c18
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h3
4 files changed, 22 insertions, 5 deletions
diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/ldconfig.h b/libc/ports/sysdeps/unix/sysv/linux/aarch64/ldconfig.h
index 4c1af066f..d0517d8f8 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/ldconfig.h
+++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/ldconfig.h
@@ -19,7 +19,9 @@
#include <sysdeps/generic/ldconfig.h>
#define SYSDEP_KNOWN_INTERPRETER_NAMES \
- { "/lib/ld-linux-aarch64.so.1", FLAG_ELF_LIBC6 },
+ { "/lib/ld-linux-aarch64.so.1", FLAG_ELF_LIBC6 }, \
+ { "/lib/ld-linux.so.3", FLAG_ELF_LIBC6 }, \
+ { "/lib/ld-linux-armhf.so.3", FLAG_ELF_LIBC6 },
#define SYSDEP_KNOWN_LIBRARY_NAMES \
{ "libc.so.6", FLAG_ELF_LIBC6 }, \
{ "libm.so.6", FLAG_ELF_LIBC6 },
diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/mmap.c b/libc/ports/sysdeps/unix/sysv/linux/aarch64/mmap.c
index 14f3f6c6a..05df25cd3 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/mmap.c
+++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/mmap.c
@@ -26,7 +26,7 @@
__ptr_t
__mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
{
- return INLINE_SYSCALL (mmap, 6, addr, len, prot, flags, fd, offset);
+ return (__ptr_t) INLINE_SYSCALL (mmap, 6, addr, len, prot, flags, fd, offset);
}
weak_alias (__mmap, mmap)
diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/readelflib.c b/libc/ports/sysdeps/unix/sysv/linux/aarch64/readelflib.c
new file mode 100644
index 000000000..87994a4ea
--- /dev/null
+++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/readelflib.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include "../arm/readelflib.c"
diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h
index 62871d4fe..2263d3d79 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h
+++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h
@@ -208,12 +208,10 @@ __local_syscall_error: \
__label__ out; \
__label__ iserr; \
long sc_ret; \
- long sc_err; \
INTERNAL_SYSCALL_DECL (sc_err); \
\
if (__vdso_##name != NULL) \
{ \
- register long _x0 asm ("x0"); \
sc_ret = INTERNAL_VSYSCALL_NCS (__vdso_##name, sc_err, nr, ##args); \
if (!INTERNAL_SYSCALL_ERROR_P (sc_ret, sc_err)) \
goto out; \
@@ -244,7 +242,6 @@ __local_syscall_error: \
\
if (__vdso_##name != NULL) \
{ \
- register long _x0 asm ("x0"); \
v_ret = INTERNAL_VSYSCALL_NCS (__vdso_##name, err, nr, ##args); \
if (!INTERNAL_SYSCALL_ERROR_P (v_ret, err) \
|| INTERNAL_SYSCALL_ERRNO (v_ret, err) != ENOSYS) \