diff options
| author | Ulrich Drepper <drepper@redhat.com> | 1999-05-19 15:35:26 +0000 |
|---|---|---|
| committer | Ulrich Drepper <drepper@redhat.com> | 1999-05-19 15:35:26 +0000 |
| commit | 1c25bcacbe58057d511fb5eae19a0af5d43a2b75 (patch) | |
| tree | 0c7bd762a77adcc1d12824bb211f54633e66c175 | |
| parent | 2acd8fcfc4b8c76f34a304087c7a539102eddb6b (diff) | |
| download | glibc-1c25bcacbe58057d511fb5eae19a0af5d43a2b75.tar.xz glibc-1c25bcacbe58057d511fb5eae19a0af5d43a2b75.zip | |
Update.
1999-05-19 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/generic/bits/elfclass.h: Version common to
wordsize-32 and wordsize-64.
* sysdeps/generic/bits/environments.h: Ditto.
* sysdeps/generic/stdint.h: Ditto.
* sysdeps/generic/inttypes.h: Ditto.
* sysdeps/generic/bits/wordsize.h: New file.
* stdlib/Makefile: Add bits/wordsize.h to headers.
* sysdeps/sparc/sparc64/bits/wordsize.h: New file.
* sysdeps/sparc/sparc64/fpu/bits/fenv.h: Allow the same exported
headers to be used for 32bit and 64bit ABI compilations.
* sysdeps/sparc/sparc64/fpu/fpu_control.h: Ditto.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Ditto.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Ditto.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Ditto.
* sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: Ditto.
* sysdeps/wordsize-64/bits/elfclass.h: Remove.
* sysdeps/wordsize-64/bits/environments.h: Remove.
* sysdeps/wordsize-64/stdint.h: Remove.
* sysdeps/wordsize-64/inttypes.h: Remove.
* sysdeps/wordsize-64/bits/wordsize.h: New file.
* sysdeps/wordsize-32/bits/elfclass.h: Remove.
* sysdeps/wordsize-32/bits/environments.h: Remove.
* sysdeps/wordsize-32/stdint.h: Remove.
* sysdeps/wordsize-32/inttypes.h: Remove.
* sysdeps/wordsize-32/bits/wordsize.h: New file.
1999-05-19 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/sparc/sparc64/memcpy.S (__align_cpy_4, __align_cpy_8,
__align_cpy_16): New functions.
(__align_cpy_2, __align_cpy_1): New aliases to memcpy.
* sysdeps/sparc/sparc32/Versions: New file.
* sysdeps/sparc/sparc64/Versions: New file.
* sysdeps/sparc/Versions: Remove.
1999-05-19 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/unix/sysv/linux/configure.in:
On sparc64-*-linux*, set slibdir to /lib64 if prefix
is /usr, plus set libdir to ${exec_prefix}/lib64.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* config.make.in: Propagate libdir settings from configure
to the Makefiles.
* shlib-versions: sparc64-*-linux* dynamic linker is
/lib64/ld-linux.so.2.
32 files changed, 1378 insertions, 1302 deletions
@@ -1,3 +1,57 @@ +1999-05-19 Jakub Jelinek <jj@ultra.linux.cz> + + * sysdeps/generic/bits/elfclass.h: Version common to + wordsize-32 and wordsize-64. + * sysdeps/generic/bits/environments.h: Ditto. + * sysdeps/generic/stdint.h: Ditto. + * sysdeps/generic/inttypes.h: Ditto. + + * sysdeps/generic/bits/wordsize.h: New file. + * stdlib/Makefile: Add bits/wordsize.h to headers. + + * sysdeps/sparc/sparc64/bits/wordsize.h: New file. + + * sysdeps/sparc/sparc64/fpu/bits/fenv.h: Allow the same exported + headers to be used for 32bit and 64bit ABI compilations. + * sysdeps/sparc/sparc64/fpu/fpu_control.h: Ditto. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Ditto. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Ditto. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Ditto. + * sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: Ditto. + + * sysdeps/wordsize-64/bits/elfclass.h: Remove. + * sysdeps/wordsize-64/bits/environments.h: Remove. + * sysdeps/wordsize-64/stdint.h: Remove. + * sysdeps/wordsize-64/inttypes.h: Remove. + * sysdeps/wordsize-64/bits/wordsize.h: New file. + + * sysdeps/wordsize-32/bits/elfclass.h: Remove. + * sysdeps/wordsize-32/bits/environments.h: Remove. + * sysdeps/wordsize-32/stdint.h: Remove. + * sysdeps/wordsize-32/inttypes.h: Remove. + * sysdeps/wordsize-32/bits/wordsize.h: New file. + +1999-05-19 Jakub Jelinek <jj@ultra.linux.cz> + + * sysdeps/sparc/sparc64/memcpy.S (__align_cpy_4, __align_cpy_8, + __align_cpy_16): New functions. + (__align_cpy_2, __align_cpy_1): New aliases to memcpy. + + * sysdeps/sparc/sparc32/Versions: New file. + * sysdeps/sparc/sparc64/Versions: New file. + * sysdeps/sparc/Versions: Remove. + +1999-05-19 Jakub Jelinek <jj@ultra.linux.cz> + + * sysdeps/unix/sysv/linux/configure.in: + On sparc64-*-linux*, set slibdir to /lib64 if prefix + is /usr, plus set libdir to ${exec_prefix}/lib64. + * sysdeps/unix/sysv/linux/configure: Regenerated. + * config.make.in: Propagate libdir settings from configure + to the Makefiles. + * shlib-versions: sparc64-*-linux* dynamic linker is + /lib64/ld-linux.so.2. + 1999-05-18 Thorsten Kukuk <kukuk@suse.de> * nis/nis_lookup.c (nis_lookup): If we run out of memory, close diff --git a/bits/elfclass.h b/bits/elfclass.h index 1ad12954b2..bb4dd545c1 100644 --- a/bits/elfclass.h +++ b/bits/elfclass.h @@ -2,7 +2,10 @@ the ELF file class used for executables and shared objects on this machine. */ -#define __ELF_NATIVE_CLASS ?? +#ifndef _LINK_H +# error "Never use <bits/elfclass.h> directly; include <link.h> instead." +#endif -/* This file goes in sysdeps/wordsize-?? and sysdeps/MACHINE/Implies lists - wordsize-?? for MACHINE's wordsize. */ +#include <bits/wordsize.h> + +#define __ELF_NATIVE_CLASS __WORDSIZE diff --git a/bits/environments.h b/bits/environments.h index 8ed19906b4..f3af20655a 100644 --- a/bits/environments.h +++ b/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997 Free Software Foundation, Inc. +/* Copyright (C) 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 @@ -20,6 +20,8 @@ # error "Never include this file directly. Use <unistd.h> instead" #endif +#include <bits/wordsize.h> + /* This header should define the following symbols under the described situations. A value `1' means that the model is always supported, `-1' means it is never supported. Undefined means it cannot be @@ -32,4 +34,26 @@ _XBS5_LPBIG_OFFBIG 64bit long and pointers and large off_t type */ -#endif /* environments.h */ +#if __WORDSIZE == 64 + +/* We can never provide environments with 32-bit wide pointers. */ +# define _XBS5_ILP32_OFF32 -1 +# define _XBS5_ILP32_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _XBS5_LP64_OFF32 1 +# define _XBS5_LPBIG_OFFBIG 1 + +#else /* __WORDSIZE == 32 */ + +/* By default we have 32-bit wide `int', `long int', pointers and `off_t'. */ +# define _XBS5_ILP32_OFF32 1 + +/* We optionally provide an environment with the above size but an 64-bit + side `off_t'. Therefore we don't define _XBS5_ILP32_OFFBIG. */ + +/* We can never provide environments with 64-bit wide pointers. */ +# define _XBS5_LP64_OFF64 -1 +# define _XBS5_LPBIG_OFFBIG -1 + +#endif /* __WORDSIZE == 32 */ diff --git a/bits/wordsize.h b/bits/wordsize.h new file mode 100644 index 0000000000..9ef0e8526a --- /dev/null +++ b/bits/wordsize.h @@ -0,0 +1 @@ +#error "This file must be written based on the data type sizes of the target" diff --git a/config.make.in b/config.make.in index a642233728..f24ffdaaad 100644 --- a/config.make.in +++ b/config.make.in @@ -9,6 +9,7 @@ release = @RELEASE@ install_root = prefix = @prefix@ exec_prefix = @exec_prefix@ +libdir = @libdir@ slibdir = @libc_cv_slibdir@ sysconfdir = @libc_cv_sysconfdir@ libexecdir = @libexecdir@ diff --git a/shlib-versions b/shlib-versions index ad77c4fa2b..ea82ede87e 100644 --- a/shlib-versions +++ b/shlib-versions @@ -33,7 +33,7 @@ alpha.*-.*-linux.* libc=6.1 # The dynamic loader also requires different names. i.86-.*-linux.* ld=ld-linux.so.2 -sparc64-.*-linux.* ld=ld-linux64.so.2 +sparc64-.*-linux.* ld=ld-linux.so.2 sparc.*-.*-linux.* ld=ld-linux.so.2 alpha.*-.*-linux.* ld=ld-linux.so.2 arm.*-.*-linux.* ld=ld-linux.so.2 diff --git a/stdlib/Makefile b/stdlib/Makefile index 2682766c35..c218c23d48 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -22,7 +22,7 @@ subdir := stdlib headers := stdlib.h alloca.h monetary.h fmtmsg.h ucontext.h sys/ucontext.h \ - inttypes.h stdint.h + inttypes.h stdint.h bits/wordsize.h routines := \ atof atoi atol atoll \ diff --git a/sysdeps/generic/bits/elfclass.h b/sysdeps/generic/bits/elfclass.h index 1ad12954b2..bb4dd545c1 100644 --- a/sysdeps/generic/bits/elfclass.h +++ b/sysdeps/generic/bits/elfclass.h @@ -2,7 +2,10 @@ the ELF file class used for executables and shared objects on this machine. */ -#define __ELF_NATIVE_CLASS ?? +#ifndef _LINK_H +# error "Never use <bits/elfclass.h> directly; include <link.h> instead." +#endif -/* This file goes in sysdeps/wordsize-?? and sysdeps/MACHINE/Implies lists - wordsize-?? for MACHINE's wordsize. */ +#include <bits/wordsize.h> + +#define __ELF_NATIVE_CLASS __WORDSIZE diff --git a/sysdeps/generic/bits/environments.h b/sysdeps/generic/bits/environments.h index 8ed19906b4..f3af20655a 100644 --- a/sysdeps/generic/bits/environments.h +++ b/sysdeps/generic/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997 Free Software Foundation, Inc. +/* Copyright (C) 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 @@ -20,6 +20,8 @@ # error "Never include this file directly. Use <unistd.h> instead" #endif +#include <bits/wordsize.h> + /* This header should define the following symbols under the described situations. A value `1' means that the model is always supported, `-1' means it is never supported. Undefined means it cannot be @@ -32,4 +34,26 @@ _XBS5_LPBIG_OFFBIG 64bit long and pointers and large off_t type */ -#endif /* environments.h */ +#if __WORDSIZE == 64 + +/* We can never provide environments with 32-bit wide pointers. */ +# define _XBS5_ILP32_OFF32 -1 +# define _XBS5_ILP32_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _XBS5_LP64_OFF32 1 +# define _XBS5_LPBIG_OFFBIG 1 + +#else /* __WORDSIZE == 32 */ + +/* By default we have 32-bit wide `int', `long int', pointers and `off_t'. */ +# define _XBS5_ILP32_OFF32 1 + +/* We optionally provide an environment with the above size but an 64-bit + side `off_t'. Therefore we don't define _XBS5_ILP32_OFFBIG. */ + +/* We can never provide environments with 64-bit wide pointers. */ +# define _XBS5_LP64_OFF64 -1 +# define _XBS5_LPBIG_OFFBIG -1 + +#endif /* __WORDSIZE == 32 */ diff --git a/sysdeps/generic/bits/wordsize.h b/sysdeps/generic/bits/wordsize.h new file mode 100644 index 0000000000..9ef0e8526a --- /dev/null +++ b/sysdeps/generic/bits/wordsize.h @@ -0,0 +1 @@ +#error "This file must be written based on the data type sizes of the target" diff --git a/sysdeps/generic/inttypes.h b/sysdeps/generic/inttypes.h index 9ef0e8526a..c81a236fa9 100644 --- a/sysdeps/generic/inttypes.h +++ b/sysdeps/generic/inttypes.h @@ -1 +1,504 @@ -#error "This file must be written based on the data type sizes of the target" +/* Copyright (C) 1997, 1998, 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 + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* + * ISO C 9X: 7.5 Format conversion of integer types <inttypes.h> + */ + +#ifndef _INTTYPES_H +#define _INTTYPES_H 1 + +#include <features.h> +/* Get the type definitions. */ +#include <stdint.h> + + +/* The ISO C 9X standard specifies that these macros must only be + defined if explicitly requested. */ +#if !defined __cplusplus || defined __STDC_FORMAT_MACROS + +# if __WORDSIZE == 64 +# define __PRI64_PREFIX "l" +# define __PRIPTR_PREFIX "l" +# else +# define __PRI64_PREFIX "ll" +# define __PRIPTR_PREFIX +# endif + +/* Macros for printing format specifiers. */ + +/* Decimal notation. */ +# define PRId8 "d" +# define PRId16 "d" +# define PRId32 "d" +# define PRId64 __PRI64_PREFIX "d" + +# define PRIdLEAST8 "d" +# define PRIdLEAST16 "d" +# define PRIdLEAST32 "d" +# define PRIdLEAST64 __PRI64_PREFIX "d" + +# define PRIdFAST8 "d" +# define PRIdFAST16 "d" +# define PRIdFAST32 "d" +# define PRIdFAST64 __PRI64_PREFIX "d" + + +# define PRIi8 "i" +# define PRIi16 "i" +# define PRIi32 "i" +# define PRIi64 __PRI64_PREFIX "i" + +# define PRIiLEAST8 "i" +# define PRIiLEAST16 "i" +# define PRIiLEAST32 "i" +# define PRIiLEAST64 __PRI64_PREFIX "i" + +# define PRIiFAST8 "i" +# define PRIiFAST16 "i" +# define PRIiFAST32 "i" +# define PRIiFAST64 __PRI64_PREFIX "i" + +/* Octal notation. */ +# define PRIo8 "o" +# define PRIo16 "o" +# define PRIo32 "o" +# define PRIo64 __PRI64_PREFIX "o" + +# define PRIoLEAST8 "o" +# define PRIoLEAST16 "o" +# define PRIoLEAST32 "o" +# define PRIoLEAST64 __PRI64_PREFIX "o" + +# define PRIoFAST8 "o" +# define PRIoFAST16 "o" +# define PRIoFAST32 "o" +# define PRIoFAST64 __PRI64_PREFIX "o" + +/* Unsigned integers. */ +# define PRIu8 "u" +# define PRIu16 "u" +# define PRIu32 "u" +# define PRIu64 __PRI64_PREFIX "u" + +# define PRIuLEAST8 "u" +# define PRIuLEAST16 "u" +# define PRIuLEAST32 "u" +# define PRIuLEAST64 __PRI64_PREFIX "u" + +# define PRIuFAST8 "u" +# define PRIuFAST16 "u" +# define PRIuFAST32 "u" +# define PRIuFAST64 __PRI64_PREFIX "u" + +/* lowercase hexadecimal notation. */ +# define PRIx8 "x" +# define PRIx16 "x" +# define PRIx32 "x" +# define PRIx64 __PRI64_PREFIX "x" + +# define PRIxLEAST8 "x" +# define PRIxLEAST16 "x" +# define PRIxLEAST32 "x" +# define PRIxLEAST64 __PRI64_PREFIX "x" + +# define PRIxFAST8 "x" +# define PRIxFAST16 "x" +# define PRIxFAST32 "x" +# define PRIxFAST64 __PRI64_PREFIX "x" + +/* UPPERCASE hexadecimal notation. */ +# define PRIX8 "X" +# define PRIX16 "X" +# define PRIX32 "X" +# define PRIX64 __PRI64_PREFIX "X" + +# define PRIXLEAST8 "X" +# define PRIXLEAST16 "X" +# define PRIXLEAST32 "X" +# define PRIXLEAST64 __PRI64_PREFIX "X" + +# define PRIXFAST8 "X" +# define PRIXFAST16 "X" +# define PRIXFAST32 "X" +# define PRIXFAST64 __PRI64_PREFIX "X" + + +/* Macros for printing `intmax_t' and `uintmax_t'. */ +# define PRIdMAX __PRI64_PREFIX "d" +# define PRIiMAX __PRI64_PREFIX "i" +# define PRIoMAX __PRI64_PREFIX "o" +# define PRIuMAX __PRI64_PREFIX "u" +# define PRIxMAX __PRI64_PREFIX "x" +# define PRIXMAX __PRI64_PREFIX "X" + + +/* Macros for printing `intptr_t' and `uintptr_t'. */ +# define PRIdPTR __PRIPTR_PREFIX "d" +# define PRIiPTR __PRIPTR_PREFIX "i" +# define PRIoPTR __PRIPTR_PREFIX "o" +# define PRIuPTR __PRIPTR_PREFIX "u" +# define PRIxPTR __PRIPTR_PREFIX "x" +# define PRIXPTR __PRIPTR_PREFIX "X" + + +/* Macros for scanning format specifiers. */ + +/* Signed decimal notation. */ +# define SCNd8 "hhd" +# define SCNd16 "hd" +# define SCNd32 "d" +# define SCNd64 __PRI64_PREFIX "d" + +# define SCNdLEAST8 "hhd" +# define SCNdLEAST16 "hd" +# define SCNdLEAST32 "d" +# define SCNdLEAST64 __PRI64_PREFIX "d" + +# define SCNdFAST8 "hhd" +# define SCNdFAST16 __PRIPTR_PREFIX "d" +# define SCNdFAST32 __PRIPTR_PREFIX "d" +# define SCNdFAST64 __PRI64_PREFIX "d" + +/* Signed decimal notation. */ |
