[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r18209 - in /fsf/trunk/libc: ./ elf/ math/ scripts/ scripts/data/ sysdeps/mach/hurd/ sysdeps/powerpc/fpu/ sysdeps/powerpc/po...



Author: eglibc
Date: Wed Apr 25 00:01:37 2012
New Revision: 18209

Log:
Import glibc-mainline for 2012-04-25

Added:
    fsf/trunk/libc/scripts/check-localplt.awk
Removed:
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/s_floorl.S
    fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/Implies
    fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/system.c
    fsf/trunk/libc/sysdeps/unix/fork.S
    fsf/trunk/libc/sysdeps/unix/getdents.c
    fsf/trunk/libc/sysdeps/unix/getegid.S
    fsf/trunk/libc/sysdeps/unix/geteuid.S
    fsf/trunk/libc/sysdeps/unix/i386/fork.S
    fsf/trunk/libc/sysdeps/unix/mman/
    fsf/trunk/libc/sysdeps/unix/sparc/fork.S
    fsf/trunk/libc/sysdeps/unix/system.c
    fsf/trunk/libc/sysdeps/unix/sysv/getdents.c
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/Makeconfig
    fsf/trunk/libc/Makerules
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/config.make.in
    fsf/trunk/libc/configure
    fsf/trunk/libc/configure.in
    fsf/trunk/libc/elf/Makefile
    fsf/trunk/libc/math/libm-test.inc
    fsf/trunk/libc/scripts/data/localplt-generic.data
    fsf/trunk/libc/sysdeps/mach/hurd/symlink.c
    fsf/trunk/libc/sysdeps/mach/hurd/symlinkat.c
    fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps
    fsf/trunk/libc/sysdeps/unix/syscalls.list
    fsf/trunk/libc/sysdeps/unix/sysv/linux/Implies
    fsf/trunk/libc/sysdeps/unix/sysv/syscalls.list

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed Apr 25 00:01:37 2012
@@ -1,3 +1,69 @@
+2012-04-24  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/fork.S: Remove file.
+	* sysdeps/unix/i386/fork.S: Likewise.
+	* sysdeps/unix/sparc/fork.S: Likewise.
+
+	* sysdeps/unix/system.c: Remove file.
+	* sysdeps/unix/bsd/bsd4.4/system.c: Likewise.
+
+	* sysdeps/unix/getegid.S: Remove file.
+	* sysdeps/unix/geteuid.S: Likewise.
+
+2012-04-24  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* scripts/check-localplt.awk: New file.
+	* elf/Makefile ($(objpfx)check-localplt.out): Use that script instead
+	of diff.
+	* scripts/data/localplt-generic.data: Add a comment.
+
+	* sysdeps/mach/hurd/symlink.c: Don't call __mach_port_deallocate on
+	NODE when __dir_mkfile failed.
+	* sysdeps/mach/hurd/symlinkat.c: Likewise.
+	Reported by Ludovic CourtÃÂs <ludo@xxxxxxx>.
+
+2012-04-24  Andreas Jaeger  <aj@xxxxxxx>
+
+	* Makerules (common-clean): Also remove gen-as-const-headers
+	files.
+
+2012-04-24  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* Makerules (native-compile): Do not change working directory for
+	build.  Use $(OUTPUT_OPTION) in command.
+	(ALL_BUILD_CFLAGS): Use $(common-objpfx) to find config.h.
+
+2012-04-24  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	[BZ #13886]
+	* sysdeps/powerpc/powerpc64/fpu/s_floorl.S: Delete file. Use the
+	sysdeps/ieee754/ldbl-128ibm/s_floorl.c version instead.
+	* math/libm-test.inc (floor_test): Add more tests.
+	* sysdeps/powerpc/fpu/libm-test-ulps: Update for pow tests.
+
+2012-04-24  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/getdents.c: Remove file.
+	* sysdeps/unix/sysv/getdents.c: Likewise.
+	* sysdeps/unix/sysv/syscalls.list (s_getdents): Remove.
+
+	* sysdeps/unix/syscalls.list (madvise): Add syscall from
+	sysdeps/unix/mman/syscalls.list.
+	(mmap): Likewise.
+	(mprotect): Likewise.
+	(msync): Likewise.
+	(munmap): Likewise.
+	* sysdeps/unix/bsd/bsd4.4/Implies: Remove.
+	* sysdeps/unix/mman/syscalls.list: Remove.
+	* sysdeps/unix/sysv/linux/Implies: Don't include unix/mman.
+
+	* configure.in (libc_cv_libgcc_s_suffix): Remove test.
+	(libc_cv_as_needed): Don't use $libc_cv_libgcc_s_suffix.
+	* configure: Regenerated.
+	* Makeconfig [$(have-as-needed) = yes] (libgcc_eh): Don't use
+	$(libgcc_s_suffix).
+	* config.make.in (libgcc_s_suffix): Remove variable.
+
 2012-04-23  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/gethostname.c: Move to ...

Modified: fsf/trunk/libc/Makeconfig
==============================================================================
--- fsf/trunk/libc/Makeconfig (original)
+++ fsf/trunk/libc/Makeconfig Wed Apr 25 00:01:37 2012
@@ -537,7 +537,7 @@
 ifneq ($(have-as-needed),yes)
  libgcc_eh := -lgcc_eh $(libunwind)
 else
- libgcc_eh := -Wl,--as-needed -lgcc_s$(libgcc_s_suffix) $(libunwind) -Wl,--no-as-needed
+ libgcc_eh := -Wl,--as-needed -lgcc_s $(libunwind) -Wl,--no-as-needed
 endif
 gnulib := -lgcc $(libgcc_eh)
 static-gnulib := -lgcc -lgcc_eh $(libunwind)

Modified: fsf/trunk/libc/Makerules
==============================================================================
--- fsf/trunk/libc/Makerules (original)
+++ fsf/trunk/libc/Makerules Wed Apr 25 00:01:37 2012
@@ -1114,17 +1114,15 @@
 endif
 install: install-no-libc.a-nosubdir
 
-# Command to compile $< in $(objdir) using the native libraries.
+# Command to compile $< using the native libraries.
 define native-compile
 $(make-target-directory)
-$(patsubst %/,cd % &&,$(objpfx)) \
 $(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) \
-	    $(firstword $(filter /%,$< $(shell pwd)/$<)) -o $(@F)
+	    $< $(OUTPUT_OPTION)
 endef
 
 # We always want to use configuration definitions.
-# Note that this is only used for commands running in $(objpfx).
-ALL_BUILD_CFLAGS = $(BUILD_CFLAGS) -include $(..)config.h
+ALL_BUILD_CFLAGS = $(BUILD_CFLAGS) -include $(common-objpfx)config.h
 
 # Support the GNU standard name for this target.
 .PHONY: check
@@ -1330,6 +1328,7 @@
 	-rm -f $(objpfx)*.d $(objpfx)*.dt
 	-rm -fr $(addprefix $(objpfx),$(generated-dirs))
 	-rm -f $(addprefix $(common-objpfx),$(common-generated))
+	-rm -f $(gen-as-const-headers:%.sym=$(common-objpfx)%.h)
 
 # Produce a file `stubs' which contains `#define __stub_FUNCTION'
 # for each function which is a stub.  We grovel over all the .d files

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Wed Apr 25 00:01:37 2012
@@ -19,10 +19,10 @@
   13551, 13552, 13553, 13555, 13559, 13566, 13583, 13592, 13618, 13637,
   13656, 13658, 13673, 13691, 13695, 13704, 13705, 13706, 13726, 13738,
   13739, 13760, 13761, 13786, 13792, 13806, 13824, 13840, 13841, 13844,
-  13846, 13851, 13852, 13854, 13871, 13872, 13873, 13879, 13883, 13892,
-  13895, 13908, 13910, 13911, 13912, 13913, 13915, 13916, 13917, 13918,
-  13919, 13920, 13921, 13926, 13927, 13928, 13938, 13963, 13967, 13970,
-  13973
+  13846, 13851, 13852, 13854, 13871, 13872, 13873, 13879, 13883, 13886,
+  13892, 13895, 13908, 13910, 13911, 13912, 13913, 13915, 13916, 13917,
+  13918, 13919, 13920, 13921, 13926, 13927, 13928, 13938, 13963, 13967,
+  13970, 13973
 
 * ISO C11 support:
 

Modified: fsf/trunk/libc/config.make.in
==============================================================================
--- fsf/trunk/libc/config.make.in (original)
+++ fsf/trunk/libc/config.make.in Wed Apr 25 00:01:37 2012
@@ -50,7 +50,6 @@
 have-z-execstack = @libc_cv_z_execstack@
 have-Bgroup = @libc_cv_Bgroup@
 have-as-needed = @libc_cv_as_needed@
-libgcc_s_suffix = @libc_cv_libgcc_s_suffix@
 with-fp = @with_fp@
 old-glibc-headers = @old_glibc_headers@
 unwind-find-fde = @libc_cv_gcc_unwind_find_fde@

Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Wed Apr 25 00:01:37 2012
@@ -651,7 +651,6 @@
 libc_cv_z_combreloc
 ASFLAGS_config
 libc_cv_as_needed
-libc_cv_libgcc_s_suffix
 libc_cv_Bgroup
 libc_cv_cc_with_libunwind
 VERSIONING
@@ -6305,24 +6304,6 @@
 $as_echo "$libc_cv_Bgroup" >&6; }
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgcc_s suffix" >&5
-$as_echo_n "checking for libgcc_s suffix... " >&6; }
-if ${libc_cv_libgcc_s_suffix+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat > conftest.c <<EOF
-int main (void) { return 0; }
-EOF
-libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
-			   -fPIC -shared -shared-libgcc -o conftest.so \
-			   conftest.c -v 2>&1 >/dev/null \
-			   | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
-rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_libgcc_s_suffix" >&5
-$as_echo "$libc_cv_libgcc_s_suffix" >&6; }
-
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed option" >&5
 $as_echo_n "checking for --as-needed option... " >&6; }
 if ${libc_cv_as_needed+:} false; then :
@@ -6333,7 +6314,7 @@
 EOF
 if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
 			      -fPIC -shared -o conftest.so conftest.c
-			      -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
+			      -lgcc_s -Wl,--as-needed
 			      -nostdlib 1>&5'
   { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
   (eval $ac_try) 2>&5

Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Wed Apr 25 00:01:37 2012
@@ -1519,20 +1519,6 @@
 rm -f conftest*])
 AC_SUBST(libc_cv_Bgroup)
 
-AC_CACHE_CHECK(for libgcc_s suffix,
-	       libc_cv_libgcc_s_suffix, [dnl
-cat > conftest.c <<EOF
-int main (void) { return 0; }
-EOF
-changequote(,)dnl
-libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
-			   -fPIC -shared -shared-libgcc -o conftest.so \
-			   conftest.c -v 2>&1 >/dev/null \
-			   | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
-changequote([,])dnl
-rm -f conftest*])
-AC_SUBST(libc_cv_libgcc_s_suffix)
-
 AC_CACHE_CHECK(for --as-needed option,
 	       libc_cv_as_needed, [dnl
 cat > conftest.c <<EOF
@@ -1540,7 +1526,7 @@
 EOF
 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
 			      -fPIC -shared -o conftest.so conftest.c
-			      -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
+			      -lgcc_s -Wl,--as-needed
 			      -nostdlib 1>&AS_MESSAGE_LOG_FD])
 then
   libc_cv_as_needed=yes

Modified: fsf/trunk/libc/elf/Makefile
==============================================================================
--- fsf/trunk/libc/elf/Makefile (original)
+++ fsf/trunk/libc/elf/Makefile Wed Apr 25 00:01:37 2012
@@ -933,8 +933,7 @@
 			     $(common-objpfx)crypt/libcrypt.so \
 			     $(check-data)
 	$(dir $<)$(notdir $<) $(filter-out $< $(check-data),$^) | \
-	  LC_ALL=C sort | \
-	  diff -u $(check-data) - > $@
+	  $(AWK) -f $(..)scripts/check-localplt.awk $(check-data) -
 endif
 
 $(objpfx)tst-dlopenrpathmod.so: $(libdl)

Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Wed Apr 25 00:01:37 2012
@@ -3442,6 +3442,9 @@
   TEST_f_f (floor, 10141204801825835211973625643008.5L, 10141204801825835211973625643008.0L);
   TEST_f_f (floor, 10141204801825835211973625643008.75L, 10141204801825835211973625643008.0L);
   TEST_f_f (floor, 10141204801825835211973625643009.5L, 10141204801825835211973625643009.0L);
+
+  TEST_f_f (floor, 0xf.ffffffffffffff8p+47L, 0xf.fffffffffffep+47L);
+  TEST_f_f (floor, -0x8.000000000000004p+48L, -0x8.000000000001p+48L);
 #endif
 
   END (floor);

