[PATCH] Kill warnings, fix test-tgmath on sparc64
Jakub Jelinek
jakub@redhat.com
Fri Feb 9 07:07:00 GMT 2001
Hi!
This patch kills a bunch of warnings and does not define sqrt* nor fdim*
if __NO_MATH_INLINES is defined.
I've tested current CVS on i386/i686/alpha/alphaev6 without problems, ia64
is running ATM, sparc64 failed due to the issues below and because a linker
error on test-ildoubl (but that's not glibc fault and when I fixed ld it
worked).
2001-02-09 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/pt-initfini.c (call_initialize_minimal): Add
__pthread_initialize_minimal prototype.
* sysdeps/generic/setenv.c (unsetenv): Remove const from len.
* sysdeps/sparc/fpu/bits/mathinline.h (sqrt, fdim): Don't define if
__NO_MATH_INLINES.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Only declare refsym
if not RTLD_BOOTSTRAP.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise.
--- libc/linuxthreads/sysdeps/pthread/pt-initfini.c.jj Fri Feb 2 07:21:58 2001
+++ libc/linuxthreads/sysdeps/pthread/pt-initfini.c Fri Feb 9 13:28:55 2001
@@ -65,6 +65,8 @@ asm ("\n/*@_init_PROLOG_BEGINS*/");
static void
call_initialize_minimal (void)
{
+ extern void __pthread_initialize_minimal (void);
+
__pthread_initialize_minimal ();
}
--- libc/sysdeps/generic/setenv.c.jj Wed Jan 31 16:35:06 2001
+++ libc/sysdeps/generic/setenv.c Fri Feb 9 13:16:58 2001
@@ -267,7 +267,7 @@ int
unsetenv (name)
const char *name;
{
- const size_t len;
+ size_t len;
char **ep;
if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
--- libc/sysdeps/i386/dl-machine.h.jj Mon Dec 4 15:12:48 2000
+++ libc/sysdeps/i386/dl-machine.h Fri Feb 9 13:56:18 2001
@@ -319,7 +319,9 @@ elf_machine_rel (struct link_map *map, c
}
else if (ELF32_R_TYPE (reloc->r_info) != R_386_NONE)
{
+#ifndef RTLD_BOOTSTRAP
const Elf32_Sym *const refsym = sym;
+#endif
Elf32_Addr value = RESOLVE (&sym, version, ELF32_R_TYPE (reloc->r_info));
if (sym)
value += sym->st_value;
--- libc/sysdeps/sparc/fpu/bits/mathinline.h.jj Thu Nov 2 08:52:20 2000
+++ libc/sysdeps/sparc/fpu/bits/mathinline.h Fri Feb 9 16:58:13 2001
@@ -142,6 +142,8 @@ __signbitl (long double __x) __THROW
#endif /* sparc64 */
+#ifndef __NO_MATH_INLINES
+
__MATH_INLINE double
sqrt(double __x) __THROW
{
@@ -169,6 +171,8 @@ sqrtl(long double __x) __THROW
}
#endif /* sparc64 */
+#endif
+
/* This code is used internally in the GNU libc. */
#ifdef __LIBC_INTERNAL_MATH_INLINES
__MATH_INLINE double
@@ -202,6 +206,8 @@ __ieee754_sqrtl(long double __x)
#ifdef __USE_ISOC99
+#ifndef __NO_MATH_INLINES
+
__MATH_INLINE double fdim (double __x, double __y);
__MATH_INLINE double
fdim (double __x, double __y)
@@ -216,6 +222,7 @@ fdimf (float __x, float __y)
return __x < __y ? 0 : __x - __y;
}
+#endif /* !__NO_MATH_INLINES */
#endif /* __USE_ISOC99 */
#endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */
#endif /* __GNUC__ */
--- libc/sysdeps/sparc/sparc32/dl-machine.h.jj Thu Nov 30 13:17:30 2000
+++ libc/sysdeps/sparc/sparc32/dl-machine.h Fri Feb 9 13:57:00 2001
@@ -362,7 +362,9 @@ elf_machine_rela (struct link_map *map,
}
else
{
+#ifndef RTLD_BOOTSTRAP
const Elf32_Sym *const refsym = sym;
+#endif
Elf32_Addr value;
if (sym->st_shndx != SHN_UNDEF &&
ELF32_ST_BIND (sym->st_info) == STB_LOCAL)
--- libc/sysdeps/sparc/sparc64/dl-machine.h.jj Thu Nov 30 13:17:30 2000
+++ libc/sysdeps/sparc/sparc64/dl-machine.h Fri Feb 9 13:56:39 2001
@@ -197,7 +197,9 @@ elf_machine_rela (struct link_map *map,
}
else if (ELF64_R_TYPE_ID (reloc->r_info) != R_SPARC_NONE) /* Who is Wilbur? */
{
+#ifndef RTLD_BOOTSTRAP
const Elf64_Sym *const refsym = sym;
+#endif
Elf64_Addr value;
if (sym->st_shndx != SHN_UNDEF &&
ELF64_ST_BIND (sym->st_info) == STB_LOCAL)
Jakub
More information about the Libc-hacker
mailing list