This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Here's a first patch for the new ldconfig with hwcaps. This adds a conversion from strings to indices which I need. Uli, can I commit this? Andreas 2000-05-05 Andreas Jaeger <aj@suse.de> * 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. ============================================================ Index: sysdeps/generic/dl-procinfo.h --- sysdeps/generic/dl-procinfo.h 1998/04/03 11:08:28 1.3 +++ sysdeps/generic/dl-procinfo.h 2000/05/05 09:07:58 @@ -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 <drepper@cygnus.com>, 1998. @@ -29,5 +29,10 @@ /* 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 */ ============================================================ Index: sysdeps/unix/sysv/linux/i386/dl-procinfo.h --- sysdeps/unix/sysv/linux/i386/dl-procinfo.h 1999/04/28 23:06:40 1.5 +++ sysdeps/unix/sysv/linux/i386/dl-procinfo.h 2000/05/05 09:07:58 @@ -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 <drepper@cygnus.com>, 1998. @@ -30,6 +30,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_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); @@ -81,6 +82,20 @@ /* XXX Which others to add here? */ 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 */ ============================================================ Index: sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h --- sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h 1999/04/14 15:48:06 1.1 +++ sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h 2000/05/05 09:07:58 @@ -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 <jj@ultra.linux.cz>, 1999. @@ -27,6 +27,7 @@ { "flush", "stbar", "swap", "muldiv", "v9" }; +#define _DL_HWCAP_COUNT 5 static inline int __attribute__ ((unused)) @@ -36,7 +37,7 @@ _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); @@ -50,6 +51,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) ============================================================ Index: sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h --- sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h 1999/04/14 15:48:06 1.1 +++ sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h 2000/05/05 09:07:58 @@ -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 <jj@ultra.linux.cz>, 1999. @@ -27,6 +27,7 @@ { "flush", "stbar", "swap", "muldiv", "v9" }; +#define _DL_HWCAP_COUNT 5 static inline int __attribute__ ((unused)) @@ -36,7 +37,7 @@ _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); @@ -50,6 +51,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) -- Andreas Jaeger SuSE Labs aj@suse.de
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |