Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 6 Dec 2000 03:16:46 +0000 (03:16 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 6 Dec 2000 03:16:46 +0000 (03:16 +0000)
2000-12-05  Ulrich Drepper  <drepper@redhat.com>

* sysdeps/unix/sysv/aix/Makefile [$(subdir)==misc]
(sysdep_routines): Add restf and savef.
* sysdeps/unix/sysv/aix/restf.c: New file.
* sysdeps/unix/sysv/aix/savef.c: New file.
Patches by Michael Keezer <mkeezer@redhat.com>.

* sysdeps/unix/opendir.c (__opendir): Don't use o_directory_works
if O_DIRECTORY is not defined.
Patch by Michael Keezer <mkeezer@redhat.com>.

* include/libc-symbols.h (C_SYMBOL_DOT_NAME): Define.
Patch by Michael Keezer <mkeezer@redhat.com>.

* locale/programs/linereader.c (get_toplvl_escape): Recognize more
than 4 bytes in escape sequence.
Patch by Shinya Hanataka <hanataka@abyss.rim.or.jp>.

ChangeLog
include/libc-symbols.h
sysdeps/unix/opendir.c
sysdeps/unix/sysv/aix/Makefile
sysdeps/unix/sysv/aix/restf.S [new file with mode: 0644]
sysdeps/unix/sysv/aix/savef.S [new file with mode: 0644]

index 0d73c77..9153b72 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2000-12-05  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/aix/Makefile [$(subdir)==misc]
+       (sysdep_routines): Add restf and savef.
+       * sysdeps/unix/sysv/aix/restf.c: New file.
+       * sysdeps/unix/sysv/aix/savef.c: New file.
+       Patches by Michael Keezer <mkeezer@redhat.com>.
+
+       * sysdeps/unix/opendir.c (__opendir): Don't use o_directory_works
+       if O_DIRECTORY is not defined.
+       Patch by Michael Keezer <mkeezer@redhat.com>.
+
+       * include/libc-symbols.h (C_SYMBOL_DOT_NAME): Define.
+       Patch by Michael Keezer <mkeezer@redhat.com>.
+
+       * locale/programs/linereader.c (get_toplvl_escape): Recognize more
+       than 4 bytes in escape sequence.
+       Patch by Shinya Hanataka <hanataka@abyss.rim.or.jp>.
+
 2000-12-05  Andreas Jaeger  <aj@suse.de>
 
        * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Don't
index 06d5602..6cac04b 100644 (file)
 # define ASM_LINE_SEP ;
 #endif
 
+#ifndef C_SYMBOL_DOT_NAME
+# define C_SYMBOL_DOT_NAME(name) .##name
+#endif
+
 #ifndef __ASSEMBLER__
 /* GCC understands weak symbols and aliases; use its interface where
    possible, instead of embedded assembly language.  */
index 461f82b..927caab 100644 (file)
@@ -120,11 +120,15 @@ __opendir (const char *name)
      O_DIRECTORY flag is honored by the kernel.  */
   if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &statbuf), 0) < 0)
     goto lose;
-  if (o_directory_works <= 0
-      && __builtin_expect (! S_ISDIR (statbuf.st_mode), 0))
+#ifdef O_DIRECTORY
+  if (o_directory_works <= 0)
+#endif
     {
-      save_errno = ENOTDIR;
-      goto lose;
+      if (__builtin_expect (! S_ISDIR (statbuf.st_mode), 0))
+       {
+         save_errno = ENOTDIR;
+         goto lose;
+       }
     }
 
   if (__builtin_expect (__fcntl (fd, F_SETFD, FD_CLOEXEC), 0) < 0)
index b49b562..cb8683b 100644 (file)
@@ -6,7 +6,7 @@
 static-start-installed-name = /usr/lib/crt0.o
 
 ifeq ($(subdir),misc)
-sysdep_routines += dl-open dl-sym dl-close
+sysdep_routines += dl-open dl-sym dl-close restf savef
 endif
 
 ifeq ($(subdir),login)
diff --git a/sysdeps/unix/sysv/aix/restf.S b/sysdeps/unix/sysv/aix/restf.S
new file mode 100644 (file)
index 0000000..049627e
--- /dev/null
@@ -0,0 +1,58 @@
+/* Copyright (C) 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 Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sysdep.h>
+
+ENTRY(_restf_all)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf14)
+C_TEXT(_restf14):      lfd     fp14,-144(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf15)
+C_TEXT(_restf15):      lfd     fp15,-136(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf16)
+C_TEXT(_restf16):      lfd     fp16,-128(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf17)
+C_TEXT(_restf17):      lfd     fp17,-120(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf18)
+C_TEXT(_restf18):      lfd     fp18,-112(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf19)
+C_TEXT(_restf19):      lfd     fp19,-104(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf20)
+C_TEXT(_restf20):      lfd     fp20,-96(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf21)
+C_TEXT(_restf21):      lfd     fp21,-88(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf22)
+C_TEXT(_restf22):      lfd     fp22,-80(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf23)
+C_TEXT(_restf23):      lfd     fp23,-72(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf24)
+C_TEXT(_restf24):      lfd     fp24,-64(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf25)
+C_TEXT(_restf25):      lfd     fp25,-56(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf26)
+C_TEXT(_restf26):      lfd     fp26,-48(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf27)
+C_TEXT(_restf27):      lfd     fp27,-40(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf28)
+C_TEXT(_restf28):      lfd     fp28,-32(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf29)
+C_TEXT(_restf29):      lfd     fp29,-24(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf30)
+C_TEXT(_restf30):      lfd     fp30,-16(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_restf31)
+C_TEXT(_restf31):      lfd     fp31,-8(r11)
+               blr
diff --git a/sysdeps/unix/sysv/aix/savef.S b/sysdeps/unix/sysv/aix/savef.S
new file mode 100644 (file)
index 0000000..4c10d6e
--- /dev/null
@@ -0,0 +1,58 @@
+/* Copyright (C) 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 Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sysdep.h>
+
+ENTRY(_savef_all)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef14)
+C_TEXT(_savef14):      stfd    fp14,-144(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef15)
+C_TEXT(_savef15):      stfd    fp15,-136(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef16)
+C_TEXT(_savef16):      stfd    fp16,-128(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef17)
+C_TEXT(_savef17):      stfd    fp17,-120(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef18)
+C_TEXT(_savef18):      stfd    fp18,-112(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef19)
+C_TEXT(_savef19):      stfd    fp19,-104(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef20)
+C_TEXT(_savef20):      stfd    fp20,-96(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef21)
+C_TEXT(_savef21):      stfd    fp21,-88(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef22)
+C_TEXT(_savef22):      stfd    fp22,-80(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef23)
+C_TEXT(_savef23):      stfd    fp23,-72(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef24)
+C_TEXT(_savef24):      stfd    fp24,-64(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef25)
+C_TEXT(_savef25):      stfd    fp25,-56(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef26)
+C_TEXT(_savef26):      stfd    fp26,-48(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef27)
+C_TEXT(_savef27):      stfd    fp27,-40(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef28)
+C_TEXT(_savef28):      stfd    fp28,-32(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef29)
+C_TEXT(_savef29):      stfd    fp29,-24(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef30)
+C_TEXT(_savef30):      stfd    fp30,-16(r11)
+               ASM_GLOBAL_DIRECTIVE C_TEXT(_savef31)
+C_TEXT(_savef31):      stfd    fp31,-8(r11)
+               blr