aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2003-09-25 03:55:10 +0000
committerRoland McGrath <roland@gnu.org>2003-09-25 03:55:10 +0000
commitfca9d8e489ecdaaef96861e879658425e2db1297 (patch)
treebc420e316215d12790e04fda42347f5002fc2056 /sysdeps/unix
parent00700865648c2040c97608834076a700b2ee673f (diff)
downloadglibc-fca9d8e489ecdaaef96861e879658425e2db1297.tar
glibc-fca9d8e489ecdaaef96861e879658425e2db1297.tar.gz
glibc-fca9d8e489ecdaaef96861e879658425e2db1297.tar.bz2
glibc-fca9d8e489ecdaaef96861e879658425e2db1297.zip
* sysdeps/mach/hurd/bits/libc-lock.h
(__libc_cleanup_push, __libc_cleanup_pop): New macros. 2003-08-01 Alfred M. Szmidt <ams@kemisten.nu> * sysdeps/i386/dl-procinfo.h: New file, contents taken from ... * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: ... here. #include_next dl-procinfo.h to get them. (_DL_HWCAP_COUNT): Moved to sysdeps/i386/dl-procinfo.h. (_DL_PLATFORMS_COUNT): Likewise. (_DL_FIRST_PLATFORM): Likewise. (_DL_HWCAP_PLATFORM): Likewise. (HWCAP_I386_FPU, HWCAP_I386_VME, HWCAP_I386_DE, HWCAP_I386_PSE, HWCAP_I386_TSC, HWCAP_I386_MSR, HWCAP_I386_PAE, HWCAP_I386_MCE, HWCAP_I386_CX8, HWCAP_I386_APIC, HWCAP_I386_SEP, HWCAP_I386_MTRR, HWCAP_I386_PGE, HWCAP_I386_MCA, HWCAP_I386_CMOV, HWCAP_I386_FCMOV, HWCAP_I386_MMX, HWCAP_I386_OSFXSR, HWCAP_I386_XMM, HWCAP_I386_XMM2, HWCAP_I386_AMD3D, HWCAP_IMPORTANT): Likewise. (_DL_PROCINFO_H_): Likewise. (_dl_hwcap_string, _dl_platform_string, _dl_string_hwcap): Likewise. (_dl_string_platform): Likewise. * sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Moved to ... * sysdeps/i386/dl-procinfo.c: ... here, new file.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/i386/dl-procinfo.c83
-rw-r--r--sysdeps/unix/sysv/linux/i386/dl-procinfo.h90
2 files changed, 2 insertions, 171 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/dl-procinfo.c b/sysdeps/unix/sysv/linux/i386/dl-procinfo.c
deleted file mode 100644
index 3b1f9bb25e..0000000000
--- a/sysdeps/unix/sysv/linux/i386/dl-procinfo.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Data for Linux/i386 version of processor capability information.
- Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* This information must be kept in sync with the _DL_HWCAP_COUNT and
- _DL_PLATFORM_COUNT definitions in procinfo.h.
-
- If anything should be added here check whether the size of each string
- is still ok with the given array size.
-
- All the #ifdefs in the definitions ar equite irritating but
- necessary if we want to avoid duplicating the information. There
- are three different modes:
-
- - PROCINFO_DECL is defined. This means we are only interested in
- declarations.
-
- - PROCINFO_DECL is not defined:
-
- + if SHARED is defined the file is included in an array
- initializer. The .element = { ... } syntax is needed.
-
- + if SHARED is not defined a normal array initialization is
- needed.
- */
-
-#ifndef PROCINFO_CLASS
-#define PROCINFO_CLASS
-#endif
-
-#if !defined PROCINFO_DECL && defined SHARED
- ._dl_x86_cap_flags
-#else
-PROCINFO_CLASS const char _dl_x86_cap_flags[32][8]
-#endif
-#ifndef PROCINFO_DECL
-= {
- "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce",
- "cx8", "apic", "10", "sep", "mtrr", "pge", "mca", "cmov",
- "pat", "pse36", "pn", "clflush", "20", "dts", "acpi", "mmx",
- "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", "pbe"
- }
-#endif
-#if !defined SHARED || defined PROCINFO_DECL
-;
-#else
-,
-#endif
-
-#if !defined PROCINFO_DECL && defined SHARED
- ._dl_x86_platforms
-#else
-PROCINFO_CLASS const char _dl_x86_platforms[4][5]
-#endif
-#ifndef PROCINFO_DECL
-= {
- "i386", "i486", "i586", "i686"
- }
-#endif
-#if !defined SHARED || defined PROCINFO_DECL
-;
-#else
-,
-#endif
-
-#undef PROCINFO_DECL
-#undef PROCINFO_CLASS
diff --git a/sysdeps/unix/sysv/linux/i386/dl-procinfo.h b/sysdeps/unix/sysv/linux/i386/dl-procinfo.h
index 3ffca4abc5..de12a1522b 100644
--- a/sysdeps/unix/sysv/linux/i386/dl-procinfo.h
+++ b/sysdeps/unix/sysv/linux/i386/dl-procinfo.h
@@ -18,22 +18,11 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#ifndef _DL_PROCINFO_H
-#define _DL_PROCINFO_H 1
-
+#include_next <dl-procinfo.h>
#include <ldsodefs.h>
-#define _DL_HWCAP_COUNT 32
-
-#define _DL_PLATFORMS_COUNT 4
-
-/* Start at 48 to reserve some space. */
-#define _DL_FIRST_PLATFORM 48
-/* Mask to filter out platforms. */
-#define _DL_HWCAP_PLATFORM (((1ULL << _DL_PLATFORMS_COUNT) - 1) \
- << _DL_FIRST_PLATFORM)
-
+#undef _dl_procinfo
static inline int
__attribute__ ((unused))
_dl_procinfo (int word)
@@ -52,78 +41,3 @@ _dl_procinfo (int word)
return 0;
}
-
-static inline const char *
-__attribute__ ((unused))
-_dl_hwcap_string (int idx)
-{
- return GL(dl_x86_cap_flags)[idx];
-};
-
-static inline const char *
-__attribute__ ((unused))
-_dl_platform_string (int idx)
-{
- return GL(dl_x86_platforms)[idx - _DL_FIRST_PLATFORM];
-};
-
-enum
-{
- HWCAP_I386_FPU = 1 << 0,
- HWCAP_I386_VME = 1 << 1,
- HWCAP_I386_DE = 1 << 2,
- HWCAP_I386_PSE = 1 << 3,
- HWCAP_I386_TSC = 1 << 4,
- HWCAP_I386_MSR = 1 << 5,
- HWCAP_I386_PAE = 1 << 6,
- HWCAP_I386_MCE = 1 << 7,
- HWCAP_I386_CX8 = 1 << 8,
- HWCAP_I386_APIC = 1 << 9,
- HWCAP_I386_SEP = 1 << 11,
- HWCAP_I386_MTRR = 1 << 12,
- HWCAP_I386_PGE = 1 << 13,
- HWCAP_I386_MCA = 1 << 14,
- HWCAP_I386_CMOV = 1 << 15,
- HWCAP_I386_FCMOV = 1 << 16,
- HWCAP_I386_MMX = 1 << 23,
- HWCAP_I386_OSFXSR = 1 << 24,
- HWCAP_I386_XMM = 1 << 25,
- HWCAP_I386_XMM2 = 1 << 26,
- HWCAP_I386_AMD3D = 1 << 31,
-
- /* XXX Which others to add here? */
- HWCAP_IMPORTANT = (HWCAP_I386_MMX)
-
-};
-
-static inline int
-__attribute__ ((unused, always_inline))
-_dl_string_hwcap (const char *str)
-{
- int i;
-
- for (i = 0; i < _DL_HWCAP_COUNT; i++)
- {
- if (strcmp (str, GL(dl_x86_cap_flags)[i]) == 0)
- return i;
- }
- return -1;
-};
-
-
-static inline int
-__attribute__ ((unused, always_inline))
-_dl_string_platform (const char *str)
-{
- int i;
-
- if (str != NULL)
- for (i = 0; i < _DL_PLATFORMS_COUNT; ++i)
- {
- if (strcmp (str, GL(dl_x86_platforms)[i]) == 0)
- return _DL_FIRST_PLATFORM + i;
- }
- return -1;
-};
-
-#endif /* dl-procinfo.h */