Added: fsf/trunk/libc/scripts/check-localplt.awk
==============================================================================
--- fsf/trunk/libc/scripts/check-localplt.awk (added)
+++ fsf/trunk/libc/scripts/check-localplt.awk Wed Apr 25 00:01:37 2012
@@ -1,0 +1,53 @@
+# This is an awk script to process the output of elf/check-localplt.
+# The first file argument is the file of expected results.
+# Each line is either a comment starting with # or it looks like:
+#	libfoo.so: function
+# or
+#	libfoo.so: function ?
+# The latter means that a PLT entry for function is optional in libfoo.so.
+# The former means one is required.
+# The second file argument is - and this (stdin) receives the output
+# of the check-localplt program.
+
+BEGIN { result = 0 }
+
+FILENAME != "-" && /^#/ { next }
+
+FILENAME != "-" {
+  if (NF != 2 && !(NF == 3 && $3 == "?")) {
+    printf "%s:%d: bad data line: %s\n", FILENAME, FNR, $0 > "/dev/stderr";
+    result = 2;
+  } else {
+    accept[$1 " " $2] = NF == 2;
+  }
+  next;
+}
+
+NF != 2 {
+  print "Unexpected output from check-localplt:", $0 > "/dev/stderr";
+  result = 2;
+  next
+}
+
+{
+  key = $1 " " $2
+  if (key in accept) {
+    delete accept[key]
+  } else {
+    print "Extra PLT reference:", $0;
+    if (result == 0)
+      result = 1;
+  }
+}
+
+END {
+  for (key in accept) {
+    if (accept[key]) {
+      # It's mandatory.
+      print "Missing required PLT reference:", key;
+      result = 1;
+    }
+  }
+
+  exit(result);
+}

Modified: fsf/trunk/libc/scripts/data/localplt-generic.data
==============================================================================
--- fsf/trunk/libc/scripts/data/localplt-generic.data (original)
+++ fsf/trunk/libc/scripts/data/localplt-generic.data Wed Apr 25 00:01:37 2012
@@ -1,3 +1,6 @@
+# See scripts/check-localplt.awk for how this file is processed.
+# PLT use is required for the malloc family and for matherr because
+# users can define their own functions and have library internals call them.
 libc.so: calloc
 libc.so: free
 libc.so: malloc

