Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 17 Jul 2001 19:47:50 +0000 (19:47 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 17 Jul 2001 19:47:50 +0000 (19:47 +0000)
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.

ChangeLog
elf/ldconfig.c

index 69fc596..8325212 100644 (file)
--- 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.
index 7faea56..5147b22 100644 (file)
@@ -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.  */