summaryrefslogtreecommitdiff
path: root/ldso/include
AgeCommit message (Collapse)Author
2005-07-02use new __always_inline defineMike Frysinger
2005-07-02use new __always_inline defineMike Frysinger
2005-06-30create generic ELF_* macros to hide 32/64 bit differencesMike Frysinger
2005-06-30whitespace tweaksMike Frysinger
2005-06-30change all Elf32_* usage to ElfW(*) usage since we shouldnt care about the ↵Mike Frysinger
bitsize
2005-06-30typecast to long instead of int so pointers on 64bit arches can be typecast ↵Mike Frysinger
safely
2005-06-30The function '_dl_memset' should always be inlined regardless of the"Steven J. Hill"
optimization level chosen. This allows uClibc to be compiled with the latest GCC-4.1.0. While tracking down the specific culprit causing the segmentation fault of the dynamic loader with GCC-4.1.0 I was able to force inlining of other functions such that I shaved 512 bytes off the size of the loader, yay. Also fixed warning in 'dl-hash.c'.
2005-06-25move _dl_if_debug_dprint() to shared ldso headerMike Frysinger
2005-06-25create some DEBUG macros for the ld debug earlyMike Frysinger
2005-06-25whitespace/syntax cleanupsMike Frysinger
2005-06-01Initial support for both RUNPATH support.Joakim Tjernlund
RPATH sematics changed to match RUNPATH. Only difference is that RPATH is searched before LD_LIBRARY_PATH and RUNPATH after. This is not complete but better than the current mess(I think).
2005-05-20Fix debug macros.Joakim Tjernlund
2005-04-27Get rid of extern references to ldso variables."Steven J. Hill"
2005-04-13Add missing definition for DL_OPENEDEric Andersen
2005-04-13On some wierd arches (i.e. mips), none of the early debug stuffEric Andersen
works at all, so disable the whole lot.
2005-04-13Don't write out the terminating NULL charEric Andersen
2005-04-13Rework the dl-startup.c ldso early debugging macros to beEric Andersen
significantly less horrible
2005-03-29Moved the addition of load address from the fast pathJoakim Tjernlund
where possible. This will also make ldso smaller. However the patch touches all archs and I have only tested PPC and x86.
2005-02-12no more cvsMike Frysinger
2004-12-22Cleanup for when LDSO_CACHE_SUPPORT is disabledEric Andersen
2004-12-20- added LD_TRACE_LOADED_OBJECTS to be stripped from the env on suid execNed Ludd
2004-12-20- dont use dos formatNed Ludd
2004-12-11Partial commit of a patch from Alexandre Oliva:Eric Andersen
Here's an updated version of the patch I posted about a month ago. It leaves -nostdinc alone, and uses -print-file-name=include instead of -print-search-dirs to figure out where GCC's internal headers are. Please let me know whether there are any portions of this patch you'd like me to break into smaller pieces, to rework, or to give up trying to get into uClibc :-) Thanks,
2004-11-10Add RTLD_LOCAL support for dlopened libs. Reported byJoakim Tjernlund
Andrew de Quincey, who has been most helpful getting this sorted out, thanks. Thanks also to Peter Mazinger who did alot of testing. Removed all traces of dl_parse_copy_information() since it is no longer used.
2004-11-02- Remove dynamic_size from struct elf_resolve.Joakim Tjernlund
- Replace all open coded dynamic handling with a function. Reduces size. - Fold special MIPS dynamic code into the dynamic_info item. - Add RELRO support. - Support linking with "-z now". - prepare for DT_RELACOUNT/DT_RELCOUNT optimization. - Add -z now to ld.so linking, this is what ld.so does anyway so let the linker know that.
2004-10-12Mark Rakes writes:Joakim Tjernlund
without LDSO_CACHE_SUPPORT turned on, LDSO_CONF and LDSO_CACHE are not defined anywhere, but still used by ldconfig.c This patch allows ldconfig to build again, although there may be a cleaner way to fix this???? Applied with minor modification.
2004-10-07Remove usage of _dl_parse_copy_information() from generic code.Joakim Tjernlund
Remove definition of _dl_parse_copy_information() for powerpc. Remaining archs can do the same. Make debugging output of "relocation processing: xxx" a bit more sane.
2004-10-06Peter S. Mazinger writes:Joakim Tjernlund
Hello! Here is the modified unsecvars patch that applies to cvs.
2004-10-06Puts common defines into dl-defs.h (in ldso/include) from dl-elf.h andJoakim Tjernlund
dl-cache.h and make use of it. Also disables the lib-path-redundancy check for the case the cache is not used. Makes use of _PRELOAD_FILE_SUPPORT. From Peter Mazinger.
2004-10-03This patch from Mike Frysinger, extended from an earlier patch from Peter S.Eric Andersen
Mazinger implements the changes suggested by me on the uclibc list. On Tuesday 28 September 2004 02:24 pm, Erik Andersen wrote: > What I think should be done is > > *) Someone that cares about USE_CACHE should fix that option > up to be sure it works, and give it a proper config entry > in extra/Configs/Config.in, and rename it to something > more appropriate such as LDSO_CACHE_SUPPORT. > > *) When LDSO_CACHE_SUPPORT=n, UCLIBC_RUNTIME_PREFIX /usr/X11R6/lib > should be included in the default library search path in > dl-elf.c, ldd, and ldconfig. > > *) When LDSO_CACHE_SUPPORT=y, UCLIBC_RUNTIME_PREFIX /usr/X11R6/lib > should be excluded from the default library search path in > dl-elf.c, ldd, and ldconfig, and those wishing to include > X11 stuff should add that into /etc/ld.so.conf and re-run > ldconfig. > > *) At present, LDSO_CONF and LDSO_CACHE use the same names > and same structure as glibc. This precludes > LDSO_CACHE_SUPPORT being uses in any sane fashion on a > dial glibc and uClibc system. Just as it was necessary > for use to use a different name for 'libuClibc' rather > than 'libc', and 'ld-uClibc.so.0' rather than > 'ld-linux.so.2' it seems that these configuration files > really ought to be given different names. >
2004-09-08Second attempt to fix the INIT/FINI order. This time I think I got it right :)Joakim Tjernlund
This needs testing with apps that have complex dependencies.
2004-09-03First attempt to fix the INIT/FINI ordering. Fingers crossed :)Joakim Tjernlund
2004-09-02Remove unused variables. From Peter Mazinger.Joakim Tjernlund
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-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-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-13Fixup PAGE_SIZE problemsEric Andersen
-Erik
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-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-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-16Revert this stuff for nowEric Andersen
2004-07-14Sigh. I got things working this morning, then checked stuff in from the wrongEric Andersen
tree. Bad boy, No doughnut. -Erik
2004-07-14Based on a patch from Alexandre Oliva, make sure _dl_malloc returns a nicelyEric Andersen
aligned pointer that may be aligned up to page_size. Also add _dl_free,
2004-06-20Let dl-string.h include dl-sysdep.h, since it has proper include guardsEric Andersen
2004-06-19Bradley D. LaRonde writes:Eric Andersen
dl-string.h references do_rem, but do_rem is a #define in <arch>/dl-sysdep.h which is not included by dl-sysdep.h. This causes a problem in libdl: In file included from ../../ldso/include/ldso.h:27, from libdl.c:33: ../../ldso/include/dl-string.h: In function `_dl_simple_ltoa': ../../ldso/include/dl-string.h:216: warning: implicit declaration of function `do_rem' Include dl-sysdep.h in dl-string.h before using do_rem.
2004-06-12Jakub Bogusz from pld-linux dot org writes:Eric Andersen
Hello, I managed to get ldso (and thus shared linking to uClibc) to work on sparc (actually sparc64 kernel with 32-bit userspace), at least on simple "hello world" program (more complex ones not tested). Some notes on attached patch (against 0.9.26, would require some work to apply on current CVS - but I tested 0.9.26, not CVS): - ELF magic cannot be examined by _dl_strncmp so early, probably because of string constant, like on ppc/mips/sh (note that early SEND_STDERR still crashes when trying to do _dl_strlen - I suppose that string constants require relocation; but adding load_addr didn't help, just ELF header was displayed instead of crash) - mmap() is syscall6 like on ppc/mips/sh, not old i386 mmap() - for generic sparc (i.e. not sparcv8/sparcv9) gcc produces .udiv/.urem calls for unsigned integer / and % operators - so these operations must be avoided. I copied do_rem definition from arm header. But / and % are used also in _dl_simple_ltoa() and _dl_simple_ltoahex(); in ltoahex gcc optimizes it to shifts (but I think it's safer to use shifts explicitly, not rely on optimization...). I changed % in ltoa to do_rem, but as there was no do_div definition, I changed all "%d" specifiers to "%x" to avoid crashes (this changes wouldn't be needed if _dl_simple_ltoa() were fixed to not use division on sparc). - "#define SOLARIS_COMPATIBLE" in ld_sysdep.h broke ldso on Linux because of redefining _dl_linux_resolve only in some places (it was still referenced in INIT_GOT before redefinition). So _dl_linux_resolve redefinition should be moved before INIT_GOT definition or removed. - sparc64 kernel requires mmap() addresses to be aligned to 8192, not 4096, otherwise mmap() call failed - reloc_entry must be shifted by 10, not 12 (I found similar operation in glibc sources) Aside of sparc-specific fixes: - I moved some _dl_dprintf()s inside if(_dl_debug_*) conditions (to avoid debugging messages when LD_DEBUG is not defined) - it seems that there was possible off-by-one in ltoa and ltoahex? they are called with char[22] as 1st argument, and then '\0' is stored in local[22] (_before_ p decrementation)... or am I missing something? If not, fix is included in patch.