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
3772 5626 d 15 h svoboda /branches/dynload/ Unfinished Mips32 dynamic linker port (not working!) Also fixes related to using DLLs from statically-linked executables.  
3690 5649 d 17 h svoboda /branches/dynload/uspace/ Use PT_DYNAMIC header so that even 'file' says the executables are dynamically-linked.  
3688 5651 d 17 h svoboda /branches/dynload/uspace/lib/rtld/ Always halt on unknown relocation types. Add R_386_COPY. Ignore DTPMOD relocs for now.  
3687 5651 d 18 h svoboda /branches/dynload/uspace/ Implement R_386_PC32 relocation.  
3681 5652 d 21 h svoboda /branches/dynload/ Reorganize: move dynamic loader to /app/dload, dynamic linker librtld.a. (prepare for dlopen support).  
3673 5654 d 15 h svoboda /branches/dynload/uspace/lib/rtld/ Remove obsolete parts of dynamic linker.  
3663 5659 d 15 h svoboda /branches/dynload/uspace/lib/rtld/arch/ppc32/src/ Enforce SMC coherence on ppc32 PLT.  
3590 5675 d 22 h svoboda /branches/dynload/uspace/lib/ Remove superfluous alignment for ppc32.  
3589 5676 d 1 h svoboda /branches/dynload/uspace/ Finally make dynamic linking on ppc32 work (yay\!) The trick is that __tls_get_addr needs to return the address with a 32k bias.  
3567 5682 d 3 h svoboda /branches/dynload/uspace/lib/ Get rid of superfluous alignment in libc.so and rtld.  
3562 5682 d 19 h svoboda /branches/dynload/uspace/ Use macros for debug output in rtld and disable it. Close console connection before running program.  
3560 5683 d 14 h svoboda /branches/dynload/uspace/ Link more apps dynamically.  
3555 5683 d 16 h svoboda /branches/dynload/uspace/ Move build files for dynamic linking under libc-shared, instead of dltest.  
3554 5683 d 16 h svoboda /branches/dynload/ Sync ppc32 rtld.  
3552 5684 d 14 h svoboda /branches/dynload/ Make rtld a static executable instead of a dynamic library. Brings dltest back on ia32.  
3423 5735 d 16 h svoboda /branches/dynload/uspace/ ppc32 rtld/dltest fixes. dltest now runs, but no console output.  
3402 5737 d 3 h svoboda /branches/dynload/uspace/lib/rtld/arch/ppc32/ Finish ppc32 rtld update (still broken)  
3401 5737 d 3 h svoboda /branches/dynload/ Add missing file start.c, partially fix ppc32 rtld  
3400 5737 d 18 h svoboda /branches/dynload/ Make rtld work again (ia32 only)  
3004 5847 d 22 h svoboda /branches/dynload/ A crude task_spawn() libc function to run a program. A tiny command-line application 'cli' to test it.  
2999 5849 d 22 h svoboda /branches/dynload/uspace/lib/rtld/ Load all requested libraries recursively and construct a module dependency graph -- work towards supporting arbitrary deps. (incomplete)  
2998 5850 d 0 h svoboda /branches/dynload/uspace/lib/rtld/ Function for finding the address of a symbol. Use ELF hash table in def_find_in_module()  
2997 5850 d 3 h svoboda /branches/dynload/uspace/lib/rtld/ Fix ppc32 PLT. dltest now says hello on ppc32, too.  
2996 5850 d 16 h svoboda /branches/dynload/ Improve ppc32 dynamic loading support. Getting there...  
2995 5850 d 18 h svoboda /branches/dynload/uspace/lib/rtld/arch/ Initial ppc32 support in rtld. (bootstrap only)  
2990 5851 d 19 h svoboda /branches/dynload/uspace/ Add function inline function __pcb_get() for getting PCB address  
2989 5851 d 20 h svoboda /branches/dynload/uspace/ Simplify rtld bootstrap by passing its bias and dynamic section pointer in PCB  
2983 5852 d 3 h svoboda /branches/dynload/uspace/ Remove TLS sections from dltest. Do not add bias to absolute symbols (_tls_alignment). dltest now says hello.  
2982 5852 d 16 h svoboda /branches/dynload/uspace/ Link dltest with libc.so. Runs, but no console output.  
2981 5852 d 17 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 5852 d 18 h svoboda /branches/dynload/uspace/lib/rtld/ Fix handling of absent soname and rpath fields in .dynamic section. Slightly improve symbol search.  
2978 5852 d 22 h svoboda /branches/dynload/uspace/ Trivially link unresolved references from dltest to libtest  
2975 5853 d 21 h svoboda /branches/dynload/uspace/lib/rtld/ Remove obsolete code fragments  
2973 5853 d 22 h svoboda /branches/dynload/uspace/ Parse program's relocation table  
2971 5854 d 0 h svoboda /branches/dynload/uspace/ Add libtest to iramfs. Link rtld with position-independent libsoftfloat.  
2966 5855 d 0 h svoboda /branches/dynload/uspace/lib/rtld/ Define more ELF constants and use them  
2965 5855 d 0 h svoboda /branches/dynload/uspace/ Add headers for dynamic-loading-related ELF stuff. Reorganize rtld include directories.  
2956 5855 d 17 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  
2952 5856 d 17 h svoboda /branches/dynload/ Load rtld.so with iloader and make it write to console with a stripped-down version of the C library  
2950 5856 d 17 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