summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-11-13NPTL/ARC: provide a kernel assisted atomic cmpxchgVineet Gupta
For hardware configurations lacking LLOCK/SCOND (say ARC750), use a syscall to atomically do the cmpxchg. This is costly and painful, but really the only way out. Note that kenrel only guarantees this to work in a UP configuraion Reported-by: Avinash Patil <avinashp@quantenna.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-11-13ARC: introduce explicit support for atomicsVineet Gupta
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-11-13NPTL/ARC: implement __arch_exchange_32_acq using native EXVineet Gupta
ARC EX instruction maps directly to this primitive, thus helps elide the llock/scond based retry loop where possible. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-11-13ARC: string: handle gcc 6.x macro changesVineet Gupta
In gcc 6.x cleanup, the macros got renamed. (Need to support the old toggle for some more time) Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-11-10nptl: add pthread_getname_np/pthread_setname_np from GNU libcWaldemar Brodkorb
These functions are used by firefox for example. Tested with running firefox on x86 system.
2016-11-04nios2: sync support with glibcWaldemar Brodkorb
Only static linking is supported for now. More debugging and analyzing for ld.so, TLS and NPTL is required. But at least you can bootup a static root fileystem in Qemu.
2016-11-03microblaze: add NPTL/TLS support from GNU libcWaldemar Brodkorb
Not perfect, but a starting point. Some tests of the test suite are failing.
2016-10-31microblaze: use assembly version of clone, fix vforkWaldemar Brodkorb
Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2016-10-31ldso: remove useless debug output, too much noiseWaldemar Brodkorb
2016-10-28test: remove test suiteWaldemar Brodkorb
The test suite is now a developed in a separate git repository. See here: http://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng-test.git The test suite should be just like every other software compiled with the cross-toolchain. In the past strange problems where found when the test suite got build in the toolchain creation step.
2016-10-24linuxthreads: add back signal.hWaldemar Brodkorb
Somehow this got removed with f1d7505e40654a185843bdc8f1cf1fd00ab55c04. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-23bump for releasev1.0.19Waldemar Brodkorb
2016-10-22test: add a simple check, that -std=c99 workingWaldemar Brodkorb
2016-10-22ARC: build: don't force usage of llock and swape instructionsVineet Gupta
This is because some old ARC750 cores lack these instructions. We now rely on the default for the toolchain driver: -mcpu=A7 won't enable those, while -mcpu=archs will as these instructions are baseline (and thus is not impacted with this change). If some arc700 based cpu does have them, it can override the driver defaults in it's one level up build system. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-10-20Fix nftw when called with FTW_CHDIR and FTW_DEPTHJohn Ata
Change directory back to the parent before processing the directory (after the contents have already been processed). Signed-off-by: John Ata <john.ata@baesystems.com>
2016-10-20test: add nftw test caseWaldemar Brodkorb
2016-10-19ARC: update .note.ABI-tag for ABIv4Vineet Gupta
Cc: Anton Kolesov <akolesov@synopsys.com> Cc: linux-snps-arc@lists.infradead.org Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-10-19create empty static files conditionallyWaldemar Brodkorb
2016-10-16linuxthreads: allow to choose on all supported architecturesWaldemar Brodkorb
To analyze or debug any linuxthreads problems it is useful to have the ability to have a full gdb on the target available. At the moment you could only debug stuff on microblaze. Now we can verify that linuxthreads are working fine for every supported architecture.
2016-10-13cleanup and fix static linking issuesWaldemar Brodkorb
There was a deadlock hanging in a sycall to futex, which should be solved now. Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2016-10-13ARC: nptl: cancellable wrappers were broken #2Vineet Gupta
Despite the prev fix, tst-mqueue3 was still segfaulting. The issue was BLINK register not restored properly for return 00002690 <mq_timedsend>: 2690: sub r9,r25,0x448 2698: ld r10,[r9] 269c: cmp r10,0 26a0: beq -36 26a4: st.aw blink,[sp,-4] 26a8: st.aw r0,[sp,-4] 26ac: st.aw r1,[sp,-4] 26b0: st.aw r2,[sp,-4] 26b4: st.aw r3,[sp,-4] 26b8: st.aw r4,[sp,-4] 26bc: bl 1e28 <__librt_enable_asynccancel> 26c0: mov r9,r0 26c4: ld.ab r4,[sp,4] 26c8: ld.ab r3,[sp,4] 26cc: ld.ab r2,[sp,4] 26d0: ld.ab r1,[sp,4] 26d4: ld.ab r0,[sp,4] 26d8: ld.ab blink,[sp, 4] <---- function return BLINK 26dc: mov r8,182 26e0: trap_s 0 26e2: cmp r0,-1024 26e6: st.aw r0,[sp,-4] 26ea: mov r0,r9 26ee: bl 1e90 <__librt_disable_asynccancel> <-- BLINK clobbered to next PC 26f2: ld.ab r0,[sp,4] <----| loops here until sp is out of bound 26fa: cmp r0,-1024 | 26fe: jls [blink] -----| 2702: b 15d8 2706: nop_s So the fix was to retain BLINK on stack before function call, and pop it later - 26d8: ld.ab blink,[sp, 4] + 26d8: ld blink,[sp] <--- restore BLINK, but retain on stack 26dc: mov r8,182 26e0: trap_s 0 26e2: cmp r0,-1024 26e6: st.aw r0,[sp,-4] 26ea: mov r0,r9 26ee: bl 1e90 <__librt_disable_asynccancel> 26f2: ld.ab r0,[sp,4] + 26f6: ld.ab blink,[sp,4] <--- finally pop BLINK 26fa: cmp r0,-1024 26fe: jls [blink] Reported-by: Eugeniy Paltsev <paltsev@synopsys.com> Cc: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-10-13ARC: nptl: cancellable wrappers were brokenVineet Gupta
This was reported as uClibc test suite failures of tst-mqueue3 and tst-mqueue5. The syscall args were getting clobbered, so use scratch regs which are not used for syscall args 00002690 <mq_timedsend>: ; SINGLE_THREAD_P 2690: sub r1,r25,0x448 <--- clobers r1, r2 2698: ld r2,[r1] 269c: cmp r2,0 26a0: bz mq_timedsend_nocancel ; DOCARGS (saves syscall args but r1, r2 clobbered already) 26a4: st.aw blink,[sp,-4] 26a8: st.aw r0,[sp,-4] 26ac: st.aw r1,[sp,-4] 26b0: st.aw r2,[sp,-4] 26b4: st.aw r3,[sp,-4] 26b8: st.aw r4,[sp,-4] 26bc: bl 1e28 <__librt_enable_asynccancel> Reported-by: Eugeniy Paltsev <paltsev@synopsys.com> Cc: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-10-09fix mips/mips64 build for old compilersWaldemar Brodkorb
gcc 4.8 does not support nan flag. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-08ppc: do not include copysgnl.c if UCLIBC_HAS_LONG_DOUBLE_MATH enabledWaldemar Brodkorb
Fixes compilation of uClibc-ng when UCLIBC_HAS_LONG_DOUBLE_MATH is used.
2016-10-08cleanup libc.aWaldemar Brodkorb
The nested libpthread_nonshared.a and libdl.os shouldn't be included in the static libc.a. Fixes compile issues for static builds.
2016-10-06test: fix tests including non-wrapper libgcc exception handling codeWaldemar Brodkorb
The tests shouldn't include libgcc exception handling functions directly from libgcc.a when a non-shared gcc compiler is used while compiling the testcases. These fixes open testsuite regressions found for ppc and xtensa.
2016-10-05cleanup ppc portWaldemar Brodkorb
Remove powerpc64 bits as we only support powerpc32.
2016-09-30remove linux kernel 2.4 modules supportWaldemar Brodkorb
2016-09-30ubacktrace/uargp: remove unneeded and false linker scriptsWaldemar Brodkorb
2016-09-29locale: remove building for the host, as it breaksWaldemar Brodkorb
2016-09-27bump for releasev1.0.18Waldemar Brodkorb
2016-09-27locale: disable parallel build as it is broken hereWaldemar Brodkorb
2016-09-27test: remove ULPs for unsupported architectureWaldemar Brodkorb
2016-09-27ldd: fix compile for some architecturesWaldemar Brodkorb
Reorder entries alphabetically (architecture name as order criterium) and remove unused entries.
2016-09-27test: fix parallel build issueWaldemar Brodkorb
2016-09-26microblaze: add ulps fileWaldemar Brodkorb
2016-09-26locale: cleanup supportWaldemar Brodkorb
Enable locale application to be build when utils are build. Remove useless compile and link warnings. Default to minimal locale builds. Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2016-09-26use a single libc and deduplicate threading codeWaldemar Brodkorb
Similar to musl libc a single libc has many benefits and solves some open issues with uClibc-ng. - no pthread_mutex_* weak symbols exported anymore - applications no longer failing to link when either -lrt or -lpthread are missing for dynamic and static linking mode - smaller C library - slightly better runtime performance
2016-09-26test: sync tst-atfork2 with GNU libcWaldemar Brodkorb
2016-09-26linuxthreads: use tkill syscall for raiseWaldemar Brodkorb
Seems better and more stable.
2016-09-26always assume tgkill is presentWaldemar Brodkorb
We do not support 2.4 Linux kernels anyway, and almost all newer 2.6 kernels should have tgkill syscall. Cleanup the raise situation, pt-raise.c is unused, sync raise.c with latest GNU libc. Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2016-09-26remove dead code and documentationWaldemar Brodkorb
The code was disabled a while ago in commit: 814b0901f460a246315bfa7933a661f415bdc7fa Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2016-09-25sync header with glibcWaldemar Brodkorb
Fixes a compile error for samba 4.5.0. Reported-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
2016-09-21microblaze: fixup headers to make gdb compile happyWaldemar Brodkorb
Add some definitions and fix some types to make gdb compile happy.
2016-09-19linuxthreads: Fix up pthread.h for XPG7.Leonid Lisovskiy
[ glibc commit d3c7e68655 ] Signed-off-by: Leonid Lisovskiy <lly.dev@gmail.com>
2016-09-19test: disable regex testsWaldemar Brodkorb
The time to run the tests is very high and always subtests are failing. We need to fix the subtests and see how to reduce the time the test is running. At the moment it blocks my regression testing to much.
2016-09-19elf-{fdpic, dsbt}.h: avoid void pointer's subtractionRahul Bedarkar
elf-fdpic.h or elf-dsbt.h is included by link.h. When C++ program includes <link.h>, we get following build failure. ../usr/include/bits/elf-fdpic.h: In function 'void* __reloc_pointer(void*, const elf32_fdpic_loadmap*)': ../usr/include/bits/elf-fdpic.h:95: error: invalid use of 'void' void pointer addition and subtraction is not allowed in C++ as it has undetermined size, however in C with language extension it is possible because sizeof void is treated as one byte. Instead of performing subtraction on void pointers, typecast it to char* first. This build failure is detected by Buildroot autobuilder. http://autobuild.buildroot.net/results/a10/a10ed48e6eb8411a3d8372f57c05fd11130da0e0/ Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
2016-08-27remove DOMULTI supportWaldemar Brodkorb
A single test with targeting ARM showed that this feature seems bit rotted. Remove DOMULTI and simplify Makefiles.
2016-08-27ARC: Fix max ULP for cosine testEugeniy Paltsev
Max ULP for "cos (M_PI_6l * 2.0) == 0.5" in "test-double" sub-test is set to "0" for ARC. It causes "test-double" test failure. I realized that this sub-test on ARM gets completely same results. But it doesn't fails on ARM because max ULP is set to "1" for ARM. I am wondering, if it was done for any special reason? Otherwise, set max ULP for "cos (M_PI_6l * 2.0) == 0.5" test to "1" instead of "0" for ARC. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2016-08-25mips: add NaN supportWaldemar Brodkorb