Subversion Repositories HelenOS

Rev

Rev 2014 | Blame | Last modification | View Log | Download | RSS feed

/** ia32xen linker script
 */

#include <arch/hypercall.h>
#include <arch/mm/page.h>

ENTRY(kernel_image_start)

PHDRS {
    image PT_LOAD FLAGS(7); /* RWE */
    note PT_NOTE FLAGS(4);  /* R__ */
}

SECTIONS {
    .image PA2KA(BOOT_OFFSET): AT (BOOT_OFFSET) {
        ktext_start = .;
        *(K_TEXT_START);
        *(.text);
        ktext_end = .;
        
        kdata_start = .;
        *(.data);           /* initialized data */
        *(.rodata*);            /* string literals */
        *(COMMON);          /* global variables */
        hardcoded_load_address = .;
        LONG(PA2KA(0));
        hardcoded_ktext_size = .;
        LONG(ktext_end - ktext_start);
        hardcoded_kdata_size = .;
        LONG(kdata_end - kdata_start);
        symbol_table = .;
        *(symtab.*);                /* Symbol table, must be LAST symbol! */
        *(.bss);            /* uninitialized static variables */
        kdata_end = .;
    } :image
    
    .notes : {
        *(.note.Xen);
    } :note

    /DISCARD/ : {
        *(.note.GNU-stack);     
        *(.comment);
    }
}