summaryrefslogtreecommitdiffstats
path: root/ldso/include/ldso.h
Commit message (Collapse)AuthorAgeFilesLines
* powerpc: Add TLS and NPTL supportKhem Raj2010-05-091-0/+4
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* include dlfcn.h in ldso.h to get RTLD_NODELETE definitionAustin Foxley2010-04-281-0/+1
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* ldso: fix USE_TLS checkAustin Foxley2010-02-111-1/+1
| | | | | | this was causing tls symbols to leak into non-tls builds Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* ldso: add missing prototypesBernhard Reutner-Fischer2010-02-051-0/+5
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* ldso: clean up breakage in tls mergeMike Frysinger2009-10-151-2/+2
| | | | | | | | | | The TLS merge 534661b91c9849 introduced multiple style problems as well as random breakage: - missing _dl_free - incomplete parametrization of _dl_lookup_hash - restore FDPIC handling in _dl_lookup_hash Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ldso: pull in missing bits/fcntl.h header for O_CLOEXECMike Frysinger2009-10-071-0/+2
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ldso/: tls support for dynamic linkerAustin Foxley2009-09-261-0/+6
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* fix building for systems w/out ldso supportMike Frysinger2009-07-201-0/+5
| | | | | | | If an arch (like alpha and others) have no ldso support at all, then there is no point in attempting to walk loaded modules in the dl-* helper funcs. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ldso: do not comment out unused variables, just delete it.Carmelo Amoroso2009-01-121-1/+0
| | | | | SIgned-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* simple optimizations and style fixes in dynamic loadingDenis Vlasenko2009-01-101-1/+1
| | | | | | | | | | | text data bss dec hex filename - 16709 240 92 17041 4291 lib/ld-uClibc.so + 16634 236 92 16962 4242 lib/ld-uClibc.so - 4602 344 4 4950 1356 lib/libdl-0.9.30-svn.so + 4571 328 4 4903 1327 lib/libdl-0.9.30-svn.so - 4602 344 4 4950 1356 lib/libdl.so + 4571 328 4 4903 1327 lib/libdl.so
* - Use runtime pagesize (Jeremy Kerr)Bernhard Reutner-Fischer2008-12-031-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some powerpc machines can support 64k pages, enabled by the CONFIG_64K_PAGES option in linux. However, the uClibc dynamic loader won't currently work on these machines, as it uses hard-coded values (PAGE_ALIGN, ADDR_ALIGN and OFFS_ALIGN) in the ldso architecture-specific headers. When running on a kernel with 64k pages, ld.so tries to mmap with 4k-aligned addresses, rather than 64k, so mmap fails with -EINVAL. When booting a 64k machine with a uClibc dynamic linker, init fails with: /init:500: can't map '/lib/libc.so.0' /init:500: can't map '/lib/libc.so.0' /init:500: can't map '/lib/libc.so.0' /init: can't load library 'libc.so.0' Kernel panic - not syncing: Attempted to kill init! This change allows ld.so determine these alignment masks at runtime, rather than compile-time. Since we have the _dl_pagesize variable available, we can use that to generate the appropriate masks. Since almost all of the architectures can use the common definitions for the _ALIGN macros, we can consolidate them all in ldso.h, and override in the sysdep headers where necessary (ie, mips). This allows me to start a uClibc-based root fs on a 64k machine. Signed-off-by: Jeremy Kerr <jk at ozlabs org>
* - fix the macros rather than the callees as rightfully noted by bernds (duh!)Bernhard Reutner-Fischer2008-05-301-3/+3
|
* fix broken whitespace in many places; no functional changesMike Frysinger2008-01-091-1/+1
|
* Some more Blackfin/FDPIC ldso merging work. Include dl-inlines.h when itBernd Schmidt2008-01-081-0/+4
| | | | exists, and move some definitions to their proper place.
* Blackfin FD-PIC patches 5/6.Bernd Schmidt2007-12-031-1/+9
| | | | | | | A couple more target macros for ld.so to deal with FD-PIC support. We need special code to compute the initial got and dpnt, and we need to pass extra arguments to _dl_get_ready_to_run.
* Blackfin FD-PIC patch 1/6.Bernd Schmidt2007-12-031-1/+2
| | | | | | | Add a new function _dl_free. In _dl_malloc, ensure we always get back a full page from mmap. Reset _dl_malloc_function and _dl_free_function when libdl is initialized.
* Define _dl_assert in libdl only if __DOASSERTS__ is defined. Thanks to Peter ↵Carmelo Amoroso2007-11-091-7/+16
| | | | Mazinger
* Added support for GNU hash style into dynamic linkerCarmelo Amoroso2007-11-071-1/+9
|
* - see if defined foo before trying to look at the value of foo (that should ↵Bernhard Reutner-Fischer2007-01-291-1/+1
| | | | be 0 in this case. Avoids some warnings).
* patch from Bernd Schmidt to abstract away load address typesMike Frysinger2006-07-051-2/+2
|
* missed an ElfW(Addr) changeMike Frysinger2006-07-051-1/+1
|
* revert fdpic patch so we can merge it in bit by bitMike Frysinger2006-07-051-1/+1
|
* Bernd Schmidt writes: abstract away addresses so we can support FDPIC ELFsMike Frysinger2006-06-301-1/+1
|
* Include bits/uClibc_page.h before dl-syscall.h as the latter mayPeter Kjellerstedt2006-02-231-2/+2
| | | | need the defines from the former.
* change to Lesser GPL 2.1 as pointed out by psmMike Frysinger2005-11-231-1/+1
|
* add some copyright infoMike Frysinger2005-11-221-0/+7
|
* some fixes by anemo in Bug 9 to play nicely with 32 or 64 bit hostsMike Frysinger2005-08-291-0/+1
|
* Remove hardcoded ld-uClibc.so.0 name in ldso.Joakim Tjernlund2005-08-121-1/+0
|
* create a new wrapper macro for debug early outputMike Frysinger2005-07-111-5/+11
|
* change all Elf32_* usage to ElfW(*) usage since we shouldnt care about the ↵Mike Frysinger2005-06-301-1/+1
| | | | bitsize
* move _dl_if_debug_dprint() to shared ldso headerMike Frysinger2005-06-251-3/+7
|
* Get rid of extern references to ldso variables."Steven J. Hill"2005-04-271-2/+0
|
* Second attempt to fix the INIT/FINI order. This time I think I got it right :)Joakim Tjernlund2004-09-081-2/+1
| | | | This needs testing with apps that have complex dependencies.
* First attempt to fix the INIT/FINI ordering. Fingers crossed :)Joakim Tjernlund2004-09-031-0/+7
|
* Remove unused variables. From Peter Mazinger.Joakim Tjernlund2004-09-021-2/+0
|
* Remove poor man's malloc. Not needed anymore.Joakim Tjernlund2004-08-191-2/+1
|
* Move "debug_addr" ptr from dl-startup.c to ldso.cJoakim Tjernlund2004-08-191-1/+1
|
* Move the app specific stuff from dl-startup.c to ldso.c.Joakim Tjernlund2004-08-191-2/+1
|
* Fixup PAGE_SIZE problemsEric Andersen2004-08-131-5/+1
| | | | -Erik
* Teach libdl to use normal libc symbols whenever possible, i.e. mallocEric Andersen2004-07-301-0/+1
| | | | | rather than _dl_malloc, fprintf rather than _dl_printf, etc. -Erik
* Revert this stuff for nowEric Andersen2004-07-161-1/+1
|
* Sigh. I got things working this morning, then checked stuff in from the wrongEric Andersen2004-07-141-1/+0
| | | | | tree. Bad boy, No doughnut. -Erik
* Based on a patch from Alexandre Oliva, make sure _dl_malloc returns a nicelyEric Andersen2004-07-141-0/+1
| | | | aligned pointer that may be aligned up to page_size. Also add _dl_free,
* make certain that getpagesize() returns correct the value for mipsEric Andersen2004-05-111-0/+1
| | | | by extracting the value from the ELF header.
* Fixup support for gcc 2.95Eric Andersen2004-02-171-15/+15
|
* Provide the ldso syscalls and string funcs earlier in the listEric Andersen2004-02-171-3/+4
|
* Rework file naming, aiming for at least a vague level of consistancyEric Andersen2004-02-101-4/+4
|
* Step one, begin shuffling things around a bitEric Andersen2004-02-071-0/+46
|
* Scrub up use of ELF_USES_RELOCA and eliminte some unsightly ifdefsEric Andersen2004-01-291-0/+15
|
* Some badly behaved arches fail to provide a PAGE_SIZE defineEric Andersen2004-01-061-0/+4
|