aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-04-06 01:45:15 +0000
committerUlrich Drepper <drepper@redhat.com>2002-04-06 01:45:15 +0000
commit6736e93bab3afb0745f15aa81c0093a698cca856 (patch)
treeaf2fb26d067bfdb17be317c4e167f6280ca9728d
parent55544141b859e3c640c52ce962727c5419a2fa6b (diff)
downloadglibc-6736e93bab3afb0745f15aa81c0093a698cca856.zip
glibc-6736e93bab3afb0745f15aa81c0093a698cca856.tar.gz
glibc-6736e93bab3afb0745f15aa81c0093a698cca856.tar.bz2
Update.
2002-03-23 Jakub Jelinek <jakub@redhat.com> * sysdeps/generic/brk.c (__curbrk): Declare. * sysdeps/generic/dl-brk.c: Add attribute_hidden to __curbrk. * sysdeps/generic/dl-sbrk.c: Likewise. * sysdeps/unix/arm/dl-brk.S: New file. * sysdeps/unix/bsd/hp/m68k/dl-brk.S: New file. * sysdeps/unix/bsd/osf/alpha/dl-brk.S: New file. * sysdeps/unix/bsd/sun/m68k/dl-brk.S: New file. * sysdeps/unix/bsd/vax/dl-brk.S: New file. * sysdeps/unix/i386/dl-brk.S: New file. * sysdeps/unix/mips/dl-brk.S: New file. * sysdeps/unix/sparc/dl-brk.S: New file. * sysdeps/unix/sysv/linux/alpha/dl-brk.S: New file. * sysdeps/unix/sysv/linux/ia64/dl-brk.S: New file. * sysdeps/unix/sysv/linux/powerpc/dl-brk.S: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S: New file. * sysdeps/unix/sysv/linux/i386/dl-brk.c: Remove. * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Remove. 2002-04-03 Andreas Schwab <schwab@suse.de> * Makefile (headers): Add gnu/lib-names.h here instead of install-others. ($(inst_includedir)/gnu/lib-names.h): Remove explicit installation rule. (install-headers): Add dependency on install-headers-nosubdir. * stdio-common/Makefile (headers): Add bits/stdio_lim.h here instead of install-others. ($(inst_includedir)/bits/stdio_lim.h): Remove explicit installation rule. 2002-04-05 Ulrich Drepper <drepper@redhat.com> * manual/users.tex (Enable/Disable Setuid): Fix typo in example. Reported by Sam Roberts <sroberts@uniserve.com>. 2002-04-03 Jakub Jelinek <jakub@redhat.com> * elf/do-rel.h (elf_dynamic_do_rel): Skip relative relocs if l_addr == 0 and ELF_MACHINE_REL_RELATIVE. * sysdeps/alpha/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define. * sysdeps/ia64/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define. 2002-04-03 David Mosberger <davidm@hpl.hp.com> * sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind info. (RTLD_START): Ditto. (__ia64_init_bootstrap_fdesc_table): Insert stop bit to avoid RAW dependency violation.
-rw-r--r--ChangeLog51
-rw-r--r--INSTALL124
-rw-r--r--Makefile11
-rw-r--r--elf/do-rel.h5
-rw-r--r--linuxthreads/ChangeLog8
-rw-r--r--linuxthreads/man/Makefile2
-rw-r--r--linuxthreads/man/pthread_mutexattr_init.man20
-rw-r--r--linuxthreads/man/pthread_mutexattr_setkind_np.man39
-rw-r--r--localedata/ChangeLog4
-rw-r--r--localedata/locales/ms_MY2
-rw-r--r--manual/users.texi2
-rw-r--r--stdio-common/Makefile7
-rw-r--r--sysdeps/alpha/dl-machine.h4
-rw-r--r--sysdeps/generic/brk.c5
-rw-r--r--sysdeps/generic/dl-brk.c5
-rw-r--r--sysdeps/generic/dl-sbrk.c5
-rw-r--r--sysdeps/ia64/dl-machine.h22
-rw-r--r--sysdeps/unix/arm/dl-brk.S1
-rw-r--r--sysdeps/unix/bsd/hp/m68k/dl-brk.S1
-rw-r--r--sysdeps/unix/bsd/osf/alpha/dl-brk.S1
-rw-r--r--sysdeps/unix/bsd/sun/m68k/dl-brk.S1
-rw-r--r--sysdeps/unix/bsd/vax/dl-brk.S1
-rw-r--r--sysdeps/unix/i386/dl-brk.S1
-rw-r--r--sysdeps/unix/mips/dl-brk.S1
-rw-r--r--sysdeps/unix/sparc/dl-brk.S1
-rw-r--r--sysdeps/unix/sysv/linux/alpha/dl-brk.S1
-rw-r--r--sysdeps/unix/sysv/linux/i386/dl-brk.c5
-rw-r--r--sysdeps/unix/sysv/linux/i386/dl-sbrk.c5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/dl-brk.S1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/dl-brk.S1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S1
31 files changed, 236 insertions, 102 deletions
diff --git a/ChangeLog b/ChangeLog
index a265dba..ba88a41 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,54 @@
+2002-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/generic/brk.c (__curbrk): Declare.
+ * sysdeps/generic/dl-brk.c: Add attribute_hidden to __curbrk.
+ * sysdeps/generic/dl-sbrk.c: Likewise.
+ * sysdeps/unix/arm/dl-brk.S: New file.
+ * sysdeps/unix/bsd/hp/m68k/dl-brk.S: New file.
+ * sysdeps/unix/bsd/osf/alpha/dl-brk.S: New file.
+ * sysdeps/unix/bsd/sun/m68k/dl-brk.S: New file.
+ * sysdeps/unix/bsd/vax/dl-brk.S: New file.
+ * sysdeps/unix/i386/dl-brk.S: New file.
+ * sysdeps/unix/mips/dl-brk.S: New file.
+ * sysdeps/unix/sparc/dl-brk.S: New file.
+ * sysdeps/unix/sysv/linux/alpha/dl-brk.S: New file.
+ * sysdeps/unix/sysv/linux/ia64/dl-brk.S: New file.
+ * sysdeps/unix/sysv/linux/powerpc/dl-brk.S: New file.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S: New file.
+ * sysdeps/unix/sysv/linux/i386/dl-brk.c: Remove.
+ * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Remove.
+
+2002-04-03 Andreas Schwab <schwab@suse.de>
+
+ * Makefile (headers): Add gnu/lib-names.h here instead of
+ install-others.
+ ($(inst_includedir)/gnu/lib-names.h): Remove explicit
+ installation rule.
+ (install-headers): Add dependency on install-headers-nosubdir.
+ * stdio-common/Makefile (headers): Add bits/stdio_lim.h here
+ instead of install-others.
+ ($(inst_includedir)/bits/stdio_lim.h): Remove explicit
+ installation rule.
+
+2002-04-05 Ulrich Drepper <drepper@redhat.com>
+
+ * manual/users.tex (Enable/Disable Setuid): Fix typo in example.
+ Reported by Sam Roberts <sroberts@uniserve.com>.
+
+2002-04-03 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/do-rel.h (elf_dynamic_do_rel): Skip relative relocs if
+ l_addr == 0 and ELF_MACHINE_REL_RELATIVE.
+ * sysdeps/alpha/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define.
+ * sysdeps/ia64/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define.
+
+2002-04-03 David Mosberger <davidm@hpl.hp.com>
+
+ * sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind info.
+ (RTLD_START): Ditto.
+ (__ia64_init_bootstrap_fdesc_table): Insert stop bit to avoid RAW
+ dependency violation.
+
2002-04-05 Jakub Jelinek <jakub@redhat.com>
* time/mktime.c (__mktime_internal): Move check for year < 70 below
diff --git a/INSTALL b/INSTALL
index 46a50f3..7023257 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,13 +1,13 @@
Installing the GNU C Library
****************************
- Before you do anything else, you should read the file `FAQ' found at
-the top level of the source tree. This file answers common questions
+ Before you do anything else, you should read the file `FAQ' located
+at the top level of the source tree. This file answers common questions
and describes problems you may experience with compilation and
installation. It is updated more frequently than this manual.
Features can be added to GNU Libc via "add-on" bundles. These are
-separate tarfiles which you unpack into the top level of the source
+separate tar files, which you unpack into the top level of the source
tree. Then you give `configure' the `--enable-add-ons' option to
activate them, and they will be compiled into the library. As of the
2.2 release, one important component of glibc is distributed as
@@ -27,13 +27,13 @@ Configuring and compiling GNU Libc
==================================
GNU libc can be compiled in the source directory, but we strongly
-advise to build it in a separate build directory. For example, if you
-have unpacked the glibc sources in `/src/gnu/glibc-2.2.0', create a
+advise building it in a separate build directory. For example, if you
+have unpacked the glibc sources in `/src/gnu/glibc-2.2.0', create a
directory `/src/gnu/glibc-build' to put the object files in. This
allows removing the whole build directory in case an error occurs,
which is the safest way to get a fresh start and should always be done.
- From your object directory, run the shell script `configure' found
+ From your object directory, run the shell script `configure' located
at the top level of the source tree. In the scenario above, you'd type
$ ../glibc-2.2.0/configure ARGS...
@@ -44,11 +44,11 @@ directory, especially some files in the manual subdirectory.
`configure' takes many options, but you can get away with knowing only
two: `--prefix' and `--enable-add-ons'. The `--prefix' option tells
-configure where you want glibc installed. This defaults to
-`/usr/local'. The `--enable-add-ons' option tells configure to use all
-the add-on bundles it finds in the source directory. Since important
-functionality is provided in add-ons, you should always specify this
-option.
+`configure' where you want glibc installed. This defaults to
+`/usr/local'. The `--enable-add-ons' option tells `configure' to use
+all the add-on bundles it finds in the source directory. Since
+important functionality is provided in add-ons, you should always
+specify this option.
It may also be useful to set the CC and CFLAGS variables in the
environment when running `configure'. CC selects the C compiler that
@@ -69,7 +69,7 @@ will be used, and CFLAGS sets optimization options for the compiler.
`--with-headers=DIRECTORY'
Look for kernel header files in DIRECTORY, not `/usr/include'.
Glibc needs information from the kernel's private header files.
- It will normally look in `/usr/include' for them, but if you
+ Glibc will normally look in `/usr/include' for them, but if you
specify this option, it will look in DIRECTORY instead.
This option is primarily of use on a system where the headers in
@@ -82,7 +82,7 @@ will be used, and CFLAGS sets optimization options for the compiler.
`--enable-add-ons[=LIST]'
Enable add-on packages in your source tree. If this option is
specified with no list, it enables all the add-on packages it
- finds. If you do not wish to use some add-on package that you
+ finds. If you do not wish to use some add-on packages that you
have present in your source tree, give this option a list of the
add-ons that you _do_ want used, like this:
`--enable-add-ons=linuxthreads'
@@ -96,7 +96,7 @@ will be used, and CFLAGS sets optimization options for the compiler.
`--with-binutils=DIRECTORY'
Use the binutils (assembler and linker) in `DIRECTORY', not the
- ones the C compiler would default to. You could use this option if
+ ones the C compiler would default to. You can use this option if
the default binutils on your system cannot deal with all the
constructs in the GNU C library. In that case, `configure' will
detect the problem and suppress these constructs, so that the
@@ -107,6 +107,8 @@ will be used, and CFLAGS sets optimization options for the compiler.
Use this option if your computer lacks hardware floating-point
support and your operating system does not emulate an FPU.
+ these
+
`--disable-shared'
Don't build shared libraries even if it is possible. Not all
systems support shared libraries; you need ELF support and
@@ -119,9 +121,10 @@ will be used, and CFLAGS sets optimization options for the compiler.
`--enable-omitfp'
Use maximum optimization for the normal (static and shared)
libraries, and compile separate static libraries with debugging
- information and no optimization. We recommend against this. The
- extra optimization doesn't gain you much, it may provoke compiler
- bugs, and you won't be able to trace bugs through the C library.
+ information and no optimization. We recommend not doing this.
+ The extra optimization doesn't gain you much, it may provoke
+ compiler bugs, and you won't be able to trace bugs through the C
+ library.
`--disable-versioning'
Don't compile the shared libraries with symbol version information.
@@ -135,7 +138,7 @@ will be used, and CFLAGS sets optimization options for the compiler.
dynamically reconfigured to use a different name database.
`--without-tls'
- By default the C library is build with support for thread-local
+ By default the C library is built with support for thread-local
storage if the used tools support it. By using `--without-tls'
this can be prevented though there generally is no reason since it
creates compatibility problems.
@@ -149,24 +152,24 @@ will be used, and CFLAGS sets optimization options for the compiler.
too, and you may have to override CONFIGURE's selection of the
compiler and/or binutils.
- If you only specify `--host', configure will prepare for a native
- compile but use what you specify instead of guessing what your
- system is. This is most useful to change the CPU submodel. For
- example, if configure guesses your machine as `i586-pc-linux-gnu'
- but you want to compile a library for 386es, give
- `--host=i386-pc-linux-gnu' or just `--host=i386-linux' and add the
- appropriate compiler flags (`-mcpu=i386' will do the trick) to
+ If you only specify `--host', `configure' will prepare for a
+ native compile but use what you specify instead of guessing what
+ your system is. This is most useful to change the CPU submodel.
+ For example, if `configure' guesses your machine as
+ `i586-pc-linux-gnu' but you want to compile a library for 386es,
+ give `--host=i386-pc-linux-gnu' or just `--host=i386-linux' and add
+ the appropriate compiler flags (`-mcpu=i386' will do the trick) to
CFLAGS.
- If you specify just `--build', configure will get confused.
+ If you specify just `--build', `configure' will get confused.
To build the library and related programs, type `make'. This will
produce a lot of output, some of which may look like errors from `make'
but isn't. Look for error messages from `make' containing `***'.
-Those indicate that something is really wrong.
+Those indicate that something is seriously wrong.
The compilation process can take several hours. Expect at least two
-hours for the default configuration on i586 for Linux. For Hurd times
+hours for the default configuration on i586 for Linux. For Hurd, times
are much longer. Except for EGCS 1.1 and GCC 2.95 (and later versions
of GCC), all supported versions of GCC have a problem which causes them
to take several minutes to compile certain files in the iconvdata
@@ -185,7 +188,7 @@ being run by `root'. We recommend you compile and test glibc as an
unprivileged user.
Before reporting bugs make sure there is no problem with your system.
-The tests (and later installation) uses some pre-existing files of the
+The tests (and later installation) use some pre-existing files of the
system such as `/etc/passwd', `/etc/nsswitch.conf' and others. These
files must all contain correct and sensible content.
@@ -207,8 +210,8 @@ setting a few variables in `configparms'. Set `CC' to the
cross-compiler for the target you configured the library for; it is
important to use this same `CC' value when running `configure', like
this: `CC=TARGET-gcc configure TARGET'. Set `BUILD_CC' to the compiler
-to use for for programs run on the build system as part of compiling
-the library. You may need to set `AR' and `RANLIB' to cross-compiling
+to use for programs run on the build system as part of compiling the
+library. You may need to set `AR' and `RANLIB' to cross-compiling
versions of `ar' and `ranlib' if the native tools are not configured to
work with object files for the target you configured for.
@@ -217,7 +220,7 @@ Installing the C Library
To install the library and its header files, and the Info files of
the manual, type `env LANGUAGE=C LC_ALL=C make install'. This will
-build things if necessary, before installing them. However, you should
+build things, if necessary, before installing them; however, you should
still compile everything first. If you are installing glibc as your
primary C library, we recommend that you shut the system down to
single-user mode first, and reboot afterward. This minimizes the risk
@@ -277,9 +280,9 @@ set up a German locale with name `de_DE', simply issue the command
that are supported by glibc, you can issue from your build directory the
command `make localedata/install-locales'.
- To configure the locally used timezone, you can either set the `TZ'
-environment variable. The script `tzselect' helps you to select the
-right value. As an example for Germany, tzselect would tell you to use
+ To configure the locally used timezone, set the `TZ' environment
+variable. The script `tzselect' helps you to select the right value.
+As an example, for Germany, `tzselect' would tell you to use
`TZ='Europe/Berlin''. For a system wide installation (the given paths
are for an installation with `--prefix=/usr'), link the timezone file
which is in `/usr/share/zoneinfo' to the file `/etc/localtime'. For
@@ -297,8 +300,8 @@ build the GNU C library:
You need the latest version of GNU `make'. Modifying the GNU C
Library to work with other `make' programs would be so difficult
that we recommend you port GNU `make' instead. *Really.* We
- recommend version GNU `make' version 3.79. All earlier versions
- have severe bugs or lack features.
+ recommend GNU `make' version 3.79. All earlier versions have
+ severe bugs or lack features.
* GCC 2.95 or newer
@@ -316,17 +319,18 @@ build the GNU C library:
* GNU `binutils' 2.10.1 or later
- You must use GNU binutils (as and ld) if you want to build a shared
- library. Even if you don't, we recommend you use them anyway. No
- one has tested compilation with non-GNU binutils in a long time.
+ You must use GNU `binutils' (as and ld) if you want to build a
+ shared library. Even if you don't want to build a shared library,
+ we recommend you use them anyway. No one has tested compilation
+ with non-GNU `binutils' in a long time.
- The quality of binutils releases has varied a bit recently. The
+ The quality of `binutils' releases has varied a bit recently. The
bugs are in obscure features, but glibc uses quite a few of those.
2.10.1 and later releases are known to work. Versions after
2.8.1.0.23 may or may not work. Older versions definitely don't.
For PPC you might need some patches even on top of the last
- binutils version. See the FAQ.
+ `binutils' version. See the FAQ.
* GNU `texinfo' 3.12f
@@ -338,8 +342,8 @@ build the GNU C library:
* GNU `awk' 3.0, or some other POSIX awk
- Awk is used in several places to generate files. The scripts
- should work with any POSIX-compliant awk implementation; `gawk'
+ `Awk' is used in several places to generate files. The scripts
+ should work with any POSIX-compliant `awk' implementation; `gawk'
3.0 and `mawk' 1.3 are known to work.
* Perl 5
@@ -349,12 +353,12 @@ build the GNU C library:
* GNU `sed' 3.02 or newer
- Sed is used in several places to generate files. Most scripts
+ `Sed' is used in several places to generate files. Most scripts
work with any version of `sed'. The known exception is the script
`po2test.sed' in the `intl' subdirectory which is used to generate
- `msgs.h' for the testsuite. This script works correctly only with
- GNU `sed' 3.02. If you like to run the testsuite, you should
- definitely upgrade `sed'.
+ `msgs.h' for the test suite. This script works correctly only
+ with GNU `sed' 3.02. If you like to run the test suite, you
+ should definitely upgrade `sed'.
If you change any of the `configure.in' files you will also need
@@ -453,7 +457,7 @@ Finally, configure glibc with the option
kernel you can get your hands on.
An alternate tactic is to unpack the 2.2 kernel and run `make
-config' as above. Then rename or delete `/usr/include', create a new
+config' as above; then, rename or delete `/usr/include', create a new
`/usr/include', and make the usual symbolic links of
`/usr/include/linux' and `/usr/include/asm' into the 2.2 kernel
sources. You can then configure glibc with no special options. This
@@ -493,17 +497,17 @@ remain unfixed for all eternity, if not longer.
reported. Bugs are documented in two places: The file `BUGS' describes
a number of well known bugs and the bug tracking system has a WWW
interface at <http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl>. The
-WWW interface gives you access to open and closed reports. The closed
-reports normally include a patch or a hint on solving the problem.
-
- To report a bug, first you must find it. Hopefully, this will be the
-hard part. Once you've found a bug, make sure it's really a bug. A
-good way to do this is to see if the GNU C library behaves the same way
-some other C library does. If so, probably you are wrong and the
-libraries are right (but not necessarily). If not, one of the libraries
-is probably wrong. It might not be the GNU library. Many historical
-Unix C libraries permit things that we don't, such as closing a file
-twice.
+WWW interface gives you access to open and closed reports. A closed
+report normally includes a patch or a hint on solving the problem.
+
+ To report a bug, first you must find it. With any luck, this will
+be the hard part. Once you've found a bug, make sure it's really a
+bug. A good way to do this is to see if the GNU C library behaves the
+same way some other C library does. If so, probably you are wrong and
+the libraries are right (but not necessarily). If not, one of the
+libraries is probably wrong. It might not be the GNU library. Many
+historical Unix C libraries permit things that we don't, such as
+closing a file twice.
If you think you have found some way in which the GNU C library does
not conform to the ISO and POSIX standards (*note Standards and
diff --git a/Makefile b/Makefile
index 9f707f8..eba8cad 100644
--- a/Makefile
+++ b/Makefile
@@ -78,7 +78,7 @@ install-others = $(inst_includedir)/gnu/stubs.h
install-bin-script = glibcbug
ifeq (yes,$(build-shared))
-install-others += $(inst_includedir)/gnu/lib-names.h
+headers += gnu/lib-names.h
endif
include Makerules
@@ -90,6 +90,9 @@ endif
# Install from subdirectories too.
install: subdir_install
+# Explicit dependency so that `make install-headers' works
+install-headers: install-headers-nosubdir
+
# Make sure that the dynamic linker is installed before libc.
$(inst_slibdir)/libc-$(version).so: elf/ldso_install
@@ -155,12 +158,6 @@ $(inst_includedir)/gnu/stubs.h: subdir_install
else $(INSTALL_DATA) $(objpfx)stubs.h $@; fi
rm -f $(objpfx)stubs.h
-ifeq (yes,$(build-shared))
-
-$(inst_includedir)/gnu/lib-names.h: $(common-objpfx)gnu/lib-names.h $(+force)
- $(do-install)
-endif
-
# The `glibcbug' script contains the version number and it shall be rebuild
# whenever this changes or the `glibcbug.in' file.
$(objpfx)glibcbug: $(common-objpfx)config.status glibcbug.in
diff --git a/elf/do-rel.h b/elf/do-rel.h
index 5f07544..7f3b06a 100644
--- a/elf/do-rel.h
+++ b/elf/do-rel.h
@@ -83,11 +83,12 @@ elf_dynamic_do_rel (struct link_map *map,
weak_extern (GL(dl_rtld_map));
# endif
if (map != &GL(dl_rtld_map)) /* Already done in rtld itself. */
-# ifndef DO_RELA
+# if !defined DO_RELA || defined ELF_MACHINE_REL_RELATIVE
/* Rela platforms get the offset from r_addend and this must
be copied in the relocation address. Therefore we can skip
the relative relocations only if this is for rel
- relocations... */
+ relocations or rela relocations if they are computed as
+ memory_loc += l_addr... */
if (l_addr != 0)
# else
/* ...or we know the object has been prelinked. */
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 06b9025..cad4e89 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,11 @@
+2002-04-05 Jakub Jelinek <jakub@redhat.com>
+
+ * man/pthread_mutexattr_init.man (pthread_mutexattr_settype): Document
+ instead of pthread_mutexattr_setkind_np.
+ (pthread_mutexattr_gettype): Similarly.
+ * man/pthread_mutexattr_setkind_np.man: New.
+ * man/Makefile (SOURCES): Add pthread_mutexattr_setkind_np.man.
+
2002-04-02 Ulrich Drepper <drepper@redhat.com>
* sysdeps/ia64/pt-machine.h (MEMORY_BARRIER): Define.
diff --git a/linuxthreads/man/Makefile b/linuxthreads/man/Makefile
index 4875c3d..4afd2ee 100644
--- a/linuxthreads/man/Makefile
+++ b/linuxthreads/man/Makefile
@@ -5,7 +5,7 @@ SOURCES=pthread_atfork.man pthread_attr_init.man pthread_cancel.man \
pthread_key_create.man pthread_mutex_init.man \
pthread_mutexattr_init.man pthread_once.man pthread_self.man \
pthread_setschedparam.man pthread_sigmask.man sem_init.man \
- pthread_kill_other_threads_np.man
+ pthread_kill_other_threads_np.man pthread_mutexattr_setkind_np.man
MANPAGES=$(SOURCES:.man=.3thr)
diff --git a/linuxthreads/man/pthread_mutexattr_init.man b/linuxthreads/man/pthread_mutexattr_init.man
index 5ceefdb..b838948 100644
--- a/linuxthreads/man/pthread_mutexattr_init.man
+++ b/linuxthreads/man/pthread_mutexattr_init.man
@@ -1,11 +1,11 @@
.TH PTHREAD_MUTEXATTR 3 LinuxThreads
.XREF pthread_mutexattr_destroy
-.XREF pthread_mutexattr_setkind_np
-.XREF pthread_mutexattr_getkind_np
+.XREF pthread_mutexattr_settype
+.XREF pthread_mutexattr_gettype
.SH NAME
-pthread_mutexattr_init, pthread_mutexattr_destroy, pthread_mutexattr_setkind_np, pthread_mutexattr_getkind_np \- mutex creation attributes
+pthread_mutexattr_init, pthread_mutexattr_destroy, pthread_mutexattr_settype, pthread_mutexattr_gettype \- mutex creation attributes
.SH SYNOPSIS
#include <pthread.h>
@@ -14,9 +14,9 @@ int pthread_mutexattr_init(pthread_mutexattr_t *attr);
int pthread_mutexattr_destroy(pthread_mutexattr_t *attr);
-int pthread_mutexattr_setkind_np(pthread_mutexattr_t *attr, int kind);
+int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int kind);
-int pthread_mutexattr_getkind_np(const pthread_mutexattr_t *attr, int *kind);
+int pthread_mutexattr_gettype(const pthread_mutexattr_t *attr, int *kind);
.SH DESCRIPTION
@@ -53,23 +53,23 @@ returns to the unlocked state.
The default mutex kind is ``fast'', that is, !PTHREAD_MUTEX_FAST_NP!.
-!pthread_mutexattr_setkind_np! sets the mutex kind attribute in |attr|
+!pthread_mutexattr_settype! sets the mutex kind attribute in |attr|
to the value specified by |kind|.
-!pthread_mutexattr_getkind_np! retrieves the current value of the
+!pthread_mutexattr_gettype! retrieves the current value of the
mutex kind attribute in |attr| and stores it in the location pointed
to by |kind|.
.SH "RETURN VALUE"
!pthread_mutexattr_init!, !pthread_mutexattr_destroy! and
-!pthread_mutexattr_getkind_np! always return 0.
+!pthread_mutexattr_gettype! always return 0.
-!pthread_mutexattr_setkind_np! returns 0 on success and a non-zero
+!pthread_mutexattr_settype! returns 0 on success and a non-zero
error code on error.
.SH ERRORS
-On error, !pthread_mutexattr_setkind_np! returns the following error code:
+On error, !pthread_mutexattr_settype! returns the following error code:
.TP
!EINVAL!
|kind| is neither !PTHREAD_MUTEX_FAST_NP! nor !PTHREAD_MUTEX_RECURSIVE_NP!
diff --git a/linuxthreads/man/pthread_mutexattr_setkind_np.man b/linuxthreads/man/pthread_mutexattr_setkind_np.man
new file mode 100644
index 0000000..e10f47d
--- /dev/null
+++ b/linuxthreads/man/pthread_mutexattr_setkind_np.man
@@ -0,0 +1,39 @@
+.TH PTHREAD_MUTEXATTR_SETKIND_NP 3 LinuxThreads
+
+.XREF pthread_mutexattr_getkind_np
+
+.SH NAME
+pthread_mutexattr_setkind_np, pthread_mutexattr_getkind_np \- deprecated mutex creation attributes
+
+.SH SYNOPSIS
+#include <pthread.h>
+
+int pthread_mutexattr_setkind_np(pthread_mutexattr_t *attr, int kind);
+
+int pthread_mutexattr_getkind_np(const pthread_mutexattr_t *attr, int *kind);
+
+.SH DESCRIPTION
+
+These functions are deprecated, use !pthread_mutexattr_settype!(3)
+and !pthread_mutexattr_gettype!(3) instead.
+
+.SH "RETURN VALUE"
+!pthread_mutexattr_getkind_np! always returns 0.
+
+!pthread_mutexattr_setkind_np! returns 0 on success and a non-zero
+error code on error.
+
+.SH ERRORS
+
+On error, !pthread_mutexattr_setkind_np! returns the following error code:
+.TP
+!EINVAL!
+|kind| is neither !PTHREAD_MUTEX_FAST_NP! nor !PTHREAD_MUTEX_RECURSIVE_NP!
+nor !PTHREAD_MUTEX_ERRORCHECK_NP!
+
+.SH AUTHOR
+Xavier Leroy <Xavier.Leroy@inria.fr>
+
+.SH "SEE ALSO"
+!pthread_mutexattr_settype!(3),
+!pthread_mutexattr_gettype!(3).
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 3c494b7..a7c876f 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,7 @@
+2002-04-05 Jakub Jelinek <jakub@redhat.com>
+
+ * locales/ms_MY (day): Fix a typo.
+
2002-04-03 Ulrich Drepper <drepper@redhat.com>
* locales/es_ES: Define int_frac_digits and frac_digits as 2.
diff --git a/localedata/locales/ms_MY b/localedata/locales/ms_MY
index 54ae1d1..b34624f 100644
--- a/localedata/locales/ms_MY
+++ b/localedata/locales/ms_MY
@@ -97,7 +97,7 @@ abday "<U0041><U0068><U0064>";"<U0049><U0073><U006E>";/
%
% Full weekday names (%A)
day "<U0041><U0068><U0061><U0064>";"<U0049><U0073><U006E><U0069><U006E>";/
- "<U0053><U0065><U006C><U0061><U0073><U0061>";"<U0052><U0061><U0062><U0075";/
+ "<U0053><U0065><U006C><U0061><U0073><U0061>";"<U0052><U0061><U0062><U0075>";/
"<U004B><U0068><U0061><U006D><U0069><U0073>";"<U004A><U0075><U006D><U0061><U0061><U0074>";/
"<U0053><U0061><U0062><U0074><U0075>"
%
diff --git a/manual/users.texi b/manual/users.texi
index 406e48b..20deeab 100644
--- a/manual/users.texi
+++ b/manual/users.texi
@@ -573,7 +573,7 @@ feature with a preprocessor conditional, like this:
@smallexample
#ifdef _POSIX_SAVED_IDS
- setuid (user_user_id);
+ seteuid (user_user_id);
#else
setreuid (geteuid (), getuid ());
#endif
diff --git a/stdio-common/Makefile b/stdio-common/Makefile
index 2212df2..e391551 100644
--- a/stdio-common/Makefile
+++ b/stdio-common/Makefile
@@ -21,7 +21,7 @@
#
subdir := stdio-common
-headers := printf.h stdio_ext.h
+headers := printf.h stdio_ext.h bits/stdio_lim.h
routines := \
ctermid cuserid \
@@ -42,8 +42,6 @@ ifeq ($(stdio),libio)
routines += vfwprintf vfwscanf
endif
-install-others := $(inst_includedir)/bits/stdio_lim.h
-
aux := errlist siglist
distribute := _itoa.h _itowa.h _i18n_number.h \
printf-parse.h stdio_lim.h.in tst-unbputc.sh tst-printf.sh
@@ -86,9 +84,6 @@ tst-sscanf-ENV = LOCPATH=$(common-objpfx)localedata
tst-swprintf-ENV = LOCPATH=$(common-objpfx)localedata
test-vfprintf-ENV = LOCPATH=$(common-objpfx)localedata
-$(inst_includedir)/bits/stdio_lim.h: $(common-objpfx)bits/stdio_lim.h
- $(do-install)
-
ifeq ($(stdio),libio)
ifneq (,$(filter %REENTRANT, $(defines)))
CPPFLAGS += -D_IO_MTSAFE_IO
diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h
index 490f1f1..f6d3373 100644
--- a/sysdeps/alpha/dl-machine.h
+++ b/sysdeps/alpha/dl-machine.h
@@ -577,6 +577,10 @@ elf_machine_rela (struct link_map *map,
}
}
+/* Let do-rel.h know that on Alpha if l_addr is 0, all RELATIVE relocs
+ can be skipped. */
+#define ELF_MACHINE_REL_RELATIVE 1
+
static inline void
elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
Elf64_Addr *const reloc_addr)
diff --git a/sysdeps/generic/brk.c b/sysdeps/generic/brk.c
index 8b8b734..b951819 100644
--- a/sysdeps/generic/brk.c
+++ b/sysdeps/generic/brk.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 2002 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
@@ -19,6 +19,9 @@
#include <errno.h>
#include <unistd.h>
+/* sbrk.c expects this. */
+void *__curbrk;
+
/* Set the end of the process's data space to ADDR.
Return 0 if successful, -1 if not. */
int
diff --git a/sysdeps/generic/dl-brk.c b/sysdeps/generic/dl-brk.c
index 4a0cf2d..c37cdfe 100644
--- a/sysdeps/generic/dl-brk.c
+++ b/sysdeps/generic/dl-brk.c
@@ -1,2 +1,5 @@
-/* Just use the normal code. */
+/* We can use the normal code but we also know the __curbrk is not exported
+ from ld.so. */
+extern void *__curbrk attribute_hidden;
+
#include <brk.c>
diff --git a/sysdeps/generic/dl-sbrk.c b/sysdeps/generic/dl-sbrk.c
index 3874975..4713a92 100644
--- a/sysdeps/generic/dl-sbrk.c
+++ b/sysdeps/generic/dl-sbrk.c
@@ -1,2 +1,5 @@
-/* Just use the normal code. */
+/* We can use the normal code but we also know the __curbrk is not exported
+ from ld.so. */
+extern void *__curbrk attribute_hidden;
+
#include <sbrk.c>
diff --git a/sysdeps/ia64/dl-machine.h b/sysdeps/ia64/dl-machine.h
index a115b90..e091089 100644
--- a/sysdeps/ia64/dl-machine.h
+++ b/sysdeps/ia64/dl-machine.h
@@ -61,7 +61,7 @@ __ia64_init_bootstrap_fdesc_table (struct link_map *map)
Elf64_Addr *boot_table;
/* careful: this will be called before got has been relocated... */
- asm ("addl %0 = @gprel (__ia64_boot_fptr_table), gp" : "=r"(boot_table));
+ asm (";; addl %0 = @gprel (__ia64_boot_fptr_table), gp" : "=r"(boot_table));
map->l_mach.fptr_table_len = IA64_BOOT_FPTR_TABLE_LEN;
map->l_mach.fptr_table = boot_table;
@@ -179,13 +179,18 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
" .proc " #tramp_name "#\n" \
#tramp_name ":\n" \
" { .mmi\n" \
+" .prologue\n" \
+" .save ar.pfs, r40\n" \
" alloc loc0 = ar.pfs, 8, 6, 3, 0\n" \
" adds r2 = -144, r12\n" \
" adds r3 = -128, r12\n" \
" }\n" \
" { .mii\n" \
+" .fframe 160\n" \
" adds r12 = -160, r12\n" \
+" .save rp, r41\n" \
" mov loc1 = b0\n" \
+" .body\n" \
" mov out2 = b0 /* needed by fixup_profile */\n" \
" ;;\n" \
" }\n" \
@@ -249,6 +254,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
" { .mmi\n" \
" ldf.fill f14 = [r2], 32\n" \
" ldf.fill f15 = [r3], 32\n" \
+" .restore sp /* pop the unwind frame state */\n" \
" adds r12 = 160, r12\n" \
" ;;\n" \
" }\n" \
@@ -265,6 +271,8 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
" /* An alloc is needed for the break system call to work.\n" \
" We don't care about the old value of the pfs register. */\n" \
" { .mmb\n" \
+" .prologue\n" \
+" .body\n" \
" alloc r2 = ar.pfs, 0, 0, 8, 0\n" \
" br.sptk.many b6\n" \
" ;;\n" \
@@ -292,7 +300,11 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
" .proc _start#\n" \
"_start:\n" \
"0: { .mii\n" \
+" .prologue\n" \
+" .save ar.pfs, r32\n" \
+" .save rp, r0\n" \
" alloc loc0 = ar.pfs, 0, 3, 4, 0\n" \
+" .body\n" \
" mov r2 = ip\n" \
" addl r3 = @gprel(0b), r0\n" \
" ;;\n" \
@@ -319,6 +331,10 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
" .global _dl_start_user#\n" \
" .proc _dl_start_user#\n" \
"_dl_start_user:\n" \
+" .prologue\n" \
+" .save ar.pfs, r32\n" \
+" .save rp, r0\n" \
+" .body\n" \
" { .mii\n" \
" /* Save the pointer to the user entry point fptr in loc2. */\n" \
" mov loc2 = ret0\n" \
@@ -577,6 +593,10 @@ elf_machine_rela (struct link_map *map,
assert (! "unexpected dynamic reloc format");
}
+/* Let do-rel.h know that on IA-64 if l_addr is 0, all RELATIVE relocs
+ can be skipped. */
+#define ELF_MACHINE_REL_RELATIVE 1
+
static inline void
elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
Elf64_Addr *const reloc_addr)
diff --git a/sysdeps/unix/arm/dl-brk.S b/sysdeps/unix/arm/dl-brk.S
new file mode 100644
index 0000000..eeb9654
--- /dev/null
+++ b/sysdeps/unix/arm/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/sysdeps/unix/bsd/hp/m68k/dl-brk.S b/sysdeps/unix/bsd/hp/m68k/dl-brk.S
new file mode 100644
index 0000000..eeb9654
--- /dev/null
+++ b/sysdeps/unix/bsd/hp/m68k/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/sysdeps/unix/bsd/osf/alpha/dl-brk.S b/sysdeps/unix/bsd/osf/alpha/dl-brk.S
new file mode 100644
index 0000000..eeb9654
--- /dev/null
+++ b/sysdeps/unix/bsd/osf/alpha/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/sysdeps/unix/bsd/sun/m68k/dl-brk.S b/sysdeps/unix/bsd/sun/m68k/dl-brk.S
new file mode 100644
index 0000000..eeb9654
--- /dev/null
+++ b/sysdeps/unix/bsd/sun/m68k/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/sysdeps/unix/bsd/vax/dl-brk.S b/sysdeps/unix/bsd/vax/dl-brk.S
new file mode 100644
index 0000000..eeb9654
--- /dev/null
+++ b/sysdeps/unix/bsd/vax/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/sysdeps/unix/i386/dl-brk.S b/sysdeps/unix/i386/dl-brk.S
new file mode 100644
index 0000000..eeb9654
--- /dev/null
+++ b/sysdeps/unix/i386/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/sysdeps/unix/mips/dl-brk.S b/sysdeps/unix/mips/dl-brk.S
new file mode 100644
index 0000000..eeb9654
--- /dev/null
+++ b/sysdeps/unix/mips/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/sysdeps/unix/sparc/dl-brk.S b/sysdeps/unix/sparc/dl-brk.S
new file mode 100644
index 0000000..eeb9654
--- /dev/null
+++ b/sysdeps/unix/sparc/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/sysdeps/unix/sysv/linux/alpha/dl-brk.S b/sysdeps/unix/sysv/linux/alpha/dl-brk.S
new file mode 100644
index 0000000..eeb9654
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/sysdeps/unix/sysv/linux/i386/dl-brk.c b/sysdeps/unix/sysv/linux/i386/dl-brk.c
deleted file mode 100644
index c37cdfe..0000000
--- a/sysdeps/unix/sysv/linux/i386/dl-brk.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* We can use the normal code but we also know the __curbrk is not exported
- from ld.so. */
-extern void *__curbrk attribute_hidden;
-
-#include <brk.c>
diff --git a/sysdeps/unix/sysv/linux/i386/dl-sbrk.c b/sysdeps/unix/sysv/linux/i386/dl-sbrk.c
deleted file mode 100644
index 4713a92..0000000
--- a/sysdeps/unix/sysv/linux/i386/dl-sbrk.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* We can use the normal code but we also know the __curbrk is not exported
- from ld.so. */
-extern void *__curbrk attribute_hidden;
-
-#include <sbrk.c>
diff --git a/sysdeps/unix/sysv/linux/ia64/dl-brk.S b/sysdeps/unix/sysv/linux/ia64/dl-brk.S
new file mode 100644
index 0000000..eeb9654
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/ia64/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
new file mode 100644
index 0000000..eeb9654
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S b/sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S
new file mode 100644
index 0000000..eeb9654
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>