Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix nommu handling of DT_TEXTREL | Bernd Schmidt | 2011-04-11 | 1 | -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 support | Khem Raj | 2010-05-09 | 1 | -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 definition | Austin Foxley | 2010-04-28 | 1 | -0/+1 |
| | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com> | ||||
* | ldso: fix USE_TLS check | Austin Foxley | 2010-02-11 | 1 | -1/+1 |
| | | | | | | this was causing tls symbols to leak into non-tls builds Signed-off-by: Austin Foxley <austinf@cetoncorp.com> | ||||
* | ldso: add missing prototypes | Bernhard Reutner-Fischer | 2010-02-05 | 1 | -0/+5 |
| | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | ||||
* | ldso: clean up breakage in tls merge | Mike Frysinger | 2009-10-15 | 1 | -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_CLOEXEC | Mike Frysinger | 2009-10-07 | 1 | -0/+2 |
| | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org> | ||||
* | ldso/: tls support for dynamic linker | Austin Foxley | 2009-09-26 | 1 | -0/+6 |
| | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com> | ||||
* | fix building for systems w/out ldso support | Mike Frysinger | 2009-07-20 | 1 | -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 Amoroso | 2009-01-12 | 1 | -1/+0 |
| | | | | | SIgned-off-by: Carmelo Amoroso <carmelo.amoroso@st.com> | ||||
* | simple optimizations and style fixes in dynamic loading | Denis Vlasenko | 2009-01-10 | 1 | -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-Fischer | 2008-12-03 | 1 | -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-Fischer | 2008-05-30 | 1 | -3/+3 |
| | |||||
* | fix broken whitespace in many places; no functional changes | Mike Frysinger | 2008-01-09 | 1 | -1/+1 |
| | |||||
* | Some more Blackfin/FDPIC ldso merging work. Include dl-inlines.h when it | Bernd Schmidt | 2008-01-08 | 1 | -0/+4 |
| | | | | exists, and move some definitions to their proper place. | ||||
* | Blackfin FD-PIC patches 5/6. | Bernd Schmidt | 2007-12-03 | 1 | -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 Schmidt | 2007-12-03 | 1 | -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 Amoroso | 2007-11-09 | 1 | -7/+16 |
| | | | | Mazinger | ||||
* | Added support for GNU hash style into dynamic linker | Carmelo Amoroso | 2007-11-07 | 1 | -1/+9 |
| | |||||
* | - see if defined foo before trying to look at the value of foo (that should ↵ | Bernhard Reutner-Fischer | 2007-01-29 | 1 | -1/+1 |
| | | | | be 0 in this case. Avoids some warnings). | ||||
* | patch from Bernd Schmidt to abstract away load address types | Mike Frysinger | 2006-07-05 | 1 | -2/+2 |
| | |||||
* | missed an ElfW(Addr) change | Mike Frysinger | 2006-07-05 | 1 | -1/+1 |
| | |||||
* | revert fdpic patch so we can merge it in bit by bit | Mike Frysinger | 2006-07-05 | 1 | -1/+1 |
| | |||||
* | Bernd Schmidt writes: abstract away addresses so we can support FDPIC ELFs | Mike Frysinger | 2006-06-30 | 1 | -1/+1 |
| | |||||
* | Include bits/uClibc_page.h before dl-syscall.h as the latter may | Peter Kjellerstedt | 2006-02-23 | 1 | -2/+2 |
| | | | | need the defines from the former. | ||||
* | change to Lesser GPL 2.1 as pointed out by psm | Mike Frysinger | 2005-11-23 | 1 | -1/+1 |
| | |||||
* | add some copyright info | Mike Frysinger | 2005-11-22 | 1 | -0/+7 |
| | |||||
* | some fixes by anemo in Bug 9 to play nicely with 32 or 64 bit hosts | Mike Frysinger | 2005-08-29 | 1 | -0/+1 |
| | |||||
* | Remove hardcoded ld-uClibc.so.0 name in ldso. | Joakim Tjernlund | 2005-08-12 | 1 | -1/+0 |
| | |||||
* | create a new wrapper macro for debug early output | Mike Frysinger | 2005-07-11 | 1 | -5/+11 |
| | |||||
* | change all Elf32_* usage to ElfW(*) usage since we shouldnt care about the ↵ | Mike Frysinger | 2005-06-30 | 1 | -1/+1 |
| | | | | bitsize | ||||
* | move _dl_if_debug_dprint() to shared ldso header | Mike Frysinger | 2005-06-25 | 1 | -3/+7 |
| | |||||
* | Get rid of extern references to ldso variables. | "Steven J. Hill" | 2005-04-27 | 1 | -2/+0 |
| | |||||
* | Second attempt to fix the INIT/FINI order. This time I think I got it right :) | Joakim Tjernlund | 2004-09-08 | 1 | -2/+1 |
| | | | | This needs testing with apps that have complex dependencies. | ||||
* | First attempt to fix the INIT/FINI ordering. Fingers crossed :) | Joakim Tjernlund | 2004-09-03 | 1 | -0/+7 |
| | |||||
* | Remove unused variables. From Peter Mazinger. | Joakim Tjernlund | 2004-09-02 | 1 | -2/+0 |
| | |||||
* | Remove poor man's malloc. Not needed anymore. | Joakim Tjernlund | 2004-08-19 | 1 | -2/+1 |
| | |||||
* | Move "debug_addr" ptr from dl-startup.c to ldso.c | Joakim Tjernlund | 2004-08-19 | 1 | -1/+1 |
| | |||||
* | Move the app specific stuff from dl-startup.c to ldso.c. | Joakim Tjernlund | 2004-08-19 | 1 | -2/+1 |
| | |||||
* | Fixup PAGE_SIZE problems | Eric Andersen | 2004-08-13 | 1 | -5/+1 |
| | | | | -Erik | ||||
* | Teach libdl to use normal libc symbols whenever possible, i.e. malloc | Eric Andersen | 2004-07-30 | 1 | -0/+1 |
| | | | | | rather than _dl_malloc, fprintf rather than _dl_printf, etc. -Erik | ||||
* | Revert this stuff for now | Eric Andersen | 2004-07-16 | 1 | -1/+1 |
| | |||||
* | Sigh. I got things working this morning, then checked stuff in from the wrong | Eric Andersen | 2004-07-14 | 1 | -1/+0 |
| | | | | | tree. Bad boy, No doughnut. -Erik | ||||
* | Based on a patch from Alexandre Oliva, make sure _dl_malloc returns a nicely | Eric Andersen | 2004-07-14 | 1 | -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 mips | Eric Andersen | 2004-05-11 | 1 | -0/+1 |
| | | | | by extracting the value from the ELF header. | ||||
* | Fixup support for gcc 2.95 | Eric Andersen | 2004-02-17 | 1 | -15/+15 |
| | |||||
* | Provide the ldso syscalls and string funcs earlier in the list | Eric Andersen | 2004-02-17 | 1 | -3/+4 |
| | |||||
* | Rework file naming, aiming for at least a vague level of consistancy | Eric Andersen | 2004-02-10 | 1 | -4/+4 |
| | |||||
* | Step one, begin shuffling things around a bit | Eric Andersen | 2004-02-07 | 1 | -0/+46 |
| | |||||
* | Scrub up use of ELF_USES_RELOCA and eliminte some unsightly ifdefs | Eric Andersen | 2004-01-29 | 1 | -0/+15 |
| |