summary refs log tree commit diff
path: root/libio/oldiopopen.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-08-05 01:21:25 +0000
committerRoland McGrath <roland@gnu.org>2002-08-05 01:21:25 +0000
commita816b435dd0b8dde7dc2f8d995bd290998801317 (patch)
tree07a52658122b19c7a08eacba7eaeb01cdc39b741 /libio/oldiopopen.c
parent581dc54b74e8131acbb06f7ebb8887815f1914c8 (diff)
downloadglibc-a816b435dd0b8dde7dc2f8d995bd290998801317.tar.gz
glibc-a816b435dd0b8dde7dc2f8d995bd290998801317.tar.xz
glibc-a816b435dd0b8dde7dc2f8d995bd290998801317.zip
* Makerules (cpp-srcs-left): When setting this to run
	cppflags-iterator.mk, must append .c to $(tests) and $(xtests)
	words.  Combine the two loops into one on the concatenated list,
	including those as well as $(test-srcs).

	* elf/dl-minimal.c (__libc_memalign): Guts of malloc moved here,
	since we align here with optimally minimal waste anyway.
	(malloc): Just call that.

	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Set l_tls_offset to
	the right variable.

	* elf/dl-load.c (_dl_map_object_from_fd): Use p_vaddr, not p_offset,
	to compute memory location for l_tls_initimage.
	* elf/rtld.c (_dl_start): Likewise.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise.

	* libio/oldiopopen.c: Move #include's before #if SHLIB_COMPAT,
	because the .d file is generated in the non-shared case and
	so fails to catch them otherwise.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): New function,
	split out of _dl_allocate_tls.
	(_dl_allocate_tls_init): Likewise.
	(_dl_allocate_tls): Call those.
	* sysdeps/generic/ldsodefs.h: Declare them with attribute_hidden.
	* elf/rtld.c (dl_main): Call them separately instead of calling
	_dl_allocate_tls.  Delay _dl_allocate_tls_init until after relocation
	is finished, so that the initializer data has been relocated before we
	copy it into the main thread's TLS block.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls): Fix off-by-one error in
	loop conditions, prevented the last used module from being initialized.
Diffstat (limited to 'libio/oldiopopen.c')
-rw-r--r--libio/oldiopopen.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libio/oldiopopen.c b/libio/oldiopopen.c
index 878fdc0fcb..d57ec02e2c 100644
--- a/libio/oldiopopen.c
+++ b/libio/oldiopopen.c
@@ -26,9 +26,6 @@
    This exception applies to code released by its copyright holders
    in files containing the exception.  */
 
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
-
 #define _IO_USE_OLD_IO_FILE
 #ifndef _POSIX_SOURCE
 # define _POSIX_SOURCE
@@ -46,6 +43,9 @@
 #include <sys/types.h>
 #include <sys/wait.h>
 
+#include <shlib-compat.h>
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
+
 #ifndef _IO_fork
 #ifdef _LIBC
 #define _IO_fork __vfork