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
2972 5889 d 3 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 5889 d 3 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 5889 d 4 h svoboda /branches/dynload/uspace/lib/libtest/ Fix symlink  
/branches/dynload/uspace/lib/libtest/libtest.so.0
2969 5889 d 19 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 5889 d 20 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 5890 d 0 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 5890 d 3 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 5890 d 4 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 5890 d 5 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 5890 d 6 h svoboda /branches/dynload/uspace/app/iloader/ Add missing elf_load.h  
/branches/dynload/uspace/app/iloader/elf_load.h
2962 5890 d 6 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
2961 5890 d 6 h svoboda /branches/dynload/uspace/app/iloader/ Read section headers in iloader  
/branches/dynload/uspace/app/iloader/elf.c
/branches/dynload/uspace/app/iloader/main.c
2960 5890 d 7 h svoboda /branches/dynload/uspace/app/iloader/ Add missing file pcb.h. Introduces the Program Control Block (PCB)  
/branches/dynload/uspace/app/iloader/pcb.h
2959 5890 d 7 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  
/branches/dynload/tools/bin2c.py
/branches/dynload/uspace/app/iloader/arch/ia32/_link.ld.in
/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/time.c
/branches/dynload/uspace/lib/rtld/rtld.c
2956 5890 d 21 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  
/branches/dynload/uspace/lib/rtld/arch/ia32/runtime.c
/branches/dynload/uspace/lib/rtld/ulibc.c
/branches/dynload/uspace/lib/libc/generic/async.c
/branches/dynload/uspace/lib/rtld/Makefile
/branches/dynload/uspace/lib/rtld/arch/ia32/Makefile.inc
2955 5891 d 3 h svoboda /branches/dynload/ Build a position-independent libc  
/branches/dynload/kernel/arch/ia32/include/barrier.h
/branches/dynload/uspace/lib/libc/Makefile
2954 5891 d 5 h svoboda /branches/dynload/uspace/lib/rtld/ Read a file from rtld with more ugly hacking  
/branches/dynload/uspace/lib/rtld/rtld.c
/branches/dynload/uspace/lib/rtld/ulibc.c
2952 5891 d 20 h svoboda /branches/dynload/ Load rtld.so with iloader and make it write to console with a stripped-down version of the C library  
/branches/dynload/uspace/lib/rtld/syscall.S
/branches/dynload/uspace/lib/rtld/ulibc.c
/branches/dynload/kernel/generic/include/syscall/syscall.h
/branches/dynload/kernel/generic/src/syscall/syscall.c
/branches/dynload/uspace/app/iramfs/Makefile
/branches/dynload/uspace/lib/rtld/Makefile
/branches/dynload/uspace/lib/rtld/arch/ia32/bootstrap.c
/branches/dynload/uspace/lib/rtld/rtld.c
2950 5891 d 20 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  
/branches/dynload/uspace/lib/rtld/arch/ia32/_link.ld.in
2949 5891 d 21 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  
/branches/dynload/tools/bin2c.py
/branches/dynload/uspace/app/iramfs
/branches/dynload/uspace/app/iramfs/Makefile
/branches/dynload/uspace/app/iramfs/data.h
/branches/dynload/uspace/app/iramfs/main.c
/branches/dynload/boot/arch/ia32/Makefile.inc
/branches/dynload/boot/arch/ia32/grub/menu.lst
/branches/dynload/uspace/Makefile
/branches/dynload/uspace/app/iloader/Makefile
/branches/dynload/uspace/app/iloader/elf.c
2948 5891 d 21 h svoboda /branches/dynload/ Merged latest trunk changes into dynload  
/branches/dynload/kernel/generic/src/ipc/sysipc.c
/branches/dynload/uspace/app/tester/vfs/vfs1.c
/branches/dynload/uspace/srv/fs/fat/fat_idx.c
2933 5894 d 2 h svoboda /branches/dynload/uspace/ Add library rtld, the future run-time dynamic linker  
/branches/dynload/uspace/lib/rtld
/branches/dynload/uspace/lib/rtld/Makefile
/branches/dynload/uspace/lib/rtld/arch
/branches/dynload/uspace/lib/rtld/arch/ia32
/branches/dynload/uspace/lib/rtld/arch/ia32/Makefile.inc
/branches/dynload/uspace/lib/rtld/arch/ia32/_link.ld.in
/branches/dynload/uspace/lib/rtld/arch/ia32/bootstrap.c
/branches/dynload/uspace/lib/rtld/arch/ia32/entry.s
/branches/dynload/uspace/lib/rtld/rtld.c
/branches/dynload/uspace/Makefile
2932 5894 d 2 h svoboda /branches/dynload/uspace/ Fix iloader loading with bias and add it to makefile  
/branches/dynload/uspace/Makefile
/branches/dynload/uspace/app/iloader/elf.c
/branches/dynload/uspace/app/iloader/main.c
2929 5894 d 5 h svoboda /branches/dynload/uspace/app/iloader/ Merge iloader (c2928) from tracing to dynload  
/branches/dynload/uspace/app/iloader
2927 5894 d 6 h decky /branches/dynload/ added dynload branch  
/branches/dynload
2910 5897 d 0 h jermar /trunk/uspace/srv/fs/fat/ Implement fat_node_put() and remove the node from the free node list when
bumping its refernce count from zero in fat_node_get().
 
