Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
2988 5859 d 14 h svoboda /branches/dynload/uspace/app/iloader/ Per-arch PCB address definition  
2987 5859 d 15 h svoboda /branches/dynload/uspace/app/iloader/arch/ Add iloader link scripts for mips32 and ppc32 (tested)  
2986 5859 d 15 h svoboda /branches/dynload/kernel/generic/src/mm/ Declare old_frame as uintptr_t instead of int  
2985 5859 d 17 h svoboda /branches/dynload/ Fix as_area_change_flags() and use it in elf_loader.c  
2984 5859 d 18 h svoboda /branches/dynload/ Add as_area_change_flags() syscall and libc wrapper. Implementation limited to non-shared areas of anonymous memory.  
2983 5859 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.  
2982 5860 d 10 h svoboda /branches/dynload/uspace/ Link dltest with libc.so. Runs, but no console output.  
2981 5860 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.  
2980 5860 d 12 h svoboda /branches/dynload/uspace/lib/rtld/ Fix handling of absent soname and rpath fields in .dynamic section. Slightly improve symbol search.  
2979 5860 d 15 h svoboda /branches/dynload/uspace/ Build shared C library  
2978 5860 d 16 h svoboda /branches/dynload/uspace/ Trivially link unresolved references from dltest to libtest  
2977 5861 d 15 h svoboda /branches/dynload/uspace/app/ Transfer data in larger chunks  
2976 5861 d 15 h svoboda /branches/dynload/uspace/ Move dltest before iramfs in makefile (problematic dependencies)  
2975 5861 d 15 h svoboda /branches/dynload/uspace/lib/rtld/ Remove obsolete code fragments  
2974 5861 d 15 h svoboda /branches/dynload/uspace/app/dltest/ Fix dltest linker script  
2973 5861 d 16 h svoboda /branches/dynload/uspace/ Parse program's relocation table  
2972 5861 d 17 h svoboda /branches/dynload/uspace/ Add so_bias argument to elf_load_file(). Successfully load libtest.so into memory.  
2971 5861 d 18 h svoboda /branches/dynload/uspace/ Add libtest to iramfs. Link rtld with position-independent libsoftfloat.  
2970 5861 d 19 h svoboda /branches/dynload/uspace/lib/libtest/ Fix symlink  
2969 5862 d 10 h svoboda /branches/dynload/uspace/ Incorporate ELF loader from iloader to rtld  
2968 5862 d 11 h svoboda /branches/dynload/uspace/ Parse .dynamic section fields into a more useful form.  
2967 5862 d 14 h svoboda /branches/dynload/uspace/ For testing purposes, add a trivial shared library and a program linked to it  
2966 5862 d 18 h svoboda /branches/dynload/uspace/lib/rtld/ Define more ELF constants and use them  
2965 5862 d 18 h svoboda /branches/dynload/uspace/ Add headers for dynamic-loading-related ELF stuff. Reorganize rtld include directories.  
2964 5862 d 19 h svoboda /branches/dynload/uspace/app/iloader/ Restructure elf loader data. Extract .dynamic section address  
2963 5862 d 20 h svoboda /branches/dynload/uspace/app/iloader/ Add missing elf_load.h  
2962 5862 d 20 h svoboda /branches/dynload/uspace/app/iloader/ Restructure iloader. Rename elf.c to elf_load.c (need elf_load.h vs elf.h)  
2961 5862 d 21 h svoboda /branches/dynload/uspace/app/iloader/ Read section headers in iloader  
2960 5862 d 21 h svoboda /branches/dynload/uspace/app/iloader/ Add missing file pcb.h. Introduces the Program Control Block (PCB)  
2959 5862 d 21 h svoboda /branches/dynload/ Load both program and dynamic linker from program loader. Pass program entry point to dynamic linker and have it run the program  
2958 5863 d 9 h jermar /trunk/uspace/srv/ Make VFS_MOUNT call even when mounting the root file system.  
2957 5863 d 11 h jermar /trunk/uspace/srv/vfs/ Cram VFS_MOUNT into one message. This creates a hidden demand for the sixth IPC
argument as there might be a desire to pass some options/flags in the future.
 
2956 5863 d 11 h svoboda /branches/dynload/uspace/lib/ Temporarily force local dynamic TLS model in libc by declaring all __thread variables static. Implement a trivial __tls_get_addr() function. Now rtld works linked with libc. Yaay! :D  
2955 5863 d 17 h svoboda /branches/dynload/ Build a position-independent libc  
2954 5863 d 20 h svoboda /branches/dynload/uspace/lib/rtld/ Read a file from rtld with more ugly hacking  
2953 5864 d 10 h jermar /trunk/uspace/srv/fs/fat/ Add synchronization to fat_match().  
2952 5864 d 11 h svoboda /branches/dynload/ Load rtld.so with iloader and make it write to console with a stripped-down version of the C library  
2951 5864 d 11 h jermar /trunk/uspace/srv/fs/fat/ Add locks to FAT index structures, FAT in-core node structures. Add futex to
protect the list of free cached FAT in-core nodes. Make fat_node_get() and
fat_node_put() and some other functions aware of these new locks.
 
2950 5864 d 11 h svoboda /branches/dynload/uspace/lib/rtld/arch/ia32/ Fix rtld linker script with some magic so that ld produces correct DT_REL[SZ], DT_JMPREL, DT_PLTRELSZ entries  
2949 5864 d 11 h svoboda /branches/dynload/ Add a python script 'bin2c.py' and an application 'iramfs' to smuggle an executable file into VFS. Demonstrate by running Tetris from VFS