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
3688 5637 d 5 h svoboda /branches/dynload/uspace/lib/rtld/ Always halt on unknown relocation types. Add R_386_COPY. Ignore DTPMOD relocs for now.  
3687 5637 d 6 h svoboda /branches/dynload/uspace/ Implement R_386_PC32 relocation.  
3681 5638 d 9 h svoboda /branches/dynload/ Reorganize: move dynamic loader to /app/dload, dynamic linker librtld.a. (prepare for dlopen support).  
3673 5640 d 3 h svoboda /branches/dynload/uspace/lib/rtld/ Remove obsolete parts of dynamic linker.  
3663 5645 d 3 h svoboda /branches/dynload/uspace/lib/rtld/arch/ppc32/src/ Enforce SMC coherence on ppc32 PLT.  
3590 5661 d 10 h svoboda /branches/dynload/uspace/lib/ Remove superfluous alignment for ppc32.  
3589 5661 d 13 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 5667 d 15 h svoboda /branches/dynload/uspace/lib/ Get rid of superfluous alignment in libc.so and rtld.  
3562 5668 d 7 h svoboda /branches/dynload/uspace/ Use macros for debug output in rtld and disable it. Close console connection before running program.  
3560 5669 d 2 h svoboda /branches/dynload/uspace/ Link more apps dynamically.  
3555 5669 d 4 h svoboda /branches/dynload/uspace/ Move build files for dynamic linking under libc-shared, instead of dltest.  
3554 5669 d 4 h svoboda /branches/dynload/ Sync ppc32 rtld.  
3552 5670 d 2 h svoboda /branches/dynload/ Make rtld a static executable instead of a dynamic library. Brings dltest back on ia32.  
3423 5721 d 4 h svoboda /branches/dynload/uspace/ ppc32 rtld/dltest fixes. dltest now runs, but no console output.  
3402 5722 d 15 h svoboda /branches/dynload/uspace/lib/rtld/arch/ppc32/ Finish ppc32 rtld update (still broken)  
3401 5722 d 15 h svoboda /branches/dynload/ Add missing file start.c, partially fix ppc32 rtld  
3400 5723 d 6 h svoboda /branches/dynload/ Make rtld work again (ia32 only)  
3004 5833 d 10 h svoboda /branches/dynload/ A crude task_spawn() libc function to run a program. A tiny command-line application 'cli' to test it.  
2999 5835 d 10 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 5835 d 12 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 5835 d 15 h svoboda /branches/dynload/uspace/lib/rtld/ Fix ppc32 PLT. dltest now says hello on ppc32, too.  
2996 5836 d 4 h svoboda /branches/dynload/ Improve ppc32 dynamic loading support. Getting there...  
2995 5836 d 6 h svoboda /branches/dynload/uspace/lib/rtld/arch/ Initial ppc32 support in rtld. (bootstrap only)  
2990 5837 d 7 h svoboda /branches/dynload/uspace/ Add function inline function __pcb_get() for getting PCB address  
2989 5837 d 8 h svoboda /branches/dynload/uspace/ Simplify rtld bootstrap by passing its bias and dynamic section pointer in PCB  
2983 5837 d 15 h svoboda /branches/dynload/uspace/ Remove TLS sections from dltest. Do not add bias to absolute symbols (_tls_alignment). dltest now says hello.  
2982 5838 d 4 h svoboda /branches/dynload/uspace/ Link dltest with libc.so. Runs, but no console output.  
2981 5838 d 5 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 5838 d 6 h svoboda /branches/dynload/uspace/lib/rtld/ Fix handling of absent soname and rpath fields in .dynamic section. Slightly improve symbol search.  
2978 5838 d 10 h svoboda /branches/dynload/uspace/ Trivially link unresolved references from dltest to libtest  
2975 5839 d 9 h svoboda /branches/dynload/uspace/lib/rtld/ Remove obsolete code fragments  
2973 5839 d 10 h svoboda /branches/dynload/uspace/ Parse program's relocation table  
2971 5839 d 12 h svoboda /branches/dynload/uspace/ Add libtest to iramfs. Link rtld with position-independent libsoftfloat.  
2966 5840 d 12 h svoboda /branches/dynload/uspace/lib/rtld/ Define more ELF constants and use them  
2965 5840 d 12 h svoboda /branches/dynload/uspace/ Add headers for dynamic-loading-related ELF stuff. Reorganize rtld include directories.  
2956 5841 d 5 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 5842 d 5 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 5842 d 5 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  
2933 5844 d 10 h svoboda /branches/dynload/uspace/ Add library rtld, the future run-time dynamic linker