summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-09-20 09:48:01 +0000
committerUlrich Drepper <drepper@redhat.com>1998-09-20 09:48:01 +0000
commita0780919b48b7b966822f3513edd6cf131ad3d8d (patch)
tree4fbadfbb73b113800da2fd1b21ac45ce1fe41862 /elf
parentc53a89d434f518f99d5168e9c8693ac63777042a (diff)
downloadglibc-a0780919b48b7b966822f3513edd6cf131ad3d8d.tar.gz
glibc-a0780919b48b7b966822f3513edd6cf131ad3d8d.tar.xz
glibc-a0780919b48b7b966822f3513edd6cf131ad3d8d.zip
Update.
1998-09-20 09:37  Ulrich Drepper  <drepper@cygnus.com>

	* elf/Versions [GLIBC_2.1] (libc): Add __fpu_control.
	* elf/elf.h: Add AT_FPUCW.
	* elf/Makefile (dl-routines): Add fpu_control.
	(elide-routines.os): Add fpu_control.
	(rtld-routines): Add fpu_control.
	* math/Makefile (aux): Remove fpu_control.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle AT_FPUCW.
	(_dl_show_auxv): Likewise.
	* sysdeps/unix/sysv/linux/init-first.c (init): Use __setfpucw only
	if different from OS default.

	* stdio-common/tstscanf.c: Add test case for (nil).
Diffstat (limited to 'elf')
-rw-r--r--elf/Makefile8
-rw-r--r--elf/Versions2
-rw-r--r--elf/elf.h4
3 files changed, 10 insertions, 4 deletions
diff --git a/elf/Makefile b/elf/Makefile
index ddd9d222fb..6da5e8cdb9 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -28,13 +28,15 @@ routines	= $(dl-routines) dl-open dl-close dl-symbol dl-support \
 # profiled libraries.
 dl-routines	= $(addprefix dl-,load cache lookup object reloc deps \
 			          runtime error init fini debug misc \
-				  version profile)
+				  version profile) \
+		  fpu_control
 # But they are absent from the shared libc, because that code is in ld.so.
-elide-routines.os = $(dl-routines) dl-support enbl-secure
+elide-routines.os = $(dl-routines) dl-support enbl-secure fpu_control
 
 # ld.so uses those routines, plus some special stuff for being the program
 # interpreter and operating independent of libc.
-rtld-routines	:= rtld $(dl-routines) dl-sysdep dl-environ dl-minimal
+rtld-routines	:= rtld $(dl-routines) dl-sysdep dl-environ dl-minimal \
+		   fpu_control
 distribute	= $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
 		  dl-hash.h soinit.c sofini.c ldd.bash.in eval.c \
 		  genrtldtbl.awk atomicity.h dl-procinfo.h ldsodefs.h \
diff --git a/elf/Versions b/elf/Versions
index 29795cef4c..2c93632a2b 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;
+    _dl_loaded; _dl_main_searchlist; __fpu_control;
 
     # functions used in other libraries
     _dl_mcount; _dl_mcount_wrapper; _dl_mcount_wrapper_check; _dl_unload_cache;
diff --git a/elf/elf.h b/elf/elf.h
index a797cb520b..7a53c77423 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -777,6 +777,10 @@ typedef struct
 #define AT_HWCAP	16		/* Machine dependent hints about
 					   processor capabilities.  */
 
+/* This entry gives some information about the FPU initialization
+   performed by the kernel.  */
+#define AT_FPUCW	17		/* Used FPU control word.  */
+
 
 /* Note section contents.  Each entry in the note section begins with
    a header of a fixed form.  */