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.
This commit is contained in:
Ulrich Drepper 2003-08-28 00:04:58 +00:00
parent f8df79dbba
commit ea493b56b4
5 changed files with 45 additions and 12 deletions

View File

@ -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.

View 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

View 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

View 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.
@ -37,4 +37,25 @@
# 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

View 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)