vmlinux.lds.S 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #include <asm-generic/vmlinux.lds.h>
  3. OUTPUT_FORMAT("elf64-s390", "elf64-s390", "elf64-s390")
  4. OUTPUT_ARCH(s390:64-bit)
  5. ENTRY(startup)
  6. SECTIONS
  7. {
  8. /* Be careful parts of head_64.S assume startup_32 is at
  9. * address 0.
  10. */
  11. . = 0;
  12. .head.text : {
  13. _head = . ;
  14. HEAD_TEXT
  15. _ehead = . ;
  16. }
  17. .text : {
  18. _text = .; /* Text */
  19. *(.text)
  20. *(.text.*)
  21. _etext = . ;
  22. }
  23. .rodata : {
  24. _rodata = . ;
  25. *(.rodata) /* read-only data */
  26. *(EXCLUDE_FILE (*piggy.o) .rodata.compressed)
  27. _erodata = . ;
  28. }
  29. .data : {
  30. _data = . ;
  31. *(.data)
  32. *(.data.*)
  33. _edata = . ;
  34. }
  35. startup_continue = 0x100000;
  36. #ifdef CONFIG_KERNEL_UNCOMPRESSED
  37. . = 0x100000;
  38. #else
  39. . = ALIGN(8);
  40. #endif
  41. .rodata.compressed : {
  42. *(.rodata.compressed)
  43. }
  44. . = ALIGN(256);
  45. .bss : {
  46. _bss = . ;
  47. *(.bss)
  48. *(.bss.*)
  49. *(COMMON)
  50. . = ALIGN(8); /* For convenience during zeroing */
  51. _ebss = .;
  52. }
  53. _end = .;
  54. /* Sections to be discarded */
  55. /DISCARD/ : {
  56. *(.eh_frame)
  57. *(__ex_table)
  58. *(*__ksymtab*)
  59. *(___kcrctab*)
  60. }
  61. }