Print this page
11561 loader script needs to place .eh_frame after .text
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/boot/sys/boot/efi/loader/arch/amd64/ldscript.amd64
+++ new/usr/src/boot/sys/boot/efi/loader/arch/amd64/ldscript.amd64
1 1 OUTPUT_FORMAT("elf64-x86-64-sol2", "elf64-x86-64-sol2", "elf64-x86-64-sol2")
2 2 OUTPUT_ARCH(i386:x86-64)
3 3 ENTRY(_start)
4 4 SECTIONS
5 5 {
6 6 /* Read-only sections, merged into text segment: */
7 7 . = 0;
8 8 ImageBase = .;
9 9 .hash : { *(.hash) } /* this MUST come first! */
10 10 . = ALIGN(4096);
11 - .eh_frame :
12 - {
13 - *(.eh_frame)
14 - }
15 - . = ALIGN(4096);
16 11 .text : {
17 12 multiboot.o(.text)
18 13 *(.text .stub .text.* .gnu.linkonce.t.*)
19 14 /* .gnu.warning sections are handled specially by elf32.em. */
20 15 *(.gnu.warning)
21 16 *(.plt)
22 17 } =0xCCCCCCCC
23 18 . = ALIGN(4096);
19 + .eh_frame :
20 + {
21 + *(.eh_frame)
22 + }
23 + . = ALIGN(4096);
24 24 .data : {
25 25 *(.rodata .rodata.* .gnu.linkonce.r.*)
26 26 *(.rodata1)
27 27 *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
28 28 *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
29 29 *(.opd)
30 30 *(.data .data.* .gnu.linkonce.d.*)
31 31 *(.data1)
32 32 *(.plabel)
33 33 *(.dynbss)
34 34 *(.bss .bss.* .gnu.linkonce.b.*)
35 35 *(COMMON)
36 36 }
37 37 . = ALIGN(4096);
38 38 set_Xcommand_set : {
39 39 __start_set_Xcommand_set = .;
40 40 *(set_Xcommand_set)
41 41 __stop_set_Xcommand_set = .;
42 42 }
43 43 set_Xficl_compile_set : {
44 44 __start_set_Xficl_compile_set = .;
45 45 *(set_Xficl_compile_set)
46 46 __stop_set_Xficl_compile_set = .;
47 47 }
48 48 . = ALIGN(4096);
49 49 __gp = .;
50 50 .sdata : {
51 51 *(.got.plt .got)
52 52 *(.sdata .sdata.* .gnu.linkonce.s.*)
53 53 *(dynsbss)
54 54 *(.sbss .sbss.* .gnu.linkonce.sb.*)
55 55 *(.scommon)
56 56 }
57 57 . = ALIGN(4096);
58 58 .dynamic : { *(.dynamic) }
59 59 . = ALIGN(4096);
60 60 .rela.dyn : {
61 61 *(.rela.data*)
62 62 *(.rela.got)
63 63 *(.rela.stab)
64 64 *(.relaset_*)
65 65 }
66 66 . = ALIGN(4096);
67 67 .reloc : { *(.reloc) }
68 68 . = ALIGN(4096);
69 69 .dynsym : { *(.dynsym) }
70 70 . = ALIGN(4096);
71 71 .dynstr : { *(.dynstr) }
72 72 }
↓ open down ↓ |
39 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX