aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386/dl-procinfo.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-02-01 07:49:47 +0000
committerUlrich Drepper <drepper@redhat.com>2002-02-01 07:49:47 +0000
commitccdf0cab1d670a05afff42b02c7583ccd23abde9 (patch)
tree728f8fc2797a2de2b94a0481b3af4c462e65fc7a /sysdeps/unix/sysv/linux/i386/dl-procinfo.c
parent5688da55372193e5941f0240e6ea759d28483970 (diff)
downloadglibc-ccdf0cab1d670a05afff42b02c7583ccd23abde9.tar
glibc-ccdf0cab1d670a05afff42b02c7583ccd23abde9.tar.gz
glibc-ccdf0cab1d670a05afff42b02c7583ccd23abde9.tar.bz2
glibc-ccdf0cab1d670a05afff42b02c7583ccd23abde9.zip
Update.
* elf/dl-minimal.c: Define _itoa for 32-bit machines with HP timing. * elf/dl-reloc.c: Pretty printing. * sysdeps/generic/ldsodefs.h: Move _dl_hp_timing_overhead and procinfo-related variables in rtld_global struct. * elf/dl-support.c: Likewise. * elf/rtld.c: Likewise. * sysdeps/i386/i686/Makefile: Likewise. * sysdeps/i386/i686/hp-timing.c: Likewise. * sysdeps/i386/i686/hp-timing.h: Likewise. * sysdeps/ia64/Makefile: Likewise. * sysdeps/ia64/hp-timing.c: Likewise. * sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise. * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise. * sysdeps/unix/sysv/linux/arm/dl-procinfo.c: Likewise. * sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise. * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. * sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise. * sysdeps/x86_64/Makefile: Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/dl-procinfo.c')
-rw-r--r--sysdeps/unix/sysv/linux/i386/dl-procinfo.c72
1 files changed, 59 insertions, 13 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/dl-procinfo.c b/sysdeps/unix/sysv/linux/i386/dl-procinfo.c
index 75732b4e48..2f2f736761 100644
--- a/sysdeps/unix/sysv/linux/i386/dl-procinfo.c
+++ b/sysdeps/unix/sysv/linux/i386/dl-procinfo.c
@@ -1,7 +1,7 @@
/* Data for Linux/i386 version of processor capability information.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 2001.
+ 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
@@ -19,20 +19,66 @@
02111-1307 USA. */
/* This information must be kept in sync with the _DL_HWCAP_COUNT and
- _DL_PLATFORM_COUNT definitions in procinfo.h. */
+ _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.
-/* If anything should be added here check whether the size of each string
- is still ok with the given array size. */
-const char _dl_x86_cap_flags[][7] =
- {
+ 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.
+ */
+
+#ifdef PROCINFO_DECL
+EXTERN
+#endif
+#if !defined PROCINFO_DECL && defined SHARED
+ ._dl_x86_cap_flags
+#else
+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", "psn", "19", "20", "21", "22", "mmx",
- "osfxsr", "xmm", "xmm2", "27", "28", "29", "30", "amd3d"
- };
+ "pat", "pse36", "pn", "clflush", "20", "dts", "acpi", "mmx",
+ "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", "amd3d"
+ }
+#endif
+#if !defined SHARED || defined PROCINFO_DECL
+;
+#else
+,
+#endif
-const char _dl_x86_platforms[][5] =
- {
+#ifdef PROCINFO_DECL
+EXTERN
+#endif
+#if !defined PROCINFO_DECL && defined SHARED
+ ._dl_x86_platforms
+#else
+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