test/math: add fallback to libm-test-ulps-generic logic

Under test/math/, there is libm-test-ulps-generic used as fallback
in case that libm-test-ulps-$(TARGET_ARCH) does not exist.

This is required for arches that don't have ULPS yet.

Original patch from Jian Peng was found here:
http://lists.uclibc.org/pipermail/uclibc/2011-April/045172.html

Signed-off-by: Jian Peng <jipeng2005@gmail.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>

Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Anton Kolesov <akolesov@synopsys.com>
posix_fadvise: handle 2 variants for SYSCALL_ALIGN_64BIT

arm/powerpc/xtensa pass @advice as 2nd arg to syscall (vs. canonical 4th)

Current code however does this for UCLIBC_SYSCALL_ALIGN_64BIT (which
powerpc/xtensa) happen to define.

This is not true for ARCv2 ISA and possibly other arch of future which
uses the standard syscall handler in kernel despite 64-bit even register
requirement.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARCv2: Enforce 64-bit data aligned to even register constraint

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: remove stale TRUNCATE64_HAS_4_ARGS

Not relevant anymore since commit e8cc14e59ed3f66b84e,
"libc: rename TRUNCATE64_HAS_4_ARGS to SYSCALL_ALIGN_64BIT"

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: Enable OBSTACK in defconfig for ARCv2

OBSTACK is required for native builds of binutils and GDB.

Cc: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
ARC: Enable OBSTACK in defconfig for ARC

OBSTACK is required for native builds of binutils and GDB.

Cc: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
lseek: Correct order of offset arguments

There was a runtime error in systems without large file support. Call
fseek(fd, 4096, SEEK_SET) has been failing with EINVAL, though it was
succeeding for offset = 4092. This has been happening because llseek system
call accepts 64-bit value as an offset argument and lseek function has been
ordering 32-bits words that form this offset value, according to the
endianness. However this ordering to match endianness is not required,
because llseek doesn't accept one 64-bit offset argument, it accepts two
32-bit offset argument, then stitches them into one following its
endianness. As a result on little endian system, order of words has been
swapped two time: in libc and in kernel. Thus call to fseek with offset 4096
(0x1000) was doing a system call to llseek with offset 0x1000_0000_0000. I'm
not entirely sure why then offset = 4092 hasn't been failing then.

This patch removes malicious swap of words when calling llseek.

Cc: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>