Changes in / [3f461ecf:afdcc60e] in mainline


Ignore:
Location:
uspace
Files:
26 added
9 deleted
20 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/Makefile

    r3f461ecf rafdcc60e  
    4141CONFIG_MAKEFILE = $(ROOT_PATH)/Makefile.config
    4242
    43 LINKER_SCRIPTS = \
    44         $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld \
    45         $(LIBC_PREFIX)/arch/$(UARCH)/_link-loader.ld
    46 
    4743PRE_DEPEND = $(INCLUDE_KERNEL) $(INCLUDE_ARCH) $(INCLUDE_LIBARCH) $(COMMON_HEADER_ARCH)
    48 EXTRA_OUTPUT = $(LINKER_SCRIPTS)
    49 EXTRA_CLEAN = $(INCLUDE_KERNEL) $(INCLUDE_ARCH) $(INCLUDE_LIBARCH) $(COMMON_HEADER_ARCH) $(LINKER_SCRIPTS)
     44EXTRA_OUTPUT = $(LINKER_SCRIPT)
     45EXTRA_CLEAN = $(INCLUDE_KERNEL) $(INCLUDE_ARCH) $(INCLUDE_LIBARCH) $(COMMON_HEADER_ARCH) $(LINKER_SCRIPT)
    5046LIBRARY = libc
    5147
     
    137133        ln -sfn ../$< $@
    138134
    139 $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in
     135$(LINKER_SCRIPT): $(LINKER_SCRIPT).in
    140136        $(GCC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -E -x c $< | grep -v "^\#" > $@
    141 
    142 $(LIBC_PREFIX)/arch/$(UARCH)/_link-loader.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in
    143         $(GCC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DLOADER -E -x c $< | grep -v "^\#" > $@
    144137
    145138$(COMMON_HEADER_ARCH): $(COMMON_HEADER)
  • uspace/lib/c/arch/abs32le/Makefile.inc

    r3f461ecf rafdcc60e  
    2929ARCH_SOURCES = \
    3030        arch/$(UARCH)/src/entry.c \
    31         arch/$(UARCH)/src/entryjmp.c \
    3231        arch/$(UARCH)/src/thread_entry.c \
    3332        arch/$(UARCH)/src/fibril.c \
  • uspace/lib/c/arch/abs32le/_link.ld.in

    r3f461ecf rafdcc60e  
    33
    44PHDRS {
    5 #ifdef LOADER
    6         interp PT_INTERP;
    7         text PT_LOAD FILEHDR PHDRS FLAGS(5);
    8 #else
    95        text PT_LOAD FLAGS(5);
    10 #endif
    116        data PT_LOAD FLAGS(6);
    127}
    138
    149SECTIONS {
    15 #ifdef LOADER
    16         .interp : {
    17                 *(.interp);
    18         } :interp
     10        . = 0x1000 + SIZEOF_HEADERS;
    1911       
    20         . = 0x70001000 + SIZEOF_HEADERS;
    21 #else
    22         . = 0x1000 + SIZEOF_HEADERS;
    23 #endif
    2412        .text : {
    2513                *(.text .text.*);
  • uspace/lib/c/arch/amd64/Makefile.inc

    r3f461ecf rafdcc60e  
    2929ARCH_SOURCES = \
    3030        arch/$(UARCH)/src/entry.s \
    31         arch/$(UARCH)/src/entryjmp.s \
    3231        arch/$(UARCH)/src/thread_entry.s \
    3332        arch/$(UARCH)/src/syscall.S \
  • uspace/lib/c/arch/amd64/_link.ld.in

    r3f461ecf rafdcc60e  
    33
    44PHDRS {
    5 #ifdef LOADER
    6         interp PT_INTERP;
    7         text PT_LOAD FILEHDR PHDRS FLAGS(5);
    8 #else
    95        text PT_LOAD FLAGS(5);
    10 #endif
    116        data PT_LOAD FLAGS(6);
    127        debug PT_NOTE;
     
    149
    1510SECTIONS {
    16 #ifdef LOADER
    17         .interp : {
    18                 *(.interp);
    19         } :interp
     11        . = 0x1000 + SIZEOF_HEADERS;
    2012       
    21         . = 0x70001000 + SIZEOF_HEADERS;
    22 #else
    23         . = 0x1000 + SIZEOF_HEADERS;
    24 #endif
    2513        .init : {
    2614                *(.init);
  • uspace/lib/c/arch/arm32/Makefile.inc

    r3f461ecf rafdcc60e  
    3030ARCH_SOURCES = \
    3131        arch/$(UARCH)/src/entry.s \
    32         arch/$(UARCH)/src/entryjmp.s \
    3332        arch/$(UARCH)/src/thread_entry.s \
    3433        arch/$(UARCH)/src/syscall.c \
  • uspace/lib/c/arch/arm32/_link.ld.in

    r3f461ecf rafdcc60e  
    33
    44PHDRS {
    5 #ifdef LOADER
    6         interp PT_INTERP;
    7         text PT_LOAD FILEHDR PHDRS FLAGS(5);
    8 #else
    95        text PT_LOAD FLAGS(5);
    10 #endif
    116        data PT_LOAD FLAGS(6);
    127}
    138
    149SECTIONS {
    15 #ifdef LOADER
    16         .interp : {
    17                 *(.interp);
    18         } :interp
     10        . = 0x1000 + SIZEOF_HEADERS;
    1911       
    20         . = 0x70001000 + SIZEOF_HEADERS;
    21 #else
    22         . = 0x1000 + SIZEOF_HEADERS;
    23 #endif
    2412        .init : {
    2513                *(.init);
  • uspace/lib/c/arch/ia32/Makefile.inc

    r3f461ecf rafdcc60e  
    2929ARCH_SOURCES = \
    3030        arch/$(UARCH)/src/entry.s \
    31         arch/$(UARCH)/src/entryjmp.s \
    3231        arch/$(UARCH)/src/thread_entry.s \
    3332        arch/$(UARCH)/src/syscall.S \
  • uspace/lib/c/arch/ia32/_link.ld.in

    r3f461ecf rafdcc60e  
    33
    44PHDRS {
    5 #ifdef LOADER
    6         interp PT_INTERP;
    7         text PT_LOAD FILEHDR PHDRS FLAGS(5);
    8 #else
    95        text PT_LOAD FLAGS(5);
    10 #endif
    116        data PT_LOAD FLAGS(6);
    127        debug PT_NOTE;
     
    149
    1510SECTIONS {
    16 #ifdef LOADER
    17         .interp : {
    18                 *(.interp);
    19         } :interp
    20 
    21         . = 0x70001000 + SIZEOF_HEADERS;
    22 #else
    2311        . = 0x1000 + SIZEOF_HEADERS;
    24 #endif
     12       
    2513        .init : {
    2614                *(.init);
  • uspace/lib/c/arch/ia64/Makefile.inc

    r3f461ecf rafdcc60e  
    2929ARCH_SOURCES = \
    3030        arch/$(UARCH)/src/entry.s \
    31         arch/$(UARCH)/src/entryjmp.s \
    3231        arch/$(UARCH)/src/thread_entry.s \
    3332        arch/$(UARCH)/src/syscall.S \
  • uspace/lib/c/arch/ia64/_link.ld.in

    r3f461ecf rafdcc60e  
    33
    44PHDRS {
    5 #ifdef LOADER
    6         interp PT_INTERP;
    75        text PT_LOAD FLAGS(5);
    8 #else
    9         text PT_LOAD FLAGS(5);
    10 #endif
    116        data PT_LOAD FLAGS(6);
    127}
    138
    149SECTIONS {
    15 #ifdef LOADER
    16         .interp : {
    17                 *(.interp);
    18         } :interp
     10        . = 0x4000 + SIZEOF_HEADERS;
    1911       
    20         . = 0x800000000 + SIZEOF_HEADERS;
    21 #else
    22         . = 0x4000 + SIZEOF_HEADERS;
    23 #endif
    24         /*
    25          * XXX This is just a work around. Problem: .init section does not
    26          * have the proper alignment.
    27          */
    28         . = ALIGN(., 16);
    29 
    3012        .init : {
    3113                *(.init);
  • uspace/lib/c/arch/mips32/Makefile.inc

    r3f461ecf rafdcc60e  
    2929ARCH_SOURCES = \
    3030        arch/$(UARCH)/src/entry.s \
    31         arch/$(UARCH)/src/entryjmp.s \
    3231        arch/$(UARCH)/src/thread_entry.s \
    3332        arch/$(UARCH)/src/syscall.c \
  • uspace/lib/c/arch/mips32/_link.ld.in

    r3f461ecf rafdcc60e  
    33
    44PHDRS {
    5 #ifdef LOADER
    6         interp PT_INTERP;
    7         text PT_LOAD FILEHDR PHDRS FLAGS(5);
    8 #else
    95        text PT_LOAD FLAGS(5);
    10 #endif
    116        data PT_LOAD FLAGS(6);
    127}
    138
    149SECTIONS {
    15 #ifdef LOADER
    16         .interp : {
    17                 *(.interp);
    18         } :interp
     10        . = 0x4000 + SIZEOF_HEADERS;
    1911       
    20         . = 0x70004000 + SIZEOF_HEADERS;
    21 #else
    22         . = 0x4000 + SIZEOF_HEADERS;
    23 #endif
    2412        .init : {
    2513                *(.init);
  • uspace/lib/c/arch/mips32eb/Makefile.inc

    r3f461ecf rafdcc60e  
    2929ARCH_SOURCES = \
    3030        arch/$(UARCH)/src/entry.s \
    31         arch/$(UARCH)/src/entryjmp.s \
    3231        arch/$(UARCH)/src/thread_entry.s \
    3332        arch/$(UARCH)/src/syscall.c \
  • uspace/lib/c/arch/ppc32/Makefile.inc

    r3f461ecf rafdcc60e  
    2929ARCH_SOURCES = \
    3030        arch/$(UARCH)/src/entry.s \
    31         arch/$(UARCH)/src/entryjmp.s \
    3231        arch/$(UARCH)/src/thread_entry.s \
    3332        arch/$(UARCH)/src/syscall.c \
  • uspace/lib/c/arch/ppc32/_link.ld.in

    r3f461ecf rafdcc60e  
    33
    44PHDRS {
    5 #ifdef LOADER
    6         interp PT_INTERP;
    7         text PT_LOAD FILEHDR PHDRS FLAGS(5);
    8 #else
    95        text PT_LOAD FLAGS(5);
    10 #endif
    116        data PT_LOAD FLAGS(6);
    127}
    138
    149SECTIONS {
    15 #ifdef LOADER
    16         .itnerp : {
    17                 *(.interp);
    18         } :interp
     10        . = 0x1000 + SIZEOF_HEADERS;
    1911       
    20         . = 0x70001000 + SIZEOF_HEADERS;
    21 #else
    22         . = 0x1000 + SIZEOF_HEADERS;
    23 #endif
    2412        .init : {
    2513                *(.init);
  • uspace/lib/c/arch/sparc64/Makefile.inc

    r3f461ecf rafdcc60e  
    2929ARCH_SOURCES = \
    3030        arch/$(UARCH)/src/entry.s \
    31         arch/$(UARCH)/src/entryjmp.s \
    3231        arch/$(UARCH)/src/thread_entry.s \
    3332        arch/$(UARCH)/src/fibril.S \
  • uspace/lib/c/arch/sparc64/_link.ld.in

    r3f461ecf rafdcc60e  
    33
    44PHDRS {
    5 #ifdef LOADER
    6         interp PT_INTERP;
    7         text PT_LOAD FILEHDR PHDRS FLAGS(5);
    8 #else
    95        text PT_LOAD FLAGS(5);
    10 #endif
    116        data PT_LOAD FLAGS(6);
    127}
    138
    149SECTIONS {
    15 #ifdef LOADER
    16         .interp : {
    17                 *(.interp);
    18         } :interp
     10        . = 0x4000 + SIZEOF_HEADERS;
    1911       
    20         . = 0x70004000 + SIZEOF_HEADERS;
    21 #else
    22         . = 0x4000 + SIZEOF_HEADERS;
    23 #endif
    2412        .init : {
    2513                *(.init);
  • uspace/srv/loader/Makefile

    r3f461ecf rafdcc60e  
    3636-include $(COMMON_MAKEFILE)
    3737-include $(CONFIG_MAKEFILE)
     38-include arch/$(UARCH)/Makefile.inc
    3839
    39 LINKER_SCRIPT = $(LIBC_PREFIX)/arch/$(UARCH)/_link-loader.ld
     40LINKER_SCRIPT = arch/$(UARCH)/_link.ld
     41EXTRA_CLEAN = $(LINKER_SCRIPT)
    4042
    4143EXTRA_CFLAGS = -Iinclude
     
    5355
    5456include $(USPACE_PREFIX)/Makefile.common
     57
     58$(LINKER_SCRIPT): $(LINKER_SCRIPT).in
     59        $(GCC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@
  • uspace/srv/loader/elf_load.c

    r3f461ecf rafdcc60e  
    22 * Copyright (c) 2006 Sergey Bondari
    33 * Copyright (c) 2006 Jakub Jermar
    4  * Copyright (c) 2011 Jiri Svoboda
     4 * Copyright (c) 2008 Jiri Svoboda
    55 * All rights reserved.
    66 *
     
    5353#include <smc.h>
    5454#include <loader/pcb.h>
    55 #include <entry_point.h>
    5655
    5756#include "elf.h"
    5857#include "elf_load.h"
     58#include "arch.h"
    5959
    6060#define DPRINTF(...)
     
    136136void elf_run(elf_info_t *info, pcb_t *pcb)
    137137{
    138         entry_point_jmp(info->entry, pcb);
     138        program_run(info->entry, pcb);
    139139
    140140        /* not reached */
Note: See TracChangeset for help on using the changeset viewer.