OSDN Git Service

uclinux-h8/uClibc.git
9 years agotest/math: fix for MIPS that takes 32/64 suffix into account
Alexey Brodkin [Mon, 18 Aug 2014 07:04:28 +0000 (11:04 +0400)]
test/math: fix for MIPS that takes 32/64 suffix into account

This fixes a breakage for MIPS32/64 introduced in:
http://git.uclibc.org/uClibc/commit/?id=c02bc5763ba9c8f8b464bca89fba28e091ce1ffc

Now ULP_SUFFIX is taken into account when searching for existing
libm-test-ulps-ARCH

Signed-off-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Anton Kolesov <akolesov@synopsys.com>
Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agotest/math: fix for disabled long double math
Alexey Brodkin [Wed, 13 Aug 2014 12:04:45 +0000 (16:04 +0400)]
test/math: fix for disabled long double math

Commit "test: cater for config" http://git.uclibc.org/uClibc/commit/test/math/Makefile.in?id=7598eeaa1defa2884adaa890bb115c493d69cc35 inverted check from
ifeq ($(UCLIBC_HAS_LONG_DOUBLE_MATH),y)
to
ifeq ($(UCLIBC_HAS_LONG_DOUBLE_MATH),)
with first branch indeed inverted - instead of adding tests they were excluded.
But "else" branch was not moved up (remember check was inverted).

This causes compile breakage when building basic-test.c:
--->---
TEST_LINK math/ basic-test
basic-test.c: In function 'ldouble_test':
basic-test.c:111:1: warning: implicit declaration of function 'nanl' [-Wimplicit-function-declaration]
 TEST_FUNC (ldouble_test, long double, nanl, LDBL_EPSILON, HUGE_VALL)
 ^
