summaryrefslogtreecommitdiffstats
path: root/ldso/include/dl-syscall.h
Commit message (Collapse)AuthorAgeFilesLines
* remove trailing ';' from _syscallX()Peter S. Mazinger2011-03-091-1/+1
| | | | Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
* 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>
* 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>
* 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-231-1/+1
|
* - 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.
* 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>
* 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.
* bits/kernel_stat.h is for internal uClibc use only, fix a few otherEric Andersen2006-12-061-1/+2
| | | | minor include file issues
* forgotten to update gettimeofday here as wellPeter S. Mazinger2006-03-231-2/+6
|
* Allow MMAP2_PAGE_SHIFT to be specified by the architecture specificPeter Kjellerstedt2006-02-231-1/+8
| | | | header files.
* A little clean up.Peter Kjellerstedt2006-02-231-18/+23
|
* Nicolas Bellido: switch up order of mmap preference to try and fix arm eabi ↵Mike Frysinger2006-02-221-27/+34
| | | | usage
* move _dl_mmap_check_error() to related mmap bits of code as pointed out by ↵Mike Frysinger2006-02-221-13/+10
| | | | Nicolas Bellido
* back to inline, mips failsPeter S. Mazinger2006-01-301-21/+21
|
* - use keywords __asm__ and __inline__ c99.Bernhard Reutner-Fischer2006-01-241-21/+21
|
* fix building on alphaMike Frysinger2006-01-201-0/+15
|
* move a bunch of arch-specific checks out of common files and into an arch ↵Mike Frysinger2006-01-191-1/+1
| | | | specific header file to make porting/updates a lot easier
* Revert 13276, cache corrupted on x86Peter S. Mazinger2006-01-141-11/+39
|
* use regular headers rather than trying to get trickyMike Frysinger2006-01-141-39/+11
|
* change to Lesser GPL 2.1 as pointed out by psmMike Frysinger2005-11-231-1/+1
|
* add some copyright infoMike Frysinger2005-11-221-0/+7
|
* Moved guard_setup to dl-osinfo.h (used commonly by ldso and libc). Renamed ↵Peter S. Mazinger2005-10-271-0/+6
| | | | to _dl_setup_stack_chk_guard, as in glibc. SSP requires now binutils-2.16.1 and newer. Add NOT_IN_libc/IS_IN_libc. Began using -DSHARED in uClibc_main.c, there are more candidates in there. Move back dl_protect_relro to it's earlier place.
* Make powerpc use sys/syscall.h, instead of defining its own syscalls.Joakim Tjernlund2005-09-201-3/+0
|
* Fix bug 430 and reduce ldso size with 1KB :). Not sure if I need to use ↵Joakim Tjernlund2005-09-171-1/+6
| | | | | | fstat64, but I am sure someone will tell me.
* Just quote the whole darn thing so we can print any error msg we wantEric Andersen2005-08-151-1/+1
|
* remove quote char which doesnt belongMike Frysinger2005-08-151-1/+1
|
* move arch-specific checks out of shared dl-syscall.h and into arch-specific ↵Mike Frysinger2005-08-151-2/+3
| | | | dl-syscalls.h
* we need the syscall6() version of mmapMike Frysinger2005-07-091-1/+1
|
* typecast to long instead of int so pointers on 64bit arches can be typecast ↵Mike Frysinger2005-06-301-2/+2
| | | | safely
* Jakub Bogusz from pld-linux dot org writes:Eric Andersen2004-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hello, I managed to get ldso (and thus shared linking to uClibc) to work on sparc (actually sparc64 kernel with 32-bit userspace), at least on simple "hello world" program (more complex ones not tested). Some notes on attached patch (against 0.9.26, would require some work to apply on current CVS - but I tested 0.9.26, not CVS): - ELF magic cannot be examined by _dl_strncmp so early, probably because of string constant, like on ppc/mips/sh (note that early SEND_STDERR still crashes when trying to do _dl_strlen - I suppose that string constants require relocation; but adding load_addr didn't help, just ELF header was displayed instead of crash) - mmap() is syscall6 like on ppc/mips/sh, not old i386 mmap() - for generic sparc (i.e. not sparcv8/sparcv9) gcc produces .udiv/.urem calls for unsigned integer / and % operators - so these operations must be avoided. I copied do_rem definition from arm header. But / and % are used also in _dl_simple_ltoa() and _dl_simple_ltoahex(); in ltoahex gcc optimizes it to shifts (but I think it's safer to use shifts explicitly, not rely on optimization...). I changed % in ltoa to do_rem, but as there was no do_div definition, I changed all "%d" specifiers to "%x" to avoid crashes (this changes wouldn't be needed if _dl_simple_ltoa() were fixed to not use division on sparc). - "#define SOLARIS_COMPATIBLE" in ld_sysdep.h broke ldso on Linux because of redefining _dl_linux_resolve only in some places (it was still referenced in INIT_GOT before redefinition). So _dl_linux_resolve redefinition should be moved before INIT_GOT definition or removed. - sparc64 kernel requires mmap() addresses to be aligned to 8192, not 4096, otherwise mmap() call failed - reloc_entry must be shifted by 10, not 12 (I found similar operation in glibc sources) Aside of sparc-specific fixes: - I moved some _dl_dprintf()s inside if(_dl_debug_*) conditions (to avoid debugging messages when LD_DEBUG is not defined) - it seems that there was possible off-by-one in ltoa and ltoahex? they are called with char[22] as 1st argument, and then '\0' is stored in local[22] (_before_ p decrementation)... or am I missing something? If not, fix is included in patch.
* Based on a patch from Alexandre Oliva, allow uClibc to compileEric Andersen2004-03-191-1/+16
| | | | with __NR_mmap is not available (i.e. only __NR_mmap2)
* Rework file naming, aiming for at least a vague level of consistancyEric Andersen2004-02-101-1/+1
|
* Fixup the definition of _dl_open, and move some bits back where they were,Eric Andersen2004-02-101-55/+49
| | | | till I properly finish the next step in my evil plan.
* Split off the stuff that cannot use function into its own file,Eric Andersen2004-02-071-19/+0
| | | | | to make it easier to treat it specially while not bothering the rest of the code with the same constraints.
* Phase one of my evil plan to clean up ld.so...Eric Andersen2003-08-191-0/+157