* nss/getXXbyYY_r.c (do_weak_alias): Remove unnecessary parenthesis.
	* sysdeps/powerpc/s_copysign.S: Move to...
	* sysdeps/powerpc/fpu/s_copysign.S: ...here.  Use portable asm syntax.
	* sysdeps/powerpc/s_copysignf.S: Move to...
	* sysdeps/powerpc/fpu/s_copysignf.S: ...here.
	* sysdeps/powerpc/s_fabs.S: Move to...
	* sysdeps/powerpc/fpu/s_fabs.S: ...here.  Use portable asm syntax.
	* sysdeps/powerpc/s_fabsf.S: Move to...
	* sysdeps/powerpc/fpu/s_fabsf.S: ...here.
	* sysdeps/powerpc/s_fdim.c: Move to...
	* sysdeps/powerpc/fpu/s_fdim.c: ...here.
	* sysdeps/powerpc/s_fdimf.c: Move to...
	* sysdeps/powerpc/fpu/s_fdimf.c: ...here.
	* sysdeps/powerpc/s_fmax.S: Move to...
	* sysdeps/powerpc/fpu/s_fmax.S: ...here.  Use portable asm syntax.
	* sysdeps/powerpc/s_fmaxf.S: Move to...
	* sysdeps/powerpc/fpu/s_fmaxf.S: ...here.
	* sysdeps/powerpc/s_fmin.S: Move to...
	* sysdeps/powerpc/fpu/s_fmin.S: ...here.  Use portable asm syntax.
	* sysdeps/powerpc/s_fminf.S: Move to...
	* sysdeps/powerpc/fpu/s_fminf.S: ...here.
	* sysdeps/powerpc/s_isnan.S: Move to...
	* sysdeps/powerpc/fpu/s_isnan.c: ...here.
	* sysdeps/powerpc/s_isnanf.S: Move to...
	* sysdeps/powerpc/fpu/s_isnanf.S: ...here.
	* sysdeps/powerpc/s_llrint.c: Move to...
	* sysdeps/powerpc/fpu/s_llrint.c: ...here.
	* sysdeps/powerpc/s_llrintf.c: Move to...
	* sysdeps/powerpc/fpu/s_llrintf.c: ...here.
	* sysdeps/powerpc/s_llround.c: Move to...
	* sysdeps/powerpc/fpu/s_llround.c: ...here.
	* sysdeps/powerpc/s_llroundf.c: Move to...
	* sysdeps/powerpc/fpu/s_llroundf.c: ...here.
	* sysdeps/powerpc/s_lrint.c: Move to...
	* sysdeps/powerpc/fpu/s_lrint.c: ...here.
	* sysdeps/powerpc/s_lrintf.S: Move to...
	* sysdeps/powerpc/fpu/s_lrintf.S: ...here.
	* sysdeps/powerpc/s_lround.c: Move to...
	* sysdeps/powerpc/fpu/s_lround.c: ...here.
	* sysdeps/powerpc/s_lroundf.c: Move to...
	* sysdeps/powerpc/fpu/s_lroundf.c: ...here.
	* sysdeps/powerpc/s_rint.c: Move to...
	* sysdeps/powerpc/fpu/s_rint.c: ...here.
	* sysdeps/powerpc/s_rintf.c: Move to...
	* sysdeps/powerpc/fpu/s_rintf.c: ...here.
	* sysdeps/powerpc/t_sqrt.c: Move to...
	* sysdeps/powerpc/fpu/t_sqrt: ...here.
	* sysdeps/powerpc/w_sqrt.c: Move to...
	* sysdeps/powerpc/fpu/w_sqrt.c: ...here.
	* sysdeps/powerpc/w_sqrtf.c: Move to...
	* sysdeps/powerpc/fpu/w_sqrtf.c: ...here.
	* configure.in: Support platforms which have no .text pseudo-op.
	Patches partly by Jimi X <jimix@pobox.com>.
This commit is contained in:
Ulrich Drepper 1999-10-10 00:00:36 +00:00
parent 883c331ae9
commit 2293395f48
29 changed files with 389 additions and 236 deletions

View File