/trunk/uspace/srv/fs/fat/fat_ops.c
2893 5898 d 5 h jermar /trunk/uspace/srv/fs/fat/ More bits of fat_node_get().
Still needs to do some locking.
 
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
2891 5900 d 19 h jermar /trunk/uspace/srv/fs/fat/ New first bits of fat_node_get().  
/trunk/uspace/srv/fs/fat/fat_ops.c
2890 5900 d 21 h jermar /trunk/uspace/srv/fs/fat/ Need a way to locate the FAT index structure by VFS index. Also fix code that
locates the FAT index structure by position in the file system namespace.
 
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_idx.c
/trunk/uspace/srv/fs/fat/fat_ops.c
2889 5903 d 20 h jermar /trunk/uspace/srv/fs/fat/ Add hash table for used fat_idx_t structures and implement fat_idx_map().  
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_idx.c
2884 5904 d 20 h jermar /trunk/uspace/srv/fs/fat/ merge vs. coalesce  
/trunk/uspace/srv/fs/fat/fat_idx.c
2881 5905 d 0 h jermar /trunk/uspace/srv/fs/fat/ Code for de/allocation of VFS indices for FAT.  
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_idx.c
/trunk/uspace/srv/fs/fat/fat_ops.c
2879 5905 d 1 h jermar /trunk/uspace/lib/libc/include/libadt/ Add functions for inserting items before or after other items in a boubly-linked
circular lists.
 
/trunk/uspace/lib/libc/include/libadt/list.h
2876 5905 d 4 h jermar /trunk/uspace/srv/fs/fat/ Add a dedicated source file for handling FAT indices.  
/trunk/uspace/srv/fs/fat/fat_idx.c
/trunk/uspace/srv/fs/fat/Makefile
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
2864 5918 d 18 h jermar /trunk/uspace/srv/fs/fat/ Introduce the foundation for unique and stable FAT VFS node indices.

The first two reserved FAT entries are physically present in each FAT, so fix
the code to be aware of this.
 
/trunk/uspace/srv/fs/fat/fat.h
/trunk/uspace/srv/fs/fat/fat_ops.c
2863 5919 d 5 h jermar /trunk/uspace/ Revert libfs node_get() API to a model without the parent node pointer
argument.
 
/trunk/uspace/lib/libfs/libfs.c
/trunk/uspace/lib/libfs/libfs.h
/trunk/uspace/srv/fs/fat/fat_ops.c
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
2861 5922 d 21 h cejka /trunk/ Used common macro for context saving on ppc64.  
/trunk/uspace/lib/libc/arch/ppc64/include/context_offset.h
/trunk/kernel/arch/ppc32/include/context_offset.h
/trunk/kernel/arch/ppc64/include/context_offset.h
/trunk/kernel/arch/ppc64/src/context.S
/trunk/uspace/lib/libc/arch/ppc64/src/fibril.S
2860 5923 d 20 h cejka /trunk/ Context handling unified for sparc64.  
/trunk/uspace/lib/libc/arch/sparc64/include/context_offset.h
/trunk/kernel/arch/sparc64/include/context_offset.h
/trunk/kernel/arch/sparc64/src/context.S
/trunk/uspace/lib/libc/arch/sparc64/src/fibril.S
2859 5924 d 10 h jermar /trunk/uspace/srv/fs/fat/ Add fat_block_get().  
/trunk/uspace/srv/fs/fat/fat_ops.c
2858 5924 d 13 h jermar /trunk/uspace/ libfs destroy operation should rather return an error code instead of a truth
value.
 
/trunk/uspace/lib/libfs/libfs.h
/trunk/uspace/srv/fs/fat/fat_ops.c
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c