summaryrefslogtreecommitdiffstats
path: root/ldso/include
Commit message (Collapse)AuthorAgeFilesLines
* ldso: add missing prototypesBernhard Reutner-Fischer2010-02-051-0/+5
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* check if USE_TLS is defined before useHans-Christian Egtvedt2009-12-171-2/+2
| | | | | | | | | | | 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>
* remove superfluous extra semicolonsBernhard Reutner-Fischer2009-11-201-16/+17
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* ldso: drop duplicated/unused definesMike Frysinger2009-10-151-23/+0
| | | | | | | We already include bits/fcntl.h for some of these defines, and most of the bits/stat.h defines are unused. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ldso: unify and cleanup _dl_mmap codeMike Frysinger2009-10-151-40/+22
| | | | | | The interface should be straight forward now and the same for everyone. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ldso: define MAP_FAILED for everyoneMike Frysinger2009-10-151-1/+1
| | | | | | This fixes build errors where common code has started using MAP_FAILED. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ldso: simplify handling of extra _dl_lookup_hash() argMike Frysinger2009-10-151-14/+6
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ldso: clean up breakage in tls mergeMike Frysinger2009-10-152-9/+8
| | | | | | | | | | 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_CLOEXECMike Frysinger2009-10-071-0/+2
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* whitespace cleanupBernhard Reutner-Fischer2009-10-061-4/+4
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* ldso/: tls support for dynamic linkerAustin Foxley2009-09-263-14/+200
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* fix building for systems w/out ldso supportMike Frysinger2009-07-201-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>
* sparc also needs CONSTANT_STRING_GOT_FIXUP for doing debug printing in ldsoaustinf2009-04-111-1/+1
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* Fix the ifdef logic broken by last commit for !defined (__mcoldfire__)Khem Raj2009-04-091-3/+1
|
* The attached patches fixes the problems found bringing up uclibc on coldfire Khem Raj2009-04-091-2/+2
| | | | | | | | | | | | | | M5485 processor 1. Disable mmap2() if we're compiling for coldfire and fall back to mmap(). It seems to map a different file area on a 2.6.25 linux kernel. 2. Uses pc-relative addresing[1], computes ADDR_ALIGN, PAGE_ALIGN and OFFSET_ALIGN relatively to _dl_pagesize[3]. On coldfire/M5485 _dl_pagesize is 0x2000. Signed-off-by: Groleo Marius <groleo@gmail.com>
* ldso: do not comment out unused variables, just delete it.Carmelo Amoroso2009-01-121-1/+0
| | | | | SIgned-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* simple optimizations and style fixes in dynamic loadingDenis Vlasenko2009-01-102-21/+21
| | | | | | | | | | | 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-Fischer2008-12-031-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 whitespace damage in file.Hans-Christian Egtvedt2008-11-031-1/+1
| | | | | Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
* Use __always_inline for _dl_gettimeofday as well.Carmelo Amoroso2008-09-181-1/+1
| | | | Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* - fix inline keywordBernhard Reutner-Fischer2008-07-233-4/+4
|
* - Revert _dl_exit touch-up.Bernhard Reutner-Fischer2008-06-031-5/+1
| | | | It breaks on arches that don't define proper/complete/nice syscall facilities.
* - adds several config-options to allow for turning off certain featuresBernhard Reutner-Fischer2008-06-031-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | like o UCLIBC_HAS_GNU_ERROR o UCLIBC_HAS_BSD_ERR o UCLIBC_HAS_PTY o UCLIBC_HAS_GETPT (1) o UCLIBC_SYSCALL_STUBS o UCLIBC_SYSCALL_STUB_WARNING o UCLIBC_LINUX_SPECIFIC (2) o UCLIBC_BSD_SPECIFIC (3) o UCLIBC_NTP_LEGACY (4) o UCLIBC_SV4_DEPRECATED (5) o UCLIBC_HAVE_REALTIME (6) o UCLIBC_HAVE_ADVANCED_REALTIME (7) o UCLIBC_HAVE_EPOLL (8) o UCLIBC_HAVE_XATTR (9) o UCLIBC_HAVE_PROFILING (10) (1) make non-standard getpt optional and implement standard posix_openpt (2) fstatfs(), inotify_*(), ioperm(), iopl(), madvise(), modify_ldt(), personality() ppoll(), setresuid() (3) mincore(), getdomainname(), setdomainname() (4) ntp_adjtime(), ntp_gettime() aliases (5) ustat() [use statfs(2) in your code instead] (6) All marked as "(REALTIME)" in SUSv3 (7) All marked as "(ADVANCED REALTIME)" in SUSv3 (8) epoll_create(), epoll_ctl(), epoll_wait() (9) all Extended Attributes (10) helpers for gcc's -finstrument-functions - Fixes _dl_exit() - Implements sleep(3) for !UCLIBC_HAVE_REALTIME - Implements usleep(3) for !UCLIBC_HAVE_REALTIME - adds #warning about incorrect posix_fadvise{,64}() - removes unused and unwanted uselib() Net outcome is that an allnoconfig with HAVE_SHARED is now about 88k instead of formerly 130k.
* - fix the macros rather than the callees as rightfully noted by bernds (duh!)Bernhard Reutner-Fischer2008-05-301-3/+3
|
* 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-182-2/+3
| | | | | | | 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-094-13/+12
|
* Some more Blackfin/FDPIC ldso merging work. Include dl-inlines.h when itBernd Schmidt2008-01-081-0/+4
| | | | exists, and move some definitions to their proper place.
* change NO_UNDERSCORES to just UNDERSCORES so as to be less confusing when ↵Mike Frysinger2008-01-081-3/+3
| | | | doing double negatives
* Chris Zankel writes:Mike Frysinger2008-01-051-1/+1
| | | | | | | | | | | | | | | | | | 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.
* whitespace only: fix indentationMike Frysinger2008-01-051-1/+1
|
* Blackfin FD-PIC patch 6/6.Bernd Schmidt2007-12-041-1/+50
| | | | | | | 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.
* Blackfin FD-PIC patches 5/6.Bernd Schmidt2007-12-032-1/+23
| | | | | | | 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 4/6.Bernd Schmidt2007-12-031-0/+7
| | | | Add a hash table for function descriptors on FD-PIC targets.
* Blackfin FD-PIC patch 3/6.Bernd Schmidt2007-12-033-2/+28
| | | | | | | | | | | | | | | 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-0/+6
| | | | | | 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/+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.
* Some versions of gcc consider inline merely a hint. AVR32 depends on theCarmelo Amoroso2007-12-031-20/+20
| | | | | | | | | 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>
* Added AVR32 support to uClibc. Signed-off-by: Hans-Christian Egtvedt ↵Carmelo Amoroso2007-11-161-1/+2
| | | | <hcegtvedt@atmel.com>
* 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-073-3/+53
|
* Blue Swirl writes:Mike Frysinger2007-09-151-0/+4
| | | | | | | | | | | | | | | | | | | | 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.
* fix ld.so.cache handling on no-mmu setupsMike Frysinger2007-04-171-0/+6
|
* Make _dl_malloc alignment arch configurable.Joakim Tjernlund2007-02-171-0/+5
| | | | From Atsushi Nemoto.
* - 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).
* bits/kernel_stat.h is for internal uClibc use only, fix a few otherEric Andersen2006-12-061-1/+2
| | | | minor include file issues
* Bernd Schmidt writes:Mike Frysinger2006-11-171-0/+6
| | | | | | | 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.
* fixup from Bernd Schmidt to properly document DL_ADDR_TO_FUNC_PTRMike Frysinger2006-10-071-3/+9
|
* Bernd Schmidt writes:Mike Frysinger2006-10-071-0/+13
| | | | | | | | | | | 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.
* merge some more FDPIC related fixes from Bernd SchmidtMike Frysinger2006-09-192-1/+13
|