about summary refs log tree commit diff
path: root/sysdeps/generic
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-12-19 00:03:48 +0000
committerUlrich Drepper <drepper@redhat.com>2002-12-19 00:03:48 +0000
commit5e2891795021a78fb975c55377d05919f4dae0c0 (patch)
tree96a489631b86637855d8e25e12a728d10525549d /sysdeps/generic
parent3d53957913ab331dbdecaa2587d9aafd07d88eac (diff)
downloadglibc-5e2891795021a78fb975c55377d05919f4dae0c0.tar.gz
glibc-5e2891795021a78fb975c55377d05919f4dae0c0.tar.xz
glibc-5e2891795021a78fb975c55377d05919f4dae0c0.zip
Update.
2002-12-18  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-support.c [NEED_DL_SYSINFO]: Define and initialize
	_dl_sysinfo.
	[DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
	code.
	* elf/rtld.c [DL_NEED_SYSINFO]: Initialize _dl_sysinfo element of
	_rtld_global.
	[DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
	code.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
	Check for AT_SYSINFO and set _dl_sysinfo appropriately.
	* sysdeps/generic/ldsodefs.h (struct rtld_global) [NEED_DL_SYSINFO]:
	Add _dl_sysinfo.
Diffstat (limited to 'sysdeps/generic')
-rw-r--r--sysdeps/generic/dl-sysdep.c5
-rw-r--r--sysdeps/generic/ldsodefs.h5
2 files changed, 10 insertions, 0 deletions
diff --git a/sysdeps/generic/dl-sysdep.c b/sysdeps/generic/dl-sysdep.c
index 256eca5227..fbe5ad49e7 100644
--- a/sysdeps/generic/dl-sysdep.c
+++ b/sysdeps/generic/dl-sysdep.c
@@ -134,6 +134,11 @@ _dl_sysdep_start (void **start_argptr,
       case AT_FPUCW:
 	GL(dl_fpu_control) = av->a_un.a_val;
 	break;
+#ifdef NEED_DL_SYSINFO
+      case AT_SYSINFO:
+	GL(dl_sysinfo) = av->a_un.a_val;
+	break;
+#endif
       }
 
 #ifdef DL_SYSDEP_OSCHECK
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index a704644d6e..6150852ed9 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -384,6 +384,11 @@ struct rtld_global
   EXTERN size_t _dl_tls_generation;
 #endif
 
+#ifdef NEED_DL_SYSINFO
+  /* Syscall handling improvements.  This is very specific to x86.  */
+  EXTERN uintptr_t _dl_sysinfo;
+#endif
+
 #ifdef SHARED
 };
 # define __rtld_global_attribute__