remove a few warnings
add gcc 4.6+ leaf function annotation
add getcontext and setcontext for i386 and x86_64
  /* do not restore gs because it's thread-specific */
  add getcontext, setcontext, makecontext, swapcontext (i386 and x86_64 only for now)
  add implementation of hsearch and friends
LOCAL: cvsimport make target
ARM: applied dos2unix to md5sum.S

some rebase operation are doing this which causes unclean patches. Convert
it here and now; git diff -w -b should report no changes.
gitignore: initial checkin
time: use common implementation calling gettimeofday()

Instead of providing yet another arm/__time.c file for ARM-EABI, this
patch merges existing time(2) implementations (which did all the same
thing but with different code) into one global source file.  Build of
it depends on the existence of the __NR_time symbol.

The x64_64 implementation of time.S was moved to __time.S and an empty
time.S file was added to build from the correct VPATH.
ARM: unified declaration of assembler function

Previously, specification of alignment and symbol function differed
without any reason and the symbol size was sometimes missing too.

Patch uses FUNC_START and FUNC_END macros to declare assembler
functions in a common way.
ARM-EABI: removed __unified_syscall4; it is not for ARM EABI and its semantic conflicts with __unified_syscall_swi
ARM: fixed classification of sendto() + recvfrom() syscalls

(Use number of parameters here to be prepared for further optimizations)
implement a sane nice based on getpriority and setpriority (POSIX requires nice to return the new nice value, but the syscall doesn't, so we use {set,get}priority and implement nice in libc)
seekdir/telldir: fixed prototypes

The position used by seekdir(3) and telldir(3) is of type 'long', not of
type 'off_t'.

Signed-off-by: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
readdir: major fixes and improvements

Depending whether getdents(2) or getdents64(2) were called, the
internal __dirstream buffer contains objects of different types:

--- fs/readdir.c ---
struct linux_dirent {
        unsigned long   d_ino;
        unsigned long   d_off;
        unsigned short  d_reclen;
        char            d_name[1];
};

SYSCALL_DEFINE3(getdents, unsigned int, fd,
                struct linux_dirent __user *, dirent, unsigned int, count)

--- include/linux/dirent.h ---
struct linux_dirent64 {
        u64             d_ino;
        s64             d_off;
        unsigned short  d_reclen;
        unsigned char   d_type;
        char            d_name[0];
};

SYSCALL_DEFINE3(getdents64, unsigned int, fd,
                struct linux_dirent64 __user *, dirent, unsigned int, count)

Existing code mixed casts between these types and even with userspace
types which causes problems when 'long' is not a 64 bit type.

The patch:

* uses correct datatypes in readdir*(3), telldir() and seekdir()

* adds a flag telling whether getdents(2) or getdents64(2) were used
  to fill dir ents buffer

* fixes prototypes of getdents64(2) and getdents(2)

* adds testsuite programs
MAKEFILE: drop $(PICODIR) dependency

libc.so will be rebuilt when something changed the $(PICODIR) which
happens e.g. when libc.so is rebuilt.

Drop this dependency; '| $(PICODIR)' is not needed because the
object files contain this already.
MAKEFILE: build some more files with EXTRACFLAGS
MAKEFILE: build some files without stack-protector
Sanity checks for syscall availability

Catch the case when syscall(2) is not implemented for the actual arch
instead of jumping to the next function and executing the wrong code
Workaround PPC build issues

Fixes https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=182118 and
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27054