diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/ieee754/ldbl-128/printf_fphex.c | 38 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/Makefile | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc32/Makefile | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc64/Makefile | 2 |
4 files changed, 33 insertions, 11 deletions
diff --git a/sysdeps/ieee754/ldbl-128/printf_fphex.c b/sysdeps/ieee754/ldbl-128/printf_fphex.c index a6ca7a8424..5f20dba228 100644 --- a/sysdeps/ieee754/ldbl-128/printf_fphex.c +++ b/sysdeps/ieee754/ldbl-128/printf_fphex.c @@ -1,6 +1,6 @@ /* Print floating point number in hexadecimal notation according to ISO C99. - Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000 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 @@ -36,23 +36,43 @@ do { \ zero_mantissa = (num0|num1) == 0; \ \ if (sizeof (unsigned long int) > 6) \ - numstr = _itoa_word (num1, numbuf + sizeof numbuf, 16, \ - info->spec == 'A'); \ + { \ + numstr = _itoa_word (num1, numbuf + sizeof numbuf, 16, \ + info->spec == 'A'); \ + wnumstr = _itowa_word (num1, wnumbuf + sizeof wnumbuf, 16, \ + info->spec == 'A'); \ + } \ else \ - numstr = _itoa (num1, numbuf + sizeof numbuf, 16, \ - info->spec == 'A'); \ + { \ + numstr = _itoa (num1, numbuf + sizeof numbuf, 16, \ + info->spec == 'A'); \ + wnumstr = _itowa (num1, wnumbuf + sizeof wnumbuf, 16, \ + info->spec == 'A'); \ + } \ \ while (numstr > numbuf + (sizeof numbuf - 64 / 4)) \ - *--numstr = '0'; \ + { \ + *--numstr = '0'; \ + *--wnumstr = L'0'; \ + } \ \ if (sizeof (unsigned long int) > 6) \ - numstr = _itoa_word (num0, numstr, 16, info->spec == 'A'); \ + { \ + numstr = _itoa_word (num0, numstr, 16, info->spec == 'A'); \ + wnumstr = _itowa_word (num0, wnumstr, 16, info->spec == 'A'); \ + } \ else \ - numstr = _itoa (num0, numstr, 16, info->spec == 'A'); \ + { \ + numstr = _itoa (num0, numstr, 16, info->spec == 'A'); \ + wnumstr = _itowa (num0, wnumstr, 16, info->spec == 'A'); \ + } \ \ /* Fill with zeroes. */ \ while (numstr > numbuf + (sizeof numbuf - 112 / 4)) \ - *--numstr = '0'; \ + { \ + *--numstr = '0'; \ + *--wnumstr = L'0'; \ + } \ \ leading = fpnum.ldbl.ieee.exponent == 0 ? '0' : '1'; \ \ diff --git a/sysdeps/sparc/sparc64/Makefile b/sysdeps/sparc/sparc64/Makefile index 96e5273ec5..312e59ea21 100644 --- a/sysdeps/sparc/sparc64/Makefile +++ b/sysdeps/sparc/sparc64/Makefile @@ -1,3 +1,2 @@ # The Sparc `long double' is a distinct type we support. long-double-fcts = yes -sysdep-CFLAGS += -fcall-used-g7 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile b/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile index 69c071752e..6892f58a04 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile @@ -1,8 +1,9 @@ asm-CPPFLAGS = -D__ASSEMBLY__ ASFLAGS-.os += -fPIC +LD += -melf32_sparc ifeq ($(subdir),misc) -sysdep_routines += setfsgid setfsuid setresgid setresuid +sysdep_routines += setfsgid setfsuid endif # When I get this to work, this is the right thing diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile b/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile new file mode 100644 index 0000000000..8181e42592 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile @@ -0,0 +1,2 @@ +sysdep-CFLAGS += -fcall-used-g7 +LD += -melf64_sparc |