This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.22-7-g2aa6c8a
- From: azanella at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 5 Aug 2015 14:19:45 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.22-7-g2aa6c8a
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, master has been updated
via 2aa6c8af26e65695e9daf382a6e508574a30cdf2 (commit)
from 42eaa27fac748edc54b780539fbd9a18921454ba (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=2aa6c8af26e65695e9daf382a6e508574a30cdf2
commit 2aa6c8af26e65695e9daf382a6e508574a30cdf2
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Mon Jul 6 13:00:29 2015 +0000
arm: Assembly implementation cleanup
This patch removes arm assembly implementation of mmap and mmap64.
The new implementation used is the wordsize-32 generic linux one.
Tested on armhf.
diff --git a/ChangeLog b/ChangeLog
index a228926..fd0fd74 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-08-05 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
+ * sysdeps/unix/sysv/linux/arm/mmap.c: Add file.
+ * sysdeps/unix/sysv/linux/arm/mmap.S: Remove file.
+ * sysdeps/unix/sysv/linux/arm/mmap64.S: Likewise.
+
2015-08-05 Marko Myllynen <myllynen@redhat.com>
[BZ #18525]
diff --git a/sysdeps/unix/sysv/linux/arm/mmap.S b/sysdeps/unix/sysv/linux/arm/mmap.S
deleted file mode 100644
index 4fb5bf4..0000000
--- a/sysdeps/unix/sysv/linux/arm/mmap.S
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright (C) 1998-2015 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 <sysdep.h>
-
-#define EINVAL 22
-
- .text
-
-ENTRY (__mmap)
- /* shuffle args */
- push { r5 }
- cfi_adjust_cfa_offset (4)
- cfi_rel_offset (r5, 0)
- ldr r5, [sp, #8]
- push { r4 }
- cfi_adjust_cfa_offset (4)
- cfi_rel_offset (r4, 0)
- cfi_remember_state
- ldr r4, [sp, #8]
-
- /* convert offset to pages */
- movs ip, r5, lsl #20
- bne .Linval
- mov r5, r5, lsr #12
-
- /* do the syscall */
- DO_CALL (mmap2, 0)
-
- /* restore registers */
-2:
- pop { r4 }
- cfi_adjust_cfa_offset (-4)
- cfi_restore (r4)
- pop { r5 }
- cfi_adjust_cfa_offset (-4)
- cfi_restore (r5)
-
- cmn r0, $4096
- it cc
- RETINSTR(cc, lr)
- b PLTJMP(syscall_error)
-
- cfi_restore_state
-.Linval:
- mov r0, #-EINVAL
- b 2b
-PSEUDO_END (__mmap)
-
-weak_alias (__mmap, mmap)
diff --git a/sysdeps/unix/sysv/linux/arm/mmap.c b/sysdeps/unix/sysv/linux/arm/mmap.c
new file mode 100644
index 0000000..2cb4907
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arm/mmap.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2015 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 <sysdeps/unix/sysv/linux/generic/wordsize-32/mmap.c>
diff --git a/sysdeps/unix/sysv/linux/arm/mmap64.S b/sysdeps/unix/sysv/linux/arm/mmap64.S
deleted file mode 100644
index d574df0..0000000
--- a/sysdeps/unix/sysv/linux/arm/mmap64.S
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright (C) 2000-2015 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 <sysdep.h>
-
- .syntax unified
-
-#define EINVAL 22
-
-#ifdef __ARMEB__
-# define LOW_OFFSET 8 + 4
-/* The initial + 4 is for the stack postdecrement. */
-# define HIGH_OFFSET 4 + 8 + 0
-#else
-# define LOW_OFFSET 8 + 0
-# define HIGH_OFFSET 4 + 8 + 4
-#endif
-
- /* The mmap2 system call takes six arguments, all in registers. */
- .text
-ENTRY (__mmap64)
- ldr ip, [sp, $LOW_OFFSET]
- push { r5 }
- cfi_adjust_cfa_offset (4)
- cfi_rel_offset (r5, 0)
- ldr r5, [sp, $HIGH_OFFSET]
- push { r4 }
- cfi_adjust_cfa_offset (4)
- cfi_rel_offset (r4, 0)
- cfi_remember_state
- movs r4, ip, lsl $20 @ check that offset is page-aligned
- mov ip, ip, lsr $12
- it eq
- movseq r4, r5, lsr $12 @ check for overflow
- bne .Linval
- ldr r4, [sp, $8] @ load fd
- orr r5, ip, r5, lsl $20 @ compose page offset
- DO_CALL (mmap2, 0)
- cmn r0, $4096
- pop {r4, r5}
- cfi_adjust_cfa_offset (-8)
- cfi_restore (r4)
- cfi_restore (r5)
- it cc
- RETINSTR(cc, lr)
- b PLTJMP(syscall_error)
-
- cfi_restore_state
-.Linval:
- mov r0, $-EINVAL
- pop {r4, r5}
- cfi_adjust_cfa_offset (-8)
- cfi_restore (r4)
- cfi_restore (r5)
- b PLTJMP(syscall_error)
-PSEUDO_END (__mmap64)
-
-weak_alias (__mmap64, mmap64)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++
sysdeps/unix/sysv/linux/arm/mmap.S | 64 -----------------
.../sysv/linux/arm/mmap.c} | 8 +--
sysdeps/unix/sysv/linux/arm/mmap64.S | 72 --------------------
4 files changed, 8 insertions(+), 142 deletions(-)
delete mode 100644 sysdeps/unix/sysv/linux/arm/mmap.S
copy sysdeps/{mips/tst-abi-fp32mod.c => unix/sysv/linux/arm/mmap.c} (86%)
delete mode 100644 sysdeps/unix/sysv/linux/arm/mmap64.S
hooks/post-receive
--
GNU C Library master sources