]> sourceware.org Git - glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 28 Aug 2003 00:04:58 +0000 (00:04 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 28 Aug 2003 00:04:58 +0000 (00:04 +0000)
2003-08-27  Ulrich Drepper  <drepper@redhat.com>

* sysdeps/x86_64/fpu/bits/mathinline.h: Define __signbitf,
__signbit, and __signbitl inline functions.

* sysdeps/unix/sysv/linux/x86_64/__start_context.S: Use
HIDDEN_JUMPTARGET instead of JUMPTARGET to call exit().

* sysdeps/x86_64/bsd-_setjmp.S [PIC]: Jump to __GI___sigsetjmp.
* sysdeps/x86_64/setjmp.S: Add libc_hidden_def for __sigsetjmp.

ChangeLog
sysdeps/unix/sysv/linux/x86_64/__start_context.S
sysdeps/x86_64/bsd-_setjmp.S
sysdeps/x86_64/fpu/bits/mathinline.h
sysdeps/x86_64/setjmp.S

index 6c7e971febb0bbd1eec04a221a31d059ccae627a..459ee48d55684f52f77054c7dbd8cd36e743f764 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2003-08-27  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/x86_64/fpu/bits/mathinline.h: Define __signbitf,
+       __signbit, and __signbitl inline functions.
+
+       * sysdeps/unix/sysv/linux/x86_64/__start_context.S: Use
+       HIDDEN_JUMPTARGET instead of JUMPTARGET to call exit().
+
+       * sysdeps/x86_64/bsd-_setjmp.S [PIC]: Jump to __GI___sigsetjmp.
+       * sysdeps/x86_64/setjmp.S: Add libc_hidden_def for __sigsetjmp.
+
 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
 
        * inet/inet_mkadr.c (inet_makeaddr): Optimize.
index ad4502ca0ad17d77673ab764a8b8cb4d291d9912..a0ef3edccea64e99858189ab356b340424795102 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@suse.de>, 2002.
 
@@ -41,7 +41,7 @@ ENTRY(__start_context)
           exit the program with the return error value (-1).  */
 
 2:     movq    %rax,%rdi
-       call    JUMPTARGET(exit)
+       call    HIDDEN_JUMPTARGET(exit)
        /* The 'exit' call should never return.  In case it does cause
           the process to terminate.  */
        hlt
index 478f788275357b13f997ce911baf848cb0749385..0f32bf81a97ae5e7c55776bbce06c2fc7276318d 100644 (file)
@@ -1,5 +1,5 @@
 /* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'.  x86-64 version.
-   Copyright (C) 1994-1997,2000,2001,2002 Free Software Foundation, Inc.
+   Copyright (C) 1994-1997,2000,2001,2002,2003 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
@@ -32,7 +32,7 @@ ENTRY (BP_SYM (_setjmp))
        /* Set up arguments, we only need to set the second arg.  */
        xorq %rsi, %rsi
 #ifdef PIC
-       jmp C_SYMBOL_NAME (BP_SYM (__sigsetjmp))@PLT
+       jmp __GI___sigsetjmp
 #else
        jmp BP_SYM (__sigsetjmp)
 #endif
index 08e1c5b1da75d1909911ee3c18f8594be13726e8..c77412d28d680ab1d9d0d8d55d9882efd6cd8cba 100644 (file)
@@ -1,5 +1,5 @@
 /* Inline math functions for x86-64.
-   Copyright (C) 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@suse.de>, 2002.
 
 
 #if defined __USE_ISOC99 && defined __GNUC__ && __GNUC__ >= 2
 /* GCC has builtins that can be used.  */
-#  define isgreater(x, y) __builtin_isgreater (x, y)
-#  define isgreaterequal(x, y) __builtin_isgreaterequal (x, y)
-#  define isless(x, y) __builtin_isless (x, y)
-#  define islessequal(x, y) __builtin_islessequal (x, y)
-#  define islessgreater(x, y) __builtin_islessgreater (x, y)
-#  define isunordered(x, y) __builtin_isunordered (x, y)
+# define isgreater(x, y) __builtin_isgreater (x, y)
+# define isgreaterequal(x, y) __builtin_isgreaterequal (x, y)
+# define isless(x, y) __builtin_isless (x, y)
+# define islessequal(x, y) __builtin_islessequal (x, y)
+# define islessgreater(x, y) __builtin_islessgreater (x, y)
+# define isunordered(x, y) __builtin_isunordered (x, y)
+
+
+/* Test for negative number.  Used in the signbit() macro.  */
+__MATH_INLINE int
+__signbitf (float __x) __THROW
+{
+  __extension__ union { float __f; int __i; } __u = { __f: __x };
+  return __u.__i < 0;
+}
+__MATH_INLINE int
+__signbit (double __x) __THROW
+{
+  __extension__ union { double __d; int __i[2]; } __u = { __d: __x };
+  return __u.__i[1] < 0;
+}
+__MATH_INLINE int
+__signbitl (long double __x) __THROW
+{
+  __extension__ union { long double __l; int __i[3]; } __u = { __l: __x };
+  return (__u.__i[2] & 0x8000) != 0;
+}
 #endif
index e40381da31ac2fd751a7f7b0a12ffbd827fa5463..811ab1d913f482a0d16bff7ae25a6e4d387035fe 100644 (file)
@@ -1,5 +1,5 @@
 /* setjmp for x86-64.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003 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
@@ -43,3 +43,4 @@ ENTRY (__sigsetjmp)
        jmp BP_SYM (__sigjmp_save)
 #endif
 END (BP_SYM (__sigsetjmp))
+hidden_def (__sigsetjmp)
This page took 0.06327 seconds and 5 git commands to generate.