summaryrefslogtreecommitdiff
path: root/ldso
AgeCommit message (Collapse)Author
2008-01-18This patch solves a problem in dladdr caused by the wrong valueCarmelo Amoroso
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>
2008-01-12Make sh4 build works again adding a temporary work-aroundCarmelo Amoroso
iby redefining __always_inline to inline until gcc 4.x.x will get fixed. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2008-01-12Make sh4 build works again adding a temporary work-aroundCarmelo Amoroso
iby redefining __always_inline to inline until gcc 4.x.x will get fixed. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2008-01-09fix broken whitespace in many places; no functional changesMike Frysinger
2008-01-08Some more Blackfin/FDPIC ldso merging work. Include dl-inlines.h when itBernd Schmidt
exists, and move some definitions to their proper place.
2008-01-08change NO_UNDERSCORES to just UNDERSCORES so as to be less confusing when ↵Mike Frysinger
doing double negatives
2008-01-08the _dl_errno extern already exists in common headers, so no need for a ↵Mike Frysinger
local one
2008-01-05Chris Zankel writes:Mike Frysinger
The following patches add support for the Xtensa processor architecture to uClibc. They are based on a recent SVN checkout (12/05/2007). The first patch (attached to this post) adds Xtensa support to various shared configuration and make files. The following patches then include the Xtensa specific files and directories. I welcome any feedback and would appreciate it if you could include the patches into the mainline tree. I am certainly committed to maintain the port. Bob Wilson was kind enough to review the patches. Some notes about the architecture: Xtensa is a configurable and extensible processor architecture developed by Tensilica. For more information, please visit: www.linux-xtensa.org.
2008-01-05whitespace only: fix indentationMike Frysinger
2007-12-04Blackfin FD-PIC patch 6/6.Bernd Schmidt
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.
2007-12-03Fix a few warnings introduced by my previous commits.Bernd Schmidt
2007-12-03Blackfin FD-PIC patches 5/6.Bernd Schmidt
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.
2007-12-03Blackfin FD-PIC patch 4/6.Bernd Schmidt
Add a hash table for function descriptors on FD-PIC targets.
2007-12-03Blackfin FD-PIC patch 3/6.Bernd Schmidt
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.
2007-12-03Blackfin FD-PIC patch 2/6.Bernd Schmidt
Add the necessary changes in ld.so and libdl to deal with targets that prepend an underscore to symbol names.
2007-12-03Blackfin FD-PIC patch 1/6.Bernd Schmidt
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.
2007-12-03Some versions of gcc consider inline merely a hint. AVR32 depends on theCarmelo Amoroso
system calls actually being inlined, so AVR32 needs to use __always_inline instead of just inline. The attached patch changes this for the system calls. Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
2007-11-28Fix merging error: a macro was renamed.Bernd Schmidt
2007-11-23Change test for a define that got renamed a while ago.Bernd Schmidt
2007-11-16If uClibc's ld.so encounters text relocations in a shared library - one Carmelo Amoroso
containing an object built without -fpic/-fPIC - then: * If __FORCE_SHAREABLE_TEXT_SEGMENTS__, then it gives an error "Can't modify %s's text section. Use GCC option -fPIC for shared objects, please.\n" and exits. * Otherwise, it makes the library's pages writable and relocates it. If it encounters text relocations in a position-independent executable - one containing an object built without -fpie/-fPIE/-fpic/-fPIC - then: * If __FORCE_SHAREABLE_TEXT_SEGMENTS__, it does nothing about making the pages writable, leading to a crash. * Otherwise, the loop to make the pages writable uses the same variable ppnt as used in an outer loop, messing up that outer loop and also causing a crash. This patch fixes both cases, by giving an error if __FORCE_SHAREABLE_TEXT_SEGMENTS__ and saving and restoring ppnt otherwise. Tested in both cases on ARM EABI. Joseph S. Myers joseph@codesourcery.com
2007-11-16Added AVR32 support to uClibc. Signed-off-by: Hans-Christian Egtvedt ↵Carmelo Amoroso
<hcegtvedt@atmel.com>
2007-11-09Define _dl_assert in libdl only if __DOASSERTS__ is defined. Thanks to Peter ↵Carmelo Amoroso
Mazinger
2007-11-07Added support for GNU hash style into dynamic linkerCarmelo Amoroso
2007-10-21Handle STT_COMMON symbols too. Following binutils releaseJoakim Tjernlund
will set the type of common symbols to STT_COMMON instead of STT_OBJECTS, so the dynamic linker needs to handle this type os symbols too. Same changes have been added to glibc (See: bugzilla #5104). This patch ensures the uclibc will work with later bintuils. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2007-10-13- use the compiler-driver instead of the linkerBernhard Reutner-Fischer
- 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,")
2007-10-08Do string comparisos as late as possible during symbol lookup.Mike Frysinger
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2007-09-28Make sure that the DSO has an hash table into its elf, otherwise skipMike Frysinger
the lookup over next DSO. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2007-09-15Blue Swirl writes:Mike Frysinger
I got the library to compile with the attached patches, though dynamic loader crashes early. In buildroot I changed the architecture name by hand from sparc to sparc64, otherwise the compiler produced 32-bit files with V9 (64-bit) instructions. This configuration is not supported by QEMU, so I aimed for pure 64-bit. I think Sparc64 option needs to be added to buildroot. The _Qp_ ops seem to be required by the ABI. This and setjmp patches are just hacks to get the compilation further. The _Qp_ ops can be found in glibc, would it be OK to use those? V9 assembler requires declarations for global register use. The mem* functions in sparc32 directory did not work. They are actually used only by the hybrid 32-bit + V9 CPU configuration.
2007-07-29Remove stray code alignment (.align 16 and .align 4 directives)Denis Vlasenko
from i386 and x86_64.
2007-07-18Apply patch as submitted by Blue Smurfy Swirly <blauwirbel@gmail.com> for ↵"Steven J. Hill"
Sparc32.
2007-06-04Correct return value. Pointed out by psm.Joakim Tjernlund
2007-04-17fix ld.so.cache handling on no-mmu setupsMike Frysinger
2007-03-31Bernd Schmidt writes:Joakim Tjernlund
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.
2007-03-19#1273 if EXTRAVERSION is set, make sure we respect itMike Frysinger
2007-03-13Carmelo Amoroso writes:Joakim Tjernlund
I experiencied some problems while trying to debug the ld.so (sh4) in debug mode. I found that the _start code was not placed into any PT_LOAD segment causing a SIGSEV. I solved this issue explicitely placing the _start code into the .text section (see attached patch).
2007-03-13Carmelo Amoroso writes:Joakim Tjernlund
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).
2007-02-21make sure we have rtld_hidden_def(_dl_debug_state)Mike Frysinger
2007-02-17Make _dl_malloc alignment arch configurable.Joakim Tjernlund
From Atsushi Nemoto.
2007-02-16Fix dlopen for static apps.Joakim Tjernlund
From Carmelo Amoroso.
2007-02-13use /*...*/ comments rather than #... so we can preprocessMike Frysinger
2007-01-29- see if defined foo before trying to look at the value of foo (that should ↵Bernhard Reutner-Fischer
be 0 in this case. Avoids some warnings).
2007-01-28fix from Bernd Schmidt to make sure _dl_debug_state isnt optimized away and ↵Mike Frysinger
does not generate relocs
2007-01-28as pointed out by Jocke, use "2" for actual error messages and ↵Mike Frysinger
_dl_debug_file for debug messages
2007-01-26Fix libdl bug reported by Cedric Hombourger inJoakim Tjernlund
http://uclibc.org/lists/uclibc/2007-January/017165.html
2007-01-09Joseph S. Myers writes:Joakim Tjernlund
ELF symbol names are arbitrary 0-terminated sequences of bytes, and the ELF hash function is defined in the ELF specification to use unsigned char. Thus uClibc's _dl_elf_hash, using plain char, breaks when char is signed and symbol names contain bytes with the high bit set, as with GCC's ucnid-* tests. This patch fixes this problem.
2007-01-05Support SecurePLTs for PowerPC. You need a toolchain that supportsJoakim Tjernlund
config option --enable-secureplt. The assembler must also supports R_PPC_REL16* relocations. gcc 4.1.1 and binutils 2.17 is known to do this.
2006-12-06bits/kernel_stat.h is for internal uClibc use only, fix a few otherEric Andersen
minor include file issues
2006-11-21Use constant pool instead of and adr Khem Raj
instruction in unoptimized builds and thumb: thanks Paul Brook
2006-11-17Bernd Schmidt writes: [blackfin updates] add support for FDPIC and include ↵Mike Frysinger
L1 functions
2006-11-17Bernd Schmidt writes:Mike Frysinger
This reintroduces a mechanism identical to the DL_BOOT macro present in older versions of uClibc. On Blackfin and FRV, we want to pass more than one argument to _dl_start. We also want to do something special before returning, so delete the warning when the START macro is defined.