Age | Commit message (Collapse) | Author |
|
Make a local copy of the tid value to avoid a race condition,
as the value could have been changed to 0, thus using a pointer
it would have been passed to the lll_futex_wait modified.
Signed-off-by: Stas Sergeev <stsp@users.sourceforge.net>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Having them defined in both places was causing errors with static linking
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
the generic open, close, waitpid, read, write are good for NPTL too
no good reason to have the same sleep in both libc and libpthread (NPTL)
no good reason to add sigwaitinfo, sigtimedwait and sigwait to libpthread (NPTL)
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
No need for __libc_fork either.
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
make __getpid static
provide getppid alias if needed
remove unneeded libc_hidden_proto
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Use __sigemptyset instead of sigemptyset.
Remove hidden sigemptyset.
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Filter out libpthread CFLAGS
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Added attribute_noreturn even if it has return at the end of function
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Keep only fork (and it's hidden variant) and __libc_fork.
Common __libc_fork prototype in unistd.h.
Get rid of __fork, by changing HIDDEN_JUMPTARGET(__fork) to use fork
I can't see the reason to have fork() in libpthread, but kept it for now
making __fork static in these files.
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Provide common prototypes for __longjmp, __libc_longjmp, __libc_siglongjmp
_longjmp_unwind, __libc_unwind_longjmp in setjmp.h in preparation for use in LT new
Add __longjmp to h8300 and i960
Make common longjmp.c good for NPTL
Guard _longjmp_unwind use in sh's longjmp.c for NPTL (I think sh could use the common one)
Remove unneeded attribute_noreturn, prototype provides it already
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
remove unneeded attribute_hidden too, as the prototype provides it
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
libpthread/nptl/sysdeps/pthread/pt-longjmp.c: In function 'longjmp':
libpthread/nptl/sysdeps/pthread/pt-longjmp.c:27:3: warning: implicit declaration of function '__libc_longjmp' [-Wimplicit-function-declaration]
libpthread/nptl/sysdeps/pthread/pt-longjmp.c:28:1: warning: 'noreturn' function does return [enabled by default]
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
gcc 4.6.x raises useful warnings due to unused-but-set-variable,
This patch fixes the following one by using properly preprocessor
guard
libpthread/nptl/sysdeps/pthread/pthread_cond_timedwait.c: In function '__pthread_cond_timedwait':
libpthread/nptl/sysdeps/pthread/pthread_cond_timedwait.c:103:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
pthread_getconcurrency / pthread_setconcurrency is OBSOLETE in SUSv4
so disable pthread debug support too
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Do not pollute libraries with its own implementation of __aeabi_unwind_cpp_pr1 code.
Just add it to uclibc_nonshared.a archive and share it.
This fixes build issue with static linking of application due to multiple symbol
definition in libgcc_eh-a and libpthread.a or librt.a
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
If backtrace support is turned on, build raise() and abort() with
unwind info (fixup 4c9b7f3c21ff21c199e54bfad2fdf3445fa4573d).
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Build raise and abort function with dwarf2 info by using
-fasynchronous-unwind-tables to make backtrace() working across a
call to abort.
A scenario where it could be useful is within a signal handler that
wants to dump a backtrace when catching some signal (i.e SIGABRT).
Without having abort & raise built with DWARF2 information, it is not
possible for the libgcc stack unwinder to walk through the call stack
out of the abort/raise function.
Impacts in terms of size are really limited
Current
text data bss dec hex filename
164 0 0 164 a4 ./libpthread/nptl/sysdeps/unix/sysv/linux/raise.os
164 0 0 164 a4 ./libpthread/nptl/sysdeps/unix/sysv/linux/raise.oS
220 24 4 248 f8 ./libc/stdlib/abort.os
With (-fasynchronous-unwind-tables)
text data bss dec hex filename
216 0 0 216 d8 ./libpthread/nptl/sysdeps/unix/sysv/linux/raise.os
216 0 0 216 d8 ./libpthread/nptl/sysdeps/unix/sysv/linux/raise.oS
280 24 4 308 134 ./libc/stdlib/abort.os
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Acked-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
fix bd3c1a2495cbcb51b606f8e4892fcd127f91e645 forgotten file.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
fix signed vs. unsigned comparison warnings while at it
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
We need to define the rules for .S files so it
gets the include paths some architectures like mips
include headers
Some architectures e.g. SH have their own version
of pt-initfini.c so look for that first before resorting
to generic version of pt-initfini.c
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
use cancellation (with two 'l') uniformly.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
use __ret uniformly to avoid shadow warnings as seen on x86_64.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Fixes compilation if NPTL is off.
I hope this doesn't break ARM EABI but cannot check ATM.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
|
|
This commit gives us a fully functioning NPTL on x86-64 by using the GOTOFF macro
as needed.
Signed-off-by: William Pitcock <nenolod@dereferenced.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
Add some missing prototypes
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
|
|
NPTL build did not use the correct bits/sigthread.h, use a common version
avoiding this.
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
|
|
Add some missing prototypes
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
|
|
ARM disables by default the support for ASM CFI directives.
Anyway using an old version of binutils that does not support some new
pseudo-op, the build fails as below:
AS libpthread/nptl/sysdeps/unix/sysv/linux/close.oS
libpthread/nptl/sysdeps/unix/sysv/linux/close.S: Assembler messages:
libpthread/nptl/sysdeps/unix/sysv/linux/close.S:9: Error: unknown pseudo-op: `.cfi_sections'
The problem is that the .cfi_sections pseudo should be wrapped by a macro
that expands to nothing when the CFI is off.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
CC: Khem Ray <ray.khem@gmail.com>
|
|
Thanks to Nitin Garg for notincing!
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Nitin Garg <nitingarg98@gmail.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
A sample of the warning reported while building for ARM that has not __ASSUME_TGKILL defined.
libpthread/nptl/sysdeps/unix/sysv/linux/raise.c: In function 'raise':
libpthread/nptl/sysdeps/unix/sysv/linux/raise.c:33:5: warning: "__ASSUME_TGKILL" is not defined
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
Finally got around to testing out latest master and
noticed that some buildsystem work last summer broke
shared-builds of nptl on sparc.
A version of __syscall_error.c needs to be linked into
both libpthread and librt
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
pt-*.c files
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
My change a49b3a18e463cbe8c94c41501e386e7f4c61609e fixed two
Unwind_Resume calls to go via PLT to avoid text relocations for PIC
builds. However, it looks the reason for upstream not using PLT calls
is that ebx gets clobbered. So we need to reload it.
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Add __tls_get_addr function to static libc allowing to handle
local dynamic TLS access model.
On SH, linker optimizations are not required, so __tls_get_addr
can be called even in statically linked binaries.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
implementation"
This reverts commit 0c468129356f5ce6780e7369c271d74631ae03ba.
Indeed recent updates into buildsys managed to filter-out generic implementation
when arch specific one is defined, so duplicated symbols into the libc.a
In the meanwhile, do a minor fix into mips version not using relative path
to include <generic/libc-tls.c>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
libpthread/nptl/sysdeps/generic/libc-tls.c is built as well, so it does not need
that arch specific version of libc-tls.c (MIPS and ALPHA) includes it.
The arch libc-tls.s is aimed to provide the implementation of __tls_get_addr
for the static libc.a, because on these archs the linker relaxations are not
required and it could be possible to have local-dynamic access models in static
libraries as well.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
The SSP_ALL_CFLAGS in nptl arch CFLAGS leaks out and forces things
like dl-support.c, brk.c, sbrk.c memcpy, etc to be built with
-fstack-protector-all. This is bad when linking statically since
initializing TLS will call those functions before SSP is initialized.
The libpthread itself will still be built with -fstack-protector-all
due to CFLAGS-nptl has SSP_ALL_CFLAGS in libpthread/nptl/Makefile.in
Thanks to Timo Teras for helping with this.
Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
If there was an error during syscall then after it's completion a3
register holds a non-zero value and v0 holds an actual error code which
should be saved in errno. This can be achieved by calling
__syscall_error with the value from v0 as a parameter. So this value
should be stored in a0, but the appropriate assembly instructions are
missing. Fixed this now by adding "move a0, v0".
I think it was once fixed by 58c5f8ba4cdf62342d05a546d15404cbbb3c4e07
but then something went wrong. Again...
Signed-off-by: Alexander Gordeev <lasaine@lvk.cs.msu.su>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|