Back to index

glibc  2.9
dl-procinfo.c
Go to the documentation of this file.
00001 /* Data for processor capability information.  PowerPC version.
00002    Copyright (C) 2005, 2006 Free Software Foundation, Inc.
00003    This file is part of the GNU C Library.
00004 
00005    The GNU C Library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Lesser General Public
00007    License as published by the Free Software Foundation; either
00008    version 2.1 of the License, or (at your option) any later version.
00009 
00010    The GNU C Library is distributed in the hope that it will be useful,
00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Lesser General Public License for more details.
00014 
00015    You should have received a copy of the GNU Lesser General Public
00016    License along with the GNU C Library; if not, write to the Free
00017    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00018    02111-1307 USA.  */
00019 
00020 /* This information must be kept in sync with the _DL_HWCAP_COUNT and
00021    _DL_PLATFORM_COUNT definitions in procinfo.h.
00022 
00023    If anything should be added here check whether the size of each string
00024    is still ok with the given array size.
00025 
00026    All the #ifdefs in the definitions are quite irritating but
00027    necessary if we want to avoid duplicating the information.  There
00028    are three different modes:
00029 
00030    - PROCINFO_DECL is defined.  This means we are only interested in
00031      declarations.
00032 
00033    - PROCINFO_DECL is not defined:
00034 
00035      + if SHARED is defined the file is included in an array
00036        initializer.  The .element = { ... } syntax is needed.
00037 
00038      + if SHARED is not defined a normal array initialization is
00039        needed.
00040   */
00041 
00042 #ifndef PROCINFO_CLASS
00043 # define PROCINFO_CLASS
00044 #endif
00045 
00046 #if !defined PROCINFO_DECL && defined SHARED
00047   ._dl_powerpc_cap_flags
00048 #else
00049 PROCINFO_CLASS const char _dl_powerpc_cap_flags[25][10]
00050 #endif
00051 #ifndef PROCINFO_DECL
00052 = {
00053     "vsx", 
00054     "arch_2_06", "power6x", "dfp", "pa6t",
00055     "arch_2_05", "ic_snoop", "smt", "booke",
00056     "cellbe", "power5+", "power5", "power4",
00057     "notb", "efpdouble", "efpsingle", "spe",
00058     "ucache", "4xxmac", "mmu", "fpu",
00059     "altivec", "ppc601", "ppc64", "ppc32",
00060   }
00061 #endif
00062 #if !defined SHARED || defined PROCINFO_DECL
00063 ;
00064 #else
00065 ,
00066 #endif
00067 
00068 #if !defined PROCINFO_DECL && defined SHARED
00069   ._dl_powerpc_platforms
00070 #else
00071 PROCINFO_CLASS const char _dl_powerpc_platforms[8][12]
00072 #endif
00073 #ifndef PROCINFO_DECL
00074 = {
00075     [PPC_PLATFORM_POWER4] = "power4",
00076     [PPC_PLATFORM_PPC970] = "ppc970",
00077     [PPC_PLATFORM_POWER5] = "power5",
00078     [PPC_PLATFORM_POWER5_PLUS] = "power5+",
00079     [PPC_PLATFORM_POWER6] = "power6",
00080     [PPC_PLATFORM_CELL_BE] = "ppc-cell-be",
00081     [PPC_PLATFORM_POWER6X] = "power6x",
00082     [PPC_PLATFORM_POWER7] = "power7"
00083   }
00084 #endif
00085 #if !defined SHARED || defined PROCINFO_DECL
00086 ;
00087 #else
00088 ,
00089 #endif
00090 
00091 #undef PROCINFO_DECL
00092 #undef PROCINFO_CLASS