From c94a8080d840d47e02b63eda74d26889aa8867fa Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 22 Sep 1998 19:08:42 +0000 Subject: Update. 1998-09-22 19:58 -0400 Zack Weinberg * posix/execvp.c: Don't give up searching the PATH if execve returns ENOTDIR. 1998-09-22 12:53 Ulrich Drepper * sysdeps/unix/sysv/linux/init-first.c (init): Don't call setfpucw only if _dl_fpu_control_set is set. * sysdeps/generic/dl-sysdep.c: Don't set _dl_fpu_control_set. * elf/rtld.c: Don't define _dl_fpu_control_set. * elf/Versions: Remove _dl_fpu_control_set. 1998-09-22 11:51 Ulrich Drepper * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h (SA_ONSTACK): Define. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. Correct values of other SA_* macros according to kernel headers. 1998-09-22 Andreas Schwab * elf/dl-load.c (_dl_init_paths): Avoid warning about unused variable l. * elf/dl-error.c (_dl_catch_error): Avoid warning about clobbering old. 1998-09-21 Andreas Schwab * elf/ldsodefs.h: Fix typo in comment. 1998-09-21 Andreas Schwab * libio/genops.c (_IO_default_pbackfail): Add cast to unsigned char when comparing buffer contents with putback character. 1998-09-21 Andreas Schwab * elf/Makefile (dl-routines, elide-routines.os, rtld-routines): Undo last change. * elf/Versions: Undo last change. Export _dl_fpu_control and _dl_fpu_control_set. * elf/rtld.c (_dl_fpu_control, _dl_fpu_control_set): New variables. Include . * sysdeps/generic/dl-sysdep.c: Store AT_FPUCW value in _dl_fpu_control instead of __fpu_control, set _dl_fpu_control_set to indicate that is was seen. * sysdeps/unix/sysv/linux/init-first.c: Omit call to __setfpucw only if _dl_fpu_control was set and is equal to desired value. * math/Makefile (aux): Undo last change. * math/Versions: Export __fpu_control with version GLIBC_2.0. --- elf/Versions | 2 +- elf/dl-error.c | 3 ++- elf/dl-load.c | 4 +++- elf/ldsodefs.h | 2 +- elf/rtld.c | 2 ++ 5 files changed, 9 insertions(+), 4 deletions(-) (limited to 'elf') diff --git a/elf/Versions b/elf/Versions index 2c93632..1cfb5cc 100644 --- a/elf/Versions +++ b/elf/Versions @@ -19,7 +19,7 @@ libc { GLIBC_2.1 { # global variables _dl_profile; _dl_profile_map; _dl_profile_output; _dl_start_profile; - _dl_loaded; _dl_main_searchlist; __fpu_control; + _dl_loaded; _dl_main_searchlist; _dl_fpu_control; # functions used in other libraries _dl_mcount; _dl_mcount_wrapper; _dl_mcount_wrapper_check; _dl_unload_cache; diff --git a/elf/dl-error.c b/elf/dl-error.c index 228c1a8..ae63447 100644 --- a/elf/dl-error.c +++ b/elf/dl-error.c @@ -145,7 +145,8 @@ _dl_catch_error (char **errstring, void *args) { int errcode; - struct catch *old, c; + struct catch *volatile old; + struct catch c; /* We need not handle `receiver' since setting a `catch' is handled before it. */ diff --git a/elf/dl-load.c b/elf/dl-load.c index cb0a4ff..3e5e291 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -456,10 +456,12 @@ _dl_init_paths (const char *llp) const char **strp; struct r_search_path_elem *pelem, **aelem; size_t round_size; +#ifdef PIC + struct link_map *l; +#endif /* Fill in the information about the application's RPATH and the directories addressed by the LD_LIBRARY_PATH environment variable. */ - struct link_map *l; /* Get the capabilities. */ capstr = _dl_important_hwcaps (_dl_platform, _dl_platformlen, diff --git a/elf/ldsodefs.h b/elf/ldsodefs.h index 807613e..946cf34 100644 --- a/elf/ldsodefs.h +++ b/elf/ldsodefs.h @@ -148,7 +148,7 @@ extern unsigned long int _dl_hwcap; /* Mask for important hardware capabilities we honour. */ extern unsigned long int _dl_hwcap_mask; -/* File deccriptor to write debug messages to. */ +/* File descriptor to write debug messages to. */ extern int _dl_debug_fd; /* Names of shared object for which the RPATH should be ignored. */ diff --git a/elf/rtld.c b/elf/rtld.c index 7c2e054..4d67176 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -25,6 +25,7 @@ #include #include #include +#include #include "dynamic-link.h" #include "dl-librecon.h" @@ -73,6 +74,7 @@ int _dl_verbose; const char *_dl_platform; size_t _dl_platformlen; unsigned long _dl_hwcap; +fpu_control_t _dl_fpu_control = _FPU_DEFAULT; struct r_search_path *_dl_search_paths; const char *_dl_profile; const char *_dl_profile_output; -- cgit v1.1