]> rtime.felk.cvut.cz Git - l4.git/blobdiff - kernel/fiasco/src/kernel.ia32.ld
update
[l4.git] / kernel / fiasco / src / kernel.ia32.ld
index 137081b8cf86693e21ea4ef4c556d9c3105da33f..b08d97b4dc44aac1a51ef5a42c34de2e56621a45 100644 (file)
@@ -13,13 +13,14 @@ _load               = 0x1000;       /* skip page 0 to preserve BIOS data and
 /*_fiasco_image_offset = 0xf0000000;*/
 _fiasco_image_offset = FIASCO_IMAGE_PHYS_OFFSET;
 
-ENTRY(_boot_start)
+ENTRY(bootstrap__boot_start)
 
 PHDRS {
   tramp PT_LOAD;
   btext PT_LOAD;
   bdata PT_LOAD;
   kip PT_LOAD;
+  koptions PT_LOAD;
   ktext PT_LOAD;
   kdata PT_LOAD;
   kitext PT_LOAD;
@@ -35,7 +36,7 @@ SECTIONS {
 
   . = _boot_sys_start;
   .text_boot : ALIGN(0x1000) {
-    *(.bootstrap.text)
+    *(.bootstrap.text .bootstrap.text.* .bootstrap.gnu.linkonce.t.*)
   } : btext
   
   . = ALIGN(0x10);
@@ -58,6 +59,10 @@ SECTIONS {
     . = ALIGN(4K);
   } : kip = 0
 
+  .koptions : AT (ADDR(.koptions) - _fiasco_image_offset) {
+    *(.koptions)
+  } : koptions = 0
+
 #ifdef CONFIG_ALLOW_RO_TEXT
   . = ALIGN(4K);
 #endif
@@ -113,6 +118,19 @@ SECTIONS {
     KEEP (*(.ctors.00001))
     __PER_CPU_CTORS_LIST__ = .;
 
+    __PER_CPU_LATE_CTORS_END__ = .;
+    KEEP (*(.ctors.00020))
+    KEEP (*(.ctors.00019))
+    KEEP (*(.ctors.00018))
+    KEEP (*(.ctors.00017))
+    KEEP (*(.ctors.00016))
+    KEEP (*(.ctors.00015))
+    KEEP (*(.ctors.00014))
+    KEEP (*(.ctors.00013))
+    KEEP (*(.ctors.00012))
+    KEEP (*(.ctors.00011))
+    __PER_CPU_LATE_CTORS_LIST__ = .;
+
     __CTOR_END__ = .;
     CONSTRUCTORS
     KEEP (*(.ctors))