/* * Simple linker script for userspace or svc tasks. * * Copyright (C) 2007 Bahadir Balban */ /* USER_AREA_START, see memlayout.h */ virtual_base = 0x10000000; physical_base = %s; __stack = (0x20000000 - 0x1000 - 8); /* First page before env/args page */ /* INCLUDE "include/physical_base.lds" */ /* physical_base = 0x228000; */ offset = virtual_base - physical_base; ENTRY(_start) SECTIONS { . = virtual_base; _start_text = .; .text : AT (ADDR(.text) - offset) { *(.text.head) *(.text) } /* rodata is needed else your strings will link at physical! */ .rodata : AT (ADDR(.rodata) - offset) { *(.rodata) } .rodata1 : AT (ADDR(.rodata1) - offset) { *(.rodata1) } .data : AT (ADDR(.data) - offset) { . = ALIGN(4K); /* Align UTCB to page boundary */ _start_utcb = .; *(.utcb) _end_utcb = .; . = ALIGN(4K); _start_bdev = .; *(.data.memfs) _end_bdev = .; *(.data) } .bss : AT (ADDR(.bss) - offset) { *(.bss) } _end = .; }