]> rtime.felk.cvut.cz Git - l4.git/commitdiff
fiasco: bootstrap: Segments' specifiaction was removed.
authorMax <coon848@COON-LAPTOP.HOMEGROUP>
Tue, 12 Apr 2016 22:31:52 +0000 (00:31 +0200)
committerMax <coon848@COON-LAPTOP.HOMEGROUP>
Tue, 12 Apr 2016 22:31:52 +0000 (00:31 +0200)
Adopt Makeconf.local for our purposes.

l4/pkg/bootstrap_custom/server/src/ARCH-x86/bootstrap.ld.in
l4/pkg/bootstrap_custom/server/src/Make.rules
l4/pkg/bootstrap_custom/server/src/Makeconf.local

index d808d03703f25eb37d35ff58d867de119bb39601..652c3036d1ec30f648848a494f9592c148ffba77 100644 (file)
@@ -3,23 +3,22 @@
 
 ENTRY(_start)
 
-PHDRS {
+/*PHDRS {
   data PT_LOAD;
 #ifdef IMAGE_MODE
   mods PT_LOAD;
 #endif
-}
+}*/
 
 SECTIONS
 {
-#define JH
-#define ENTRY_OFFSET (0x0)
-#ifdef JH
-  #define ENTRY_OFFSET (0xf0000)
+#define LOAD_OFFSET (0x0)
+#ifdef JAILHOUSE
+  #define LOAD_OFFSET (0xf0000)
   . = 0;
 
   /* 16-bit sections */
-  .jh-startup : { *(.jh.startup) }
+  .jh-startup :  { *(.jh.startup) }
 
   . = 0xfff0;
   .jh-boot    : {
@@ -29,12 +28,12 @@ SECTIONS
 #endif
 
 #ifdef ARCH_amd64
-  . = LINKADDR + SIZEOF_HEADERS + ENTRY_OFFSET;
+  . = LINKADDR + SIZEOF_HEADERS;
 #else
-  . = LINKADDR;
+  . = LINKADDR; 
 #endif
   PROVIDE (ImageBase = LINKADDR);
-  .hash : AT (ADDR(.hash) - ENTRY_OFFSET) { *(.hash) } : data    /* this MUST come first! */
+  /*.hash : AT (ADDR(.hash) - LOAD_OFFSET) { *(.hash) } : data */   /* this MUST come first! */
   /* Merge .text, .rodata, and .data in one segment to save space */
 
   /* provide at least 1K space for PE header in case of EFI */
@@ -42,25 +41,26 @@ SECTIONS
    *       this as free space for PE too
    */
   /* FXIME: should make this depending on EFI */
-  . = (. < (0x400 + LINKADDR)) ? (LINKADDR + 0x400) : .;
+  /*. = (. < (0x400 + LINKADDR)) ? (LINKADDR + 0x400) : .;*/
 
-  .text : AT (ADDR(.text) - ENTRY_OFFSET) 
+  .text : AT (ADDR(.text) - LOAD_OFFSET) 
   {
     *(.init)
     *(.text .text.* .gnu.linkonce.t*)
 
     *(.rodata*)
-  } : data
+  } /*: data*/
 
-  .dynsym   : AT (ADDR(.dynsym) - ENTRY_OFFSET) { *(.dynsym) } : data
-  .dynstr   : AT (ADDR(.dynstr) - ENTRY_OFFSET) { *(.dynstr) } : data
-  .reloc    : AT (ADDR(.reloc) - ENTRY_OFFSET) { *(.reloc) } : data
-  .rel.dyn : AT (ADDR(.rel.dyn) - ENTRY_OFFSET)
+  .dynsym   : AT (ADDR(.dynsym) - LOAD_OFFSET) { *(.dynsym) }  /*: data*/
+  .dynstr   : AT (ADDR(.dynstr) - LOAD_OFFSET) { *(.dynstr) }  /*: data*/
+  .reloc    : AT (ADDR(.reloc) - LOAD_OFFSET) { *(.reloc) }  /*: data*/
+  .rel.dyn : AT (ADDR(.rel.dyn) - LOAD_OFFSET)
   {
     *(.rel.*) *(.rel.module_info)
-  } : data
+  }  /*: data*/
+
 
-  .data : AT (ADDR(.data) - ENTRY_OFFSET)
+  .data : AT (ADDR(.data) - LOAD_OFFSET)
   {
     . = ALIGN(8);
     *(.data)
@@ -72,18 +72,20 @@ SECTIONS
     CTORS
     PLATFORMS
 
-  } : data
+  }  /*: data*/
 
-  .data.module_info : AT (ADDR(.data.module_info) - ENTRY_OFFSET)
+
+  .data.module_info : AT (ADDR(.data.module_info) - LOAD_OFFSET)
   {
     . = ALIGN(16);
     _module_info_start = .;
     *(.module_info .module_info.*)
     _module_info_end = .;
-  } : data
+  }  /*: data*/
+
 
-  .dynamic  : AT (ADDR(.dynamic) - ENTRY_OFFSET)  { *(.dynamic) } : data
-  .rela.dyn : AT (ADDR(.rela.dyn) - ENTRY_OFFSET)
+  .dynamic  : AT (ADDR(.dynamic) - LOAD_OFFSET)  { *(.dynamic) } /*: data*/
+  .rela.dyn : AT (ADDR(.rela.dyn) - LOAD_OFFSET)
   {
     *(.rela.init)
     *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
@@ -102,25 +104,28 @@ SECTIONS
     *(.rela.ifunc)
     *(.rela.module*)
     *(.rela.init_array)
-  } : data
-  .rela.plt : AT (ADDR(.rela.plt) - ENTRY_OFFSET)
+  }  /*: data*/
+
+  .rela.plt : AT (ADDR(.rela.plt) - LOAD_OFFSET)
   {
     *(.rela.plt)
     *(.rela.iplt)
-  } : data
+  } /*: data*/
+
 
   _edata  =  .;
   PROVIDE (edata = .);
   . = ALIGN(4096);
   __bss_start = .;
-  .bss : AT (ADDR(.bss) - ENTRY_OFFSET)
+  .bss : AT (ADDR(.bss) - LOAD_OFFSET)
   {
    *(.bss)
    *(.bss.*)
    *(COMMON)
    *(.dynbss)
    *(.bss_memmap)
-  } : data
+  }  /*: data*/
+
   _end = . ;
   PROVIDE (end = .);
   . = ALIGN(4096);
@@ -133,10 +138,11 @@ SECTIONS
   . = RAM_BASE + MODADDR;
 #endif
   _module_data_start = .;
-  .module_data : AT (ADDR(.module_data) - ENTRY_OFFSET) {
+  .module_data : AT (ADDR(.module_data) - LOAD_OFFSET) {
     *(EXCLUDE_FILE (*mod00.bin *mod01.bin *mod02.bin) .module_data)
     *(.module_data)
-  } : mods
+  }  /*: mods*/
+
   _module_data_end = .;
 #endif
 
index dae9d4612cb29307fbbbdac19276d26335bdf2e2..141949256eacab351b22976b726c573e1bbd6298 100644 (file)
@@ -18,7 +18,7 @@
 
 INTERNAL_CRT0       := y # the defualt is to use our internal crt0
 DEFAULT_RELOC_arm   := 0x01000000
-DEFAULT_RELOC_x86   := 0x002d0000
+DEFAULT_RELOC_x86   := 0x00100000 #edited
 DEFAULT_RELOC_amd64 := 0x002d0000
 DEFAULT_RELOC_ppc32 := 0x002d0000
 DEFAULT_RELOC_sparc := 0x00800000
index 016ee67e22841faba240687abf66aedd1202345a..1251ba110dae4633ef9ed08cd8a1757add49c364 100644 (file)
@@ -1,4 +1,4 @@
-#edited by coon 10 apr
-#REALMODE_LOADING=1
-#JAILHOUSE
-#IMAGE_MODE
\ No newline at end of file
+#our jailhouse-specific build config
+DEFINES += -DJAILHOUSE
+#DEFINES += -DIMAGE_MODE
+#DEFINES += -DREALMODE_LOADING