1/* 2 * Linker Script for Suecreek. 3 * 4 * This script is run through the GNU C preprocessor to align the memory 5 * offsets with headers. 6 * 7 * Use spaces for formatting as cpp ignore tab sizes. 8 */ 9 10 11#include <sof/lib/memory.h> 12#include <xtensa/config/core-isa.h> 13 14OUTPUT_ARCH(xtensa) 15 16MEMORY 17{ 18 vector_reset_text : 19 org = XCHAL_RESET_VECTOR0_PADDR, 20 len = SOF_MEM_RESET_TEXT_SIZE 21 vector_reset_lit : 22 org = XCHAL_RESET_VECTOR0_PADDR + SOF_MEM_RESET_TEXT_SIZE, 23 len = SOF_MEM_RESET_LIT_SIZE 24 vector_memory_lit : 25 org = XCHAL_MEMERROR_VECTOR_PADDR + SOF_MEM_ERROR_LIT_SIZE, 26 len = SOF_MEM_ERROR_LIT_SIZE 27 vector_memory_text : 28 org = XCHAL_MEMERROR_VECTOR_PADDR, 29 len = SOF_MEM_ERROR_TEXT_SIZE 30 vector_base_text : 31 org = SOF_MEM_VECBASE, 32 len = SOF_MEM_VECBASE_LIT_SIZE 33 vector_int2_lit : 34 org = SOF_MEM_VECBASE + XCHAL_INTLEVEL2_VECOFS - SOF_MEM_VECT_LIT_SIZE, 35 len = SOF_MEM_VECT_LIT_SIZE 36 vector_int2_text : 37 org = SOF_MEM_VECBASE + XCHAL_INTLEVEL2_VECOFS, 38 len = SOF_MEM_VECT_TEXT_SIZE 39 vector_int3_lit : 40 org = SOF_MEM_VECBASE + XCHAL_INTLEVEL3_VECOFS - SOF_MEM_VECT_LIT_SIZE, 41 len = SOF_MEM_VECT_LIT_SIZE 42 vector_int3_text : 43 org = SOF_MEM_VECBASE + XCHAL_INTLEVEL3_VECOFS, 44 len = SOF_MEM_VECT_TEXT_SIZE 45 vector_int4_lit : 46 org = SOF_MEM_VECBASE + XCHAL_INTLEVEL4_VECOFS - SOF_MEM_VECT_LIT_SIZE, 47 len = SOF_MEM_VECT_LIT_SIZE 48 vector_int4_text : 49 org = SOF_MEM_VECBASE + XCHAL_INTLEVEL4_VECOFS, 50 len = SOF_MEM_VECT_TEXT_SIZE 51 vector_int5_lit : 52 org = SOF_MEM_VECBASE + XCHAL_INTLEVEL5_VECOFS - SOF_MEM_VECT_LIT_SIZE, 53 len = SOF_MEM_VECT_LIT_SIZE 54 vector_int5_text : 55 org = SOF_MEM_VECBASE + XCHAL_INTLEVEL5_VECOFS, 56 len = SOF_MEM_VECT_TEXT_SIZE 57 vector_int6_lit : 58 org = SOF_MEM_VECBASE + XCHAL_INTLEVEL6_VECOFS - SOF_MEM_VECT_LIT_SIZE, 59 len = SOF_MEM_VECT_LIT_SIZE 60 vector_int6_text : 61 org = SOF_MEM_VECBASE + XCHAL_INTLEVEL6_VECOFS, 62 len = SOF_MEM_VECT_TEXT_SIZE 63 vector_int7_lit : 64 org = SOF_MEM_VECBASE + XCHAL_INTLEVEL7_VECOFS - SOF_MEM_VECT_LIT_SIZE, 65 len = SOF_MEM_VECT_LIT_SIZE 66 vector_int7_text : 67 org = SOF_MEM_VECBASE + XCHAL_INTLEVEL7_VECOFS, 68 len = SOF_MEM_VECT_TEXT_SIZE 69 vector_kernel_lit : 70 org = SOF_MEM_VECBASE + XCHAL_KERNEL_VECOFS - SOF_MEM_VECT_LIT_SIZE, 71 len = SOF_MEM_VECT_LIT_SIZE 72 vector_kernel_text : 73 org = SOF_MEM_VECBASE + XCHAL_KERNEL_VECOFS, 74 len = SOF_MEM_VECT_TEXT_SIZE 75 vector_user_lit : 76 org = SOF_MEM_VECBASE + XCHAL_USER_VECOFS - SOF_MEM_VECT_LIT_SIZE, 77 len = SOF_MEM_VECT_LIT_SIZE 78 vector_user_text : 79 org = SOF_MEM_VECBASE + XCHAL_USER_VECOFS, 80 len = SOF_MEM_VECT_TEXT_SIZE 81 vector_double_lit : 82 org = SOF_MEM_VECBASE + XCHAL_DOUBLEEXC_VECOFS - SOF_MEM_VECT_LIT_SIZE, 83 len = SOF_MEM_VECT_LIT_SIZE 84 vector_double_text : 85 org = SOF_MEM_VECBASE + XCHAL_DOUBLEEXC_VECOFS, 86 len = SOF_MEM_VECT_TEXT_SIZE 87 sof_fw : 88 org = SOF_FW_BASE, 89 len = SOF_FW_MAX_SIZE, 90 static_uuid_entries_seg (!ari) : 91 org = UUID_ENTRY_ELF_BASE, 92 len = UUID_ENTRY_ELF_SIZE 93 static_log_entries_seg (!ari) : 94 org = LOG_ENTRY_ELF_BASE, 95 len = LOG_ENTRY_ELF_SIZE 96 fw_metadata_seg (!ari) : 97 org = EXT_MANIFEST_ELF_BASE, 98 len = EXT_MANIFEST_ELF_SIZE 99} 100 101PHDRS 102{ 103 vector_reset_text_phdr PT_LOAD; 104 vector_reset_lit_phdr PT_LOAD; 105 vector_memory_lit_phdr PT_LOAD; 106 vector_memory_text_phdr PT_LOAD; 107 vector_base_text_phdr PT_LOAD; 108 vector_int2_lit_phdr PT_LOAD; 109 vector_int2_text_phdr PT_LOAD; 110 vector_int3_lit_phdr PT_LOAD; 111 vector_int3_text_phdr PT_LOAD; 112 vector_int4_lit_phdr PT_LOAD; 113 vector_int4_text_phdr PT_LOAD; 114 vector_int5_lit_phdr PT_LOAD; 115 vector_int5_text_phdr PT_LOAD; 116 vector_int6_lit_phdr PT_LOAD; 117 vector_int6_text_phdr PT_LOAD; 118 vector_int7_lit_phdr PT_LOAD; 119 vector_int7_text_phdr PT_LOAD; 120 vector_kernel_lit_phdr PT_LOAD; 121 vector_kernel_text_phdr PT_LOAD; 122 vector_user_lit_phdr PT_LOAD; 123 vector_user_text_phdr PT_LOAD; 124 vector_double_lit_phdr PT_LOAD; 125 vector_double_text_phdr PT_LOAD; 126 sof_fw_phdr PT_LOAD; 127 static_uuid_entries_phdr PT_NOTE; 128 static_log_entries_phdr PT_NOTE; 129 metadata_entries_phdr PT_NOTE; 130} 131 132/* Default entry point: */ 133ENTRY(_ResetVector) 134_rom_store_table = 0; 135 136/* ABI0 does not use Window base */ 137PROVIDE(_memmap_vecbase_reset = XCHAL_VECBASE_RESET_PADDR); 138 139/* Various memory-map dependent cache attribute settings: */ 140_memmap_cacheattr_wb_base = 0x44024000; 141_memmap_cacheattr_wt_base = 0x11021000; 142_memmap_cacheattr_bp_base = 0x22022000; 143_memmap_cacheattr_unused_mask = 0x00F00FFF; 144_memmap_cacheattr_wb_trapnull = 0x4422422F; 145_memmap_cacheattr_wba_trapnull = 0x4422422F; 146_memmap_cacheattr_wbna_trapnull = 0x25222222; 147_memmap_cacheattr_wt_trapnull = 0x1122122F; 148_memmap_cacheattr_bp_trapnull = 0x2222222F; 149_memmap_cacheattr_wb_strict = 0x44F24FFF; 150_memmap_cacheattr_wt_strict = 0x11F21FFF; 151_memmap_cacheattr_bp_strict = 0x22F22FFF; 152_memmap_cacheattr_wb_allvalid = 0x44224222; 153_memmap_cacheattr_wt_allvalid = 0x11221222; 154_memmap_cacheattr_bp_allvalid = 0x22222222; 155_memmap_cacheattr_sue_creek = 0xf2ff4242; 156PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_sue_creek); 157 158_EXT_MAN_ALIGN_ = 16; 159EXTERN(ext_man_fw_ver) 160EXTERN(ext_man_cavs_config) 161 162SECTIONS 163{ 164 .ResetVector.text : ALIGN(4) 165 { 166 _ResetVector_text_start = ABSOLUTE(.); 167 KEEP (*(.ResetVector.text)) 168 _ResetVector_text_end = ABSOLUTE(.); 169 } >vector_reset_text :vector_reset_text_phdr 170 171 .ResetVector.literal : ALIGN(4) 172 { 173 _ResetVector_literal_start = ABSOLUTE(.); 174 *(.ResetVector.literal) 175 _ResetVector_literal_end = ABSOLUTE(.); 176 } >vector_reset_lit :vector_reset_lit_phdr 177 178 .MemoryExceptionVector.literal : ALIGN(4) 179 { 180 _MemoryExceptionVector_literal_start = ABSOLUTE(.); 181 KEEP (*(.MemoryExceptionVector.literal)) 182 _MemoryExceptionVector_literal_end = ABSOLUTE(.); 183 } >vector_memory_lit :vector_memory_lit_phdr 184 185 .MemoryExceptionVector.text : ALIGN(4) 186 { 187 _MemoryExceptionVector_text_start = ABSOLUTE(.); 188 KEEP (*(.MemoryExceptionVector.text)) 189 _MemoryExceptionVector_text_end = ABSOLUTE(.); 190 } >vector_memory_text :vector_memory_text_phdr 191 192 .WindowVectors.text : ALIGN(4) 193 { 194 _WindowVectors_text_start = ABSOLUTE(.); 195 KEEP (*(.WindowVectors.text)) 196 _WindowVectors_text_end = ABSOLUTE(.); 197 } >vector_base_text :vector_base_text_phdr 198 199 .Level2InterruptVector.literal : ALIGN(4) 200 { 201 _Level2InterruptVector_literal_start = ABSOLUTE(.); 202 *(.Level2InterruptVector.literal) 203 _Level2InterruptVector_literal_end = ABSOLUTE(.); 204 } >vector_int2_lit :vector_int2_lit_phdr 205 206 .Level2InterruptVector.text : ALIGN(4) 207 { 208 _Level2InterruptVector_text_start = ABSOLUTE(.); 209 KEEP (*(.Level2InterruptVector.text)) 210 _Level2InterruptVector_text_end = ABSOLUTE(.); 211 } >vector_int2_text :vector_int2_text_phdr 212 213 .Level3InterruptVector.literal : ALIGN(4) 214 { 215 _Level3InterruptVector_literal_start = ABSOLUTE(.); 216 *(.Level3InterruptVector.literal) 217 _Level3InterruptVector_literal_end = ABSOLUTE(.); 218 } >vector_int3_lit :vector_int3_lit_phdr 219 220 .Level3InterruptVector.text : ALIGN(4) 221 { 222 _Level3InterruptVector_text_start = ABSOLUTE(.); 223 KEEP (*(.Level3InterruptVector.text)) 224 _Level3InterruptVector_text_end = ABSOLUTE(.); 225 } >vector_int3_text :vector_int3_text_phdr 226 227 .Level4InterruptVector.literal : ALIGN(4) 228 { 229 _Level4InterruptVector_literal_start = ABSOLUTE(.); 230 *(.Level4InterruptVector.literal) 231 _Level4InterruptVector_literal_end = ABSOLUTE(.); 232 } >vector_int4_lit :vector_int4_lit_phdr 233 234 .Level4InterruptVector.text : ALIGN(4) 235 { 236 _Level4InterruptVector_text_start = ABSOLUTE(.); 237 KEEP (*(.Level4InterruptVector.text)) 238 _Level4InterruptVector_text_end = ABSOLUTE(.); 239 } >vector_int4_text :vector_int4_text_phdr 240 241 .Level5InterruptVector.literal : ALIGN(4) 242 { 243 _Level5InterruptVector_literal_start = ABSOLUTE(.); 244 *(.Level5InterruptVector.literal) 245 _Level5InterruptVector_literal_end = ABSOLUTE(.); 246 } >vector_int5_lit :vector_int5_lit_phdr 247 248 .Level5InterruptVector.text : ALIGN(4) 249 { 250 _Level5InterruptVector_text_start = ABSOLUTE(.); 251 KEEP (*(.Level5InterruptVector.text)) 252 _Level5InterruptVector_text_end = ABSOLUTE(.); 253 } >vector_int5_text :vector_int5_text_phdr 254 255 .DebugExceptionVector.literal : ALIGN(4) 256 { 257 _DebugExceptionVector_literal_start = ABSOLUTE(.); 258 *(.DebugExceptionVector.literal) 259 _DebugExceptionVector_literal_end = ABSOLUTE(.); 260 } >vector_int6_lit :vector_int6_lit_phdr 261 262 .DebugExceptionVector.text : ALIGN(4) 263 { 264 _DebugExceptionVector_text_start = ABSOLUTE(.); 265 KEEP (*(.DebugExceptionVector.text)) 266 _DebugExceptionVector_text_end = ABSOLUTE(.); 267 } >vector_int6_text :vector_int6_text_phdr 268 269 .NMIExceptionVector.literal : ALIGN(4) 270 { 271 _NMIExceptionVector_literal_start = ABSOLUTE(.); 272 *(.NMIExceptionVector.literal) 273 _NMIExceptionVector_literal_end = ABSOLUTE(.); 274 } >vector_int7_lit :vector_int7_lit_phdr 275 276 .NMIExceptionVector.text : ALIGN(4) 277 { 278 _NMIExceptionVector_text_start = ABSOLUTE(.); 279 KEEP (*(.NMIExceptionVector.text)) 280 _NMIExceptionVector_text_end = ABSOLUTE(.); 281 } >vector_int7_text :vector_int7_text_phdr 282 283 .KernelExceptionVector.literal : ALIGN(4) 284 { 285 _KernelExceptionVector_literal_start = ABSOLUTE(.); 286 *(.KernelExceptionVector.literal) 287 _KernelExceptionVector_literal_end = ABSOLUTE(.); 288 } >vector_kernel_lit :vector_kernel_lit_phdr 289 290 .KernelExceptionVector.text : ALIGN(4) 291 { 292 _KernelExceptionVector_text_start = ABSOLUTE(.); 293 KEEP (*(.KernelExceptionVector.text)) 294 _KernelExceptionVector_text_end = ABSOLUTE(.); 295 } >vector_kernel_text :vector_kernel_text_phdr 296 297 .UserExceptionVector.literal : ALIGN(4) 298 { 299 _UserExceptionVector_literal_start = ABSOLUTE(.); 300 *(.UserExceptionVector.literal) 301 _UserExceptionVector_literal_end = ABSOLUTE(.); 302 } >vector_user_lit :vector_user_lit_phdr 303 304 .UserExceptionVector.text : ALIGN(4) 305 { 306 _UserExceptionVector_text_start = ABSOLUTE(.); 307 KEEP (*(.UserExceptionVector.text)) 308 _UserExceptionVector_text_end = ABSOLUTE(.); 309 } >vector_user_text :vector_user_text_phdr 310 311 .DoubleExceptionVector.literal : ALIGN(4) 312 { 313 _DoubleExceptionVector_literal_start = ABSOLUTE(.); 314 *(.DoubleExceptionVector.literal) 315 _DoubleExceptionVector_literal_end = ABSOLUTE(.); 316 } >vector_double_lit :vector_double_lit_phdr 317 318 .DoubleExceptionVector.text : ALIGN(4) 319 { 320 _DoubleExceptionVector_text_start = ABSOLUTE(.); 321 KEEP (*(.DoubleExceptionVector.text)) 322 _DoubleExceptionVector_text_end = ABSOLUTE(.); 323 } >vector_double_text :vector_double_text_phdr 324 325 .ResetHandler.text : ALIGN(4) 326 { 327 _ResetHandler_text_start = ABSOLUTE(.); 328 KEEP (*(.ResetHandler.text)) 329 _ResetHandler_text_end = ABSOLUTE(.); 330 } >sof_fw :sof_fw_phdr 331 332 .text : ALIGN(4) 333 { 334 _stext = .; 335 _text_start = ABSOLUTE(.); 336 KEEP (*(.MainEntry.text)) 337 *(.entry.text) 338 *(.init.literal) 339 KEEP(*(.init)) 340 *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*) 341 *(.fini.literal) 342 KEEP(*(.fini)) 343 *(.gnu.version) 344 KEEP (*(.ResetHandler.text)) 345 _text_end = ABSOLUTE(.); 346 _etext = .; 347 } >sof_fw :sof_fw_phdr 348 349 .rodata : ALIGN(SRAM_BANK_SIZE) /* TODO: it should be 4096 */ 350 { 351 _rodata_start = ABSOLUTE(.); 352 *(.rodata) 353 *(.rodata.*) 354 *(.gnu.linkonce.r.*) 355 *(.rodata1) 356 __XT_EXCEPTION_TABLE__ = ABSOLUTE(.); 357 KEEP (*(.xt_except_table)) 358 KEEP (*(.gcc_except_table)) 359 *(.gnu.linkonce.e.*) 360 *(.gnu.version_r) 361 KEEP (*(.eh_frame)) 362 /* C++ constructor and destructor tables, properly ordered: */ 363 KEEP (*crtbegin.o(.ctors)) 364 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) 365 KEEP (*(SORT(.ctors.*))) 366 KEEP (*(.ctors)) 367 KEEP (*crtbegin.o(.dtors)) 368 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) 369 KEEP (*(SORT(.dtors.*))) 370 KEEP (*(.dtors)) 371 /* C++ exception handlers table: */ 372 __XT_EXCEPTION_DESCS__ = ABSOLUTE(.); 373 *(.xt_except_desc) 374 *(.gnu.linkonce.h.*) 375 __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.); 376 *(.xt_except_desc_end) 377 *(.dynamic) 378 *(.gnu.version_d) 379 . = ALIGN(4); /* this table MUST be 4-byte aligned */ 380 _bss_table_start = ABSOLUTE(.); 381 LONG(_bss_start) 382 LONG(_bss_end) 383 _bss_table_end = ABSOLUTE(.); 384 _rodata_end = ABSOLUTE(.); 385 } >sof_fw :sof_fw_phdr 386 387 .module_init : ALIGN(4) 388 { 389 _module_init_start = ABSOLUTE(.); 390 *(*.module_init) 391 _module_init_end = ABSOLUTE(.); 392 } >sof_fw :sof_fw_phdr 393 394 .shared_data : ALIGN(PLATFORM_DCACHE_ALIGN) 395 { 396 _shared_data_start = ABSOLUTE(.); 397 *(*.shared_data) 398 _shared_data_end = ABSOLUTE(.); 399 . = ALIGN(PLATFORM_DCACHE_ALIGN); 400 } >sof_fw :sof_fw_phdr 401 402 .data : ALIGN(4) 403 { 404 _data_start = ABSOLUTE(.); 405 *(.data) 406 *(.data.*) 407 *(.gnu.linkonce.d.*) 408 KEEP(*(.gnu.linkonce.d.*personality*)) 409 *(.data1) 410 *(.sdata) 411 *(.sdata.*) 412 *(.gnu.linkonce.s.*) 413 *(.sdata2) 414 *(.sdata2.*) 415 *(.gnu.linkonce.s2.*) 416 KEEP(*(.jcr)) 417 _trace_ctx_start = ABSOLUTE(.); 418 *(.trace_ctx) 419 _trace_ctx_end = ABSOLUTE(.); 420 _data_end = ABSOLUTE(.); 421 } >sof_fw :sof_fw_phdr 422 423 .lit4 : ALIGN(4) 424 { 425 _lit4_start = ABSOLUTE(.); 426 *(*.lit4) 427 *(.lit4.*) 428 *(.gnu.linkonce.lit4.*) 429 _lit4_end = ABSOLUTE(.); 430 } >sof_fw :sof_fw_phdr 431 432 .fw_ready : ALIGN(4) 433 { 434 KEEP (*(.fw_ready)) 435 KEEP (*(.fw_ready_metadata)) 436 } >sof_fw :sof_fw_phdr 437 438 .bss (NOLOAD) : ALIGN(4096) 439 { 440 . = ALIGN (8); 441 _bss_start = ABSOLUTE(.); 442 *(.dynsbss) 443 *(.sbss) 444 *(.sbss.*) 445 *(.gnu.linkonce.sb.*) 446 *(.scommon) 447 *(.sbss2) 448 *(.sbss2.*) 449 *(.gnu.linkonce.sb2.*) 450 *(.dynbss) 451 *(.bss) 452 *(.bss.*) 453 *(.gnu.linkonce.b.*) 454 *(COMMON) 455 456 . = ALIGN (SRAM_BANK_SIZE); 457 _runtime_heap_start = ABSOLUTE(.); 458 . = . + HEAP_RUNTIME_SIZE; 459 _runtime_heap_end = ABSOLUTE(.); 460 461 . = ALIGN (HEAP_BUF_ALIGNMENT); 462 _buffer_heap_start = ABSOLUTE(.); 463 . = . + HEAP_BUFFER_SIZE; 464 _buffer_heap_end = ABSOLUTE(.); 465 466 . = ALIGN (SRAM_BANK_SIZE); 467 _system_heap_start = ABSOLUTE(.); 468 . = . + HEAP_SYSTEM_M_SIZE; 469 _system_heap_end = ABSOLUTE(.); 470 471 . = ALIGN (HEAP_BUF_ALIGNMENT); 472 _system_runtime_heap_start = ABSOLUTE(.); 473 . = . + HEAP_SYS_RUNTIME_M_SIZE; 474 _system_runtime_heap_end = ABSOLUTE(.); 475 476 . = ALIGN (PLATFORM_DCACHE_ALIGN); 477 _runtime_shared_heap_start = ABSOLUTE(.); 478 . = . + HEAP_RUNTIME_SHARED_SIZE; 479 . = ALIGN (PLATFORM_DCACHE_ALIGN); 480 _runtime_shared_heap_end = ABSOLUTE(.); 481 482 . = ALIGN (PLATFORM_DCACHE_ALIGN); 483 _system_shared_heap_start = ABSOLUTE(.); 484 . = . + HEAP_SYSTEM_SHARED_SIZE; 485 . = ALIGN (PLATFORM_DCACHE_ALIGN); 486 _system_shared_heap_end = ABSOLUTE(.); 487 488 . = ALIGN (4096); 489 _sof_stack_start = ABSOLUTE(.); 490 . = . + SOF_STACK_SIZE; 491 _sof_stack_end = ABSOLUTE(.); 492 493 . = ALIGN (SRAM_BANK_SIZE); 494 _sof_core_s_start = ABSOLUTE(.); 495 . = . + SOF_CORE_S_T_SIZE; 496 _sof_core_s_end = ABSOLUTE(.); 497 498 _bss_end = ABSOLUTE(.); 499 } >sof_fw :sof_fw_phdr 500 501 /* stack */ 502 _end = _sof_stack_start; 503 PROVIDE(end = _sof_stack_start); 504 _stack_sentry = _sof_stack_start; 505 __stack = _sof_stack_end; 506 507 /* Secondary core size */ 508 _core_s_size = SOF_CORE_S_SIZE; 509 510 /* System Heap */ 511 _system_heap = _system_heap_start; 512 513 /* system runtime heap */ 514 _system_runtime_heap = _system_runtime_heap_start; 515 516 /* Shared Heap */ 517 _runtime_shared_heap = _runtime_shared_heap_start; 518 _system_shared_heap = _system_shared_heap_start; 519 520 /* module heap */ 521 _module_heap = _runtime_heap_start; 522 523 /* buffer heap */ 524 _buffer_heap = _buffer_heap_start; 525 _buffer_heap_end = _buffer_heap_end; 526 527 .debug 0 : { *(.debug) } 528 .line 0 : { *(.line) } 529 .debug_srcinfo 0 : { *(.debug_srcinfo) } 530 .debug_sfnames 0 : { *(.debug_sfnames) } 531 .debug_aranges 0 : { *(.debug_aranges) } 532 .debug_pubnames 0 : { *(.debug_pubnames) } 533 .debug_info 0 : { *(.debug_info) } 534 .debug_abbrev 0 : { *(.debug_abbrev) } 535 .debug_line 0 : { *(.debug_line) } 536 .debug_frame 0 : { *(.debug_frame) } 537 .debug_str 0 : { *(.debug_str) } 538 .debug_loc 0 : { *(.debug_loc) } 539 .debug_macinfo 0 : { *(.debug_macinfo) } 540 .debug_weaknames 0 : { *(.debug_weaknames) } 541 .debug_funcnames 0 : { *(.debug_funcnames) } 542 .debug_typenames 0 : { *(.debug_typenames) } 543 .debug_varnames 0 : { *(.debug_varnames) } 544 545 .xt.insn 0 : 546 { 547 KEEP (*(.xt.insn)) 548 KEEP (*(.gnu.linkonce.x.*)) 549 } 550 .xt.prop 0 : 551 { 552 KEEP (*(.xt.prop)) 553 KEEP (*(.xt.prop.*)) 554 KEEP (*(.gnu.linkonce.prop.*)) 555 } 556 .xt.lit 0 : 557 { 558 KEEP (*(.xt.lit)) 559 KEEP (*(.xt.lit.*)) 560 KEEP (*(.gnu.linkonce.p.*)) 561 } 562 .xt.profile_range 0 : 563 { 564 KEEP (*(.xt.profile_range)) 565 KEEP (*(.gnu.linkonce.profile_range.*)) 566 } 567 .xt.profile_ranges 0 : 568 { 569 KEEP (*(.xt.profile_ranges)) 570 KEEP (*(.gnu.linkonce.xt.profile_ranges.*)) 571 } 572 .xt.profile_files 0 : 573 { 574 KEEP (*(.xt.profile_files)) 575 KEEP (*(.gnu.linkonce.xt.profile_files.*)) 576 } 577 578 .static_uuid_entries (COPY) : ALIGN(1024) 579 { 580 *(*.static_uuids) 581 } > static_uuid_entries_seg :static_uuid_entries_phdr 582 583 .static_log_entries (COPY) : ALIGN(1024) 584 { 585 *(*.static_log*) 586 } > static_log_entries_seg :static_log_entries_phdr 587 588 .fw_metadata (COPY) : ALIGN(1024) 589 { 590 KEEP (*(.fw_metadata)) 591 . = ALIGN(_EXT_MAN_ALIGN_); 592 } >fw_metadata_seg :metadata_entries_phdr 593} 594