summaryrefslogtreecommitdiffstats
path: root/ldso/include/ldso.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix nommu handling of DT_TEXTRELBernd Schmidt2011-04-111-0/+2
| | | | | | | | | | | | | | | | | We have a problem with DT_TEXTREL shared libraries on nommu machines. The dynamic linker's strategy is to map the text segment read-only first, then look for DT_TEXTREL, and use mprotect to change protections if necessary. This fails on nommu, since a nommu kernel can decide to share the memory for private read-only file mappings, and mprotect doesn't (can't) do anything about this sharing. Existing nommu targets apparently have no need for this, but on C6X, we may need to assign library indices at run-time if no --dsbt-index option was passed to the linker at build time. Hence, the following patch, which instead of using mprotect, redoes the mapping with PF_W set. Signed-off-by: Bernd Schmidt <bernds@codesourcery.com>
* 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
|