Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
3009 5888 d 10 h svoboda /branches/dynload/ Merged latest trunk changes into dynload  
/branches/dynload/kernel/generic/src/lib/elf.c
/branches/dynload/kernel/generic/src/mm/backend_elf.c
/branches/dynload/uspace/lib/libc/arch/amd64/_link.ld.in
/branches/dynload/uspace/lib/libc/arch/arm32/_link.ld.in
/branches/dynload/uspace/lib/libc/arch/ia32/_link.ld.in
/branches/dynload/uspace/lib/libc/arch/ia64/_link.ld.in
/branches/dynload/uspace/lib/libc/arch/mips32/_link.ld.in
/branches/dynload/uspace/lib/libc/arch/ppc32/_link.ld.in
/branches/dynload/uspace/lib/libc/arch/ppc64/_link.ld.in
/branches/dynload/uspace/lib/libc/arch/sparc64/_link.ld.in
/branches/dynload/uspace/lib/libfs/libfs.c
/branches/dynload/uspace/srv/fs/fat/fat.h
/branches/dynload/uspace/srv/fs/fat/fat_idx.c
/branches/dynload/uspace/srv/fs/fat/fat_ops.c
/branches/dynload/uspace/srv/fs/tmpfs/tmpfs.c
/branches/dynload/uspace/srv/fs/tmpfs/tmpfs.h
/branches/dynload/uspace/srv/fs/tmpfs/tmpfs_ops.c
/branches/dynload/uspace/srv/vfs/vfs_ops.c
3004 5888 d 16 h svoboda /branches/dynload/ A crude task_spawn() libc function to run a program. A tiny command-line application 'cli' to test it.  
/branches/dynload/uspace/app/cli
/branches/dynload/uspace/app/cli/Makefile
/branches/dynload/uspace/app/cli/cli.c
/branches/dynload/uspace/app/iloader/interp.s
/branches/dynload/boot/arch/ia32/Makefile.inc
/branches/dynload/boot/arch/ia32/grub/menu.lst
/branches/dynload/kernel/generic/include/proc/task.h
/branches/dynload/kernel/generic/src/proc/task.c
/branches/dynload/uspace/Makefile
/branches/dynload/uspace/app/dltest/arch/ia32/_link.ld.in
/branches/dynload/uspace/app/iloader/Makefile
/branches/dynload/uspace/app/iloader/arch/ia32/_link.ld.in
/branches/dynload/uspace/app/iloader/elf_load.c
/branches/dynload/uspace/app/iloader/include/elf_load.h
/branches/dynload/uspace/app/iloader/main.c
/branches/dynload/uspace/app/iramfs/Makefile
/branches/dynload/uspace/app/iramfs/data.h
/branches/dynload/uspace/app/iramfs/main.c
/branches/dynload/uspace/lib/libc/generic/task.c
/branches/dynload/uspace/lib/libc/include/task.h
/branches/dynload/uspace/lib/rtld/arch/ia32/src/bootstrap.c
/branches/dynload/uspace/lib/rtld/arch/ia32/src/runtime.c
/branches/dynload/uspace/lib/rtld/arch/ppc32/src/bootstrap.c
/branches/dynload/uspace/lib/rtld/arch/ppc32/src/runtime.c
3000 5889 d 22 h svoboda /branches/dynload/uspace/lib/rtld/ Implement BFS for looking-up symbols. Add support for DT_SYMBOLIC flag. Set soname when building rtld.so. Strip path components when comparing module names.  
/branches/dynload/uspace/lib/rtld/Makefile
/branches/dynload/uspace/lib/rtld/include/module.h
/branches/dynload/uspace/lib/rtld/module.c
/branches/dynload/uspace/lib/rtld/rtld.c
/branches/dynload/uspace/lib/rtld/symbol.c
2999 5890 d 16 h svoboda /branches/dynload/uspace/lib/rtld/ Load all requested libraries recursively and construct a module dependency graph -- work towards supporting arbitrary deps. (incomplete)  
/branches/dynload/uspace/lib/rtld/include/module.h
/branches/dynload/uspace/lib/rtld/module.c
/branches/dynload/uspace/lib/rtld/Makefile
/branches/dynload/uspace/lib/rtld/arch/ia32/src/reloc.c
/branches/dynload/uspace/lib/rtld/arch/ppc32/src/reloc.c
/branches/dynload/uspace/lib/rtld/dynamic.c
/branches/dynload/uspace/lib/rtld/include/dynamic.h
/branches/dynload/uspace/lib/rtld/include/rtld.h
/branches/dynload/uspace/lib/rtld/include/symbol.h
/branches/dynload/uspace/lib/rtld/rtld.c
/branches/dynload/uspace/lib/rtld/symbol.c
2998 5890 d 18 h svoboda /branches/dynload/uspace/lib/rtld/ Function for finding the address of a symbol. Use ELF hash table in def_find_in_module()  
/branches/dynload/uspace/lib/rtld/arch/ia32/src/reloc.c
/branches/dynload/uspace/lib/rtld/arch/ppc32/src/bootstrap.c
/branches/dynload/uspace/lib/rtld/arch/ppc32/src/reloc.c
/branches/dynload/uspace/lib/rtld/include/elf_dyn.h
/branches/dynload/uspace/lib/rtld/include/symbol.h
/branches/dynload/uspace/lib/rtld/symbol.c
2997 5890 d 21 h svoboda /branches/dynload/uspace/lib/rtld/ Fix ppc32 PLT. dltest now says hello on ppc32, too.  
/branches/dynload/uspace/lib/rtld/Makefile
/branches/dynload/uspace/lib/rtld/arch/ppc32/src/bootstrap.c
/branches/dynload/uspace/lib/rtld/arch/ppc32/src/reloc.c
2996 5891 d 10 h svoboda /branches/dynload/ Improve ppc32 dynamic loading support. Getting there...  
/branches/dynload/uspace/app/dltest/arch
/branches/dynload/uspace/app/dltest/arch/ia32
/branches/dynload/uspace/app/dltest/arch/ia32/_link.ld.in
/branches/dynload/uspace/app/dltest/arch/ppc32
/branches/dynload/uspace/app/dltest/arch/ppc32/_link.ld.in
/branches/dynload/uspace/lib/libc-shared/arch
/branches/dynload/uspace/lib/libc-shared/arch/ia32
/branches/dynload/uspace/lib/libc-shared/arch/ia32/_link.ld.in
/branches/dynload/uspace/lib/libc-shared/arch/ppc32
/branches/dynload/uspace/lib/libc-shared/arch/ppc32/_link.ld.in
/branches/dynload/uspace/lib/rtld/arch/ppc32/src/reloc.c
/branches/dynload/uspace/app/dltest/_link.ld.in
/branches/dynload/uspace/lib/libc-shared/_link.ld.in
/branches/dynload/boot/arch/ppc32/loader/Makefile
/branches/dynload/uspace/app/dltest/Makefile
/branches/dynload/uspace/app/dltest/dltest.c
/branches/dynload/uspace/app/iloader/elf_load.c
/branches/dynload/uspace/lib/libc-shared/Makefile
/branches/dynload/uspace/lib/libc/arch/mips32/Makefile.inc
/branches/dynload/uspace/lib/libtest/libtest.c
/branches/dynload/uspace/lib/rtld/Makefile
/branches/dynload/uspace/lib/rtld/arch/ia32/src/reloc.c
/branches/dynload/uspace/lib/rtld/arch/ppc32/Makefile.inc
/branches/dynload/uspace/lib/rtld/arch/ppc32/src/bootstrap.c
/branches/dynload/uspace/lib/rtld/include/arch.h
/branches/dynload/uspace/lib/rtld/rtld.c
2995 5891 d 12 h svoboda /branches/dynload/uspace/lib/rtld/arch/ Initial ppc32 support in rtld. (bootstrap only)  
/branches/dynload/uspace/lib/rtld/arch/ppc32
/branches/dynload/uspace/lib/rtld/arch/ppc32/Makefile.inc
/branches/dynload/uspace/lib/rtld/arch/ppc32/_link.ld.in
/branches/dynload/uspace/lib/rtld/arch/ppc32/include
/branches/dynload/uspace/lib/rtld/arch/ppc32/include/elf_dyn.h
/branches/dynload/uspace/lib/rtld/arch/ppc32/src
/branches/dynload/uspace/lib/rtld/arch/ppc32/src/bootstrap.c
/branches/dynload/uspace/lib/rtld/arch/ppc32/src/runtime.c
/branches/dynload/uspace/lib/rtld/arch/ia32/Makefile.inc
2994 5892 d 11 h svoboda /branches/dynload/uspace/app/iloader/ Add per-arch Makefiles for iloader to set machine word length.  
/branches/dynload/uspace/app/iloader/arch/amd64/Makefile.inc
/branches/dynload/uspace/app/iloader/arch/arm32/Makefile.inc
/branches/dynload/uspace/app/iloader/arch/ia32/Makefile.inc
/branches/dynload/uspace/app/iloader/arch/mips32/Makefile.inc
/branches/dynload/uspace/app/iloader/arch/ppc32/Makefile.inc
/branches/dynload/uspace/app/iloader/Makefile
2993 5892 d 12 h svoboda /branches/dynload/uspace/app/iloader/arch/ Add arm32 and amd64 support to iloader  
/branches/dynload/uspace/app/iloader/arch/amd64
/branches/dynload/uspace/app/iloader/arch/amd64/_link.ld.in
/branches/dynload/uspace/app/iloader/arch/amd64/include
/branches/dynload/uspace/app/iloader/arch/amd64/include/pcb.h
/branches/dynload/uspace/app/iloader/arch/arm32
/branches/dynload/uspace/app/iloader/arch/arm32/_link.ld.in
/branches/dynload/uspace/app/iloader/arch/arm32/include
/branches/dynload/uspace/app/iloader/arch/arm32/include/pcb.h
2992 5892 d 12 h svoboda /branches/dynload/uspace/app/iloader/ Fix: Set proper as_area flags in elf_load.c  
/branches/dynload/uspace/app/iloader/elf_load.c
2991 5892 d 12 h svoboda /branches/dynload/uspace/app/iloader/include/ Fix __pcb_get() return type  
/branches/dynload/uspace/app/iloader/include/pcb.h
2990 5892 d 13 h svoboda /branches/dynload/uspace/ Add function inline function __pcb_get() for getting PCB address  
/branches/dynload/uspace/app/iloader/elf_load.c
/branches/dynload/uspace/app/iloader/include/pcb.h
/branches/dynload/uspace/lib/rtld/arch/ia32/src/bootstrap.c
/branches/dynload/uspace/lib/rtld/rtld.c
2989 5892 d 14 h svoboda /branches/dynload/uspace/ Simplify rtld bootstrap by passing its bias and dynamic section pointer in PCB  
/branches/dynload/uspace/Makefile
/branches/dynload/uspace/app/iloader/include/pcb.h
/branches/dynload/uspace/app/iloader/main.c
/branches/dynload/uspace/lib/rtld/arch/ia32/src/bootstrap.c
2988 5892 d 15 h svoboda /branches/dynload/uspace/app/iloader/ Per-arch PCB address definition  
/branches/dynload/uspace/app/iloader/arch/ia32/include
/branches/dynload/uspace/app/iloader/arch/ia32/include/pcb.h
/branches/dynload/uspace/app/iloader/arch/mips32/include
/branches/dynload/uspace/app/iloader/arch/mips32/include/pcb.h
/branches/dynload/uspace/app/iloader/arch/ppc32/include
/branches/dynload/uspace/app/iloader/arch/ppc32/include/pcb.h
/branches/dynload/uspace/app/iloader/Makefile
/branches/dynload/uspace/app/iloader/include/pcb.h
/branches/dynload/uspace/app/iloader/main.c
2987 5892 d 15 h svoboda /branches/dynload/uspace/app/iloader/arch/ Add iloader link scripts for mips32 and ppc32 (tested)  
/branches/dynload/uspace/app/iloader/arch/mips32
/branches/dynload/uspace/app/iloader/arch/mips32/_link.ld.in
/branches/dynload/uspace/app/iloader/arch/ppc32
/branches/dynload/uspace/app/iloader/arch/ppc32/_link.ld.in
/branches/dynload/uspace/app/iloader/arch/ia32/_link.ld.in
2985 5892 d 17 h svoboda /branches/dynload/ Fix as_area_change_flags() and use it in elf_loader.c  
/branches/dynload/kernel/generic/src/mm/as.c
/branches/dynload/uspace/app/iloader/elf_load.c
/branches/dynload/uspace/lib/libc/generic/as.c
2984 5892 d 18 h svoboda /branches/dynload/ Add as_area_change_flags() syscall and libc wrapper. Implementation limited to non-shared areas of anonymous memory.  
/branches/dynload/kernel/generic/include/mm/as.h
/branches/dynload/kernel/generic/include/syscall/syscall.h
/branches/dynload/kernel/generic/src/mm/as.c
/branches/dynload/kernel/generic/src/syscall/syscall.c
/branches/dynload/uspace/lib/libc/generic/as.c
/branches/dynload/uspace/lib/libc/include/as.h
2983 5892 d 21 h svoboda /branches/dynload/uspace/ Remove TLS sections from dltest. Do not add bias to absolute symbols (_tls_alignment). dltest now says hello.  
/branches/dynload/uspace/app/dltest/_link.ld.in
/branches/dynload/uspace/lib/rtld/arch/ia32/src/reloc.c
/branches/dynload/uspace/lib/rtld/rtld.c
2982 5893 d 10 h svoboda /branches/dynload/uspace/ Link dltest with libc.so. Runs, but no console output.  
/branches/dynload/uspace/Makefile
/branches/dynload/uspace/app/dltest/Makefile
/branches/dynload/uspace/app/dltest/dltest.c
/branches/dynload/uspace/app/iloader/include/pcb.h
/branches/dynload/uspace/app/iramfs/Makefile
/branches/dynload/uspace/app/iramfs/data.h
/branches/dynload/uspace/app/iramfs/main.c
/branches/dynload/uspace/lib/libc-shared/Makefile
/branches/dynload/uspace/lib/rtld/arch/ia32/src/reloc.c
/branches/dynload/uspace/lib/rtld/dynamic.c
/branches/dynload/uspace/lib/rtld/rtld.c
2981 5893 d 11 h svoboda /branches/dynload/uspace/lib/rtld/ Let rtld analyze its own dynamic section. Search for symbols in all rtld, program, lib. Resolve references in library, too.  
/branches/dynload/uspace/lib/rtld/arch/ia32/src/bootstrap.c
/branches/dynload/uspace/lib/rtld/include/rtld.h
/branches/dynload/uspace/lib/rtld/rtld.c
/branches/dynload/uspace/lib/rtld/symbol.c
2980 5893 d 12 h svoboda /branches/dynload/uspace/lib/rtld/ Fix handling of absent soname and rpath fields in .dynamic section. Slightly improve symbol search.  
/branches/dynload/uspace/lib/rtld/arch/ia32/src/reloc.c
/branches/dynload/uspace/lib/rtld/dynamic.c
/branches/dynload/uspace/lib/rtld/include/arch.h
/branches/dynload/uspace/lib/rtld/include/elf_dyn.h
/branches/dynload/uspace/lib/rtld/include/rtld.h
/branches/dynload/uspace/lib/rtld/include/symbol.h
/branches/dynload/uspace/lib/rtld/rtld.c
/branches/dynload/uspace/lib/rtld/symbol.c
2979 5893 d 16 h svoboda /branches/dynload/uspace/ Build shared C library  
/branches/dynload/uspace/lib/libc-shared
/branches/dynload/uspace/lib/libc-shared/Makefile
/branches/dynload/uspace/lib/libc-shared/_link.ld.in
/branches/dynload/uspace/Makefile
2978 5893 d 16 h svoboda /branches/dynload/uspace/ Trivially link unresolved references from dltest to libtest  
/branches/dynload/uspace/lib/rtld/include/symbol.h
/branches/dynload/uspace/lib/rtld/symbol.c
/branches/dynload/uspace/app/dltest/dltest.c
/branches/dynload/uspace/lib/rtld/Makefile
/branches/dynload/uspace/lib/rtld/arch/ia32/src/reloc.c
/branches/dynload/uspace/lib/rtld/include/arch.h
/branches/dynload/uspace/lib/rtld/include/dynamic.h
/branches/dynload/uspace/lib/rtld/include/elf_dyn.h
/branches/dynload/uspace/lib/rtld/rtld.c
2977 5894 d 15 h svoboda /branches/dynload/uspace/app/ Transfer data in larger chunks  
/branches/dynload/uspace/app/iloader/elf_load.c
/branches/dynload/uspace/app/iramfs/main.c
2976 5894 d 15 h svoboda /branches/dynload/uspace/ Move dltest before iramfs in makefile (problematic dependencies)  
/branches/dynload/uspace/Makefile
2975 5894 d 15 h svoboda /branches/dynload/uspace/lib/rtld/ Remove obsolete code fragments  
/branches/dynload/uspace/lib/rtld/syscall.S
/branches/dynload/uspace/lib/rtld/arch/ia32/src/runtime.c
2974 5894 d 16 h svoboda /branches/dynload/uspace/app/dltest/ Fix dltest linker script  
/branches/dynload/uspace/app/dltest/_link.ld.in
2973 5894 d 16 h svoboda /branches/dynload/uspace/ Parse program's relocation table  
/branches/dynload/uspace/lib/rtld/arch/ia32/src/reloc.c
/branches/dynload/uspace/lib/rtld/include/arch.h
/branches/dynload/uspace/app/dltest/Makefile
/branches/dynload/uspace/app/dltest/dltest.c
/branches/dynload/uspace/app/iloader/main.c
/branches/dynload/uspace/lib/rtld/arch/ia32/Makefile.inc
/branches/dynload/uspace/lib/rtld/include/rtld.h
/branches/dynload/uspace/lib/rtld/rtld.c
2972 5894 d 18 h svoboda /branches/dynload/uspace/ Add so_bias argument to elf_load_file(). Successfully load libtest.so into memory.  
/branches/dynload/uspace/app/iloader/elf_load.c
/branches/dynload/uspace/app/iloader/include/elf_load.h
/branches/dynload/uspace/app/iloader/main.c
/branches/dynload/uspace/lib/rtld/rtld.c
2971 5894 d 18 h svoboda /branches/dynload/uspace/ Add libtest to iramfs. Link rtld with position-independent libsoftfloat.  
/branches/dynload/uspace/app/iloader/elf_load.c
/branches/dynload/uspace/app/iramfs/Makefile
/branches/dynload/uspace/app/iramfs/data.h
/branches/dynload/uspace/app/iramfs/main.c
/branches/dynload/uspace/lib/rtld/Makefile
/branches/dynload/uspace/lib/rtld/arch/ia32/src/runtime.c
/branches/dynload/uspace/lib/softint/Makefile
2970 5894 d 19 h svoboda /branches/dynload/uspace/lib/libtest/ Fix symlink  
/branches/dynload/uspace/lib/libtest/libtest.so.0
2969 5895 d 10 h svoboda /branches/dynload/uspace/ Incorporate ELF loader from iloader to rtld  
/branches/dynload/uspace/app/iloader/include
/branches/dynload/uspace/app/iloader/include/elf.h
/branches/dynload/uspace/app/iloader/include/elf_load.h
/branches/dynload/uspace/app/iloader/include/pcb.h
/branches/dynload/uspace/lib/rtld/elf_load.c
/branches/dynload/uspace/app/iloader/elf.h
/branches/dynload/uspace/app/iloader/elf_load.h
/branches/dynload/uspace/app/iloader/pcb.h
/branches/dynload/uspace/lib/rtld/include/elf.h
/branches/dynload/uspace/app/iloader/Makefile
/branches/dynload/uspace/app/iloader/main.c
/branches/dynload/uspace/lib/rtld/Makefile
/branches/dynload/uspace/lib/rtld/dynamic.c
/branches/dynload/uspace/lib/rtld/include/dynamic.h
/branches/dynload/uspace/lib/rtld/rtld.c
2968 5895 d 11 h svoboda /branches/dynload/uspace/ Parse .dynamic section fields into a more useful form.  
/branches/dynload/uspace/lib/rtld/dynamic.c
/branches/dynload/uspace/lib/rtld/include/dynamic.h
/branches/dynload/uspace/app/dltest/dltest.c
/branches/dynload/uspace/app/iloader/main.c
/branches/dynload/uspace/app/iramfs/Makefile
/branches/dynload/uspace/app/iramfs/data.h
/branches/dynload/uspace/app/iramfs/main.c
/branches/dynload/uspace/lib/rtld/Makefile
/branches/dynload/uspace/lib/rtld/rtld.c
2967 5895 d 15 h svoboda /branches/dynload/uspace/ For testing purposes, add a trivial shared library and a program linked to it  
/branches/dynload/uspace/app/dltest
/branches/dynload/uspace/app/dltest/Makefile
/branches/dynload/uspace/app/dltest/_link.ld.in
/branches/dynload/uspace/app/dltest/dltest.c
/branches/dynload/uspace/lib/libtest
/branches/dynload/uspace/lib/libtest/Makefile
/branches/dynload/uspace/lib/libtest/_link.ld.in
/branches/dynload/uspace/lib/libtest/libtest.c
/branches/dynload/uspace/lib/libtest/libtest.h
/branches/dynload/uspace/lib/libtest/libtest.so.0
/branches/dynload/uspace/Makefile
2966 5895 d 18 h svoboda /branches/dynload/uspace/lib/rtld/ Define more ELF constants and use them  
/branches/dynload/uspace/lib/rtld/arch/ia32/src/bootstrap.c
/branches/dynload/uspace/lib/rtld/include/elf_dyn.h
2965 5895 d 18 h svoboda /branches/dynload/uspace/ Add headers for dynamic-loading-related ELF stuff. Reorganize rtld include directories.  
/branches/dynload/uspace/lib/rtld/arch/ia32/include
/branches/dynload/uspace/lib/rtld/arch/ia32/include/elf_dyn.h
/branches/dynload/uspace/lib/rtld/arch/ia32/src
/branches/dynload/uspace/lib/rtld/arch/ia32/src/bootstrap.c
/branches/dynload/uspace/lib/rtld/arch/ia32/src/entry.s
/branches/dynload/uspace/lib/rtld/arch/ia32/src/runtime.c
/branches/dynload/uspace/lib/rtld/include
/branches/dynload/uspace/lib/rtld/include/elf.h
/branches/dynload/uspace/lib/rtld/include/elf_dyn.h
/branches/dynload/uspace/lib/rtld/include/rtld.h
/branches/dynload/uspace/lib/rtld/arch/ia32/bootstrap.c
/branches/dynload/uspace/lib/rtld/arch/ia32/entry.s
/branches/dynload/uspace/lib/rtld/arch/ia32/runtime.c
/branches/dynload/uspace/app/iloader/elf_load.c
/branches/dynload/uspace/app/iloader/pcb.h
/branches/dynload/uspace/lib/rtld/Makefile
/branches/dynload/uspace/lib/rtld/arch/ia32/Makefile.inc
/branches/dynload/uspace/lib/rtld/rtld.c
2964 5895 d 20 h svoboda /branches/dynload/uspace/app/iloader/ Restructure elf loader data. Extract .dynamic section address  
/branches/dynload/uspace/app/iloader/elf_load.c
/branches/dynload/uspace/app/iloader/elf_load.h
/branches/dynload/uspace/app/iloader/main.c
/branches/dynload/uspace/app/iloader/pcb.h
2963 5895 d 21 h svoboda /branches/dynload/uspace/app/iloader/ Add missing elf_load.h  
/branches/dynload/uspace/app/iloader/elf_load.h
2962 5895 d 21 h svoboda /branches/dynload/uspace/app/iloader/ Restructure iloader. Rename elf.c to elf_load.c (need elf_load.h vs elf.h)  
/branches/dynload/uspace/app/iloader/elf_load.c
/branches/dynload/uspace/app/iloader/elf.c
/branches/dynload/uspace/app/iloader/Makefile
/branches/dynload/uspace/app/iloader/main.c