summaryrefslogtreecommitdiffstats
path: root/ldso
Commit message (Collapse)AuthorAgeFilesLines
* Sigh. I switched the values...Eric Andersen2004-02-201-2/+2
|
* Per discussion with Joakim Tjernlund, all the horrible weak declarations junkEric Andersen2004-02-201-78/+96
| | | | | | in libdl pointing to the local 'foobar' function is garbage. This cleans all that up and makes the code much less horrible. Now it is only really really ugly (which is a marked improvement),
* Patch from Joakim Tjernlund:Eric Andersen2004-02-201-22/+13
| | | | white space cleanup and optimize the inner loop in dl_find_hash.
* ___brk_addr and __environ are not functions. Finding the brokenEric Andersen2004-02-201-2/+2
| | | | | | lookup on 'atexit' got me excited and I started fixing the same problem elsewhere. Except these were correct as-was, and were not a problem....
* Slightly cleaner formattingEric Andersen2004-02-201-4/+4
|
* Patch by Joakim Tjernlund <joakim.tjernlund@lumentis.se>, which gotManuel Novoa III2004-02-201-1/+1
| | | | | mips mostly working. From there, I tracked the bash failure to a bad _dl_atexit address and Erik took it from there.
* When doing symbol lookups on functionsEric Andersen2004-02-201-4/+4
|
* Minor change to better match recent changes to other archesEric Andersen2004-02-182-61/+63
|
* Alexandre Oliva writes:Eric Andersen2004-02-185-0/+1474
| | | | | | | | | | | | | | | | | | | | This patch adds code to uClibc to support a new ABI designed for the FR-V architecture, that enables text segments of executables and shared libraries to be shared by multiple processes on an OS such as uClinux, that can run on FR-V processors without an MMU. Patches for binutils and GCC have just been posted in the corresponding mailing lists. The binutils patch was approved, but there's one additional patch pending review, that I posted this week. An updated GCC patch will be posted to gcc-patches@gcc.gnu.org as soon as I complete testing (I used a known-good compiler to test the uClibc patch below). Since the existing dynamic loader code didn't support independent relocation of segments, it required changes that were somewhat extensive. I've added a number of new machine-specific macros to try to keep the platform and ABI-specific details outside the generic code. I hope this is not a problem.
* Fixup support for gcc 2.95Eric Andersen2004-02-171-15/+15
|
* Seperate out the startup stuff from the non-startup stuff.Eric Andersen2004-02-1718-694/+696
| | | | | Begin converting some big ugly macros to inline functions instead
* Kill off an arm specific hack, that fostered three other arch specificEric Andersen2004-02-172-13/+5
| | | | hacks. Just check for the elf magic string one byte at a time....
* When doing _dl_mmap to obtain a bit of anonymous memory, use a much moreEric Andersen2004-02-172-4/+4
| | | | | sensible -1 fd, rather than pretending to work off of fd 0, which makes absolutely no sense.
* Do not duplicate stuff from ldso.hEric Andersen2004-02-171-12/+0
|
* Provide the ldso syscalls and string funcs earlier in the listEric Andersen2004-02-171-3/+4
|
* No point in including debug info for ldso. It isn't helpful to do soEric Andersen2004-02-141-5/+4
| | | | since gdb can't do anything for us.
* Atsushi Nemoto writes:Eric Andersen2004-02-141-2/+3
| | | | | Also, if you are to enable SUPPORT_LD_DEBUG on MIPS, I think this patch is needed too.
* Fix this as should have been done a long time ago...Manuel Novoa III2004-02-141-0/+3
|
* Give gcc branch prediction some hits on obviously unlikely branchesEric Andersen2004-02-149-30/+31
|
* Joakim Tjernlund writes:Eric Andersen2004-02-1425-123/+177
| | | | | | | | | | | | | | | | | | Hi it is me again. This is the latest ldso patch. the NEW weak symbol handling works now with a little special handling in _dl_find_hash(). You get to chose if you want the new or old handling :) There was 2 missing _dl_check_if_named_library_is_loaded() calls in _dlopen(). I then disabled the _dl_check_if_named_library_is_loaded() in dl-elf.c since it is rendundant. Question, why does some _dl_linux_resolver(), like i386, have 2 calls to _dl_find_hash()? I think that is wrong, isn't it? I really hope you can check this out soon ...
* Based on a problem report and patch from Florian Schirmer, fix a compileEric Andersen2004-02-122-4/+4
| | | | | | problem with mips -- contrary to my expectation gcc on mips _always_ defines __PIC__ which breaks the assumption inherent in my code. This should fix things up.
* Eliminate the PIE support option, and simply support that all the timeEric Andersen2004-02-102-33/+6
|
* Fix function prototype to match the official ELF standard hash functionEric Andersen2004-02-102-3/+3
|
* Rework file naming, aiming for at least a vague level of consistancyEric Andersen2004-02-1049-4966/+35
|
* oops, manditory forgotten patchEric Andersen2004-02-102-0/+262
|
* Fixup the definition of _dl_open, and move some bits back where they were,Eric Andersen2004-02-105-246/+104
| | | | till I properly finish the next step in my evil plan.
* Move _dl_printf and _dl_malloc to ldso, which is a more sensibleEric Andersen2004-02-083-258/+129
| | | | location for this stuff
* Cleanup whitespace and formattingEric Andersen2004-02-087-390/+377
|
* Add some permissions when creating the logfileEric Andersen2004-02-081-3/+3
|
* Thanks to Joakim's recent paches, we can now remove the FIXMEEric Andersen2004-02-072-14/+0
|
* Restore the library entry point so it works. It does haveEric Andersen2004-02-0720-12/+22
| | | | to be arch specific to work properly.
* Joakim Tjernlund writes:Eric Andersen2004-02-072-220/+90
| | | | | | | | | | Hi again All dltest* and test* programs pass for me. uClibc ld.so resolves according to the OLD weak symbol handling. I have tried to use the new scheme as well, but that segfaults in all cases but test3.
* Remove unneeded forward declarationEric Andersen2004-02-071-1/+0
|
* Split off the stuff that cannot use function into its own file,Eric Andersen2004-02-0726-694/+1236
| | | | | to make it easier to treat it specially while not bothering the rest of the code with the same constraints.
* Step one, begin shuffling things around a bitEric Andersen2004-02-079-87/+135
|
* Yet more consistancy fixupsEric Andersen2004-02-071-2/+2
|
* Use unsigned char * pointersEric Andersen2004-02-073-3/+3
|
* Trim trailing whitespaceEric Andersen2004-02-062-14/+14
|
* Remove trailing whitespaceEric Andersen2004-02-062-128/+126
|
* Fixup a badly merged updateEric Andersen2004-02-051-4/+7
| | | | -Erik
* Use a static const char array for static stringsEric Andersen2004-02-042-4/+4
|
* Jakub Bogusz writes:Eric Andersen2004-02-013-2/+4
| | | | | | | | | | | | | | | | | | Hello, the attached patch fixes ldso compilation on sparc-linux (at least with sparc32 userland). It was made against uClibc 0.9.21, but it's still OK with 0.9.26. There were three problems: - missing __NR_getpid definition - conflicting prototypes in elfinterp.c - syntax error (missing semicolon) in ldso.c With this patch shared libraries and ldso can be built on sparc. It contains also ldso.c syntax fix for m68k - there was the same mistake two lines earlier; but I didn't test build on m68k.
* Revert to scope as used by original code for now, just in case.Eric Andersen2004-01-311-2/+4
| | | | | I still don't have a good handle on why and when the different scope values should be used.
* Joakim Tjernlund writes:Eric Andersen2004-01-301-117/+87
| | | | | | | | | | | | | | | | | | | | > Not there yet, but the interfaces are much closer now... > Heading to bed though, since its 5:30am. :-) This works, but I discovered something "funny". For all relocs but COPY you can use scope instead of scope->dyn->symbol_scope and it is much faster to do that. Search for "Funny" in the patch to see what I mean. Probably I probably broke something, please let me know if it works for you too. I think I am done with ldso now. Has been fun and I hope to actually use uClibc/busybox soon in a project. Ohh, there is one thing left, double sized PLT entries, but maybe these aren't needed in uClibc? Sweet dreams Jocke
* Modify interfaces for _dl_parse_relocation_information()Eric Andersen2004-01-2913-250/+245
| | | | | | | _dl_parse_lazy_relocation_information() and _dl_parse_copy_information() so they are all consistant, allowing for future consolidation. Trim some trailing whitespace as well.
* Scrub up use of ELF_USES_RELOCA and eliminte some unsightly ifdefsEric Andersen2004-01-296-93/+87
|
* Joakim Tjernlund writes:Eric Andersen2004-01-291-50/+46
| | | | | | | | | | | | | Here is the cleaned up laze reloc patch. Summary: - Minor cleanup. - disable the "if (finaladdr <= 0x01fffffc || finaladdr >= 0xfe000000)" test since it almost never triggered. - Optimized the lazy relocs handling. Would be great if you could commit ASAP. Jocke
* Eliminate separate passes for _dl_copy_fixups() and _dl_fixup(), andEric Andersen2004-01-297-136/+49
| | | | do both operations in a single pass.
* Fixup silly typoEric Andersen2004-01-291-1/+1
|
* Patch from Joakim Tjernlund:Eric Andersen2004-01-292-38/+20
| | | | | Removed R_PPC_NONE and R_PPC_REL24 as these does not seem to be used. Corrected R_PPC_ADDR32 and R_PPC_JMP_SLOT