From 0b6301682ba9d0e246a52e9039ff40dedc719a80 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Fri, 5 May 2000 15:33:39 +0000 Subject: [PATCH] Update. * sysdeps/generic/dl-procinfo.h (_DL_HWCAP_COUNT): New. (_dl_string_hwcap): New, does nothing. * sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_DL_HWCAP_COUNT): New. (_dl_procinfo): Use _DL_HWCAP_COUNT instead of a constant. (_dl_string_hwcap): New function, converts from string to hwcap encoding. * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h (_DL_HWCAP_COUNT): New. (_dl_procinfo): Use _DL_HWCAP_COUNT instead of a constant. (_dl_string_hwcap): New function, converts from string to hwcap encoding. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h (_DL_HWCAP_COUNT): New. (_dl_procinfo): Use _DL_HWCAP_COUNT instead of a constant. (_dl_string_hwcap): New function, converts from string to hwcap encoding. --- ChangeLog | 19 +++++++++++++++++++ sysdeps/generic/dl-procinfo.h | 7 ++++++- sysdeps/unix/sysv/linux/i386/dl-procinfo.h | 19 +++++++++++++++++-- sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h | 18 ++++++++++++++++-- sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h | 19 +++++++++++++++++-- 5 files changed, 75 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 693ca9e..f7cadf9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,25 @@ * misc/tst-tsearch.c (main): Correct type for initstate argument. + * sysdeps/generic/dl-procinfo.h (_DL_HWCAP_COUNT): New. + (_dl_string_hwcap): New, does nothing. + + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_DL_HWCAP_COUNT): + New. + (_dl_procinfo): Use _DL_HWCAP_COUNT instead of a constant. + (_dl_string_hwcap): New function, converts from string to hwcap + encoding. + * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h (_DL_HWCAP_COUNT): + New. + (_dl_procinfo): Use _DL_HWCAP_COUNT instead of a constant. + (_dl_string_hwcap): New function, converts from string to hwcap + encoding. + * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h (_DL_HWCAP_COUNT): + New. + (_dl_procinfo): Use _DL_HWCAP_COUNT instead of a constant. + (_dl_string_hwcap): New function, converts from string to hwcap + encoding. + 2000-05-05 Ulrich Drepper * elf/Makefile (distribute): Add dl-lookupcfg.h. diff --git a/sysdeps/generic/dl-procinfo.h b/sysdeps/generic/dl-procinfo.h index 5592ec0..180a08b 100644 --- a/sysdeps/generic/dl-procinfo.h +++ b/sysdeps/generic/dl-procinfo.h @@ -1,5 +1,5 @@ /* Stub version of processor capability information handling macros. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -30,4 +30,9 @@ /* By default there is no important hardware capability. */ #define HWCAP_IMPORTANT (0) +/* We don't have any hardware capabilities. */ +#define _DL_HWCAP_COUNT 0 + +#define _dl_string_hwcap(str) (-1) + #endif /* dl-procinfo.h */ diff --git a/sysdeps/unix/sysv/linux/i386/dl-procinfo.h b/sysdeps/unix/sysv/linux/i386/dl-procinfo.h index 7624cbc..566b76b 100644 --- a/sysdeps/unix/sysv/linux/i386/dl-procinfo.h +++ b/sysdeps/unix/sysv/linux/i386/dl-procinfo.h @@ -1,5 +1,5 @@ /* Linux/i386 version of processor capability information handling macros. - Copyright (C) 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -30,6 +30,7 @@ static const char x86_cap_flags[][7] = "pat", "pse36", "18", "19", "20", "21", "22", "mmx", "osfxsr", "25", "26", "27", "28", "29", "30", "amd3d" }; +#define _DL_HWCAP_COUNT 32 static inline int __attribute__ ((unused)) @@ -41,7 +42,7 @@ _dl_procinfo (int word) _dl_sysdep_message ("AT_HWCAP: ", NULL); - for (i = 0; i < 32; ++i) + for (i = 0; i < _DL_HWCAP_COUNT; ++i) if (word & (1 << i)) _dl_sysdep_message (" ", x86_cap_flags[i], NULL); @@ -83,4 +84,18 @@ enum HWCAP_IMPORTANT = (HWCAP_I386_MMX) }; +static inline int +__attribute__ ((unused)) +_dl_string_hwcap (const char *str) +{ + int i; + + for (i = 0; i < _DL_HWCAP_COUNT; i++) + { + if (strcmp (str, x86_cap_flags[i]) == 0) + return i; + } + return -1; +}; + #endif /* dl-procinfo.h */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h b/sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h index 8d6ba28..8a825a6 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h @@ -1,5 +1,5 @@ /* Linux/sparc32 version of processor capability information handling macros. - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 1999. @@ -27,6 +27,7 @@ static const char sparc32_cap_flags[][7] = { "flush", "stbar", "swap", "muldiv", "v9" }; +#define _DL_HWCAP_COUNT 5 static inline int __attribute__ ((unused)) @@ -36,7 +37,7 @@ _dl_procinfo (int word) _dl_sysdep_message ("AT_HWCAP: ", NULL); - for (i = 0; i < 5; ++i) + for (i = 0; i < _DL_HWCAP_COUNT; ++i) if (word & (1 << i)) _dl_sysdep_message (" ", sparc32_cap_flags[i], NULL); @@ -52,6 +53,19 @@ _dl_hwcap_string (int idx) return sparc32_cap_flags[idx]; }; +static inline int +__attribute__ ((unused)) +_dl_string_hwcap (const char *str) +{ + int i; + for (i = 0; i < _DL_HWCAP_COUNT; i++) + { + if (strcmp (str, sparc32_cap_flags [i]) == 0) + return i; + } + return -1; +}; + #define HWCAP_IMPORTANT (HWCAP_SPARC_V9) #endif /* dl-procinfo.h */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h b/sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h index 824d847..7825937 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h @@ -1,5 +1,5 @@ /* Linux/sparc64 version of processor capability information handling macros. - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 1999. @@ -27,6 +27,7 @@ static const char sparc64_cap_flags[][7] = { "flush", "stbar", "swap", "muldiv", "v9" }; +#define _DL_HWCAP_COUNT 5 static inline int __attribute__ ((unused)) @@ -36,7 +37,7 @@ _dl_procinfo (int word) _dl_sysdep_message ("AT_HWCAP: ", NULL); - for (i = 0; i < 5; ++i) + for (i = 0; i < _DL_HWCAP_COUNT; ++i) if (word & (1 << i)) _dl_sysdep_message (" ", sparc64_cap_flags[i], NULL); @@ -52,6 +53,20 @@ _dl_hwcap_string (int idx) return sparc64_cap_flags[idx]; }; + +static inline int +__attribute__ ((unused)) +_dl_string_hwcap (const char *str) +{ + int i; + for (i = 0; i < _DL_HWCAP_COUNT; i++) + { + if (strcmp (str, sparc64_cap_flags [i]) == 0) + return i; + } + return -1; +}; + #define HWCAP_IMPORTANT (0) #endif /* dl-procinfo.h */ -- 2.7.4