summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-08-19Move the app specific stuff from dl-startup.c to ldso.c.Joakim Tjernlund
2004-08-19Oops, forgot to remove unused variable.Joakim Tjernlund
2004-08-19This is now done in ldso.cJoakim Tjernlund
2004-08-18Clean up the _dl_boot code and make it similar to arm and sh.Joakim Tjernlund
2004-08-17Carl SHAW writes:Eric Andersen
I finally tracked down the problem with SH4 shared library loading - in file ldso/ldso/sh/dl-startup.h, the line #define DL_BOOT(X) static void __attribute_used__ _dl_boot2 (X) should be #define DL_BOOT(X) static void* __attribute_used__ _dl_boot2 (X) otherwise the application code will never be called and _dl_boot will just return causing a segmentation fault. Carl
2004-08-17David McCulloug writes:Joakim Tjernlund
"There's a bug in the SH asm, it calls into 'C' code without preserving all the important scratch registers. I have been meaning to double check the changes as I think more registers need to be saved, then I was going to send it back to uClibc. From the sound of it this isn't your problem, but you never know. Attached is the patch as it stands for the loader on SH." Glibc appears to do the same.
2004-08-17Let ldso decide if it should relocate itselft a second time. ThisJoakim Tjernlund
is needed if ldso should use libcs malloc whenever possible. Fix RTLD_LAZY propagation to RTLD_NOW relocation when requested by libdl.
2004-08-17Fix make clean rule.Joakim Tjernlund
2004-08-16Audit pthread.h and exclude prototypes for pthread functionsEric Andersen
that are not presently implemented in uClibc's libpthread. -Erik
2004-08-16I will always test before I commit.Eric Andersen
I will always test before I commit. I will always test before I commit. -Erik
2004-08-16Setup __pagesize from inside __uClibc_init(), or else when registeringEric Andersen
dtors via atexit(), atexit may need to call realloc with __pagesize still set to 0. ugh. -Erik
2004-08-16Be a bit more prominant about the fact that setuid handlingEric Andersen
is not quite there...
2004-08-16The variable used to store pagesize is not the same as theEric Andersen
_dl_pagesize variable in ldso, so avoid aliasing. -Erik
2004-08-16The pagesize variable used when starting up is _not_ the sameEric Andersen
as the _dl_pagesize global, so do not alias the global. -Erik
2004-08-15Update to add missing c++ namespace support.Manuel Novoa III
2004-08-15Do not fail all lookups when /etc/resolv.conf is missing, as i.e.Eric Andersen
checking on 127.0.0.1 is still valid w/o resolv.conf -Erik
2004-08-15Logic was reversed.Manuel Novoa III
2004-08-14req_search returned garbage. This teaches it to behave itself andEric Andersen
return the length and the actual dns packet as received, rather than making stuff up. -Erik
2004-08-13Fixup PAGE_SIZE problemsEric Andersen
-Erik
2004-08-13Fix usage_count in ldso/libdl.Joakim Tjernlund
Don't' use atexit in libdl. Make destrutor in libdl actually run and to dlclose all dlopened libs. Remove dlclosed libs from the _dl_symbol_tables list.
2004-08-13Always include the sqrtf wrapper in libm so that we don't need to worryManuel Novoa III
about conditionally configuring something else for libstdc++.
2004-08-10Fix mips bug related to 2.6 headers by following glibc's lead. Based onManuel Novoa III
the comment, newer kernels appended "64" to __NR_pread and __NR_pwrite.
2004-08-10Apparently the sigaction code added was broken, as it generated illegalManuel Novoa III
instruction errors. Disable it for now.
2004-08-10Optimze _dl_memset() for PowerPC.Joakim Tjernlund
Other arches may also benefit from this iff it can do unaligned stores.
2004-08-10Forgot _dl_memcpy in previous checkin.Joakim Tjernlund
2004-08-10On Monday 02 August 2004 08:44 am, Mike Frysinger wrote:Manuel Novoa III
> the gethostbyname_r() call itself is not segfaulting, but the memory > returned in the h_aliases array seems to be wrong ... was playing around with the source today and eventually the obvious answer hit me ... while read_etc_hosts_r() generatings an array of strings fo h_aliases and populates it, the dns path does not :) find attached a patch that'll actually generate the h_aliases list in the normal dns code path ... i used the etc_hosts_r() code as a template for some of it ... note that this is just a simple fix ... it fills the alias list with just the hostname gethostbyname_r was passed ... the proper fix i think would be to parse the dns packet down in __dns_lookup() and pass the info back via the resolv_answer struct ... but this fix is better than the current state of things ... that is, h_aliases currently is never initailized in the dns code path :)
2004-08-10At solar's request...Manuel Novoa III
2004-08-10_dl_strlen,_dl_strcat,_dl_strcpy,_dl_strcmp,_dl_strncmp,Joakim Tjernlund
_dl_strchr,_dl_strrchr,_dl_strstr,_dl_memcmp: Optimize for archs which can do pre increment/decrement and load/store in one instruction.
2004-08-10_dl_get_last_path_component:Joakim Tjernlund
handle "" strings and optimze it. _dl_simple_ltoa,_dl_simple_ltoahex: Optimize for archs which can do pre increment/decrement and load/store in one instruction.
2004-08-10Revmoved _dl_brkp and _dl_envp. They are not needed anymore.Joakim Tjernlund
2004-08-10Mike Frysinger writes:Joakim Tjernlund
i was sticking some libraries in non-standard (i.e. not-hardcoded) paths and then updating ld.so.conf accordingly ... oddly though, i couldnt get binaries that linked against those libraries to run ... `ldconfig -v` showed the required libraries being detected/cached, so something seemed wrong ... turns out the libraries were being tagged as LIB_ELF_LIBC0 in the cache and the loader currently only accepts LIB_ELF_LIBC{5,6} ... since readsoname.c in ldconfig defines needed_tab with the mapping 'libc.so.0' -> LIB_ELF_LIBC0 it seems like the loader should accept this type too find attached a small patch which adds LIB_ELF_LIBC0 along side LIB_ELF_LIBC{5,6} as an accepted lib type in the loader when dealing with the ld.so.cache file
2004-08-10Mike Frysinger writes:Joakim Tjernlund
in libdl, the XXFLAGS is set incorrectly if DODEBUG=y ... it has 'I.' added to it instead of '-I.' ... this of course pisses of gcc :) find attached a patch that cleans up the XXFLAGS setting so as to minimize this kind of thing ... when asked, mjn3 said it was a kosher idea ;) and later writes: hmm it seems ldso also utilizes USE_CACHE in the code (but LIBRARY_CACHE never propogates down to the Makefiles) so the fix is to add $(LIBRARY_CACHE) while setting $(XXFLAGS) Applied with minor fixes and also fixed up ldso/Makefile to match libdl/Makefile.
2004-08-10Mike Frysinger writes:Joakim Tjernlund
while playing around with Gentoo on uClibc, i hit some troubles with ldconfig first, i found that it kept trying to read 'etc/ld.so.conf' ... it didnt want to read '/etc/ld.so.conf' ... looking at the source, the default conf file is defined as UCLIBC_RUNTIME_PREFIX "etc/ld.so.conf" ... all fine and dandy, but the utils/Makefile builds the .c files with this: -DUCLIBC_RUNTIME_PREFIX=$(R_PREFIX) i couldnt find where R_PREFIX was defined/used anywhere else, but i did find that every other time UCLIBC_RUNTIME_PREFIX was defined, it was set like: -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" changing the utils/Makefile to be like this fixed things for me next up, i found that i wasnt getting an /etc/ld.so.cache file when i ran `ldconfig` ... looking at the code, USE_CACHE needs to be defined ... Rules.mak has a line that reads LIBRARY_CACHE:=#-DUSE_CACHE by default, but then LIBRARY_CACHE is never used anywhere :) so the fix here is to add $(LIBRARY_CACHE) to the lines in utils/Makefile where the .c files are compiled perhaps a suggestion then ? in my mind it makes sense to utilize a cache file when running uclibc native but perhaps not while cross compiling ... so perhaps add LIBRARY_CACHE:=-DUSE_CACHE to the section in Rules.mak where LDSO is set to the uclibc linker (i.e. native) but set LIBRARY_CACHE:=#-DUSE_CACHE where LDSO is the $(SYSTEM_LDSO) (i.e. cross compiling) Applied with minor fixes.
2004-08-09Oops.Joakim Tjernlund
2004-08-09From: uclibc-bounces@uclibc.org on behalf of Peter KjellerstedtJoakim Tjernlund
[peter.kjellerstedt@axis.com] Peter Kellerstedt writes: May I suggest the attached patch instead? It handles PICFLAG the same way as it was already done for other architectures (e.g., CRIS and frv).
2004-08-09This should fix the dlsym problem Peter van Hoyweghen reported.Joakim Tjernlund
However RTLD_LOCAL still doesn't work. Everything is RTLD_GLOBAL.
2004-08-06Joakim Tjernlund writes:Eric Andersen
PPC32, SPARC32/64 and S390 includes the PLT in its RELA size. This caused ldso to always do unlazy relocation of the JMPRELs. This patch fixes it.
2004-08-06Joakim Tjernlund writes:Eric Andersen
This patch makes -fpic work for PCC and optimzes the relcation by moving the cache flushing stuff to JMP relocs only. Actually PPCs ldso can only handle small GOT tables(<=8192 entries)anyhow, so it makes little sense to compile PPC with -fPIC. libuClibc shrunk from 340724 to 330780 bytes with -fpic.
2004-08-04dohEric Andersen
2004-08-04Add missing header file needed to define PAGE_SIZEEric Andersen
2004-08-03As Joakim Tjernlund rightly notes, I should have used PAGE_SIZEEric Andersen
not the hard coded value of 4096.
2004-07-30cut-n-paste strikes againEric Andersen
2004-07-30Cleanup some dead wood in the header filesEric Andersen
2004-07-30s/___brk_addr/__curbrk/gEric Andersen
Some utilities, such as valgrind, have a legitimate reason to know the address of the current brk. Since we know such utils will peek under our skirt, we might as well give them what they expect and not use a gratuitously different symbol name. -Erik
2004-07-30Some mips updates. Add a couple of missing sys/*.h files and update a few ↵Manuel Novoa III
others.
2004-07-30Teach libdl to use normal libc symbols whenever possible, i.e. mallocEric Andersen
rather than _dl_malloc, fprintf rather than _dl_printf, etc. -Erik
2004-07-30Whitespace cleanupEric Andersen
2004-07-30Fix screwed up indentingEric Andersen
2004-07-28Do not grovel about in the ELF header for the page size whenEric Andersen
running on uClinux, which at runtime uses the FLAT file format.
2004-07-27Be certain to include sys/sysmacros.h when major() and minor()Eric Andersen
are being used