dl-procruntime.c 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /* Data for processor runtime information. x86-64 version.
  2. Copyright (C) 2018-2026 Free Software Foundation, Inc.
  3. This file is part of the GNU C Library.
  4. The GNU C Library is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU Lesser General Public
  6. License as published by the Free Software Foundation; either
  7. version 2.1 of the License, or (at your option) any later version.
  8. The GNU C Library is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. Lesser General Public License for more details.
  12. You should have received a copy of the GNU Lesser General Public
  13. License along with the GNU C Library; if not, see
  14. <https://www.gnu.org/licenses/>. */
  15. /* This information must be kept in sync with the _DL_HWCAP_COUNT
  16. definition in dl-hwcap.h.
  17. If anything should be added here check whether the size of each string
  18. is still ok with the given array size.
  19. All the #ifdefs in the definitions are quite irritating but
  20. necessary if we want to avoid duplicating the information. There
  21. are three different modes:
  22. - PROCINFO_DECL is defined. This means we are only interested in
  23. declarations.
  24. - PROCINFO_DECL is not defined:
  25. + if SHARED is defined the file is included in an array
  26. initializer. The .element = { ... } syntax is needed.
  27. + if SHARED is not defined a normal array initialization is
  28. needed.
  29. */
  30. #ifndef PROCINFO_CLASS
  31. # define PROCINFO_CLASS
  32. #endif
  33. #if !IS_IN (ldconfig)
  34. # if !defined PROCINFO_DECL && defined SHARED
  35. ._dl_x86_feature_1
  36. # else
  37. PROCINFO_CLASS unsigned int _dl_x86_feature_1
  38. # endif
  39. # ifndef PROCINFO_DECL
  40. = 0
  41. # endif
  42. # if !defined SHARED || defined PROCINFO_DECL
  43. ;
  44. # else
  45. ,
  46. # endif
  47. # if !defined PROCINFO_DECL && defined SHARED
  48. ._dl_x86_feature_control
  49. # else
  50. PROCINFO_CLASS struct dl_x86_feature_control _dl_x86_feature_control
  51. # endif
  52. # ifndef PROCINFO_DECL
  53. = {
  54. .ibt = DEFAULT_DL_X86_CET_CONTROL,
  55. .shstk = DEFAULT_DL_X86_CET_CONTROL,
  56. .plt_rewrite = plt_rewrite_none,
  57. }
  58. # endif
  59. # if !defined SHARED || defined PROCINFO_DECL
  60. ;
  61. # else
  62. ,
  63. # endif
  64. #endif