@ -1,5 +1,59 @@
1999-10-09 Ulrich Drepper <drepper@cygnus.com>
* nss/getXXbyYY_r.c (do_weak_alias): Remove unnecessary parenthesis.
* sysdeps/powerpc/s_copysign.S: Move to...
* sysdeps/powerpc/fpu/s_copysign.S: ...here. Use portable asm syntax.
* sysdeps/powerpc/s_copysignf.S: Move to...
* sysdeps/powerpc/fpu/s_copysignf.S: ...here.
* sysdeps/powerpc/s_fabs.S: Move to...
* sysdeps/powerpc/fpu/s_fabs.S: ...here. Use portable asm syntax.
* sysdeps/powerpc/s_fabsf.S: Move to...
* sysdeps/powerpc/fpu/s_fabsf.S: ...here.
* sysdeps/powerpc/s_fdim.c: Move to...
* sysdeps/powerpc/fpu/s_fdim.c: ...here.
* sysdeps/powerpc/s_fdimf.c: Move to...
* sysdeps/powerpc/fpu/s_fdimf.c: ...here.
* sysdeps/powerpc/s_fmax.S: Move to...
* sysdeps/powerpc/fpu/s_fmax.S: ...here. Use portable asm syntax.
* sysdeps/powerpc/s_fmaxf.S: Move to...
* sysdeps/powerpc/fpu/s_fmaxf.S: ...here.
* sysdeps/powerpc/s_fmin.S: Move to...
* sysdeps/powerpc/fpu/s_fmin.S: ...here. Use portable asm syntax.
* sysdeps/powerpc/s_fminf.S: Move to...
* sysdeps/powerpc/fpu/s_fminf.S: ...here.
* sysdeps/powerpc/s_isnan.S: Move to...
* sysdeps/powerpc/fpu/s_isnan.c: ...here.
* sysdeps/powerpc/s_isnanf.S: Move to...
* sysdeps/powerpc/fpu/s_isnanf.S: ...here.
* sysdeps/powerpc/s_llrint.c: Move to...
* sysdeps/powerpc/fpu/s_llrint.c: ...here.
* sysdeps/powerpc/s_llrintf.c: Move to...
* sysdeps/powerpc/fpu/s_llrintf.c: ...here.
* sysdeps/powerpc/s_llround.c: Move to...
* sysdeps/powerpc/fpu/s_llround.c: ...here.
* sysdeps/powerpc/s_llroundf.c: Move to...
* sysdeps/powerpc/fpu/s_llroundf.c: ...here.
* sysdeps/powerpc/s_lrint.c: Move to...
* sysdeps/powerpc/fpu/s_lrint.c: ...here.
* sysdeps/powerpc/s_lrintf.S: Move to...
* sysdeps/powerpc/fpu/s_lrintf.S: ...here.
* sysdeps/powerpc/s_lround.c: Move to...
* sysdeps/powerpc/fpu/s_lround.c: ...here.
* sysdeps/powerpc/s_lroundf.c: Move to...
* sysdeps/powerpc/fpu/s_lroundf.c: ...here.
* sysdeps/powerpc/s_rint.c: Move to...
* sysdeps/powerpc/fpu/s_rint.c: ...here.
* sysdeps/powerpc/s_rintf.c: Move to...
* sysdeps/powerpc/fpu/s_rintf.c: ...here.
* sysdeps/powerpc/t_sqrt.c: Move to...
* sysdeps/powerpc/fpu/t_sqrt: ...here.
* sysdeps/powerpc/w_sqrt.c: Move to...
* sysdeps/powerpc/fpu/w_sqrt.c: ...here.
* sysdeps/powerpc/w_sqrtf.c: Move to...
* sysdeps/powerpc/fpu/w_sqrtf.c: ...here.
* configure.in: Support platforms which have no .text pseudo-op.
Patches partly by Jimi X <jimix@pobox.com>.
* Makeconfig: Look also in all subdirs for shlib-versions files.
* malloc/memprof.sh: Fix --help string a bit.

