1 /* This linker script generated from xt-genldscripts.tpp for LSP .\min-rt */
2 /* Linker Script for default link */
3 MEMORY
4 {
5   dsp_core_seg :                      	org = 0x20400000, len = 0x180000
6   dram0_0_seg :                       	org = 0x24000000, len = 0x10000
7   iram0_0_seg :                       	org = 0x24020000, len = 0x400
8   iram0_1_seg :                       	org = 0x24020400, len = 0x17C
9   iram0_2_seg :                       	org = 0x2402057C, len = 0x20
10   iram0_3_seg :                       	org = 0x2402059C, len = 0x20
11   iram0_4_seg :                       	org = 0x240205BC, len = 0x20
12   iram0_5_seg :                       	org = 0x240205DC, len = 0x20
13   iram0_6_seg :                       	org = 0x240205FC, len = 0x20
14   iram0_7_seg :                       	org = 0x2402061C, len = 0x20
15   iram0_8_seg :                       	org = 0x2402063C, len = 0xF9C4
16 }
17 
18 PHDRS
19 {
20   dsp_core_phdr PT_LOAD;
21   dsp_core_bss_phdr PT_LOAD;
22   dram0_0_phdr PT_LOAD;
23   dram0_0_bss_phdr PT_LOAD;
24   iram0_0_phdr PT_LOAD;
25   iram0_1_phdr PT_LOAD;
26   iram0_2_phdr PT_LOAD;
27   iram0_3_phdr PT_LOAD;
28   iram0_4_phdr PT_LOAD;
29   iram0_5_phdr PT_LOAD;
30   iram0_6_phdr PT_LOAD;
31   iram0_7_phdr PT_LOAD;
32   iram0_8_phdr PT_LOAD;
33 }
34 
35 
36 /*  Default entry point:  */
37 ENTRY(_ResetVector)
38 
39 
40 /*  Memory boundary addresses:  */
41 _memmap_mem_dsp_core_start = 0x20400000;
42 _memmap_mem_dsp_core_end   = 0x20580000;
43 _memmap_mem_dram0_start = 0x24000000;
44 _memmap_mem_dram0_end   = 0x24010000;
45 _memmap_mem_iram0_start = 0x24020000;
46 _memmap_mem_iram0_end   = 0x24030000;
47 
48 /*  Memory segment boundary addresses:  */
49 _memmap_seg_dsp_core_start = 0x20400000;
50 _memmap_seg_dsp_core_max   = 0x20580000;
51 _memmap_seg_dram0_0_start = 0x24000000;
52 _memmap_seg_dram0_0_max   = 0x24010000;
53 _memmap_seg_iram0_0_start = 0x24020000;
54 _memmap_seg_iram0_0_max   = 0x24020400;
55 _memmap_seg_iram0_1_start = 0x24020400;
56 _memmap_seg_iram0_1_max   = 0x2402057c;
57 _memmap_seg_iram0_2_start = 0x2402057c;
58 _memmap_seg_iram0_2_max   = 0x2402059c;
59 _memmap_seg_iram0_3_start = 0x2402059c;
60 _memmap_seg_iram0_3_max   = 0x240205bc;
61 _memmap_seg_iram0_4_start = 0x240205bc;
62 _memmap_seg_iram0_4_max   = 0x240205dc;
63 _memmap_seg_iram0_5_start = 0x240205dc;
64 _memmap_seg_iram0_5_max   = 0x240205fc;
65 _memmap_seg_iram0_6_start = 0x240205fc;
66 _memmap_seg_iram0_6_max   = 0x2402061c;
67 _memmap_seg_iram0_7_start = 0x2402061c;
68 _memmap_seg_iram0_7_max   = 0x2402063c;
69 _memmap_seg_iram0_8_start = 0x2402063c;
70 _memmap_seg_iram0_8_max   = 0x24030000;
71 
72 _rom_store_table = 0;
73 PROVIDE(_memmap_reset_vector = 0x24020000);
74 PROVIDE(_memmap_vecbase_reset = 0x24020400);
75 /* Various memory-map dependent cache attribute settings: */
76 _memmap_cacheattr_wb_base = 0x00000040;
77 _memmap_cacheattr_wt_base = 0x00000010;
78 _memmap_cacheattr_bp_base = 0x00000020;
79 _memmap_cacheattr_unused_mask = 0xFFFFFF0F;
80 _memmap_cacheattr_wb_trapnull = 0x22222244;
81 _memmap_cacheattr_wba_trapnull = 0x2222224F;
82 _memmap_cacheattr_wbna_trapnull = 0x2222225F;
83 _memmap_cacheattr_wt_trapnull = 0x2222221F;
84 _memmap_cacheattr_bp_trapnull = 0x2222222F;
85 _memmap_cacheattr_wb_strict = 0xFFFFFF4F;
86 _memmap_cacheattr_wt_strict = 0xFFFFFF1F;
87 _memmap_cacheattr_bp_strict = 0xFFFFFF2F;
88 _memmap_cacheattr_wb_allvalid = 0x22222242;
89 _memmap_cacheattr_wt_allvalid = 0x22222212;
90 _memmap_cacheattr_bp_allvalid = 0x22222222;
91 _memmap_region_map = 0x00000002;
92 PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull);
93 
94 SECTIONS
95 {
96 
97   .dram0.rodata : ALIGN(4)
98   {
99     _dram0_rodata_start = ABSOLUTE(.);
100     *(.dram0.rodata)
101     *(.dram.rodata)
102     . = ALIGN (4);
103     _dram0_rodata_end = ABSOLUTE(.);
104   } >dram0_0_seg :dram0_0_phdr
105 
106   .ResetVector.literal : ALIGN(4)
107   {
108     _ResetVector_literal_start = ABSOLUTE(.);
109     *(.ResetVector.literal)
110     . = ALIGN (4);
111     _ResetVector_literal_end = ABSOLUTE(.);
112   } >dram0_0_seg :dram0_0_phdr
113 
114   .Level2InterruptVector.literal : ALIGN(4)
115   {
116     _Level2InterruptVector_literal_start = ABSOLUTE(.);
117     *(.Level2InterruptVector.literal)
118     . = ALIGN (4);
119     _Level2InterruptVector_literal_end = ABSOLUTE(.);
120   } >dram0_0_seg :dram0_0_phdr
121 
122   .Level3InterruptVector.literal : ALIGN(4)
123   {
124     _Level3InterruptVector_literal_start = ABSOLUTE(.);
125     *(.Level3InterruptVector.literal)
126     . = ALIGN (4);
127     _Level3InterruptVector_literal_end = ABSOLUTE(.);
128   } >dram0_0_seg :dram0_0_phdr
129 
130   .DebugExceptionVector.literal : ALIGN(4)
131   {
132     _DebugExceptionVector_literal_start = ABSOLUTE(.);
133     *(.DebugExceptionVector.literal)
134     . = ALIGN (4);
135     _DebugExceptionVector_literal_end = ABSOLUTE(.);
136   } >dram0_0_seg :dram0_0_phdr
137 
138   .NMIExceptionVector.literal : ALIGN(4)
139   {
140     _NMIExceptionVector_literal_start = ABSOLUTE(.);
141     *(.NMIExceptionVector.literal)
142     . = ALIGN (4);
143     _NMIExceptionVector_literal_end = ABSOLUTE(.);
144   } >dram0_0_seg :dram0_0_phdr
145 
146   .KernelExceptionVector.literal : ALIGN(4)
147   {
148     _KernelExceptionVector_literal_start = ABSOLUTE(.);
149     *(.KernelExceptionVector.literal)
150     . = ALIGN (4);
151     _KernelExceptionVector_literal_end = ABSOLUTE(.);
152   } >dram0_0_seg :dram0_0_phdr
153 
154   .UserExceptionVector.literal : ALIGN(4)
155   {
156     _UserExceptionVector_literal_start = ABSOLUTE(.);
157     *(.UserExceptionVector.literal)
158     . = ALIGN (4);
159     _UserExceptionVector_literal_end = ABSOLUTE(.);
160   } >dram0_0_seg :dram0_0_phdr
161 
162   .DoubleExceptionVector.literal : ALIGN(4)
163   {
164     _DoubleExceptionVector_literal_start = ABSOLUTE(.);
165     *(.DoubleExceptionVector.literal)
166     . = ALIGN (4);
167     _DoubleExceptionVector_literal_end = ABSOLUTE(.);
168   } >dram0_0_seg :dram0_0_phdr
169 
170   .iram0.literal : ALIGN(4)
171   {
172     _iram0_literal_start = ABSOLUTE(.);
173     *(.iram0.literal)
174     *(.iram.literal)
175     *(.iram.text.literal)
176     . = ALIGN (4);
177     _iram0_literal_end = ABSOLUTE(.);
178   } >dram0_0_seg :dram0_0_phdr
179 
180   .dram0.data : ALIGN(4)
181   {
182     _dram0_data_start = ABSOLUTE(.);
183     *(.dram0.data)
184     *(.dram.data)
185     . = ALIGN (4);
186     _dram0_data_end = ABSOLUTE(.);
187   } >dram0_0_seg :dram0_0_phdr
188 
bss(NOLOAD)189   .dram0.bss (NOLOAD) : ALIGN(8)
190   {
191     . = ALIGN (8);
192     _dram0_bss_start = ABSOLUTE(.);
193     *(.dram0.bss)
194     . = ALIGN (8);
195     _dram0_bss_end = ABSOLUTE(.);
196     _memmap_seg_dram0_0_end = ALIGN(0x8);
197   } >dram0_0_seg :dram0_0_bss_phdr
198 
199   NonCacheable : ALIGN(4)
200   {
201     NonCacheable_start = ABSOLUTE(.);
202     *(NonCacheable)
203     . = ALIGN (4);
204     NonCacheable_end = ABSOLUTE(.);
205     _memmap_seg_dsp_uncached_end = ALIGN(0x8);
206   } >dram0_0_seg :dram0_0_bss_phdr
207 
208   _memmap_mem_dram0_max = ABSOLUTE(.);
209 
210   .ResetVector.text : ALIGN(4)
211   {
212     _ResetVector_text_start = ABSOLUTE(.);
213     KEEP (*(.ResetVector.text))
214     . = ALIGN (4);
215     _ResetVector_text_end = ABSOLUTE(.);
216   } >iram0_0_seg :iram0_0_phdr
217 
218   .ResetHandler.text : ALIGN(4)
219   {
220     _ResetHandler_text_start = ABSOLUTE(.);
221     *(.ResetHandler.literal .ResetHandler.text)
222     . = ALIGN (4);
223     _ResetHandler_text_end = ABSOLUTE(.);
224     _memmap_seg_iram0_0_end = ALIGN(0x8);
225   } >iram0_0_seg :iram0_0_phdr
226 
227 
228   .WindowVectors.text : ALIGN(4)
229   {
230     _WindowVectors_text_start = ABSOLUTE(.);
231     KEEP (*(.WindowVectors.text))
232     . = ALIGN (4);
233     _WindowVectors_text_end = ABSOLUTE(.);
234     _memmap_seg_iram0_1_end = ALIGN(0x8);
235   } >iram0_1_seg :iram0_1_phdr
236 
237 
238   .Level2InterruptVector.text : ALIGN(4)
239   {
240     _Level2InterruptVector_text_start = ABSOLUTE(.);
241     KEEP (*(.Level2InterruptVector.text))
242     . = ALIGN (4);
243     _Level2InterruptVector_text_end = ABSOLUTE(.);
244     _memmap_seg_iram0_2_end = ALIGN(0x8);
245   } >iram0_2_seg :iram0_2_phdr
246 
247 
248   .Level3InterruptVector.text : ALIGN(4)
249   {
250     _Level3InterruptVector_text_start = ABSOLUTE(.);
251     KEEP (*(.Level3InterruptVector.text))
252     . = ALIGN (4);
253     _Level3InterruptVector_text_end = ABSOLUTE(.);
254     _memmap_seg_iram0_3_end = ALIGN(0x8);
255   } >iram0_3_seg :iram0_3_phdr
256 
257 
258   .DebugExceptionVector.text : ALIGN(4)
259   {
260     _DebugExceptionVector_text_start = ABSOLUTE(.);
261     KEEP (*(.DebugExceptionVector.text))
262     . = ALIGN (4);
263     _DebugExceptionVector_text_end = ABSOLUTE(.);
264     _memmap_seg_iram0_4_end = ALIGN(0x8);
265   } >iram0_4_seg :iram0_4_phdr
266 
267 
268   .NMIExceptionVector.text : ALIGN(4)
269   {
270     _NMIExceptionVector_text_start = ABSOLUTE(.);
271     KEEP (*(.NMIExceptionVector.text))
272     . = ALIGN (4);
273     _NMIExceptionVector_text_end = ABSOLUTE(.);
274     _memmap_seg_iram0_5_end = ALIGN(0x8);
275   } >iram0_5_seg :iram0_5_phdr
276 
277 
278   .KernelExceptionVector.text : ALIGN(4)
279   {
280     _KernelExceptionVector_text_start = ABSOLUTE(.);
281     KEEP (*(.KernelExceptionVector.text))
282     . = ALIGN (4);
283     _KernelExceptionVector_text_end = ABSOLUTE(.);
284     _memmap_seg_iram0_6_end = ALIGN(0x8);
285   } >iram0_6_seg :iram0_6_phdr
286 
287 
288   .UserExceptionVector.text : ALIGN(4)
289   {
290     _UserExceptionVector_text_start = ABSOLUTE(.);
291     KEEP (*(.UserExceptionVector.text))
292     . = ALIGN (4);
293     _UserExceptionVector_text_end = ABSOLUTE(.);
294     _memmap_seg_iram0_7_end = ALIGN(0x8);
295   } >iram0_7_seg :iram0_7_phdr
296 
297 
298   .DoubleExceptionVector.text : ALIGN(4)
299   {
300     _DoubleExceptionVector_text_start = ABSOLUTE(.);
301     KEEP (*(.DoubleExceptionVector.text))
302     . = ALIGN (4);
303     _DoubleExceptionVector_text_end = ABSOLUTE(.);
304   } >iram0_8_seg :iram0_8_phdr
305 
306   .iram0.text : ALIGN(4)
307   {
308     _iram0_text_start = ABSOLUTE(.);
309     *(.iram0.text)
310     *(.iram.text)
311     . = ALIGN (4);
312     _iram0_text_end = ABSOLUTE(.);
313     _memmap_seg_iram0_8_end = ALIGN(0x8);
314   } >iram0_8_seg :iram0_8_phdr
315 
316   _memmap_mem_iram0_max = ABSOLUTE(.);
317 
318   .clib.rodata : ALIGN(4)
319   {
320     _clib_rodata_start = ABSOLUTE(.);
321     *(.clib.rodata)
322     . = ALIGN (4);
323     _clib_rodata_end = ABSOLUTE(.);
324   } >dsp_core_seg :dsp_core_phdr
325 
326   .rtos.rodata : ALIGN(4)
327   {
328     _rtos_rodata_start = ABSOLUTE(.);
329     *(.rtos.rodata)
330     . = ALIGN (4);
331     _rtos_rodata_end = ABSOLUTE(.);
332   } >dsp_core_seg :dsp_core_phdr
333 
334   .rodata : ALIGN(4)
335   {
336     _rodata_start = ABSOLUTE(.);
337     *(.rodata)
338     *(SORT(.rodata.sort.*))
339     KEEP (*(SORT(.rodata.keepsort.*) .rodata.keep.*))
340     *(.rodata.*)
341     *(.gnu.linkonce.r.*)
342     *(.rodata1)
343     __XT_EXCEPTION_TABLE__ = ABSOLUTE(.);
344     KEEP (*(.xt_except_table))
345     KEEP (*(.gcc_except_table))
346     *(.gnu.linkonce.e.*)
347     *(.gnu.version_r)
348     PROVIDE (__eh_frame_start = .);
349     KEEP (*(.eh_frame))
350     PROVIDE (__eh_frame_end = .);
351     /*  C++ constructor and destructor tables, properly ordered:  */
352     KEEP (*crtbegin.o(.ctors))
353     KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
354     KEEP (*(SORT(.ctors.*)))
355     KEEP (*(.ctors))
356     KEEP (*crtbegin.o(.dtors))
357     KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
358     KEEP (*(SORT(.dtors.*)))
359     KEEP (*(.dtors))
360     /*  C++ exception handlers table:  */
361     __XT_EXCEPTION_DESCS__ = ABSOLUTE(.);
362     *(.xt_except_desc)
363     *(.gnu.linkonce.h.*)
364     __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
365     *(.xt_except_desc_end)
366     *(.dynamic)
367     *(.gnu.version_d)
368     . = ALIGN(4);		/* this table MUST be 4-byte aligned */
369     _bss_table_start = ABSOLUTE(.);
370     LONG(_dram0_bss_start)
371     LONG(_dram0_bss_end)
372     LONG(_bss_start)
373     LONG(_bss_end)
374     _bss_table_end = ABSOLUTE(.);
375     . = ALIGN (4);
376     _rodata_end = ABSOLUTE(.);
377   } >dsp_core_seg :dsp_core_phdr
378 
379   .text : ALIGN(4)
380   {
381     _stext = .;
382     _text_start = ABSOLUTE(.);
383     *(.entry.text)
384     *(.init.literal)
385     KEEP(*(.init))
386     *(.literal.sort.* SORT(.text.sort.*))
387     KEEP (*(.literal.keepsort.* SORT(.text.keepsort.*) .literal.keep.* .text.keep.* .literal.*personality* .text.*personality*))
388     *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
389     *(.fini.literal)
390     KEEP(*(.fini))
391     *(.gnu.version)
392     . = ALIGN (4);
393     _text_end = ABSOLUTE(.);
394     _etext = .;
395   } >dsp_core_seg :dsp_core_phdr
396 
397   .clib.text : ALIGN(4)
398   {
399     _clib_text_start = ABSOLUTE(.);
400     *(.clib.literal .clib.text)
401     . = ALIGN (4);
402     _clib_text_end = ABSOLUTE(.);
403   } >dsp_core_seg :dsp_core_phdr
404 
405   .rtos.text : ALIGN(4)
406   {
407     _rtos_text_start = ABSOLUTE(.);
408     *(.rtos.literal .rtos.text)
409     . = ALIGN (4);
410     _rtos_text_end = ABSOLUTE(.);
411   } >dsp_core_seg :dsp_core_phdr
412 
413   .clib.data : ALIGN(4)
414   {
415     _clib_data_start = ABSOLUTE(.);
416     *(.clib.data)
417     . = ALIGN (4);
418     _clib_data_end = ABSOLUTE(.);
419   } >dsp_core_seg :dsp_core_phdr
420 
421   .clib.percpu.data : ALIGN(4)
422   {
423     _clib_percpu_data_start = ABSOLUTE(.);
424     *(.clib.percpu.data)
425     . = ALIGN (4);
426     _clib_percpu_data_end = ABSOLUTE(.);
427   } >dsp_core_seg :dsp_core_phdr
428 
429   .rtos.percpu.data : ALIGN(4)
430   {
431     _rtos_percpu_data_start = ABSOLUTE(.);
432     *(.rtos.percpu.data)
433     . = ALIGN (4);
434     _rtos_percpu_data_end = ABSOLUTE(.);
435   } >dsp_core_seg :dsp_core_phdr
436 
437   .rtos.data : ALIGN(4)
438   {
439     _rtos_data_start = ABSOLUTE(.);
440     *(.rtos.data)
441     . = ALIGN (4);
442     _rtos_data_end = ABSOLUTE(.);
443   } >dsp_core_seg :dsp_core_phdr
444 
445   .data : ALIGN(4)
446   {
447     _data_start = ABSOLUTE(.);
448     *(.data)
449     *(SORT(.data.sort.*))
450     KEEP (*(SORT(.data.keepsort.*) .data.keep.*))
451     *(.data.*)
452     *(.gnu.linkonce.d.*)
453     KEEP(*(.gnu.linkonce.d.*personality*))
454     *(.data1)
455     *(.sdata)
456     *(.sdata.*)
457     *(.gnu.linkonce.s.*)
458     *(.sdata2)
459     *(.sdata2.*)
460     *(.gnu.linkonce.s2.*)
461     KEEP(*(.jcr))
462     *(__llvm_prf_cnts)
463     *(__llvm_prf_data)
464     *(__llvm_prf_vnds)
465     . = ALIGN (4);
466     _data_end = ABSOLUTE(.);
467   } >dsp_core_seg :dsp_core_phdr
468 
469   __llvm_prf_names : ALIGN(4)
470   {
471     __llvm_prf_names_start = ABSOLUTE(.);
472     *(__llvm_prf_names)
473     . = ALIGN (4);
474     __llvm_prf_names_end = ABSOLUTE(.);
475   } >dsp_core_seg :dsp_core_phdr
476 
477   .note.gnu.build-id : ALIGN(4)
478   {
479     _note_gnu_build-id_start = ABSOLUTE(.);
480     *(.note.gnu.build-id)
481     . = ALIGN (4);
482     _note_gnu_build-id_end = ABSOLUTE(.);
483   } >dsp_core_seg :dsp_core_phdr
484 
bss(NOLOAD)485   .bss (NOLOAD) : ALIGN(8)
486   {
487     . = ALIGN (8);
488     _bss_start = ABSOLUTE(.);
489     *(.dynsbss)
490     *(.sbss)
491     *(.sbss.*)
492     *(.gnu.linkonce.sb.*)
493     *(.scommon)
494     *(.sbss2)
495     *(.sbss2.*)
496     *(.gnu.linkonce.sb2.*)
497     *(.dynbss)
498     *(.bss)
499     *(SORT(.bss.sort.*))
500     KEEP (*(SORT(.bss.keepsort.*) .bss.keep.*))
501     *(.bss.*)
502     *(.gnu.linkonce.b.*)
503     *(COMMON)
504     *(.clib.bss)
505     *(.clib.percpu.bss)
506     *(.rtos.percpu.bss)
507     *(.rtos.bss)
508     . = ALIGN (8);
509     _bss_end = ABSOLUTE(.);
510     _end = ALIGN(0x8);
511     PROVIDE(end = ALIGN(0x8));
512     _stack_sentry = ALIGN(0x8);
513     _memmap_seg_dsp_core_end = ALIGN(0x8);
514   } >dsp_core_seg :dsp_core_bss_phdr
515 
516   PROVIDE(__stack = 0x20580000);
517   _heap_sentry = 0x20580000;
518 
519   _memmap_mem_dsp_core_max = ABSOLUTE(.);
520 
521   .debug  0 :  { *(.debug) }
522   .line  0 :  { *(.line) }
523   .debug_srcinfo  0 :  { *(.debug_srcinfo) }
524   .debug_sfnames  0 :  { *(.debug_sfnames) }
525   .debug_aranges  0 :  { *(.debug_aranges) }
526   .debug_ranges   0 :  { *(.debug_ranges) }
527   .debug_pubnames  0 :  { *(.debug_pubnames) }
528   .debug_info  0 :  { *(.debug_info) }
529   .debug_abbrev  0 :  { *(.debug_abbrev) }
530   .debug_line  0 :  { *(.debug_line) }
531   .debug_frame  0 :  { *(.debug_frame) }
532   .debug_str  0 :  { *(.debug_str) }
533   .debug_loc  0 :  { *(.debug_loc) }
534   .debug_macinfo  0 :  { *(.debug_macinfo) }
535   .debug_weaknames  0 :  { *(.debug_weaknames) }
536   .debug_funcnames  0 :  { *(.debug_funcnames) }
537   .debug_typenames  0 :  { *(.debug_typenames) }
538   .debug_varnames  0 :  { *(.debug_varnames) }
539   .xt.insn 0 :
540   {
541     KEEP (*(.xt.insn))
542     KEEP (*(.gnu.linkonce.x.*))
543   }
544   .xt.prop 0 :
545   {
546     *(.xt.prop)
547     *(.xt.prop.*)
548     *(.gnu.linkonce.prop.*)
549   }
550   .xt.lit 0 :
551   {
552     *(.xt.lit)
553     *(.xt.lit.*)
554     *(.gnu.linkonce.p.*)
555   }
556   .xtensa.info 0 :
557   {
558     *(.xtensa.info)
559   }
560   .debug.xt.callgraph 0 :
561   {
562     KEEP (*(.debug.xt.callgraph .debug.xt.callgraph.* .gnu.linkonce.xt.callgraph.*))
563   }
564   .comment 0 :
565   {
566     KEEP(*(.comment))
567   }
568   .note.GNU-stack 0 :
569   {
570     *(.note.GNU-stack)
571   }
572 }
573 
574