summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-09-22 19:08:42 +0000
committerUlrich Drepper <drepper@redhat.com>1998-09-22 19:08:42 +0000
commitc94a8080d840d47e02b63eda74d26889aa8867fa (patch)
tree3d58f6cf7d3075005e8531b0f35f5b2114f4c84c /elf
parente27b79d3ee01b15474e807c8b8347881b2f28df2 (diff)
downloadglibc-c94a8080d840d47e02b63eda74d26889aa8867fa.tar.gz
glibc-c94a8080d840d47e02b63eda74d26889aa8867fa.tar.xz
glibc-c94a8080d840d47e02b63eda74d26889aa8867fa.zip
Update.
1998-09-22 19:58 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* posix/execvp.c: Don't give up searching the PATH if execve
	returns ENOTDIR.

1998-09-22 12:53  Ulrich Drepper  <drepper@cygnus.com>

	* 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  <drepper@cygnus.com>

	* 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  <schwab@issan.informatik.uni-dortmund.de>

	* 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  <schwab@issan.informatik.uni-dortmund.de>

	* elf/ldsodefs.h: Fix typo in comment.

1998-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libio/genops.c (_IO_default_pbackfail): Add cast to unsigned
	char when comparing buffer contents with putback character.

1998-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* 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 <fpu_control.h>.
	* 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.
Diffstat (limited to 'elf')
-rw-r--r--elf/Versions2
-rw-r--r--elf/dl-error.c3
-rw-r--r--elf/dl-load.c4
-rw-r--r--elf/ldsodefs.h2
-rw-r--r--elf/rtld.c2
5 files changed, 9 insertions, 4 deletions
diff --git a/elf/Versions b/elf/Versions
index 2c93632a2b..1cfb5ccf2c 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 228c1a80a1..ae63447453 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 cb0a4ff753..3e5e291018 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 807613e4b4..946cf34439 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 7c2e054d88..4d67176d03 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -25,6 +25,7 @@
 #include <elf/ldsodefs.h>
 #include <stdio-common/_itoa.h>
 #include <entry.h>
+#include <fpu_control.h>
 #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;