+2006-12-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * sysdeps/unix/sysv/linux/sh/sys/io.h: Removed.
+
+2006-11-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/i386/i686/memcmp.S: Use jump table as the base of
+ jump table entries.
+
+2006-11-30 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * sysdeps/unix/sysv/linux/i386/clone.S: Provide CFI for the outermost
+ `clone' function to ensure proper unwinding stop of gdb.
+ * sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.
+
2006-12-01 Ulrich Drepper <drepper@redhat.com>
* nscd/nscd.init: Remove obsolete and commented-out -S option
handling.
+2006-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ [BZ #3514]
+ * manual/string.texi (strncmp): Fix pastos from wcscmp description.
+
+ [BZ #3515]
+ * manual/string.texi (strtok): Remove duplicate paragraph.
+
2006-12-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Fix compatibility with
@comment ISO
@deftypefun int strncmp (const char *@var{s1}, const char *@var{s2}, size_t @var{size})
This function is the similar to @code{strcmp}, except that no more than
-@var{size} wide characters are compared. In other words, if the two
-strings are the same in their first @var{size} wide characters, the
+@var{size} characters are compared. In other words, if the two
+strings are the same in their first @var{size} characters, the
return value is zero.
@end deftypefun
using a multibyte character encoding (abstract) character consisting of
more than one byte are not treated as an entity. Each byte is treated
separately. The function is not locale-dependent.
-
-Note that ``character'' is here used in the sense of byte. In a string
-using a multibyte character encoding (abstract) character consisting of
-more than one byte are not treated as an entity. Each byte is treated
-separately. The function is not locale-dependent.
@end deftypefun
@comment wchar.h
.section .rodata
ALIGN (2)
L(table_32bytes) :
- .long L(0bytes) - . + 0x0
- .long L(1bytes) - . + 0x4
- .long L(2bytes) - . + 0x8
- .long L(3bytes) - . + 0xc
- .long L(4bytes) - . + 0x10
- .long L(5bytes) - . + 0x14
- .long L(6bytes) - . + 0x18
- .long L(7bytes) - . + 0x1c
- .long L(8bytes) - . + 0x20
- .long L(9bytes) - . + 0x24
- .long L(10bytes) - . + 0x28
- .long L(11bytes) - . + 0x2c
- .long L(12bytes) - . + 0x30
- .long L(13bytes) - . + 0x34
- .long L(14bytes) - . + 0x38
- .long L(15bytes) - . + 0x3c
- .long L(16bytes) - . + 0x40
- .long L(17bytes) - . + 0x44
- .long L(18bytes) - . + 0x48
- .long L(19bytes) - . + 0x4c
- .long L(20bytes) - . + 0x50
- .long L(21bytes) - . + 0x54
- .long L(22bytes) - . + 0x58
- .long L(23bytes) - . + 0x5c
- .long L(24bytes) - . + 0x60
- .long L(25bytes) - . + 0x64
- .long L(26bytes) - . + 0x68
- .long L(27bytes) - . + 0x6c
- .long L(28bytes) - . + 0x70
- .long L(29bytes) - . + 0x74
- .long L(30bytes) - . + 0x78
- .long L(31bytes) - . + 0x7c
+ .long L(0bytes) - L(table_32bytes)
+ .long L(1bytes) - L(table_32bytes)
+ .long L(2bytes) - L(table_32bytes)
+ .long L(3bytes) - L(table_32bytes)
+ .long L(4bytes) - L(table_32bytes)
+ .long L(5bytes) - L(table_32bytes)
+ .long L(6bytes) - L(table_32bytes)
+ .long L(7bytes) - L(table_32bytes)
+ .long L(8bytes) - L(table_32bytes)
+ .long L(9bytes) - L(table_32bytes)
+ .long L(10bytes) - L(table_32bytes)
+ .long L(11bytes) - L(table_32bytes)
+ .long L(12bytes) - L(table_32bytes)
+ .long L(13bytes) - L(table_32bytes)
+ .long L(14bytes) - L(table_32bytes)
+ .long L(15bytes) - L(table_32bytes)
+ .long L(16bytes) - L(table_32bytes)
+ .long L(17bytes) - L(table_32bytes)
+ .long L(18bytes) - L(table_32bytes)
+ .long L(19bytes) - L(table_32bytes)
+ .long L(20bytes) - L(table_32bytes)
+ .long L(21bytes) - L(table_32bytes)
+ .long L(22bytes) - L(table_32bytes)
+ .long L(23bytes) - L(table_32bytes)
+ .long L(24bytes) - L(table_32bytes)
+ .long L(25bytes) - L(table_32bytes)
+ .long L(26bytes) - L(table_32bytes)
+ .long L(27bytes) - L(table_32bytes)
+ .long L(28bytes) - L(table_32bytes)
+ .long L(29bytes) - L(table_32bytes)
+ .long L(30bytes) - L(table_32bytes)
+ .long L(31bytes) - L(table_32bytes)
#undef bcmp
ret
L(thread_start):
+ cfi_startproc;
+ /* Clearing frame pointer is insufficient, use CFI. */
+ cfi_undefined (eip);
/* Note: %esi is zero. */
movl %esi,%ebp /* terminate the stack frame */
#ifdef RESET_PID
jmp L(haspid)
.previous
#endif
+ cfi_endproc;
cfi_startproc
PSEUDO_END (BP_SYM (__clone))
+++ /dev/null
-/* Copyright (C) 1996, 1998, 1999, 2000 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, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#ifndef _SYS_IO_H
-
-#define _SYS_IO_H 1
-#include <features.h>
-
-__BEGIN_DECLS
-
-/* If TURN_ON is TRUE, request for permission to do direct i/o on the
- port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O
- permission off for that range. This call requires root privileges. */
-extern int ioperm (unsigned long int __from, unsigned long int __num,
- int __turn_on) __THROW;
-
-/* Set the I/O privilege level to LEVEL. If LEVEL is nonzero,
- permission to access any I/O port is granted. This call requires
- root privileges. */
-extern int iopl (int __level) __THROW;
-
-/* The functions that actually perform reads and writes. */
-extern unsigned char inb (unsigned long int port) __THROW;
-extern unsigned short int inw (unsigned long int port) __THROW;
-extern unsigned long int inl (unsigned long int port) __THROW;
-
-extern void outb (unsigned char value, unsigned long int port) __THROW;
-extern void outw (unsigned short value, unsigned long int port) __THROW;
-extern void outl (unsigned long value, unsigned long int port) __THROW;
-
-__END_DECLS
-
-#endif /* _SYS_IO_H */
ret
L(thread_start):
+ cfi_startproc;
+ /* Clearing frame pointer is insufficient, use CFI. */
+ cfi_undefined (rip);
/* Clear the frame pointer. The ABI suggests this be done, to mark
the outermost frame obviously. */
xorl %ebp, %ebp
/* Call exit with return value from function call. */
movq %rax, %rdi
call HIDDEN_JUMPTARGET (_exit)
+ cfi_endproc;
cfi_startproc;
PSEUDO_END (BP_SYM (__clone))