diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-07-17 19:47:50 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-07-17 19:47:50 +0000 |
commit | 0cfbb8c6ed421830ba951ad2ff7fea26167eb561 (patch) | |
tree | 077ad77c3ae7b1781eb8e0cf396154073bbf1862 | |
parent | e84ba51a3b64fae0f0733a035cedf827627be06e (diff) | |
download | glibc-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-- | ChangeLog | 12 | ||||
-rw-r--r-- | elf/ldconfig.c | 17 |
2 files changed, 28 insertions, 1 deletions
@@ -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. */ |