summaryrefslogtreecommitdiffstats
path: root/ldso
Commit message (Collapse)AuthorAgeFilesLines
...
* Looks like this is in fact needed to properly debug dynamicallyEric Andersen2002-12-041-0/+8
| | | | linked stuff, so put it back but add a check for NULL
* Make ldd work even more like GNU ldd by appending dummy load addressesDavid Schleef2002-12-011-2/+2
|
* Kill a bit of unused cruftEric Andersen2002-11-281-6/+0
|
* Ok... here's the summary:Manuel Novoa III2002-11-221-1/+1
| | | | | | | | | | | | | | Hopefully locale support will build when cross compiling now. Collation is still not supported, but that's what I'm currently working on. In the next couple of days, I'll probably put up a couple of files for download that will save people the trouble of generating all the glibc locales. Added *wprintf functions, although they currently don't support floating point. That will be fixed when I rewrite _dtostr... or possibly before. Added the wcsto{inttype} functions. Added iconv() and a mini iconv utility. The require locale support and only provide for conversions involving the various unicode encodings { UCS-4*, UCS-2*, UTF-32*, UTF-16*, UTF-8 }, the 8-bit codesets built with the locale data, and the internal WCHAR_T.
* Act more like the GNU version. Accept multiple args. Accept/ignoreEric Andersen2002-11-211-30/+62
| | | | | the "--" option since we always do that anyways. -Erik
* Kill SVR4_BUGCOMPATEric Andersen2002-11-204-16/+4
|
* Patch from Stefan Allius:Eric Andersen2002-11-205-10/+17
| | | | | | | | | - Invert all FORCE_SHAREABLE_TEXT_SEGMENTS checks. - Define FORCE_SHAREABLE_TEXT_SEGMENTS in the Makefile, so it can be configured by the config system. - linuxelf.h inspects that we don't combine FORCE_SHAREABLE_TEXT_SEGMENTS and SVR4_BUGCOMPAT - Add a new config option for FORCE_SHAREABLE_TEXT_SEGMENTS
* Per suggestion from Stefan Allius, change DO_MPROTECT_HACKS toEric Andersen2002-11-193-6/+6
| | | | the more clear FORCE_SHAREABLE_TEXT_SEGMENTS.
* Stefan Allius writes:Eric Andersen2002-11-193-3/+19
| | | | | | | | | | | | | | | | | | I fixed two little bugs in ldso.c: - For LDD support we test the old environment variable LD_TRACE_LOADED_OBJECTS. - Before we init the GOT table of the dynamic loader we have to check, if we have a DT_PLTGOT entry. If DT_PLTGOT was zero we patch somthing in the header of the dynamic loader. This was the cause, why we have to enable the DO_MPROTECT_HACKS option for all targets, to avoid segment faults. In readelflib1.c I added a warning, if we try to load a shared library, which wasn't compiled with -fPIC or -fpic. So if we disable the DO_MPROTECT_HACKS option we are sure, that we don't waste memory by shared libraries which aren't able to share their text segment. I think this is a helpful option on little embedded systems.
* For now, revert Ronald Wahl's change to dlopen. We need toEric Andersen2002-11-152-2/+2
| | | | | look into what is breaking dlclose() further... -Erik
* Ronald Wahl writes:Eric Andersen2002-11-152-0/+2
| | | | | | I noticed that dlclose() does not work since libraries loaded with dlopen are not marked as "loaded_file". This breaks apache with dynamic modules. I append a small fix against uClibc-0.9.16.
* Add missing quotesEric Andersen2002-11-142-26/+24
| | | | -Erik
* A powerpc patch from Ronald Wahl:Eric Andersen2002-11-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ok, now i got it after a day of work. I have had a look into glibc and found the following: sysdeps/powerpc/dl-machine.c: ... case R_PPC_JMP_SLOT: /* It used to be that elf_machine_fixup_plt was used here, but that doesn't work when ld.so relocates itself for the second time. On the bright side, there's no need to worry about thread-safety here. */ { Elf32_Sword delta = finaladdr - (Elf32_Word) reloc_addr; ... The comment made me suspicious. The same position in uClibc looks like this: ldso/ldso/powerpc/elfinterp.c: ... case R_PPC_JMP_SLOT: { unsigned long targ_addr = (unsigned long)_dl_linux_resolve; int delta = targ_addr - (unsigned long)reloc_addr; ... When I change it to the following it works: ... case R_PPC_JMP_SLOT: { unsigned long targ_addr = *reloc_addr; int delta = targ_addr - (unsigned long)reloc_addr; ... I hope it will not break anything. Can anyone review this change and commit it into CVS? thanks, ron
* Patch from Stefan Allius for libgcc multilib supportEric Andersen2002-11-081-1/+1
| | | | | | | | | | | | | | | | | | this is the last patch, we need to make the support of multitarget libgcc complete. --------------------------------- In ldso/ldso/Makefile I added the CPU_LDFLAGS-y to the LDFLAGS --------------------------------- In libc/Makefile I set the LDFLAGS for the script get-needed-objects.sh with CPU_LDFLAGS-y --------------------------------- In extra/scripts/get-needed-object.sh we now use the LIBGCC from Rules.mak and call LD with LDFLAGS (==CPU_LDFLAGS-y). Addtionally I grep the NM output, to fix the unresolved external __GLOBAL_OFFSET_TABLE__ on SuperH targets. ---------------------------------
* Fix a silly compile bugEric Andersen2002-11-081-0/+1
|
* Another SuperH patch from Stefan Allius. This make it soEric Andersen2002-11-083-94/+93
| | | | the SuperH lib loader can be compiled by GCC 3.3
* Fix up a compile errorEric Andersen2002-11-061-1/+6
|
* Cleanup patch from Simon RoweEric Andersen2002-11-061-1/+12
|
* Massive scrubbing of the shared lib loader error handling.Eric Andersen2002-11-0512-265/+222
| | | | | Move all configuration options into the new config system. -Erik
* Kill legacy DOPIC=true assignmentEric Andersen2002-11-051-1/+0
|
* Several SH lib loader patches by Stefan Allius <allius@atecom.com>Eric Andersen2002-11-035-3/+8
| | | | and "M. R. Brown" <mrbrown@0xd6.org>
* Patch from M. R. Brown <mrbrown@0xd6.org> to get rid ofEric Andersen2002-11-034-122/+122
| | | | "depreciated multi-line string literals" warnings
* Fix PIC configuration, so shared libraries once again workEric Andersen2002-11-021-0/+1
| | | | -Erik
* Ok, this commit is _huge_ and its gonna change the world. I'veEric Andersen2002-10-312-4/+2
| | | | | | | | | | | | | | | been working on a new config system on and off for about 6 months now, but I've never been fully satisfied. Well, I'm finally am happy with the new config system, so here it is. This completely removes the old uClibc configuration system, and replaces it with an entirely new system based on LinuxKernelConf, from http://www.xs4all.nl/~zippel/lc/ As it turns out, Linus has just merged LinuxKernelConf into Linux 2.5.45, so it looks like I made the right choice. I have thus far updated only x86. I'll be updating the other architectures shortly. -Erik
* Use '#ifdef __linux__' not '#ifdef linux'Eric Andersen2002-10-301-3/+3
|
* Actually install libdl.aEric Andersen2002-10-251-3/+3
| | | | -Erik
* Kill a warning. Patch from Joel Coltoff <joel@wmi.com>Eric Andersen2002-10-162-0/+8
|
* Fixed 'dlopen' call for MIPS. Things seem to work swimingly. Woohoo!"Steven J. Hill"2002-10-152-0/+18
|
* This commit contains a patch from Stefan Allius <allius@atecom.com> to changeEric Andersen2002-10-0111-75/+111
| | | | | | | how uClibc handles _init and _fini, allowing shared lib constructors and destructors to initialize things in the correct sequence. Stefan ported the SH architecture. I then ported x86, arm, and mips. x86 and arm are working fine, but I don't think I quite got things correct for mips.
* Removed redundant code. Same thing exist in sys/syscalls.h so include thatTobias Anderberg2002-09-232-270/+10
| | | | instead.
* * Changed paramater names to match their register, i.e. __a -> __r10.Tobias Anderberg2002-09-192-112/+112
| | | | * Do not clobber things that are specified as outputs.
* Updated for the CRIS port.Tobias Anderberg2002-09-162-0/+6
|
* Initial version of the dynamic linker code for the CRIS port.Tobias Anderberg2002-09-168-0/+979
|
* Support LD_DEBUG=allTobias Anderberg2002-09-121-5/+11
|
* Add missing _dl_dprintf arguments, as noticed by Tero Lyytik�inen ↵Eric Andersen2002-09-123-3/+6
| | | | <tero@paravant.fi>
* Fixup multi-line stringEric Andersen2002-09-091-9/+8
| | | | -Erik
* Fixed another address alignment where a pagesize of 4k were assumed.Tobias Anderberg2002-09-052-2/+2
|
* Use bits/kernel_stat.h, not asm/stat.hEric Andersen2002-08-241-2/+1
| | | | -Erik
* missed const-ifying this one.Eric Andersen2002-08-192-2/+2
|
* some updates from Stefan Allius to make up the SuperH shared libEric Andersen2002-08-1910-58/+183
| | | | | loader build properly. Mostly just sprinkling casts, and making static some things that should be static.
* Fix alignment, minor cosmetic changesEric Andersen2002-08-121-6/+10
| | | | -Erik
* Ok, bad idea. didn't work.Eric Andersen2002-08-092-2/+56
| | | | -Erik
* Link ldso vs libgcc.a and eliminate baggage caused byEric Andersen2002-08-0912-1421/+8
| | | | | not previously linking vs libgcc -Erik
* Patch from Stefan Allius, avoid compiler warnings (unused variable)Eric Andersen2002-08-098-8/+8
|
* Patch from Stefan Allius to remove obsolete printfsEric Andersen2002-08-091-2/+0
|
* Disable this code for mips, which does things quite differently...Eric Andersen2002-08-092-2/+6
| | | | -Erik
* Fix a stupid typo messing up powerpc supportEric Andersen2002-08-091-1/+1
| | | | -Erik
* For some perverse reason we were not registering destructorsEric Andersen2002-08-082-0/+8
| | | | | for dlopen'd libraries. This fixes that. -Erik
* Make powerpc compile once againEric Andersen2002-08-082-0/+2
| | | | -Erik
* Move destructor attribute tagEric Andersen2002-08-082-6/+2
|