+2007-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/i386/i486/bits/string.h (memmove): Define as macro.
+ (memmove): Rename to __memmove_g, with __asm__ ("memmove").
+ * sysdeps/s390/bits/string.h (__strlen_g, __strcpy_g, __strncpy_g,
+ __strcat_g, __strncat_g): Add __asm__.
+
+2007-12-12 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #5477]
+ * io/fchmodat.c: Fix typo in stub_warning use.
+ Patch by Petr Salinger.
+
2007-12-11 Ulrich Drepper <drepper@redhat.com>
* iconvdata/hp-thai8.c: New file.
/* Change the protections of file relative to open directory. Stub version.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007 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
__set_errno (ENOSYS);
return -1;
}
-stub_warning (fchownat)
+stub_warning (fchmodat)
#include <stub-tag.h>
#ifndef _FORCE_INLINES
/* Copy N bytes of SRC to DEST, guaranteeing
correct behavior for overlapping strings. */
+#define memmove(dest, src, n) __memmove_g (dest, src, n)
+
+__STRING_INLINE void *__memmove_g (void *, __const void *, size_t)
+ __asm__ ("memmove");
+
__STRING_INLINE void *
-memmove (void *__dest, __const void *__src, size_t __n)
+__memmove_g (void *__dest, __const void *__src, size_t __n)
{
register unsigned long int __d0, __d1, __d2;
register void *__tmp = __dest;
#ifndef _FORCE_INLINES
#define strlen(str) __strlen_g ((str))
+__STRING_INLINE size_t __strlen_g (__const char *) __asm__ ("strlen");
+
__STRING_INLINE size_t
__strlen_g (__const char *__str)
{
#ifndef _FORCE_INLINES
#define strcpy(dest, src) __strcpy_g ((dest), (src))
+__STRING_INLINE char *__strcpy_g (char *, __const char *) __asm ("strcpy");
+
__STRING_INLINE char *
__strcpy_g (char *__dest, __const char *__src)
{
#ifndef _FORCE_INLINES
#define strncpy(dest, src, n) __strncpy_g ((dest), (src), (n))
+__STRING_INLINE char *__strncpy_g (char *, __const char *, size_t)
+ __asm__ ("strncpy");
+
__STRING_INLINE char *
__strncpy_g (char *__dest, __const char *__src, size_t __n)
{
#ifndef _FORCE_INLINES
#define strcat(dest, src) __strcat_g ((dest), (src))
+__STRING_INLINE char *__strcat_g (char *, __const char *) __asm__ ("strcat");
+
__STRING_INLINE char *
-__strcat_g(char *__dest, const char *__src)
+__strcat_g (char *__dest, __const char *__src)
{
char *__ret = __dest;
char *__ptr, *__tmp;
#ifndef _FORCE_INLINES
#define strncat(dest, src, n) __strncat_g ((dest), (src), (n))
+__STRING_INLINE char *__strncat_g (char *, __const char *, size_t)
+ __asm__ ("strncat");
+
__STRING_INLINE char *
__strncat_g (char *__dest, __const char *__src, size_t __n)
{