| Commit message (Expand) | Author | Age | Files | Lines |
| * | reduce spurious inclusion of libc.h•••libc.h was intended to be a header for access to global libc state and
related interfaces, but ended up included all over the place because
it was the way to get the weak_alias macro. most of the inclusions
removed here are places where weak_alias was needed. a few were
recently introduced for hidden. some go all the way back to when
libc.h defined CANCELPT_BEGIN and _END, and all (wrongly implemented)
cancellation points had to include it.
remaining spurious users are mostly callers of the LOCK/UNLOCK macros
and files that use the LFS64 macro to define the awful *64 aliases.
in a few places, new inclusion of libc.h is added because several
internal headers no longer implicitly include libc.h.
declarations for __lockfile and __unlockfile are moved from libc.h to
stdio_impl.h so that the latter does not need libc.h. putting them in
libc.h made no sense at all, since the macros in stdio_impl.h are
needed to use them correctly anyway.
| Rich Felker | 2018-09-12 | 1 | -1/+1 |
| * | make arch __set_thread_area backends hidden•••this is not a public interface, and does not even necessarily match
the syscall on all archs that have a syscall by that name.
on archs where it's implemented in C, no action on the source file is
needed; the hidden declaration in pthread_arch.h suffices.
| Rich Felker | 2018-09-12 | 1 | -0/+1 |
| * | make arch __clone backends hidden•••these are not a public interface and are not intended to be callable
from anywhere but the public clone function or other places in libc.
| Rich Felker | 2018-09-12 | 1 | -0/+1 |
| * | define and use internal macros for hidden visibility, weak refs•••this cleans up what had become widespread direct inline use of "GNU C"
style attributes directly in the source, and lowers the barrier to
increased use of hidden visibility, which will be useful to recovering
some of the efficiency lost when the protected visibility hack was
dropped in commit dc2f368e565c37728b0d620380b849c3a1ddd78f, especially
on archs where the PLT ABI is costly.
| Rich Felker | 2018-09-05 | 1 | -6/+7 |
| * | move x32 sysinfo impl and syscall fixup code out of arch/x32/src•••all such arch-specific translation units are being moved to
appropriate arch dirs under the main src tree.
| Rich Felker | 2016-01-22 | 1 | -0/+38 |
| * | use explicit __cp_cancel label in cancellable syscall asm for all archs•••previously, only archs that needed to do stack cleanup defined a
__cp_cancel label for acting on cancellation in their syscall asm, and
a default definition was provided by a weak alias to __cancel, the C
function. this resulted in wrong codegen for arm on gcc versions
affected by pr 68178 and possibly similar issues (like pr 66609) on
other archs, and also created an inconsistency where the __cp_begin
and __cp_end labels were treated as const data but __cp_cancel was
treated as a function. this in turn caused incorrect code generation
on archs where function pointers point to function descriptors rather
than code (for now, only sh/fdpic).
| Rich Felker | 2015-11-02 | 1 | -1/+3 |
| * | fix x32 __set_thread_area failure due to junk in upper bits•••the kernel does not properly clear the upper bits of the syscall
argument, so we have to do it before the syscall.
| Rich Felker | 2015-05-02 | 1 | -1/+1 |
| * | consistently use hidden visibility for cancellable syscall internals•••in a few places, non-hidden symbols were referenced from asm in ways
that assumed ld-time binding. while these is no semantic reason these
symbols need to be hidden, fixing the references without making them
hidden was going to be ugly, and hidden reduces some bloat anyway.
in the asm files, .global/.hidden directives have been moved to the
top to unclutter the actual code.
| Rich Felker | 2015-04-14 | 1 | -2/+8 |
| * | x32 port (diff against vanilla x86_64) | rofl0r | 2014-02-23 | 4 | -10/+8 |
| * | import vanilla x86_64 code as x32 | rofl0r | 2014-02-23 | 4 | -0/+70 |