basic-test.o: In function `main':
basic-test.c:(.text.startup+0x834): undefined reference to `nanl'
basic-test.c:(.text.startup+0x858): undefined reference to `nanl'
basic-test.c:(.text.startup+0x880): undefined reference to `nanl'
basic-test.c:(.text.startup+0x8a8): undefined reference to `nanl'
basic-test.c:(.text.startup+0x8d4): undefined reference to `nanl'
basic-test.o:basic-test.c:(.text.startup+0x8e0): more undefined references to `nanl' follow
collect2: error: ld returned 1 exit status
make[3]: *** [basic-test] Error 1
--->---

Fix is simple - merge "old else" branch with the first current one.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Anton Kolesov <akolesov@synopsys.com>
Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoARC: Enable OBSTACK in defconfig for ARC
Anton Kolesov [Fri, 1 Aug 2014 18:16:26 +0000 (22:16 +0400)]
ARC: Enable OBSTACK in defconfig for ARC

OBSTACK is required for native builds of binutils and GDB.

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agouclibc: nptl: fix __lll_lock_wait_private multiple definition
Tony Wu [Fri, 25 Jul 2014 05:52:11 +0000 (13:52 +0800)]
uclibc: nptl: fix __lll_lock_wait_private multiple definition

Mark non-pthread __lll_lock_wait_private weak to avoid multiple
definition error in static link mode.

Signed-off-by: Tony Wu <tung7970@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agolseek: Correct order of offset arguments
Anton Kolesov [Fri, 1 Aug 2014 18:18:47 +0000 (22:18 +0400)]
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.

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agolibc: posix_fadvise: Fix build breakage for !LFS
Vineet Gupta [Thu, 9 Jan 2014 09:35:45 +0000 (15:05 +0530)]
libc: posix_fadvise: Fix build breakage for !LFS

commit 00571b43df2e "libc: posix_fadvise: restore implementation for xtensa"
enabled posix_fadvise() for all arches (it was just not generated
before).

However this also unearthed an issue introduced by ee84b8b400
"linux: posix_fadvise: use new SYSCALL_ALIGN_64BIT" which is to
referencing LFS'ish code (off64_t) w/o proper checks which causes build
to break for !LFS.

Fix this by calling posix_fadvise64() only for LFS case and open-code
it's equivalent for !LFS.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: markos Chandras <markos.chandras@gmail.com>
Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agounbreak networking code for sparc
Waldemar Brodkorb [Tue, 29 Jul 2014 07:53:01 +0000 (09:53 +0200)]
unbreak networking code for sparc

This commit 1e2e4ac6193ffe0900bd392fa3c596883771eb34 breaks networking
on sparc systems. In Linux the socket functions are declared, but not
implemented and must be routed through socketcall().

Tested via Qemu 2.0.0.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agotest_nptl: replace __sigpause with sigpause
Alexey Brodkin [Fri, 25 Jul 2014 14:11:21 +0000 (18:11 +0400)]
test_nptl: replace __sigpause with sigpause

On attempt to build uClibc tests following error message appears:
=========
TEST_LINK nptl/ tst-cancel4
tst-cancel4.c: In function 'tf_sigpause':
tst-cancel4.c:765:3: warning: implicit declaration of function
'__sigpause' [-Wimplicit-function-declaration]
__sigpause (SIGCANCEL, 1);
^
tst-cancel4.o: In function `tf_sigpause':
tst-cancel4.c:(.text+0x1054): undefined reference to `__sigpause'
collect2: error: ld returned 1 exit status
=========

This commit http://git.uclibc.org/uClibc/commit/?id=cef1f9517c319d86b4b426ecc14a10d0fa5494c7
makes __sigpause static limiting its scope to "libc/signal/sigpause.c".

Switching to common implementation "sigpause()" fixes this issue.

Signed-off-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
Suggested-by: Vineet Gupta <vgupta@synopsys.com>
Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoARC/NPTL: clone to set TP if CLONE_SETTLS
Vineet Gupta [Fri, 25 Jul 2014 12:09:08 +0000 (17:39 +0530)]
ARC/NPTL: clone to set TP if CLONE_SETTLS

Typically kernel would set the TP register of newly created thread in
clone syscall with CLONE_SETTLS.

However this implies that:
* kernel knows of the exact TP register (which is already different for
  ARCompact and ARCv2) and is a detail which becomes part of the ABI
* kernel also needs to handle the unlikely but possible case of !TLS
  userspace (e.g. Android libc) case where TP reg is not reserved and
  thus need not be mucked with (using ELF personality based detection)

It is better to confine this detail to userspace runtime and set TP reg
right after clone syscall returns.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoARC/NPTL: Add tests
Vineet Gupta [Fri, 25 Jul 2014 12:09:07 +0000 (17:39 +0530)]
ARC/NPTL: Add tests

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoARC/NPTL: Fix __libc_sigaction redefinition with static links
Vineet Gupta [Fri, 25 Jul 2014 12:09:06 +0000 (17:39 +0530)]
ARC/NPTL: Fix __libc_sigaction redefinition with static links

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoNPTL: ARC support
Vineet Gupta [Fri, 25 Jul 2014 12:09:05 +0000 (17:39 +0530)]
NPTL: ARC support

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoARC: ldso: Use @pcl syntax.
Joern Rennecke [Fri, 25 Jul 2014 12:09:04 +0000 (17:39 +0530)]
ARC: ldso: Use @pcl syntax.

Signed-off-by: Joern Rennecke <joern.rennecke@embecosm.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agobits/time.h: sync with latest glibc
Mike Frysinger [Fri, 1 Aug 2014 08:16:12 +0000 (04:16 -0400)]
bits/time.h: sync with latest glibc

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
9 years agotest/math: add fallback to libm-test-ulps-generic logic
Jian Peng [Wed, 9 Jul 2014 18:27:25 +0000 (22:27 +0400)]
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>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoChangelog: complete old data and cycle
Bernhard Reutner-Fischer [Thu, 24 Jul 2014 18:44:42 +0000 (20:44 +0200)]
Changelog: complete old data and cycle

We switched to detailed per-release Changelog some time ago, available
on the website.
Move the old Changelog for historical reasons.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoARC: Implement native GDB requirements in procfs.h
Anton Kolesov [Thu, 26 Jun 2014 06:03:35 +0000 (11:33 +0530)]
ARC: Implement native GDB requirements in procfs.h

Native GDB requires elf_fpregset_t to be defined, even if floating point
registers are absent. In this case we use empty structure. Additionally we
redefined prfpregset_t to use this new type.

And there has been an error: it was defined that user_regs_struct has 20
registers, while it has 40.

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoARC: clone: Ensure that @fn returns back to clone
Vineet Gupta [Thu, 26 Jun 2014 06:03:34 +0000 (11:33 +0530)]
ARC: clone: Ensure that @fn returns back to clone

This showed up due to longstanding test/unistd/clone failure where post
clone, the callback was not exiting and rather falling thru in into main
program.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoARC: ldso: Dont force frame pointer as it useless for unwinding on ARC
Vineet Gupta [Thu, 26 Jun 2014 06:03:33 +0000 (11:33 +0530)]
ARC: ldso: Dont force frame pointer as it useless for unwinding on ARC

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoARC: make sigaction inline with other arches
Vineet Gupta [Thu, 26 Jun 2014 06:03:32 +0000 (11:33 +0530)]
ARC: make sigaction inline with other arches

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoARC: syscalls.h: code-reuse/fix-arg-annotations
Vineet Gupta [Thu, 26 Jun 2014 06:03:31 +0000 (11:33 +0530)]
ARC: syscalls.h: code-reuse/fix-arg-annotations

- Use syscalls-common.h vers of INTERNAL_SYSCALL / INLINE_SYSCALL_NOERR
- INLINE_SYSCALL takes syscall name (e.g. write)
- {INLINE,INTERNAL}_SYSCALL_NCS macros take syscall num (__NR_write)

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agosyscalls-common.h: Rename some macro args for correct documentation
Vineet Gupta [Thu, 26 Jun 2014 06:03:30 +0000 (11:33 +0530)]
syscalls-common.h: Rename some macro args for correct documentation

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoopen64: ensure that openat check works
Vineet Gupta [Thu, 19 Jun 2014 07:08:38 +0000 (12:38 +0530)]
open64: ensure that openat check works

For ARC builds atleast, __NR_xxx was not trickling into in open64.c
causing open64->openat a needless detour via open

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agofix pthread_cancel lead to segmentation fault for x86_64.
Zhang Pu [Tue, 20 May 2014 16:52:55 +0000 (00:52 +0800)]
fix pthread_cancel lead to segmentation fault for x86_64.

When x86_64 cpu contains 'cpu_has_xsave' flag(in kernel),call the
pthread_cancel will have a segmentation fault. Because gcc could
not find the end of stack in user signal stack.

Signed-off-by: Zhang Pu <glen4linux@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoarm: move check for BX to its own header
Yann E. MORIN [Thu, 11 Apr 2013 21:02:03 +0000 (23:02 +0200)]
arm: move check for BX to its own header

As Will noticed, the header this check is currently done in
is asm-only, and is not meant to be included from C code.
This breaks compilation when compiled for a Thumb2-aware CPU.

Move the BX check to its own header, and revert 7a246fd.

Reported-by: Will Newton <will.newton@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Will Newton <will.newton@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoNPTL: Fix undefined reference to PRIVATE_FUTEX with 2.6.18 kernel
Dan Moulding [Tue, 29 Apr 2014 14:54:57 +0000 (08:54 -0600)]
NPTL: Fix undefined reference to PRIVATE_FUTEX with 2.6.18 kernel

When compiling against the 2.6.18 kernel headers, during linking of
the NPTL library it runs into a "undefined reference to PRIVATE_FUTEX"
error in pthread_cond_timedwait.S. This resolves the problem by
ensuring that the definition for PRIVATE_FUTEX is made available to
pthread_cond_timedwait.S.

Signed-off-by: Dan Moulding <dan.moulding@rackwareinc.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agoarm/clone.S: Add missing IT instruction for Thumb2.
Will Newton [Tue, 2 Apr 2013 12:56:00 +0000 (13:56 +0100)]
arm/clone.S: Add missing IT instruction for Thumb2.

The conditional load needs to be made part of an IT block on Thumb2
cores.

Signed-off-by: Will Newton <will.newton@linaro.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9 years agobuildsys: Do not install atomic.h
Bernhard Reutner-Fischer [Thu, 12 Jun 2014 14:28:33 +0000 (16:28 +0200)]
buildsys: Do not install atomic.h

Gregory Fong noted that we'd better not install atomic.h

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoresolv: try next server on SERVFAIL
Michel Stam [Thu, 27 Feb 2014 20:42:38 +0000 (21:42 +0100)]
resolv: try next server on SERVFAIL

Commit e1420eca7374cd8f583e9d774c890645a205aaee fixed a bug where a
response code should mean the next server is tried. However, it tries
only the next search domain, and never skips to the next server. This
fix makes sure we try the next server on SERVFAIL.

Signed-off-by: Michel Stam <michel@reverze.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agotest/math: Adjust arm tests for older ULPs format
Gregory Fong [Mon, 21 Apr 2014 19:08:03 +0000 (12:08 -0700)]
test/math: Adjust arm tests for older ULPs format

The ULPs format in glibc has changed slightly and now deviates from
that in uClibc, so when using the files directly from glibc, for
certain types of tests the ULPs values were incorrectly defaulting to
0 rather than using the values provided.  This caused some tests to
fail despite the max ULPs being correctly marked.

Regenerated and updated part of the ULPs file to fix this issue.  This
also added values for exp and log.

Signed-off-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoldso: Add remaining relocation types to the table
Gregory Fong [Mon, 21 Apr 2014 18:42:01 +0000 (11:42 -0700)]
ldso: Add remaining relocation types to the table

The table format is thrown off a bit because some of these names are
too long to fit the previous format so they were put on their own
lines.

Signed-off-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoldso/mips: Remove redundant LD_DEBUG prints
Gregory Fong [Mon, 21 Apr 2014 18:42:00 +0000 (11:42 -0700)]
ldso/mips: Remove redundant LD_DEBUG prints

These should have been protected by

  if (_dl_debug_reloc && _dl_debug_detail)

, but since the previous change "ldso/mips: actually print results of
each relocation" makes this redundant, just eliminate these prints
instead.  I think this is the only item that is still printing
regardless of the value of LD_DEBUG when uClibc is built with
SUPPORT_LD_DEBUG=y.

Signed-off-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoldso/mips: actually print results of each relocation
Gregory Fong [Mon, 21 Apr 2014 18:41:59 +0000 (11:41 -0700)]
ldso/mips: actually print results of each relocation

The patched line was outside of the body of the loop over relocations
and so would only print the results of the last relocation, fix that.

Signed-off-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoldso: Fix misplaced declaration
Bernhard Reutner-Fischer [Wed, 23 Apr 2014 11:33:23 +0000 (13:33 +0200)]
ldso: Fix misplaced declaration

Apparently i made a typo when applying
278a06d7abcc8774ba9bb9c15779749c7e2d68cd
sorry..

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoweak symbols need to be "defined" weak but "declared" strong
Vineet Gupta [Wed, 16 Apr 2014 10:36:01 +0000 (16:06 +0530)]
weak symbols need to be "defined" weak but "declared" strong

Patch "LT.old: Make __errno_location/__h_errno_location thread safe"
uncovered yet another bug with static linking and errno (hopefully this
is last of them all).

Currently, __errno_location is declared weak but is defined strong.
While this provides with the desired weak semantics in dso, it
is subtly broken in static links.

Quoting Joern Rennecke (ARC gcc expert):

| I think the issue is that you declare the function as weak in the
| header file.  That is a rare instance where you want the reference
| use declaration that differs a bit from the definition.
| If the reference uses a weakly declared function, that creates a
| weakref, i.e. the linker won't bother to look for this symbol at
|  all - if it gets linked in for some other reason, fine,
| otherwise, it stays zero.

So the solution to declare strong, define weak.

Supporting data
-----------------
orig code: ARM mmap wrapper (LT.old build + my prev patch for errno)

_mmap:
    @ args = 8, pretend = 0, frame = 0
    @ frame_needed = 0, uses_anonymous_args = 0
    stmfd    sp!, {r4, r5, r7, lr}
    ldr    r5, [sp, #20]
    movs    ip, r5, asl #20
    beq    .L2
    bl    __errno_location(PLT)
    mov    r3, #22
    str    r3, [r0, #0]
    mvn    r0, #0
...
...
   .weak __errno_location

A statically linked hello world program which uses mmap too.
As we can see__errno_location is completely gone - which is
semantically wrong - we need functional errno.

00008274 <__GI_mmap>:
    8274:    e92d40b0     push    {r4, r5, r7, lr}
    8278:    e59d5014     ldr    r5, [sp, #20]
    827c:    e1b0ca05     lsls    ip, r5, #20
    8280:    0a000004     beq    8298
    8284:    e320f000     nop    {0}
          ^^^^^^^^^^
    8288:    e3a03016     mov    r3, #22
    828c:    e5803000     str    r3, [r0]
    8290:    e3e00000     mvn    r0, #0

This in turn is due to a fixup in ARM ld which transforms branch-to-null
into a nop. It is better than crashing but still wrong since errno
handling is removed.

With the patch, errno_location is restored back in test program.

00008274 <__GI_mmap>:
    8274: e92d40b0  push {r4, r5, r7, lr}
    8278: e59d5014  ldr r5, [sp, #20]
    827c: e1b0ca05  lsls ip, r5, #20
    8280: 0a000004  beq 8298 <__GI_mmap+0x24>
    8284: eb000010  bl 82cc <__errno_location>
    8288: e3a03016  mov r3, #22
    828c: e5803000  str r3, [r0]

Cc: Christian Ruppert <christian.ruppert@abilis.com>
CC: Francois Bedard <Francois.Bedard@synopsys.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Joern Rennecke <joern.rennecke@embecosm.com>
Cc: Jeremy Bennett <jeremy.bennett@embecosm.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoLT.old: Make __errno_location/__h_errno_location thread safe
Vineet Gupta [Wed, 16 Apr 2014 09:57:52 +0000 (15:27 +0530)]
LT.old: Make __errno_location/__h_errno_location thread safe

WHY: errno in uClibc is not thread safe

HOW: __errno_location and it's sibling __h_errno_location need to be called
     via PLT - even from within libc. That way when linked with pthread,
     intra-uClibc callers will also use the thread safe version.

     This is achieved by removing the GI alias for these functions,
     ensuring that they get called normally (via PLT)

Verified with ARC LT.old and ARM cubieboard2 buildroot (LT.old)
NPTL is unaffected by this bug.

------------ History behind this patch ---------------------

This is a long standing bug (https://bugs.busybox.net/show_bug.cgi?id=2089)

Others have tried to fix it in past (alteast Peter Korsgaard's patch in 2010),
but somehow failed to be merged (or were backed out afterwards).
http://lists.uclibc.org/pipermail/uclibc/2010-July/044176.html

One of the causes could be side effect of atleast one more bug related to
pthreads and static link which has now been fixed.
http://lists.uclibc.org/pipermail/uclibc/2013-October/047958.html

I have solved this w/o looking at other pacthes but would like to give
credit to Peter and others for confirming that it makes sense.

Cc: Christian Ruppert <christian.ruppert@abilis.com>
CC: Francois Bedard <Francois.Bedard@synopsys.com>
Cc: Joern Rennecke <joern.rennecke@embecosm.com>
Cc: Jeremy Bennett <jeremy.bennett@embecosm.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: buildroot@busybox.net
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoctype.h: Tweak comment
Bernhard Reutner-Fischer [Tue, 8 Apr 2014 22:18:07 +0000 (00:18 +0200)]
ctype.h: Tweak comment

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoldso: fix standalone execution on x86_64 architecture
Cédric VINCENT [Mon, 7 Apr 2014 08:04:40 +0000 (10:04 +0200)]
ldso: fix standalone execution on x86_64 architecture

If the dynamic linker is built with LDSO_STANDALONE_SUPPORT=y, it can
load then run a dynamically linked program when explicitly invoked
from the command line.  This is used for test and prelink purposes,
and also by other tools like PRoot to force the kernel to load the
right ELF interpreter.

This feature is currently broken on x86_64 since the number of command
line arguments (ie. argc) passed from the kernel is an "elf_addr_t"
(64 bit on x86_64), whereas it is read as an "unsigned int" (32 bit on
x86_64).

Ref: https://github.com/cedric-vincent/PRoot/issues/45
Signed-off-by: Cédric VINCENT <cedric.vincent@st.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agotest/math: add libm-test-ulps-{arm,mips32,mips64} files
Gregory Fong [Wed, 2 Apr 2014 01:12:12 +0000 (18:12 -0700)]
test/math: add libm-test-ulps-{arm,mips32,mips64} files

Adds the mips and arm test ULPs from glibc.

Signed-off-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agotest/math: don't try to build test dep as test
Gregory Fong [Wed, 2 Apr 2014 01:12:14 +0000 (18:12 -0700)]
test/math: don't try to build test dep as test

libm-test.c is a generated file needed by the other math tests, but
test rules were trying to build it as a test if trying to compile the
tests a second time.

Signed-off-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agotest/math: Select correct ULPs for mips32/mips64
Gregory Fong [Wed, 2 Apr 2014 01:12:13 +0000 (18:12 -0700)]
test/math: Select correct ULPs for mips32/mips64

Using TARGET_ARCH isn't sufficient when ISA can differ.

Signed-off-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agosysinfo.h: Prevent redeclarations
Bernhard Reutner-Fischer [Thu, 3 Apr 2014 11:48:35 +0000 (13:48 +0200)]
sysinfo.h: Prevent redeclarations

Guard against duplicate inclusion.
We should go back to just including the linux/sysinfo.h ..

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agolibc: Fix buglet around __progname
Bernhard Reutner-Fischer [Wed, 2 Apr 2014 19:42:42 +0000 (21:42 +0200)]
libc: Fix buglet around __progname

508b20ead1710e8c295630d096960e51a65b7e5d disentangled
program_invocation_name and __progname but forgot to make __progname
conditional on __UCLIBC_HAS___PROGNAME__, resulting in getconf
attempting to re-define __progname in case __UCLIBC_HAS___PROGNAME__ was
not defined.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agotest: Reuse PTINC in nptl tests
Bernhard Reutner-Fischer [Wed, 2 Apr 2014 13:21:59 +0000 (15:21 +0200)]
test: Reuse PTINC in nptl tests

Use toplevel Rules.mak notion of PTINC as list of includes to use for
the testcases.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoFix warnings in MIPS build
Steve Ellcey [Tue, 4 Feb 2014 22:20:40 +0000 (14:20 -0800)]
Fix warnings in MIPS build

This patch fixes the rest of the set-but-not-used warnings in the MIPS
code by using attribute_unused and also fixes some conversion warnings
by changing __arch_compare_and_exchange_xxx_[8|16]_int.  Assigning __cmp
(int type) to __prev (pointer type) generates a warning.  Assigning zero
to each separately avoids this warning without having to add a cast.

Signed-off-by: Steve Ellcey <sellcey@mips.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoxtensa: add missing .literal_position directives
Max Filippov [Sun, 23 Mar 2014 22:07:15 +0000 (02:07 +0400)]
xtensa: add missing .literal_position directives

This addition allows building uClibc with -mtext-section-literals

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoARC: Make vfork weak in libc
Vineet Gupta [Thu, 13 Mar 2014 12:38:38 +0000 (18:08 +0530)]
ARC: Make vfork weak in libc

Anton reported:

------------------->8---------------------
Package iperf cannot be built in Buildroot due to following error:

/home/akolesov/env/autobuild/tmp/host/usr/bin/arc-buildroot-linux-uclibc-g++
-Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-pipe -Os    --static -o iperf -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64  -pipe -Os   -pthread  -DHAVE_CONFIG_H Client.o
Extractor.o Launch.o List.o Listener.o Locale.o PerfSocket.o ReportCSV.o
ReportDefault.o Reporter.o Server.o Settings.o SocketAddr.o gnu_getopt.o
gnu_getopt_long.o main.o service.o sockets.o stdio.o tcp_window_size.o
../compat/libcompat.a
/home/akolesov/env/autobuild/tmp/host/usr/arc-buildroot-linux-uclibc/sysroot/usr/lib/libc.a(vfork.os):
In function `vfork':
(.text+0x0): multiple definition of `vfork'
/home/akolesov/env/autobuild/tmp/host/usr/arc-buildroot-linux-uclibc/sysroot/usr/lib/libpthread.a(ptfork.os):ptfork.c:(.text+0xc0):
first defined here
collect2: error: ld returned 1 exit status
------------------->8---------------------

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Francois Bedard <Francois.Bedard@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agolibc: fix mips N64 pread/pwrite build
Steve Ellcey [Thu, 13 Feb 2014 22:33:03 +0000 (14:33 -0800)]
libc: fix mips N64 pread/pwrite build

Uclibc is not building for MIPS N64 because pread is trying to use the
pread/pwrite system calls instead of pread64/pwrite64.  This patch fixes
the problem and was tested with LFS enabled and disabled.

Signed-off-by: Steve Ellcey <sellcey@mips.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agotest: Fix math .c dependency
Bernhard Reutner-Fischer [Tue, 18 Feb 2014 22:30:28 +0000 (23:30 +0100)]
test: Fix math .c dependency

When explicitly running the compile target we were missing a dependency
to generate the libm-test.c.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: pass correct linker to compiler driver
Bernhard Reutner-Fischer [Sat, 15 Feb 2014 10:39:27 +0000 (11:39 +0100)]
buildsys: pass correct linker to compiler driver

Testing linker features has to be done against the correct linker.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: Add MIPS64R2 support
Steve Ellcey [Thu, 13 Feb 2014 00:44:57 +0000 (16:44 -0800)]
buildsys: Add MIPS64R2 support

There is support for mips64(r1) already in uclibc, this change adds mips64r2
by adding the MIPS64R2 config variable and checking it in Rules.mak.

Signed-off-by: Steve Ellcey <sellcey@mips.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agomips: Remove duplicate macro definitions
Steve Ellcey [Wed, 12 Feb 2014 19:01:35 +0000 (11:01 -0800)]
mips: Remove duplicate macro definitions

The INLINE_SYSCALL, INTERNAL_SYSCALL*, and internal_syscall* macros
are defined for MIPS in both libc/sysdeps/linux/mips/sysdep.h and
libc/sysdeps/linux/mips/bits/syscalls.h.  The macros are the same
in both cases except that syscalls.h defines internal_syscalls[567]
the same for N32 and N64 ABIs and has a different definition for O32.
I believe that is correct.  The sysdep.h header uses the O32 versions
for N32 and has different definitions for N64.  I think that is wrong
and that N32 and N64 should share the same definition (modulo the
type 'long' vs. 'long long' for the arguments.  This setup (from
sysdep.h) now agrees with what glibc has.

I am not positive about which header (sysdep.h vs syscalls.h) is
really the right one to have these definitions in but using sysdep.h
seems to work for all my builds.

Signed-off-by: Steve Ellcey <sellcey@mips.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agolibc: Fix sync_file_range.c for MIPS64 N32 ABI
Steve Ellcey [Wed, 12 Feb 2014 18:09:58 +0000 (10:09 -0800)]
libc: Fix sync_file_range.c for MIPS64 N32 ABI

The special sync_file_range handling is only needed for the O32 ABI
(regardless of whether it is on mips32 or mips64).  The N32 (and N64)
ABI's should both use the standard code.  This routine was using the
special code for the N32 ABI because that ABI has a word size of 32 bits
and that is wrong.  This patch fixes it by checking the ABI used instead
of checking the word size.

Signed-off-by: Steve Ellcey <sellcey@mips.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agotest/tls/tst-tls[6-8]: Fix build errors
Vineet Gupta [Thu, 6 Feb 2014 12:19:21 +0000 (17:49 +0530)]
test/tls/tst-tls[6-8]: Fix build errors

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agolibc: silence warning in fts
Bernhard Reutner-Fischer [Sat, 15 Feb 2014 09:32:28 +0000 (10:32 +0100)]
libc: silence warning in fts

cderrno is dead code, comment it out.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agolibc: mips: Fix setjmp/longjmp for MIPS64 N64 ABI
Waldemar Brodkorb [Wed, 29 Jan 2014 17:58:56 +0000 (18:58 +0100)]
libc: mips: Fix setjmp/longjmp for MIPS64 N64 ABI

When booting a Linux system with qemu-system-mips64 the execution
of $(pwd) in the ash shell triggers a segmentation fault. Ash uses
setjmp/longjmp for exception handling.

After looking at the glibc implementation,
I found some differences, with this patch tries to resolve.
Now the system boots up fine and no segmentation faults occur.

The global pointer should be restored and the types for the
register values should be wide enough.

See:
http://www.cygwin.com/ml/libc-alpha/2003-03/msg00363.html

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agomips: silence 'set but not used' warnings
Steve Ellcey [Wed, 29 Jan 2014 17:54:34 +0000 (09:54 -0800)]
mips: silence 'set but not used' warnings

This patch uses 'attribute_unused' to clean up a number of warnings
messages that are generated when doing a MIPS build.  All of the
changes are in MIPS specific files and there are no code changes
other then adding the unused attribute where needed.

Signed-off-by: Steve Ellcey <sellcey@mips.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agolibc: mips: Fix non-LFS build
Steve Ellcey [Sat, 25 Jan 2014 01:44:58 +0000 (17:44 -0800)]
libc: mips: Fix non-LFS build

The MIPS build is failing when UCLIBC_HAS_LFS is set to "n"
because posix_fadvise64.c is included in the build when it
should not be.

Signed-off-by: Steve Ellcey <sellcey@mips.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agomips: silence _ABI* undef warnings
Bernhard Reutner-Fischer [Thu, 23 Jan 2014 22:03:48 +0000 (23:03 +0100)]
mips: silence _ABI* undef warnings

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agopowerpc: syscall support up to 6 arguments
Bernhard Reutner-Fischer [Wed, 22 Jan 2014 22:10:15 +0000 (23:10 +0100)]
powerpc: syscall support up to 6 arguments

As reported by Kristof Provost.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agovfork: fix clone based version
Stefan Kristiansson [Fri, 17 Jan 2014 04:30:08 +0000 (06:30 +0200)]
vfork: fix clone based version

The clone based version was introduced by commit

58570fc8e1fd601f15be5758ab95013d56771804
vfork: Use clone if arch does not have the vfork syscall

but the code was made unreachable by the previous commit

0a043c30ee71245dfe7c9d82d654312c5e1f6127
vfork: make all archs consistent

that adds a guard which require either __NR_vfork or __NR_fork
to be set.
Neither will be set on an arch that would need to use the
clone based version.

The double declaration of vfork was also introduced by
the merge of the two above mentioned patches.
The missing ; was present in the original patch.

CC: Markos Chandras <markos.chandras@imgtec.com>
CC: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
CC: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agolibc: fix MIPS N64 fork
Waldemar Brodkorb [Sat, 21 Dec 2013 12:18:29 +0000 (13:18 +0100)]
libc: fix MIPS N64 fork

fork() is broken for MIPS64 N64 ABI. You can check it with a simple
C program statically linked with qemu-mips64 user emulation.
Internally fork() is using the clone system call (at least with NPTL)
with 5 arguments. See ./libpthread/nptl/sysdeps/unix/sysv/linux/i386/fork.c.
The calling conventions for MIPS N32 and N64 allow to use up to 8 registers
for that. See http://en.wikipedia.org/wiki/Calling_convention#MIPS
This is correctly implemented in libc/sysdeps/linux/mips/bits/syscalls.h,
but not in libc/sysdeps/linux/mips/sysdep.h. fork.c uses the later one.
It seems that fork() works fine for MIPS64 N32 with just using the stack like
with the O32 case. There is a user of INLINE_SYSCALL with 7 arguments in
libc/sysdeps/linux/common/sync_file_range.c for MIPS64 N32, so I decided to
only use the macros for the MIPS64 N64 case. With this patch my uClibc based
Linux system boots up fine in qemu-system-mips64.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agonptl: Fix arm pt-vfork
Bernhard Reutner-Fischer [Sat, 11 Jan 2014 19:02:30 +0000 (20:02 +0100)]
nptl: Fix arm pt-vfork

We were ending up with an unrecognised CPP token (which is not diagnosed
for assembler-with-cpp, 59805)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agolibc: add guard for arm thumb2 asm
Bernhard Reutner-Fischer [Sat, 11 Jan 2014 18:48:42 +0000 (19:48 +0100)]
libc: add guard for arm thumb2 asm

Fixes gen_lowlevelrobustlock on thumb2

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoldso: arm, metag: Use runtime pagesize
Bernhard Reutner-Fischer [Sat, 11 Jan 2014 18:43:12 +0000 (19:43 +0100)]
ldso: arm, metag: Use runtime pagesize

Use the generic runtime pagesize as per
ce54b92b046b65464e2d16b3842f3e97e3e0f27e

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: metag: Remove inappropriate comment
Bernhard Reutner-Fischer [Tue, 14 Jan 2014 12:42:28 +0000 (13:42 +0100)]
buildsys: metag: Remove inappropriate comment

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoARC: opencode ENTRY/END macros in crt1
Vineet Gupta [Tue, 24 Dec 2013 13:25:17 +0000 (18:55 +0530)]
ARC: opencode ENTRY/END macros in crt1

crt1.S -> include sysdep.h -> include sysnum.h

In multistage gcc build, Buildroot happens to build crt1.S before
sysnum.h is generated. So break the above include chain and opencode the
ENTRY/END macros.

Reported-by: Anton Kolesov <akolesov@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: store savedefconfig to defconfig file
Vineet Gupta [Thu, 19 Dec 2013 11:39:59 +0000 (17:09 +0530)]
buildsys: store savedefconfig to defconfig file

It now generated a file name defconfig in current directory

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoxtensa: use common ptrace.h
Baruch Siach [Sun, 5 Jan 2014 12:39:03 +0000 (14:39 +0200)]
xtensa: use common ptrace.h

Adds support for architecture independent actions.

Cc: Chris Zankel <chris@zankel.net>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agolibc: posix_fadvise: restore implementation for xtensa
Baruch Siach [Sun, 5 Jan 2014 09:44:02 +0000 (11:44 +0200)]
libc: posix_fadvise: restore implementation for xtensa

Commit ee84b8b400 (linux: posix_fadvise: use new SYSCALL_ALIGN_64BIT)
removed posix_fadvise implementation for xtensa, since xtensa does not
define __NR_fadvise64. Reuse the ARM support code to restore xtensa support.

This commit is based Mike Frysinger's suggested patch.

Cc: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agosiginfo.h: __SIGEV_PAD_SIZE takes __WORDSIZE into account
Vicente Olivert Riera [Thu, 2 Jan 2014 15:02:12 +0000 (15:02 +0000)]
siginfo.h: __SIGEV_PAD_SIZE takes __WORDSIZE into account

Make __SIGEV_PAD_SIZE to take __WORDSIZE into account for alpha, mips
and ia64 arches.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agosiginfo.h: add a missing function member on ia64, mips and sparc arches
Vicente Olivert Riera [Thu, 2 Jan 2014 15:02:11 +0000 (15:02 +0000)]
siginfo.h: add a missing function member on ia64, mips and sparc arches

Add "__pid_t _tid" member which is used for some packages, like rt-test
for instance, which fails with an error like this one:

src/cyclictest/cyclictest.c:638:9: error: 'union <anonymous>' has no
member named '_tid'

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: update unifdef
Bernhard Reutner-Fischer [Wed, 8 Jan 2014 09:44:05 +0000 (10:44 +0100)]
buildsys: update unifdef

sync up to 1542ea42da59018860a987f34f065cd120982e8c
(2.10 + cleaner exit status handling)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: fixup unifdef state in skiphash, linenum
Bernhard Reutner-Fischer [Tue, 7 Jan 2014 18:47:31 +0000 (19:47 +0100)]
buildsys: fixup unifdef state in skiphash, linenum

amend to fixup line-numbering in the unifdefile

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: fixup unifdef state in skiphash
Bernhard Reutner-Fischer [Tue, 7 Jan 2014 16:17:52 +0000 (17:17 +0100)]
buildsys: fixup unifdef state in skiphash

attempt to fix unifdef swallowing -f defundefile lines

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoelf: Add ARC Magic and Relocations
Vineet Gupta [Fri, 13 Dec 2013 09:19:20 +0000 (14:49 +0530)]
elf: Add ARC Magic and Relocations

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoldso: ARC: tweak whitespace some more
Bernhard Reutner-Fischer [Fri, 20 Dec 2013 15:24:12 +0000 (16:24 +0100)]
ldso: ARC: tweak whitespace some more

Use spaces instead of tabs in the table to accomodate different tab
settings.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoldso: ARC whitespace tweaks
Vineet Gupta [Fri, 20 Dec 2013 14:14:47 +0000 (19:44 +0530)]
ldso: ARC whitespace tweaks

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoinet: Fix threaded res_init
Kenneth Soerensen [Fri, 20 Dec 2013 14:53:01 +0000 (15:53 +0100)]
inet: Fix threaded res_init

In a multi-threaded application where res_init() was called either
directly or implicitly, getaddrinfo() and others failed to add the
DNS search domain to hostnames.

This problem made it not possible to look up a hostname without its
domain appended.

The problem is caused by res_sync_func() overwriting the configuration
read by __open_nameservers() immediately after it is read.

The suggested solutin is to disable res_sync_func() while reading name
server configuration in res_init().

Signed-off-by: Kenneth Soerensen <kenneth.sorensen@spectralink.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agolibrt: fix mq_timed{send,receive} return instructions
Baruch Siach [Thu, 7 Nov 2013 12:38:18 +0000 (14:38 +0200)]
librt: fix mq_timed{send,receive} return instructions

Not all architectures use 'ret' as function return instruction. For example,
xtensa usually uses 'retw'. Use the ret_ERRVAL arch dependant macro instead.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agolibc/sysdeps: commonize ret_ERRVAL
Baruch Siach [Thu, 7 Nov 2013 12:38:17 +0000 (14:38 +0200)]
libc/sysdeps: commonize ret_ERRVAL

* Add a common ret_ERRVAL definition

* Remove ret_ERRVAL from architectures using the common 'ret'

* Add 'undef' to architectures that need a different return instruction

* Add '#include <common/sysdep.h>' to cris and ia64 that were missing it

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoARC defconfigs
Vineet Gupta [Fri, 13 Dec 2013 09:19:26 +0000 (14:49 +0530)]
ARC defconfigs

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoARC port to uClibc
Vineet Gupta [Fri, 13 Dec 2013 09:19:25 +0000 (14:49 +0530)]
ARC port to uClibc

For this port, I would like to give due credit to:

- Folks from Codito technologies (Sameer, Amit, Kanika, Ramana,...)
   who did the very first port

- ARC UK from 2007-2009 (Joern, Irfan, Khurram, Phil...

- Late Brendan Kehoe (may he RIP)

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agostring: Add ARC support
Joern Rennecke [Fri, 13 Dec 2013 09:19:24 +0000 (14:49 +0530)]
string: Add ARC support

Signed-off-by: Joern Rennecke <joern.rennecke@embecosm.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoLT.old: Add ARC support
Vineet Gupta [Fri, 13 Dec 2013 09:19:23 +0000 (14:49 +0530)]
LT.old: Add ARC support

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoldso: Add ARC support
Vineet Gupta [Fri, 13 Dec 2013 09:19:22 +0000 (14:49 +0530)]
ldso: Add ARC support

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoldd: Add ARC support
Vineet Gupta [Fri, 13 Dec 2013 09:19:21 +0000 (14:49 +0530)]
ldd: Add ARC support

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoFix for SIGBUS error on MIPS64 with N64 ABI
Waldemar Brodkorb [Wed, 27 Nov 2013 08:55:51 +0000 (09:55 +0100)]
Fix for SIGBUS error on MIPS64 with N64 ABI

When accessing errno, a per thread variable, from _stdio_init
a SIGBUS error happens. This change fixes the wrong relocation
and debug output.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoNPTL: fork: relief register pressure on arm thumb1
Bernhard Reutner-Fischer [Fri, 20 Dec 2013 13:05:12 +0000 (14:05 +0100)]
NPTL: fork: relief register pressure on arm thumb1

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoldso: use unlikely macro
Bernhard Reutner-Fischer [Fri, 20 Dec 2013 13:00:26 +0000 (14:00 +0100)]
ldso: use unlikely macro

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: Fix error on config clean in realclean
Bernhard Reutner-Fischer [Fri, 20 Dec 2013 12:59:03 +0000 (13:59 +0100)]
buildsys: Fix error on config clean in realclean

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: add TODO reminder
Bernhard Reutner-Fischer [Fri, 20 Dec 2013 12:21:20 +0000 (13:21 +0100)]
buildsys: add TODO reminder

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: update unifdef
Bernhard Reutner-Fischer [Tue, 19 Nov 2013 11:43:49 +0000 (12:43 +0100)]
buildsys: update unifdef

sync up to 55501a61dd257e941d53f175350ee52fc6ff2866
(2.9 + refactor keyword and symbol matching)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: check LDFLAGS through driver
Bernhard Reutner-Fischer [Wed, 13 Nov 2013 11:31:00 +0000 (12:31 +0100)]
buildsys: check LDFLAGS through driver

We run the linker through the compiler-driver, so we have to check
linker flags through the driver, too.
Otherwise we might check $LD's flags while we will run $CC's linker
and those might be different beasts.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoldso: silence warnings in debug code
Bernhard Reutner-Fischer [Tue, 12 Nov 2013 16:29:48 +0000 (17:29 +0100)]
ldso: silence warnings in debug code

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoMake res_init() thread safe.
Kenneth Soerensen [Wed, 10 Apr 2013 14:52:52 +0000 (16:52 +0200)]
Make res_init() thread safe.

res_init() was not atomic, which could give undesired behaviour. Now
res_init() is completely locked under one lock and the locking is
removed from __res_vinit().

Signed-off-by: Kenneth Soerensen <kenneth.sorensen@spectralink.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agoFix threaded use of res_ functions.
Sørensen, Kenneth [Thu, 11 Apr 2013 06:32:54 +0000 (06:32 +0000)]
Fix threaded use of res_ functions.

Commit aab4df0fb51660300559f5f29290709db2f7bfee says that the line with
after res_init() function. Commit
7f74de5d4d6d10baafab4b37bb3d472f5c5f0e8c moves the res_init()
function below the line with #undef _res.

This commit moves res_init() back above #undef _res.

Signed-off-by: Kenneth Soerensen <kenneth.sorensen@spectralink.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: document savedefconfig in help
Bernhard Reutner-Fischer [Mon, 11 Nov 2013 10:18:30 +0000 (11:18 +0100)]
buildsys: document savedefconfig in help

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: on realclean, rm include/{config,generated}
Bernhard Reutner-Fischer [Mon, 11 Nov 2013 10:15:17 +0000 (11:15 +0100)]
buildsys: on realclean, rm include/{config,generated}

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
10 years agobuildsys: rm PT startfiles on realclean
Bernhard Reutner-Fischer [Tue, 5 Nov 2013 20:37:00 +0000 (21:37 +0100)]
buildsys: rm PT startfiles on realclean

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>