summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-08-26Relocations of the application's global GOT entries were not being run, andEric Andersen
only the global GOT entry relocations for the loaded shared libs were being handled. This made applications segfault when using un-fixedup symbols. After many hours debugging to track down the problem, this patch makes the mips port happy again. -Erik
2004-08-26Stefan Allius writes:Joakim Tjernlund
"I fixed the _dl_parse_copy_information in the same way than for the powerpc and it works fine for me. You may luck at the patch for the powerpc/elfinterp.c, where I change the paramter of a dl_dprintf statement. Now we use the same parameters than for the relocation copy." Arch mantainers, please do the same. When all arches has been fixed, we can remove of _dl_parse_copy_information, it is just a waste of CPU cycles.
2004-08-25Mike Frysinger writes:Eric Andersen
this was sent earlier in a different form: http://www.uclibc.org/lists/uclibc/2004-January/008136.html find attached a smaller version ... perhaps adding a fprintf to stderr before calling abort would be nice like in the glibc patch, but whatever glibc has since adopted a similar fix for their malloc (third hunk, line 1970) http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/malloc/malloc.c.diff?r1=1.121&r2=1.122&cvsroot=glibc&f=h -mike
2004-08-25Mike Frysinger writes:Eric Andersen
i sent this earlier but perhaps people missed it the first time around :) http://www.uclibc.org/lists/uclibc/2004-August/009544.html basically if you try to #include <sys/ucontext.h> on arm it'll fail because ucontext.h utilizes typedefs found in bits/sigcontext.h ... i386 already has this fix in uClibc find attached a trivial patch to fix this -mike
2004-08-25Joakim Tjernlund writes:Eric Andersen
Hi Manuel & Erik I think I know why MIPS is broken. _dl_perform_mips_global_got_relocations() is broken. It will due to my latest changes reloctate ldso. This function needs to die and its job should be done inside _dl_parse_relocation_information(). It is mostly a copy and paste job, Also PERFORM_BOOTSTRAP_GOT and PERFORM_BOOTSTRAP_RELOCATION should be fixed, they use symbols which aren't passed as arguments. Jocke
2004-08-25Patch by Carl SHAW <carl.shaw@st.com>...Manuel Novoa III
Below is a patch to make the pread and pwrite calls work on the SH architecture. I've only tested this on the SH4 with a 2.4.24 kernel - a fairly recent kernel is required as the problem is partially fixed in the kernel itself. For more information (in relation to glibc, but the problem is the same) see the thread at http://sourceforge.net/mailarchive/message.php?msg_id=2375908 Someone should really test this on the SH2/3...
2004-08-25Patch from Stefan Allius:Joakim Tjernlund
Remove unused function parameter in ldso. Remove echo option '-e' since it is not supported on Solaris.
2004-08-25Hopefully fix Laszlo and Jacobs dlopen problem.Joakim Tjernlund
2004-08-23Note a security item for the next releaseEric Andersen
2004-08-22Make the stub profiling stuff workEric Andersen
2004-08-21The "Delete current profiling code because it is complete crap"Eric Andersen
TODO item is now done.
2004-08-21Attempt to support 'gcc -finstrument-functions', which seems muchEric Andersen
more sane than 'gcc -pg' and seems much easier to support. -Erik
2004-08-21Kill off all support for 'gcc -pg' / 'gprof' style profiling. There is both aEric Andersen
size and performance penalty to profiling applications this way, as well as Heisenberg effects, where the act of measuring changes what is measured. There are better tools for doing profiling, such as OProfile, that do not require gcc to instrument the application code. -Erik
2004-08-20Enable only for architectures where __NR_madvise is definedEric Andersen
-Erik
2004-08-19Never directly include kernel sourcesEric Andersen
2004-08-19'pagesize' was local to dl-startup.c. In ldso.c we needEric Andersen
to use '_dl_pagesize' -Erik
2004-08-19Fix dependencies.Manuel Novoa III
2004-08-19Accunt for ELF_MACHINE_PLTREL_OVERLAP when relocating ldso.Joakim Tjernlund
2004-08-19Remove poor man's malloc. Not needed anymore.Joakim Tjernlund
2004-08-19Move "debug_addr" ptr from dl-startup.c to ldso.cJoakim Tjernlund
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