summaryrefslogtreecommitdiffstats
path: root/ldso/libdl
Commit message (Collapse)AuthorAgeFilesLines
* Add Makefile support for DSBT ELF.Bernd Schmidt bernds_cb1@t-online.de2011-03-051-0/+1
| | | | | | | | | | | This adds support for a new binary format, DSBT ELF, to the Makefiles. Every shared library is assigned a DSBT index, and the link.so macro is adjusted to ensure the correct linker argument is passed. Configuration and ldso support will follow in separate commits. Signed-off-by: Bernd Schmidt <bernds@codesourcery.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* ldso: remove now unused variableBernhard Reutner-Fischer2011-02-141-1/+0
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* Fix memory leak in dlopen()/dlclose().Philip Craig2011-02-111-0/+4
| | | | | | | | The linked list of library dependencies created by dlopen() was not being freed by dlclose(). Signed-off-by: Philip Craig <philipjcraig@gmail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* Add protected symbols support for all architecturesSalvatore Cro2011-01-201-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Protected symbols are global symbols for which interposition is not allowed. We manage them in generic _dl_lookup_hash function. To handle protected symbols we need to get a reference to the module that defines the symbol itself. So we pass a new parameter 'struct symbol_ref' to the __dl_lookup_hash that is defined as below: struct symbol_ref { const ElfW(Sym) *sym; struct elf_resolve *tpnt; }; The tpnt field is used as an ouput parameter and refers to the module which defines the protected symbol. Further it can be used as output parameter for TLS relocations and FDPIC case. The sym field is instead used as an input parameter to detect the visibility of the symbol we are looking-up. In this way we get rid of different signatures for _dl_lookup_hash, allowing to remove the _dl_find_hash wrapper. This new structure is also suitable for prelink integration. Signed-off-by: Salvatore Cro <salvatore.cro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Revert "ldso: silence warning about unused tls var if !tls"Bernhard Reutner-Fischer2010-11-241-2/+0
| | | | | | This reverts commit 23fa805150d573a913cad69d34c06f3b2ce54270. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* ldso: silence warning about unused tls var if !tlsBernhard Reutner-Fischer2010-11-241-0/+2
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* silence warning about incompatible types with _dl_init_static_tlsBernhard Reutner-Fischer2010-07-271-1/+0
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* ldso: support RTLD_NODELETE and DF_1_NODELETETimo Teräs2010-04-221-2/+3
| | | | | | | | | Honor the nodelete flags so we don't delete shared library if it's sticky. This is useful for libpthread if it gets pulled in by a dlopen'ed library. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* nptl: proper soname handlingNatanael Copa2010-04-221-1/+1
| | | | | | | | | | | Since sublevel releases are not ABI compatible we need to adjust the soname to include the sublevel version. This makes it possible to install ABI incompatible versions of the library side by side so clean upgrades are possible. Signed-off-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* prettify make cleanBernhard Reutner-Fischer2010-03-251-2/+2
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* check if USE_TLS is defined before useHans-Christian Egtvedt2009-12-171-10/+10
| | | | | | | | | | | This patch will convert all the #ifdef USE_TLS and #if USE_TLS to #if defined(USE_TLS) && USE_TLS. By checking if the USE_TLS is defined before checking its value will result in correct behavior for architectures not defining this config symbol. Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Acked-by: Carmelo AMOROSO <carmelo.amoroso@st.com>
* ldso: clean up breakage in tls mergeMike Frysinger2009-10-151-25/+14
| | | | | | | | | | 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>
* fix coding styleBernhard Reutner-Fischer2009-10-061-25/+16
| | | | | | TODO: use likely/unlikely Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* ldso/: tls support for dynamic linkerAustin Foxley2009-09-261-3/+322
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* support building out-of-treeBernhard Reutner-Fischer2009-08-171-0/+2
| | | | | | Handle O= Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* simple optimizations and style fixes in dynamic loadingDenis Vlasenko2009-01-101-30/+31
| | | | | | | | | | | 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
* - less verbose make cleanBernhard Reutner-Fischer2008-11-071-2/+2
|
* - fix use after free (Kevin Day)Bernhard Reutner-Fischer2008-10-291-3/+5
| | | | | dl_cleanup will call do_dlclose with the handle. Inside of do_dlclose, the handle will ultimately get free'd.
* libdl: use stderr consistently.Carmelo Amoroso2008-09-291-2/+2
| | | | Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* - remove a couple of duplicate includesBernhard Reutner-Fischer2008-08-271-3/+1
|
* - move stripping into do_ar resp compile-m for the sake of simplicityBernhard Reutner-Fischer2008-06-171-2/+0
|
* - strip the targets and not prerequisitesBernhard Reutner-Fischer2008-06-041-2/+2
| | | | | | - tidy up PTHREADS_DEBUG_SUPPORT by using per-target STRIP_FLAGS for the few This fixes the spurious rebuilds bernd and vda were seeing with libpthreads.
* A slight improvement over my previous commit which ensured we always rebuildBernd Schmidt2008-06-011-1/+1
| | | | | | | | | libc when one of the source files changes. Since there are more places which want to depend on $(libc), fix them all to use a new variable $(libc.depend), which contains the filename for which we have a rule.
* - fix compilation errorBernhard Reutner-Fischer2008-05-231-2/+3
|
* Introduce and use small[u]int type. Changes in size:Denis Vlasenko2008-05-201-1/+1
| | | | | | | | | | | | | | - 79 0 28 107 6b libc/inet/rpc/create_xid.o + 76 0 25 101 65 libc/inet/rpc/create_xid.o - 126 0 4 130 82 libc/misc/assert/__assert.o + 123 0 1 124 7c libc/misc/assert/__assert.o - 648 4 24 676 2a4 libc/misc/internals/__uClibc_main.o + 645 4 21 670 29e libc/misc/internals/__uClibc_main.o - 230 0 4 234 ea libc/stdlib/abort.o + 216 0 1 217 d9 libc/stdlib/abort.o - 129 0 4 133 85 libc/termios/tcgetsid.o + 126 0 1 127 7f libc/termios/tcgetsid.o
* Add missing cast in pointer assignmentCarmelo Amoroso2008-03-251-1/+1
|
* Use DL_RELOC_ADDR when dealing with DL_LOADADDR_TYPE types. Fixes gnu-hashBernd Schmidt2008-02-121-1/+1
| | | | compilation on Blackfin.
* Fix the recent dladdr changes so that they compile on FD-PIC targets.Bernd Schmidt2008-02-081-1/+1
|
* This patch solves a problem in dladdr caused by the wrong valueCarmelo Amoroso2008-01-181-4/+35
| | | | | | | of elf_resolve's loadaddr field for the main application. Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* fix broken whitespace in many places; no functional changesMike Frysinger2008-01-091-9/+9
|
* change NO_UNDERSCORES to just UNDERSCORES so as to be less confusing when ↵Mike Frysinger2008-01-081-2/+2
| | | | doing double negatives
* Blackfin FD-PIC patch 6/6.Bernd Schmidt2007-12-041-1/+3
| | | | | | | These are mostly the changes necessary to deal with loading the libraries into memory. A couple new target macros are defined for this purpose, and the code in dl-elf.c is modified to deal with nommu systems.
* Fix a few warnings introduced by my previous commits.Bernd Schmidt2007-12-031-1/+1
|
* Blackfin FD-PIC patch 3/6.Bernd Schmidt2007-12-031-1/+1
| | | | | | | | | | | | | | | Change _dl_find_hash to _dl_lookup_hash, as on the NPTL branch. _dl_find_hash is now a wrapper function around it; unlike on the NPTL branch, it retains the old interface so that not all callers need to be changed. _dl_lookup_hash can optionally give its caller a pointer to the module where the symbol was found. Introduce ELF_RTYPE_CLASS_DLSYM for lookups from libdl. Spelling fixes in the Blackfin port, since Alex Oliva's original version of these patches used _dl_find_hash_mod as the name of the function rather than _dl_lookup_hash.
* Blackfin FD-PIC patch 2/6.Bernd Schmidt2007-12-031-3/+24
| | | | | | Add the necessary changes in ld.so and libdl to deal with targets that prepend an underscore to symbol names.
* Blackfin FD-PIC patch 1/6.Bernd Schmidt2007-12-031-1/+14
| | | | | | | 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.
* - use the compiler-driver instead of the linkerBernhard Reutner-Fischer2007-10-131-1/+1
| | | | | | | | | - adjust setting flags accordingly to use (hardcoded, see below) -Wl, Potential improvements: *) --warn-unresolved-symbols should perhaps be used for all libs *) eventually rename LDFLAGS to CC_LDFLAGS *) probe for compiler driver's notion of flag to use for passing in linker flags (i.e. don't hardcode "-Wl,")
* Bernd Schmidt writes:Joakim Tjernlund2007-03-311-4/+1
| | | | | | | | | | Currently a static libdl.a doesn't run all the constructors or destructors of the libraries it loads. I can't see a good reason for that, and it does cause aborts in the destructors it does run for things like libgcc.so on the Blackfin. Fixed with the patch below - untested in mainline, but the equivalent has been in our Blackfin tree for a while now.
* #1273 if EXTRAVERSION is set, make sure we respect itMike Frysinger2007-03-191-1/+1
|
* Carmelo Amoroso writes:Joakim Tjernlund2007-03-131-0/+33
| | | | | | | | | Hi All, the attached patch completes my previous patch on statically linked application calling dlopen enabling the support for LD_DEBUG. Further it fixes the missing initialization of the _dl_library_path variable. This patch has been fully tested with the uClibc-nptl branch (sh4).
* Fix libdl bug reported by Cedric Hombourger inJoakim Tjernlund2007-01-261-30/+27
| | | | http://uclibc.org/lists/uclibc/2007-January/017165.html
* merge some more FDPIC related fixes from Bernd SchmidtMike Frysinger2006-09-191-4/+4
|
* patch from Bernd Schmidt to abstract away initializing of relocation addressesMike Frysinger2006-07-051-6/+6
|
* convert #if 0 code to _dl_if_debug_print()Mike Frysinger2006-07-051-11/+8
|
* patch from Bernd Schmidt to abstract away load address checksMike Frysinger2006-07-051-7/+3
|
* fixup my copyright notice, trim stale remnants of older notices whichEric Andersen2006-07-051-2/+1
| | | | I had clearly run search/replace on that were cluttering things up.
* revert fdpic patch so we can merge it in bit by bitMike Frysinger2006-07-051-9/+13
|
* Bernd Schmidt writes: abstract away addresses so we can support FDPIC ELFsMike Frysinger2006-06-301-13/+9
|
* typo stderrrPeter S. Mazinger2006-03-241-1/+1
|
* after much deliberation, may i present Joseph S. Myers patch to add support ↵Mike Frysinger2006-02-141-5/+17
| | | | | | | | for .init and .fini array processing for the gory details, see the mailing list: http://www.uclibc.org/lists/uclibc/2006-January/014079.html http://www.uclibc.org/lists/uclibc/2006-February/014285.html