Age | Commit message (Collapse) | Author |
|
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>
|
|
Due to merge with prelink, the sym_ref.tpnt is always set when the symbol
is found, so it needs to call the _dl_tls_symaddr only for tls symbols.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
* origin/master:
bump version to 0.9.32-rc2-git
release 0.9.32-rc2
nptl: Fix __USER_LABEL_PREFIX__ concatenatio
nptl: fix start_thread() for _STACK_GROWS_UP
ldso: get rid of _dl_lookup_hash
Add protected symbols support for all architectures
Revert "ldso/arm: Correct protected symbol resolution"
Revert "ldso_sh: add support for protected symbols to SH"
Revert "ldso/i386: support protected symbols"
cris: Fix build issues
syslog: fix 'everyone logs with user facility'
__psfs_parse_spec: always use long int for %p
buildsys: headers target should not depend on sysnum.h
buildsys: fix make release target
nptl: get rid of the last preprocessor warning when __ASSUME_TGKILL is not defined
remove uClibc_ctype.h if !LOCALE
Revert "Makefile.in: Add header to 'all' target"
nptl: get rid of preprocessor warning when __ASSUME_TGKILL is not defined
Conflicts:
ldso/include/dl-hash.h
ldso/ldso/arm/elfinterp.c
ldso/ldso/avr32/elfinterp.c
ldso/ldso/bfin/elfinterp.c
ldso/ldso/cris/elfinterp.c
ldso/ldso/dl-hash.c
ldso/ldso/i386/elfinterp.c
ldso/ldso/m68k/elfinterp.c
ldso/ldso/mips/elfinterp.c
ldso/ldso/powerpc/elfinterp.c
ldso/ldso/sh/elfinterp.c
ldso/ldso/sh64/elfinterp.c
ldso/ldso/sparc/elfinterp.c
ldso/ldso/x86_64/elfinterp.c
ldso/ldso/xtensa/elfinterp.c
ldso/libdl/libdl.c
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
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>
|
|
This reverts commit 23fa805150d573a913cad69d34c06f3b2ce54270.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Added support for the following tracing capabilities:
- LD_WARN to warn about undefined symbols during the lookup stage.
- LD_TRACE_PRELINKING to trace the needed libraries of the object
that we are prelinking.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
Global symbol scope is implemented as a linked list of
local scope, that dynamically grows and shrinks when dlopen/
dlclose are called. Each local scope is implemented as an array
of pointer to struct elf_resolve.
This will help to detect conflict when LD_TRACE_PRELINKING option
will be implemented.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
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>
|
|
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>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
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>
|
|
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>
|
|
TODO: use likely/unlikely
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Handle O=
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
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
|
|
|
|
dl_cleanup will call do_dlclose with the handle.
Inside of do_dlclose, the handle will ultimately get free'd.
|
|
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
|
- 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.
|
|
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.
|
|
|
|
- 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
|
|
|
|
compilation on Blackfin.
|
|
|
|
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>
|
|
|
|
doing double negatives
|
|
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.
|
|
|
|
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.
|
|
Add the necessary changes in ld.so and libdl to deal with targets that
prepend an underscore to symbol names.
|
|
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.
|
|
- 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,")
|
|
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.
|
|
|
|
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).
|
|
http://uclibc.org/lists/uclibc/2007-January/017165.html
|
|
|
|
|
|
|
|
|
|
I had clearly run search/replace on that were cluttering things up.
|
|
|
|
|