1*0cd327beSmlelstv/* $NetBSD: ldscript.zaurus,v 1.13 2023/02/11 22:42:20 mlelstv Exp $ */ 29587ee65Snonaka 39587ee65SnonakaENTRY(KERNEL_BASE_phys) 49587ee65SnonakaSECTIONS 59587ee65Snonaka{ 6*0cd327beSmlelstv KERNEL_BASE_phys = @KERNEL_BASE_PHYS@; 7*0cd327beSmlelstv KERNEL_BASE_virt = @KERNEL_BASE_VIRT@; 8*0cd327beSmlelstv 99587ee65Snonaka /* Kernel start: */ 10*0cd327beSmlelstv .start (KERNEL_BASE_phys) : 119587ee65Snonaka { 129587ee65Snonaka *(.start) 138e8896caSuebayasi } 149587ee65Snonaka 159587ee65Snonaka /* Read-only sections, merged into text segment: */ 16*0cd327beSmlelstv .text (KERNEL_BASE_virt + SIZEOF(.start)) : 17*0cd327beSmlelstv AT (LOADADDR(.start) + SIZEOF(.start)) 189587ee65Snonaka { 199587ee65Snonaka *(.text) 209587ee65Snonaka *(.text.*) 219587ee65Snonaka *(.stub) 229587ee65Snonaka *(.glue_7t) *(.glue_7) 239587ee65Snonaka *(.rodata) *(.rodata.*) 248e8896caSuebayasi } 259587ee65Snonaka PROVIDE (__etext = .); 269587ee65Snonaka PROVIDE (_etext = .); 279587ee65Snonaka PROVIDE (etext = .); 289587ee65Snonaka /* Adjust the address for the data segment to start on the next page 299587ee65Snonaka boundary. */ 309587ee65Snonaka . = ALIGN(0x8000); 319587ee65Snonaka .data : 329587ee65Snonaka { 339587ee65Snonaka __data_start = . ; 349587ee65Snonaka *(.data) 359587ee65Snonaka *(.data.*) 369587ee65Snonaka } 379587ee65Snonaka .sdata : 389587ee65Snonaka { 399587ee65Snonaka *(.sdata) 409587ee65Snonaka *(.sdata.*) 419587ee65Snonaka } 429587ee65Snonaka _edata = .; 439587ee65Snonaka PROVIDE (edata = .); 449587ee65Snonaka __bss_start = .; 459587ee65Snonaka __bss_start__ = .; 469587ee65Snonaka .sbss : 479587ee65Snonaka { 489587ee65Snonaka PROVIDE (__sbss_start = .); 499587ee65Snonaka PROVIDE (___sbss_start = .); 509587ee65Snonaka *(.dynsbss) 519587ee65Snonaka *(.sbss) 529587ee65Snonaka *(.sbss.*) 539587ee65Snonaka *(.scommon) 549587ee65Snonaka PROVIDE (__sbss_end = .); 559587ee65Snonaka PROVIDE (___sbss_end = .); 569587ee65Snonaka } 579587ee65Snonaka .bss : 589587ee65Snonaka { 599587ee65Snonaka *(.dynbss) 609587ee65Snonaka *(.bss) 619587ee65Snonaka *(.bss.*) 629587ee65Snonaka *(COMMON) 639587ee65Snonaka /* Align here to ensure that the .bss section occupies space up to 649587ee65Snonaka _end. Align after .bss to ensure correct alignment even if the 659587ee65Snonaka .bss section disappears because there are no input sections. */ 669587ee65Snonaka . = ALIGN(32 / 8); 679587ee65Snonaka } 689587ee65Snonaka . = ALIGN(32 / 8); 699587ee65Snonaka _end = .; 709587ee65Snonaka _bss_end__ = . ; __bss_end__ = . ; __end__ = . ; 719587ee65Snonaka PROVIDE (end = .); 729587ee65Snonaka .note.netbsd.ident : 739587ee65Snonaka { 749587ee65Snonaka KEEP(*(.note.netbsd.ident)); 759587ee65Snonaka } 76c4e471c4Schristos /DISCARD/ : { 77c4e471c4Schristos *(.eh_frame_hdr) 78c4e471c4Schristos *(.eh_frame) 79c6362a3cSmartin *(.SUNW_ctf) 80c4e471c4Schristos } 819587ee65Snonaka} 82