Modified: fsf/trunk/libc/sysdeps/mach/hurd/symlink.c
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/symlink.c (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/symlink.c Wed Apr 25 00:01:37 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2012 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
@@ -46,19 +46,22 @@
   err = __dir_mkfile (dir, O_WRITE, 0777 & ~_hurd_umask, &node);
 
   if (! err)
-    /* Set the node's translator to make it a symlink.  */
-    err = __file_set_translator (node,
-				 FS_TRANS_EXCL|FS_TRANS_SET,
-				 FS_TRANS_EXCL|FS_TRANS_SET, 0,
-				 buf, sizeof (_HURD_SYMLINK) + len,
-				 MACH_PORT_NULL, MACH_MSG_TYPE_COPY_SEND);
+    {
+      /* Set the node's translator to make it a symlink.  */
+      err = __file_set_translator (node,
+                                   FS_TRANS_EXCL|FS_TRANS_SET,
+                                   FS_TRANS_EXCL|FS_TRANS_SET, 0,
+                                   buf, sizeof (_HURD_SYMLINK) + len,
+                                   MACH_PORT_NULL, MACH_MSG_TYPE_COPY_SEND);
 
-  if (! err)
-    /* Link the node, now a valid symlink, into the target directory.  */
-    err = __dir_link (dir, node, name, 1);
+      if (! err)
+        /* Link the node, now a valid symlink, into the target directory.  */
+        err = __dir_link (dir, node, name, 1);
+
+      __mach_port_deallocate (__mach_task_self (), node);
+    }
 
   __mach_port_deallocate (__mach_task_self (), dir);
-  __mach_port_deallocate (__mach_task_self (), node);
 
   if (err)
     return __hurd_fail (err);

Modified: fsf/trunk/libc/sysdeps/mach/hurd/symlinkat.c
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/symlinkat.c (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/symlinkat.c Wed Apr 25 00:01:37 2012
@@ -1,6 +1,5 @@
 /* Create a symbolic link named relative to an open directory.  Hurd version.
-   Copyright (C) 1991,1992,1993,1994,1995,1996,1997,2006
-	Free Software Foundation, Inc.
+   Copyright (C) 1991-2012 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
@@ -53,19 +52,22 @@
   err = __dir_mkfile (dir, O_WRITE, 0777 & ~_hurd_umask, &node);
 
   if (! err)
-    /* Set the node's translator to make it a symlink.  */
-    err = __file_set_translator (node,
-				 FS_TRANS_EXCL|FS_TRANS_SET,
-				 FS_TRANS_EXCL|FS_TRANS_SET, 0,
-				 buf, sizeof (_HURD_SYMLINK) + len,
-				 MACH_PORT_NULL, MACH_MSG_TYPE_COPY_SEND);
+    {
+      /* Set the node's translator to make it a symlink.  */
+      err = __file_set_translator (node,
+                                   FS_TRANS_EXCL|FS_TRANS_SET,
+                                   FS_TRANS_EXCL|FS_TRANS_SET, 0,
+                                   buf, sizeof (_HURD_SYMLINK) + len,
+                                   MACH_PORT_NULL, MACH_MSG_TYPE_COPY_SEND);
 
-  if (! err)
-    /* Link the node, now a valid symlink, into the target directory.  */
-    err = __dir_link (dir, node, name, 1);
+      if (! err)
+        /* Link the node, now a valid symlink, into the target directory.  */
+        err = __dir_link (dir, node, name, 1);
+
+      __mach_port_deallocate (__mach_task_self (), node);
+    }
 
   __mach_port_deallocate (__mach_task_self (), dir);
-  __mach_port_deallocate (__mach_task_self (), node);
 
   if (err)
     return __hurd_fail (err);

Modified: fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps Wed Apr 25 00:01:37 2012
@@ -1488,6 +1488,17 @@
 ildouble: 1
 ldouble: 1
 
+# pow
+Test "pow (0x0.ffffffp0, -0x1p24) == 2.7182819094701610539628664526874952929416":
+float: 1
+ifloat: 1
+Test "pow (0x0.ffffffp0, 0x1p24) == 0.3678794302077803437135155590023422899744":
+float: 1
+ifloat: 1
+Test "pow (0x1.000002p0, 0x1p24) == 7.3890552180866447284268641248075832310141":
+float: 1
+ifloat: 1
+
 # pow_downward
 Test "pow_downward (1.0625, 1.125) == 1.070582293028761362162622578677070098674":
 ildouble: 1
@@ -2448,6 +2459,8 @@
 ldouble: 1
 
 Function: "pow":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 

Removed: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/s_floorl.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/s_floorl.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/s_floorl.S (removed)
@@ -1,133 +1,0 @@
-/* long double floor function.
-   IBM extended format long double version.
-   Copyright (C) 2004, 2006 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>
-#include <math_ldbl_opt.h>
-
-	.section	".toc","aw"
-.LC0:	/* 2**52 */
-	.tc FD_43300000_0[TC],0x4330000000000000
-
-	.section	".text"
-/* long double [fp1,fp2] floorl (long double x [fp1,fp2])
-   IEEE 1003.1 floor function.
-
-   PowerPC64 long double uses the IBM extended format which is
-   represented two 64-floating point double values. The values are
-   non-overlapping giving an effective precision of 106 bits. The first
-   double contains the high order bits of mantisa and is always rounded
-   to represent a normal rounding of long double to double. Since the
-   long double value is sum of the high and low values, the low double
-   normally has the opposite sign to compensate for the this rounding.
-
-   For long double there are two cases:
-   1) |x| < 2**52, all the integer bits are in the high double.
-      floor the high double and set the low double to -0.0.
-   2) |x| >= 2**52, Rounding involves both doubles.
-      See the comment before lable .L2 for details.
-   */
-
-ENTRY (__floorl)
-	mffs	fp11		/* Save current FPU rounding mode.  */
-	lfd	fp13,.LC0@toc(2)
-	fabs	fp0,fp1
-	fabs	fp9,fp2
-	fsub	fp12,fp13,fp13	/* generate 0.0  */
-	fcmpu	cr7,fp0,fp13	/* if (fabs(x) > TWO52)  */
-	fcmpu	cr6,fp1,fp12	/* if (x > 0.0)  */
-	bnl-	cr7,.L2
-	mtfsfi	7,3		/* Set rounding mode toward -inf.  */
-	fneg	fp2,fp12	/* set low double to -0.0.  */
-	ble-	cr6,.L0
-	fadd	fp1,fp1,fp13	/* x+= TWO52;  */
-	fsub	fp1,fp1,fp13	/* x-= TWO52;  */
-	fcmpu	cr5,fp1,fp12	/* if (x > 0.0)  */
-	mtfsf	0x01,fp11	/* restore previous rounding mode.  */
-	bnelr+	cr5
-	fmr	fp1,fp12	/* x must be +0.0 for the 0.0 case.  */
-	blr
-.L0:
-	bge-	cr6,.L1		/* if (x < 0.0)  */
-	fsub	fp1,fp1,fp13	/* x-= TWO52;  */
-	fadd	fp1,fp1,fp13	/* x+= TWO52;  */
-.L1:
-	mtfsf	0x01,fp11	/* restore previous rounding mode.  */
-	blr
-	
-
-/* The high double is > TWO52 so we need to round the low double and
-   perhaps the high double.  In this case we have to round the low
-   double and handle any adjustment to the high double that may be
-   caused by rounding (up).  This is complicated by the fact that the
-   high double may already be rounded and the low double may have the
-   opposite sign to compensate.This gets a bit tricky so we use the
-   following algorithm:
-
-   tau = floor(x_high/TWO52);
-   x0 = x_high - tau;
-   x1 = x_low + tau;
-   r1 = rint(x1);
-   y_high = x0 + r1;
-   y_low = x0 - y_high + r1;
-   return y;  */
-.L2:
-	fcmpu	cr7,fp9,fp13	/* if (|x_low| > TWO52)  */
-	fcmpu	cr0,fp9,fp12	/* || (|x_low| == 0.0)  */
-	fcmpu	cr5,fp2,fp12	/* if (x_low > 0.0)  */
-	bgelr-	cr7		/*   return x;	*/
-	beqlr-  cr0
-	mtfsfi	7,3		/* Set rounding mode toward -inf.  */
-	fdiv	fp8,fp1,fp13	/* x_high/TWO52  */
-	
-	bng-	cr6,.L6		/* if (x > 0.0)  */
-	fctidz	fp0,fp8
-	fcfid	fp8,fp0		/* tau = floor(x_high/TWO52);  */
-	bng	cr5,.L4		/* if (x_low > 0.0)  */
-	fmr	fp3,fp1
-	fmr	fp4,fp2
-	b	.L5
-.L4:				/* if (x_low < 0.0)  */
-	fsub	fp3,fp1,fp8	/* x0 = x_high - tau;  */
-	fadd	fp4,fp2,fp8	/* x1 = x_low + tau;  */
-.L5:
-	fadd	fp5,fp4,fp13	/* r1 = r1 + TWO52;  */
-	fsub	fp5,fp5,fp13	/* r1 = r1 - TWO52;  */
-	b	.L9
-.L6:				/* if (x < 0.0)  */
-	fctidz	fp0,fp8
-	fcfid	fp8,fp0		/* tau = floor(x_high/TWO52);  */	
-	bnl	cr5,.L7		/* if (x_low < 0.0)  */
-	fmr	fp3,fp1
-	fmr	fp4,fp2
-	b	.L8
-.L7:				/* if (x_low > 0.0)  */
-	fsub	fp3,fp1,fp8	/* x0 = x_high - tau;  */
-	fadd	fp4,fp2,fp8	/* x1 = x_low + tau;  */
-.L8:
-	fsub	fp5,fp4,fp13	/* r1-= TWO52;  */
-	fadd	fp5,fp5,fp13	/* r1+= TWO52;  */
-.L9:
-	mtfsf	0x01,fp11	/* restore previous rounding mode.  */
-	fadd	fp1,fp3,fp5	/* y_high = x0 + r1;  */
-	fsub	fp2,fp3,fp1	/* y_low = x0 - y_high + r1;  */
-	fadd	fp2,fp2,fp5
-	blr
-END (__floorl)
-
-long_double_symbol (libm, __floorl, floorl)

Removed: fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/Implies
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/Implies (original)
+++ fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/Implies (removed)
@@ -1,2 +1,0 @@
-# 4.4 BSD has the canonical set of <sys/mman.h> system calls.
-unix/mman

Removed: fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/system.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/system.c (original)
+++ fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/system.c (removed)
@@ -1,2 +1,0 @@
-/* BSD 4.4 does have `waitpid'.  Avoid unix/system.c, which says we don't.  */
-#include <sysdeps/posix/system.c>

Removed: fsf/trunk/libc/sysdeps/unix/fork.S
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/fork.S (original)
+++ fsf/trunk/libc/sysdeps/unix/fork.S (removed)
@@ -1,33 +1,0 @@
-/* Copyright (C) 1991,92,94,95,97,2002 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>
-
-/* This code works for at least m68k.  */
-
-SYSCALL__ (fork, 0)
-	/* R1 is now 0 for the parent and 1 for the child.  Decrement it to
-	   make it -1 (all bits set) for the parent, and 0 (no bits set)
-	   for the child.  Then AND it with R0, so the parent gets
-	   R0&-1==R0, and the child gets R0&0==0.  */
-	subl #1, r1
-	andl r1, r0
-	ret
-PSEUDO_END (__fork)
-libc_hidden_def (__fork)
-
-weak_alias (__fork, fork)

Removed: fsf/trunk/libc/sysdeps/unix/getdents.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/getdents.c (original)
+++ fsf/trunk/libc/sysdeps/unix/getdents.c (removed)
@@ -1,35 +1,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 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 <stddef.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-ssize_t
-__getdirentries (fd, buf, nbytes, basep)
-     int fd;
-     char *buf;
-     size_t nbytes;
-     off_t *basep;
-{
-  if (basep)
-    *basep = __lseek (fd, (off_t) 0, SEEK_CUR);
-
-  return (ssize_t) __read (fd, buf, nbytes);
-}
-
-weak_alias (__getdirentries, getdirentries)

Removed: fsf/trunk/libc/sysdeps/unix/getegid.S
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/getegid.S (original)
+++ fsf/trunk/libc/sysdeps/unix/getegid.S (removed)
@@ -1,29 +1,0 @@
-/* Copyright (C) 1991, 1992, 1995, 1997 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>
-
-#ifdef	SYS_getegid
-SYSCALL__ (getegid, 0)
-#else
-PSEUDO (__getegid, getgid, 0)
-	MOVE(r1, r0)
-#endif
-	ret
-PSEUDO_END(__getegid)
-
-weak_alias (__getegid, getegid)

Removed: fsf/trunk/libc/sysdeps/unix/geteuid.S
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/geteuid.S (original)
+++ fsf/trunk/libc/sysdeps/unix/geteuid.S (removed)
@@ -1,29 +1,0 @@
-/* Copyright (C) 1991, 1992, 1995, 1997 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>
-
-#ifdef	SYS_geteuid
-SYSCALL__ (geteuid, 0)
-#else
-PSEUDO (__geteuid, getuid, 0)
-	MOVE(r1, r0)
-#endif
-	ret
-PSEUDO_END(__geteuid)
-
-weak_alias (__geteuid, geteuid)

Removed: fsf/trunk/libc/sysdeps/unix/i386/fork.S
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/i386/fork.S (original)
+++ fsf/trunk/libc/sysdeps/unix/i386/fork.S (removed)
@@ -1,31 +1,0 @@
-/* Copyright (C) 1991,92,94,95,97,2002 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>
-
-SYSCALL__ (fork, 0)
-	/* R1 is now 0 for the parent and 1 for the child.  Decrement it to
-	   make it -1 (all bits set) for the parent, and 0 (no bits set)
-	   for the child.  Then AND it with R0, so the parent gets
-	   R0&-1==R0, and the child gets R0&0==0.  */
-	decl r1
-	andl r1, r0
-	ret
-PSEUDO_END (__fork)
-libc_hidden_def (__fork)
-
-weak_alias (__fork, fork)

Removed: fsf/trunk/libc/sysdeps/unix/sparc/fork.S
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sparc/fork.S (original)
+++ fsf/trunk/libc/sysdeps/unix/sparc/fork.S (removed)
@@ -1,30 +1,0 @@
-/* Copyright (C) 1991, 92, 94, 95, 97, 99, 2002 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>
-
-SYSCALL__ (fork, 0)
-	/* %o1 is now 0 for the parent and 1 for the child.  Decrement it to
-	   make it -1 (all bits set) for the parent, and 0 (no bits set)
-	   for the child.  Then AND it with %o0, so the parent gets
-	   %o0&-1==pid, and the child gets %o0&0==0.  */
-	sub %o1, 1, %o1
-	retl
-	and %o0, %o1, %o0
-libc_hidden_def (__fork)
-
-weak_alias (__fork, fork)

Modified: fsf/trunk/libc/sysdeps/unix/syscalls.list
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/syscalls.list (original)
+++ fsf/trunk/libc/sysdeps/unix/syscalls.list Wed Apr 25 00:01:37 2012
@@ -26,7 +26,12 @@
 kill		-	kill		i:ii	__kill		kill
 link		-	link		i:ss	__link		link
 lseek		-	lseek		i:iii	__libc_lseek	__lseek lseek
+madvise		-	madvise		i:pii	madvise
 mkdir		-	mkdir		i:si	__mkdir		mkdir
+mmap		-	mmap		b:aniiii __mmap		mmap
+mprotect	-	mprotect	i:aii	__mprotect	mprotect
+msync		-	msync		Ci:aii	__libc_msync	msync
+munmap		-	munmap		i:ai	__munmap	munmap
 open		-	open		Ci:siv	__libc_open __open open
 profil		-	profil		i:piii	__profil	profil
 ptrace		-	ptrace		i:iiii	ptrace

Removed: fsf/trunk/libc/sysdeps/unix/system.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/system.c (original)
+++ fsf/trunk/libc/sysdeps/unix/system.c (removed)
@@ -1,2 +1,0 @@
-#define	NO_WAITPID
-#include <sysdeps/posix/system.c>

Removed: fsf/trunk/libc/sysdeps/unix/sysv/getdents.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/getdents.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/getdents.c (removed)
@@ -1,38 +1,0 @@
-/* Copyright (C) 1993, 1995, 1997, 2004 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 <stddef.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-extern ssize_t __getdents (int fd, char *buf, size_t nbytes);
-
-ssize_t
-__getdirentries (fd, buf, nbytes, basep)
-     int fd;
-     char *buf;
-     size_t nbytes;
-     off_t *basep;
-{
-  if (basep)
-    *basep = __lseek (fd, (off_t) 0, SEEK_CUR);
-
-  return __getdents (fd, buf, nbytes);
-}
-
-weak_alias (__getdirentries, getdirentries)

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/Implies
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/Implies (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/Implies Wed Apr 25 00:01:37 2012
@@ -5,10 +5,5 @@
 # Linux shares most of the syscalls which are also common to BSD and SVR4.
 unix/common
 
-# Linux as of version 1.3.29 has all functions of the mmap family
-# which are described in POSIX.4.  Missing is only madvise() so
-# we define a stub here.
-unix/mman
-
 # Linux has network support in the kernel.
 unix/inet

Modified: fsf/trunk/libc/sysdeps/unix/sysv/syscalls.list
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/syscalls.list (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/syscalls.list Wed Apr 25 00:01:37 2012
@@ -5,7 +5,6 @@
 nice		-	nice		i:i	nice
 pause		-	pause		Ci:	pause
 poll		-	poll		Ci:pii	poll
-s_getdents	getdents getdents	i:ipi	__getdents
 setrlimit	-	setrlimit	i:ip	__setrlimit	setrlimit
 settimeofday	-	settimeofday	i:PP	__settimeofday	settimeofday
 signal		-	signal		i:ii	signal

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits