about summary refs log tree commit diff
path: root/sysdeps/ia64/strncmp.S
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-01-08 10:21:17 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-01-08 17:09:36 -0300
commit460860f457e2a889785c506e8c77d4a7dff24d3e (patch)
tree02d5f760aa8ebee152f3acc4ae564348d57d3528 /sysdeps/ia64/strncmp.S
parente171ad7d596878d0d4f21a0713d8dbb8d8788d7e (diff)
downloadglibc-460860f457e2a889785c506e8c77d4a7dff24d3e.tar.gz
glibc-460860f457e2a889785c506e8c77d4a7dff24d3e.tar.xz
glibc-460860f457e2a889785c506e8c77d4a7dff24d3e.zip
Remove ia64-linux-gnu
Linux 6.7 removed ia64 from the official tree [1], following the general
principle that a glibc port needs upstream support for the architecture
in all the components it depends on (binutils, GCC, and the Linux
kernel).

Apart from the removal of sysdeps/ia64 and sysdeps/unix/sysv/linux/ia64,
there are updates to various comments referencing ia64 for which removal
of those references seemed appropriate. The configuration is removed
from README and build-many-glibcs.py.

The CONTRIBUTED-BY, elf/elf.h, manual/contrib.texi (the porting
mention), *.po files, config.guess, and longlong.h are not changed.

For Linux it allows cleanup some clone2 support on multiple files.

The following bug can be closed as WONTFIX: BZ 22634 [2], BZ 14250 [3],
BZ 21634 [4], BZ 10163 [5], BZ 16401 [6], and BZ 11585 [7].

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=43ff221426d33db909f7159fdf620c3b052e2d1c
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=22634
[3] https://sourceware.org/bugzilla/show_bug.cgi?id=14250
[4] https://sourceware.org/bugzilla/show_bug.cgi?id=21634
[5] https://sourceware.org/bugzilla/show_bug.cgi?id=10163
[6] https://sourceware.org/bugzilla/show_bug.cgi?id=16401
[7] https://sourceware.org/bugzilla/show_bug.cgi?id=11585
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps/ia64/strncmp.S')
-rw-r--r--sysdeps/ia64/strncmp.S60
1 files changed, 0 insertions, 60 deletions
diff --git a/sysdeps/ia64/strncmp.S b/sysdeps/ia64/strncmp.S
deleted file mode 100644
index 2c5c37d277..0000000000
--- a/sysdeps/ia64/strncmp.S
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Optimized version of the standard strncmp() function.
-   This file is part of the GNU C Library.
-   Copyright (C) 2000-2024 Free Software Foundation, Inc.
-
-   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
-   <https://www.gnu.org/licenses/>.  */
-
-/* Return: the result of the comparison
-
-   Inputs:
-        in0:    s1
-        in1:    s2
-        in2:    n
-
-   Unlike memcmp(), this function is optimized for mismatches within the
-   first few characters.  */
-
-#include <sysdep.h>
-#undef ret
-
-#define s1		in0
-#define s2		in1
-#define n		in2
-
-#define val1		r15
-#define val2		r16
-
-
-ENTRY(strncmp)
-	alloc	r2 = ar.pfs, 3, 0, 0, 0
-	mov	ret0 = r0
-	cmp.eq  p6, p0 = r0, r0		// set p6
-	cmp.eq	p7, p0 = n, r0		// return immediately if n == 0
-(p7)	br.cond.spnt .restore_and_exit ;;
-.loop:
-	ld1	val1 = [s1], 1
-	ld1	val2 = [s2], 1
-	adds	n = -1, n		// n--
-	;;
-	cmp.ne.and p6, p0 = val1, r0
-	cmp.ne.and p6, p0 = val2, r0
-	cmp.ne.and p6, p0 = n, r0
-	cmp.eq.and p6, p0 = val1, val2
-(p6)	br.cond.sptk .loop
-	sub	ret0 = val1, val2
-.restore_and_exit:
-	br.ret.sptk.many b0
-END(strncmp)
-libc_hidden_builtin_def (strncmp)