summaryrefslogtreecommitdiffstats
path: root/ldso
Commit message (Collapse)AuthorAgeFilesLines
...
* 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-074-32/+215
|
* Handle STT_COMMON symbols too. Following binutils releaseJoakim Tjernlund2007-10-211-1/+6
| | | | | | | | | | 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>
* - use the compiler-driver instead of the linkerBernhard Reutner-Fischer2007-10-132-3/+3
| | | | | | | | | - 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,")
* Do string comparisos as late as possible during symbol lookup.Mike Frysinger2007-10-081-2/+2
| | | | Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Make sure that the DSO has an hash table into its elf, otherwise skipMike Frysinger2007-09-281-0/+4
| | | | | | the lookup over next DSO. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Blue Swirl writes:Mike Frysinger2007-09-152-0/+5
| | | | | | | | | | | | | | | | | | | | 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.
* Remove stray code alignment (.align 16 and .align 4 directives)Denis Vlasenko2007-07-294-4/+0
| | | | | from i386 and x86_64.
* Apply patch as submitted by Blue Smurfy Swirly <blauwirbel@gmail.com> for ↵"Steven J. Hill"2007-07-181-0/+6
| | | | Sparc32.
* Correct return value. Pointed out by psm.Joakim Tjernlund2007-06-041-1/+1
|
* fix ld.so.cache handling on no-mmu setupsMike Frysinger2007-04-172-1/+7
|
* Bernd Schmidt writes:Joakim Tjernlund2007-03-313-55/+86
| | | | | | | | | | 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-192-2/+2
|
* Carmelo Amoroso writes:Joakim Tjernlund2007-03-131-0/+1
| | | | | | | | 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).
* 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).
* make sure we have rtld_hidden_def(_dl_debug_state)Mike Frysinger2007-02-211-0/+1
|
* Make _dl_malloc alignment arch configurable.Joakim Tjernlund2007-02-173-3/+13
| | | | From Atsushi Nemoto.
* Fix dlopen for static apps.Joakim Tjernlund2007-02-161-2/+12
| | | | From Carmelo Amoroso.
* use /*...*/ comments rather than #... so we can preprocessMike Frysinger2007-02-131-16/+16
|
* - 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).
* fix from Bernd Schmidt to make sure _dl_debug_state isnt optimized away and ↵Mike Frysinger2007-01-281-1/+6
| | | | does not generate relocs
* as pointed out by Jocke, use "2" for actual error messages and ↵Mike Frysinger2007-01-281-6/+6
| | | | _dl_debug_file for debug messages
* Fix libdl bug reported by Cedric Hombourger inJoakim Tjernlund2007-01-262-30/+32
| | | | http://uclibc.org/lists/uclibc/2007-January/017165.html
* Joseph S. Myers writes:Joakim Tjernlund2007-01-091-2/+2
| | | | | | | | | 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.
* Support SecurePLTs for PowerPC. You need a toolchain that supportsJoakim Tjernlund2007-01-053-58/+114
| | | | | | 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.
* bits/kernel_stat.h is for internal uClibc use only, fix a few otherEric Andersen2006-12-061-1/+2
| | | | minor include file issues
* Use constant pool instead of and adr Khem Raj2006-11-211-15/+11
| | | | instruction in unoptimized builds and thumb: thanks Paul Brook
* Bernd Schmidt writes: [blackfin updates] add support for FDPIC and include ↵Mike Frysinger2006-11-177-0/+1605
| | | | L1 functions
* Bernd Schmidt writes:Mike Frysinger2006-11-172-2/+7
| | | | | | | 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.
* revert rev 16527 changes to ldso/ldso/dl-hash.cEric Andersen2006-11-161-42/+20
|
* Paul Brook writes:Eric Andersen2006-11-161-5/+9
| | | | | | | | | | | | The patch below fixes a bug in the new ARM _ld_linux_resolve implementation. I'm don't know if/how the current implementation was tested, but it's completely broken. This patch makes the prologue and epilogue agree on how big the stack frame is, and also makes sure EABI doubleword stack alignment is preserved. Tested on arm-linux-gnueabi.
* This change reimplements the ARM _dl_linux_resolve entry point - this isEric Andersen2006-11-103-53/+192
| | | | | | | called to resolve DLL PLT entries. The assembler is changed to be thumb compatible and slightly faster, the C function, _dl_linux_resolver (note the extra r) is changed to take a byte address in place of an 8 byte count (faster in caller and callee, and slightly easier to understand).
* arm thumb:Eric Andersen2006-11-101-0/+35
| | | | | | | | | | | | | | | | | | | | | | Put the call_via_rx code into each executable - call_via_ip cannot possibly work if called through the PLT! ldso requires this code too as it is not linked with the crt stuff and thumb ldso does make calls via a register. The patch puts the code into crti.S so that it is linked into every normally built application (if thumb or interworking is selected). This is only 30 extra bytes and it works - the previous code did not because nothing both implemented and exported the APIs (they were in libgcc, but not in the version script). crti.S and crtn.S is also brought up to date with GCC 3.4.4 - this is essential for thumb support because the .init and .fini sections must use arm or thumb code to match the compilation of the libraries. Note that code which pushes stuff into .init or .fini must be compiled with or without -mthumb to match the uclibc compilation - and gcc itself (which does do this) must therefore be compiled to match.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-044-27/+224
| | | | | | 64bit MIPS ELF format tweaks. (from glibc) Elf32/ElfW convertions. asm code adjustments.
* Make _dl_linux_resolve interworking safe. Thanks Paul BrookKhem Raj2006-10-101-0/+6
|
* fixup from Bernd Schmidt to properly document DL_ADDR_TO_FUNC_PTRMike Frysinger2006-10-071-3/+9
|
* Bernd Schmidt writes:Mike Frysinger2006-10-072-10/+25
| | | | | | | | | | | This introduces a new SEND_EARLY_STDERR macro that is to be used in dl-startup.c before ld.so is relocated. It is needed on Blackfin (and frv) FDPIC since we have to use special tricks to get the address of a string constant. EARLY_STDERR_SPECIAL gets defined on such a machine and prevents printing of debug strings inside the loop that relocates ld.so, since we can't decide which of the two variants to use.
* Don't use r10 to find PIC base. In GCC 4.1.1 onwards ARM PIC handling uses ↵Khem Raj2006-10-071-5/+29
| | | | pseudo register for PIC base so load and relocate it.
* merge some more FDPIC related fixes from Bernd SchmidtMike Frysinger2006-09-196-16/+27
|
* patch from Bernd Schmidt to abstract away initializing of relocation addressesMike Frysinger2006-07-057-46/+84
|
* patch from Bernd Schmidt to abstract away initializing of prog load addressesMike Frysinger2006-07-052-1/+9
|
* convert #if 0 code to _dl_if_debug_print()Mike Frysinger2006-07-051-11/+8
|
* patch from Bernd Schmidt to abstract away load address typesMike Frysinger2006-07-058-13/+25
|
* patch from Bernd Schmidt to abstract away load address checksMike Frysinger2006-07-052-7/+18
|
* 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.
* update licenseMike Frysinger2006-07-057-144/+45
|
* missed an ElfW(Addr) changeMike Frysinger2006-07-051-1/+1
|
* patch from Bernd Schmidt to abstract away load addressesMike Frysinger2006-07-052-3/+12
|
* use ElfW(Addr) in more placesMike Frysinger2006-07-054-19/+14
|
* revert fdpic patch so we can merge it in bit by bitMike Frysinger2006-07-059-167/+78
|