summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-07-17 19:47:50 +0000
committerUlrich Drepper <drepper@redhat.com>2001-07-17 19:47:50 +0000
commit0cfbb8c6ed421830ba951ad2ff7fea26167eb561 (patch)
tree077ad77c3ae7b1781eb8e0cf396154073bbf1862
parente84ba51a3b64fae0f0733a035cedf827627be06e (diff)
downloadglibc-0cfbb8c6ed421830ba951ad2ff7fea26167eb561.tar.gz
Update.
2001-07-17 Andreas Jaeger <aj@suse.de> * elf/ldconfig.c: Add new variable hwcap_mask to honour LD_HWCAP_MASK. (is_hwcap_platform): Use it. (set_hwcap): New function to set hwcap_mask. (main): Call set_hwcap. 2001-07-17 Jakub Jelinek <jakub@redhat.com> * time/getdate.c (__getdate_r): Initialize tm_isdst, tm_gmtoff and tm_zone before calling strptime.
-rw-r--r--ChangeLog12
-rw-r--r--elf/ldconfig.c17
2 files changed, 28 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 69fc596cff..83252126ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2001-07-17 Andreas Jaeger <aj@suse.de>
+
+ * elf/ldconfig.c: Add new variable hwcap_mask to honour LD_HWCAP_MASK.
+ (is_hwcap_platform): Use it.
+ (set_hwcap): New function to set hwcap_mask.
+ (main): Call set_hwcap.
+
+2001-07-17 Jakub Jelinek <jakub@redhat.com>
+
+ * time/getdate.c (__getdate_r): Initialize tm_isdst, tm_gmtoff and
+ tm_zone before calling strptime.
+
2001-07-17 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/m68k/getpagesize.c: Fix last change.
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index 7faea56369..5147b22fcc 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -107,6 +107,9 @@ static char *cache_file;
/* Configuration file. */
static const char *config_file;
+/* Mask to use for important hardware capabilities. */
+static unsigned long int hwcap_mask = HWCAP_IMPORTANT;
+
/* Name and version of program. */
static void print_version (FILE *stream, struct argp_state *state);
void (*argp_program_version_hook) (FILE *, struct argp_state *)
@@ -147,7 +150,7 @@ is_hwcap_platform (const char *name)
{
int hwcap_idx = _dl_string_hwcap (name);
- if (hwcap_idx != -1 && ((1 << hwcap_idx) & HWCAP_IMPORTANT))
+ if (hwcap_idx != -1 && ((1 << hwcap_idx) & hwcap_mask))
return 1;
hwcap_idx = _dl_string_platform (name);
@@ -934,6 +937,16 @@ parse_conf (const char *filename)
fclose (file);
}
+/* Honour LD_HWCAP_MASK. */
+static void
+set_hwcap (void)
+{
+ char *mask = getenv ("LD_HWCAP_MASK");
+
+ if (mask)
+ hwcap_mask = strtoul (mask, NULL, 0);
+}
+
int
main (int argc, char **argv)
@@ -952,6 +965,8 @@ main (int argc, char **argv)
add_dir (argv[i]);
}
+ set_hwcap ();
+
if (opt_chroot)
{
/* Normalize the path a bit, we might need it for printing later. */