summaryrefslogtreecommitdiff
path: root/ldso/include/ldso.h
AgeCommit message (Collapse)Author
2008-12-03- Use runtime pagesize (Jeremy Kerr)Bernhard Reutner-Fischer
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>
2008-05-30- fix the macros rather than the callees as rightfully noted by bernds (duh!)Bernhard Reutner-Fischer
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.
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 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-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-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).
2006-07-05patch from Bernd Schmidt to abstract away load address typesMike Frysinger
2006-07-05missed an ElfW(Addr) changeMike Frysinger
2006-07-05revert fdpic patch so we can merge it in bit by bitMike Frysinger
2006-06-30Bernd Schmidt writes: abstract away addresses so we can support FDPIC ELFsMike Frysinger
2006-02-23Include bits/uClibc_page.h before dl-syscall.h as the latter mayPeter Kjellerstedt
need the defines from the former.
2005-11-23change to Lesser GPL 2.1 as pointed out by psmMike Frysinger
2005-11-22add some copyright infoMike Frysinger
2005-08-29some fixes by anemo in Bug 9 to play nicely with 32 or 64 bit hostsMike Frysinger
2005-08-12Remove hardcoded ld-uClibc.so.0 name in ldso.Joakim Tjernlund
2005-07-11create a new wrapper macro for debug early outputMike Frysinger
2005-06-30change all Elf32_* usage to ElfW(*) usage since we shouldnt care about the ↵Mike Frysinger
bitsize
2005-06-25move _dl_if_debug_dprint() to shared ldso headerMike Frysinger
2005-04-27Get rid of extern references to ldso variables."Steven J. Hill"
2004-09-08Second attempt to fix the INIT/FINI order. This time I think I got it right :)Joakim Tjernlund
This needs testing with apps that have complex dependencies.
2004-09-03First attempt to fix the INIT/FINI ordering. Fingers crossed :)Joakim Tjernlund
2004-09-02Remove unused variables. From Peter Mazinger.Joakim Tjernlund
2004-08-19Remove poor man's malloc. Not needed anymore.Joakim Tjernlund
2004-08-19Move "debug_addr" ptr from dl-startup.c to ldso.cJoakim Tjernlund
2004-08-19Move the app specific stuff from dl-startup.c to ldso.c.Joakim Tjernlund
2004-08-13Fixup PAGE_SIZE problemsEric Andersen
-Erik
2004-07-30Teach libdl to use normal libc symbols whenever possible, i.e. mallocEric Andersen
rather than _dl_malloc, fprintf rather than _dl_printf, etc. -Erik
2004-07-16Revert this stuff for nowEric Andersen
2004-07-14Sigh. I got things working this morning, then checked stuff in from the wrongEric Andersen
tree. Bad boy, No doughnut. -Erik
2004-07-14Based on a patch from Alexandre Oliva, make sure _dl_malloc returns a nicelyEric Andersen
aligned pointer that may be aligned up to page_size. Also add _dl_free,
2004-05-11make certain that getpagesize() returns correct the value for mipsEric Andersen
by extracting the value from the ELF header.
2004-02-17Fixup support for gcc 2.95Eric Andersen
2004-02-17Provide the ldso syscalls and string funcs earlier in the listEric Andersen
2004-02-10Rework file naming, aiming for at least a vague level of consistancyEric Andersen
2004-02-07Step one, begin shuffling things around a bitEric Andersen
2004-01-29Scrub up use of ELF_USES_RELOCA and eliminte some unsightly ifdefsEric Andersen
2004-01-06Some badly behaved arches fail to provide a PAGE_SIZE defineEric Andersen
2003-12-17Use PAGE_SIZE rather than hard coding 4096Eric Andersen
2003-08-19Phase one of my evil plan to clean up ld.so...Eric Andersen