vdso.lds 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /*
  2. * Copyright (C) 2018 Intel Corporation
  3. * Isaku Yamahata <isaku.yamahata at gmail.com>
  4. * <isaku.yamahata at intel.com>
  5. * All Rights Reserved.
  6. * This file is part of Graphene Library OS.
  7. *
  8. * Graphene Library OS is free software: you can redistribute it and/or
  9. * modify it under the terms of the GNU Lesser General Public License
  10. * as published by the Free Software Foundation, either version 3 of the
  11. * License, or (at your option) any later version.
  12. *
  13. * Graphene Library OS is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU Lesser General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU Lesser General Public License
  19. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  20. *
  21. * Linker script for Graphene vDSO emulation
  22. */
  23. PHDRS
  24. {
  25. text PT_LOAD FLAGS(5) FILEHDR PHDRS;
  26. dynamic PT_DYNAMIC FLAGS(4);
  27. note PT_NOTE FLAGS(4);
  28. eh_frame_hdr PT_GNU_EH_FRAME;
  29. }
  30. SECTIONS
  31. {
  32. . = SIZEOF_HEADERS;
  33. .hash : { *(.hash) } :text
  34. .gnu.hash : { *(.gnu.hash) }
  35. .dynsym : { *(.dynsym) }
  36. .dynstr : { *(.dynstr) }
  37. .gnu.version : { *(.gnu.version) }
  38. .gnu.version_d : { *(.gnu.version_d) }
  39. .gnu.version_r : { *(.gnu.version_r) }
  40. .dynamic : { *(.dynamic) } :text :dynamic
  41. .rodata : {
  42. *(.rodata*)
  43. *(.data*)
  44. *(.sdata*)
  45. *(.got.plt) *(.got)
  46. *(.gnu.linkonce.d.*)
  47. *(.bss*)
  48. *(.dynbss*)
  49. *(.gnu.linkonce.b.*)
  50. } : text
  51. .note : { *(.note.*) } :text :note
  52. .eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr
  53. .eh_frame : { KEEP (*(.eh_frame)) } :text
  54. .text : { *(.text*) } : text = 0x90909090,
  55. /DISCARD/ : {
  56. *(.discard)
  57. *(.discard.*)
  58. }
  59. }
  60. VERSION {
  61. LINUX_2.6 {
  62. global:
  63. clock_gettime;
  64. __vdso_clock_gettime;
  65. gettimeofday;
  66. __vdso_gettimeofday;
  67. getcpu;
  68. __vdso_getcpu;
  69. time;
  70. __vdso_time;
  71. __vdso_shim_clock_gettime;
  72. __vdso_shim_gettimeofday;
  73. __vdso_shim_getcpu;
  74. __vdso_shim_time;
  75. local: *;
  76. };
  77. }