vmlinux.lds.S 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #include <asm-generic/vmlinux.lds.h>
  3. #include <asm/vmlinux.lds.h>
  4. OUTPUT_FORMAT("elf64-s390", "elf64-s390", "elf64-s390")
  5. OUTPUT_ARCH(s390:64-bit)
  6. ENTRY(startup)
  7. SECTIONS
  8. {
  9. . = 0;
  10. .head.text : {
  11. _head = . ;
  12. HEAD_TEXT
  13. _ehead = . ;
  14. }
  15. .text : {
  16. _text = .; /* Text */
  17. *(.text)
  18. *(.text.*)
  19. _etext = . ;
  20. }
  21. .rodata : {
  22. _rodata = . ;
  23. *(.rodata) /* read-only data */
  24. *(.rodata.*)
  25. _erodata = . ;
  26. }
  27. .data : {
  28. _data = . ;
  29. *(.data)
  30. *(.data.*)
  31. _edata = . ;
  32. }
  33. BOOT_DATA
  34. /*
  35. * uncompressed image info used by the decompressor it should match
  36. * struct vmlinux_info. It comes from .vmlinux.info section of
  37. * uncompressed vmlinux in a form of info.o
  38. */
  39. . = ALIGN(8);
  40. .vmlinux.info : {
  41. _vmlinux_info = .;
  42. *(.vmlinux.info)
  43. }
  44. #ifdef CONFIG_KERNEL_UNCOMPRESSED
  45. . = 0x100000;
  46. #else
  47. . = ALIGN(8);
  48. #endif
  49. .rodata.compressed : {
  50. _compressed_start = .;
  51. *(.vmlinux.bin.compressed)
  52. _compressed_end = .;
  53. }
  54. . = ALIGN(256);
  55. .bss : {
  56. _bss = . ;
  57. *(.bss)
  58. *(.bss.*)
  59. *(COMMON)
  60. . = ALIGN(8); /* For convenience during zeroing */
  61. _ebss = .;
  62. }
  63. _end = .;
  64. /* Sections to be discarded */
  65. /DISCARD/ : {
  66. *(.eh_frame)
  67. *(__ex_table)
  68. *(*__ksymtab*)
  69. *(___kcrctab*)
  70. }
  71. }