491
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -694,12 +694,28 @@ if test $libc_cv_need_minus_P = yes; then
asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
fi
AC_MSG_CHECKING(whether .text pseudo-op must be used)
AC_CACHE_VAL(libc_cv_dot_text, [dnl
cat > conftest.s <<EOF
.text
EOF
libc_cv_dot_text=
if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
libc_cv_dot_text=.text
fi
rm -f conftest*])
if test -z "$libc_cv_dot_text"; then
AC_MSG_RESULT(no)
else
AC_MSG_RESULT(yes)
fi
AC_CACHE_CHECK(for assembler global-symbol directive,
libc_cv_asm_global_directive, [dnl
libc_cv_asm_global_directive=UNKNOWN
for ac_globl in .globl .global .EXPORT; do
cat > conftest.s <<EOF
.text
${libc_cv_dot_text}
${ac_globl} foo
foo:
EOF
@ -717,7 +733,7 @@ fi
AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
cat > conftest.s <<EOF
.text
${libc_cv_dot_text}
foo:
.set glibc_conftest_frobozz,foo
$libc_cv_asm_global_directive glibc_conftest_frobozz
@ -741,7 +757,7 @@ fi
AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
[cat > conftest.s <<EOF
.text
${libc_cv_dot_text}
_sym:
.symver _sym,sym@VERS
EOF
@ -754,7 +770,7 @@ rm -f conftest*])
AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
if test $libc_cv_asm_symver_directive = yes; then
cat > conftest.s <<EOF
.text
${libc_cv_dot_text}
_sym:
.symver _sym,sym@VERS
EOF
@ -839,7 +855,7 @@ if test $elf != yes; then
AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
[AC_TRY_COMPILE(, [asm (".section .init");
asm (".section .fini");
asm (".text");],
asm ("${libc_cv_dot_text}");],
libc_cv_have_initfini=yes,
libc_cv_have_initfini=no)])
AC_SUBST(libc_cv_have_initfini)dnl
@ -899,7 +915,7 @@ fi
AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
[dnl
cat > conftest.s <<EOF
.text
${libc_cv_dot_text}
${libc_cv_asm_global_directive} foo
foo:
.weak foo
@ -917,7 +933,7 @@ if test $libc_cv_asm_weak_directive = no; then
libc_cv_asm_weakext_directive,
[dnl
cat > conftest.s <<EOF
.text
${libc_cv_dot_text}
${libc_cv_asm_global_directive} foo
foo:
.weakext bar foo

View File

@ -242,6 +242,6 @@ do_symbol_version(OLD (REENTRANT_NAME), REENTRANT_NAME, GLIBC_2.0);
do_default_symbol_version(INTERNAL (REENTRANT_NAME), REENTRANT_NAME,
GLIBC_2.1.2);
#else
#define do_weak_alias(n1, n2) weak_alias (n1, (n2))
#define do_weak_alias(n1, n2) weak_alias (n1, n2)
do_weak_alias (INTERNAL (REENTRANT_NAME), REENTRANT_NAME)
#endif

View File

@ -1,5 +1,5 @@
/* Copy a sign bit between floating-point values.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 1999 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
@ -26,15 +26,15 @@ ENTRY(__copysign)
/* double [f1] copysign (double [f1] x, double [f2] y);
copysign(x,y) returns a value with the magnitude of x and
with the sign bit of y. */
stwu %r1,-16(%r1)
stfd %f2,8(%r1)
lwz %r3,8(%r1)
cmpwi %r3,0
addi %r1,%r1,16
stwu 1,-16(1)
stfd 2,8(1)
lwz 3,8(1)
cmpwi 3,0
addi 1,1,16
blt 0f
fabs %f1,%f1
fabs 1,1
blr
0: fnabs %f1,%f1
0: fnabs 1,1
blr
END (__copysign)

View File

@ -1,5 +1,5 @@
/* Floating-point absolute value. PowerPC version.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 1999 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
@ -21,7 +21,7 @@
ENTRY(__fabs)
/* double [f1] fabs (double [f1] x); */
fabs %f1,%f1
fabs 1,1
blr
END(__fabs)

View File

@ -1,5 +1,5 @@
/* Floating-point maximum. PowerPC version.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 1999 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
@ -21,13 +21,13 @@
ENTRY(__fmax)
/* double [f1] fmax (double [f1] x, double [f2] y); */
fcmpu %cr0,%f1,%f2
blt %cr0,0f /* if x < y, neither x nor y can be NaN... */
bnulr+ %cr0
fcmpu 0,1,2
blt 0,0f /* if x < y, neither x nor y can be NaN... */
bnulr+ 0
/* x and y are unordered, so one of x or y must be a NaN... */
fcmpu %cr1,%f2,%f2
bunlr %cr1
0: fmr %f1,%f2
fcmpu 1,2,2
bunlr 1
0: fmr 1,2
blr
END(__fmax)

View File

@ -1,5 +1,5 @@
/* Floating-point minimum. PowerPC version.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 1999 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
@ -21,13 +21,13 @@
ENTRY(__fmin)
/* double [f1] fmin (double [f1] x, double [f2] y); */
fcmpu %cr0,%f1,%f2
bgt %cr0,0f /* if x > y, neither x nor y can be NaN... */
bnulr+ %cr0
fcmpu 0,1,2
bgt 0,0f /* if x > y, neither x nor y can be NaN... */
bnulr+ 0
/* x and y are unordered, so one of x or y must be a NaN... */
fcmpu %cr1,%f2,%f2
bunlr %cr1
0: fmr %f1,%f2
fcmpu 1,2,2
bunlr 1
0: fmr 1,2
blr
END(__fmin)