PowerPC: Rename __kernel_vdso_get_tbfreq to __kernel_get_tbfreq.
In order for the __kernel_get_tbfreq vDSO call to work the
INTERNAL_VSYSCALL_NCS macro needed to be updated to prevent it from
assuming an integer return type (since the timebase frequency is a 64-bit
value) by specifying the type of the return type as a macro parameter. The
macro then specifically declares the return value as a 'register' (or
implied pair) of the denoted type. The compiler is then informed that this
register (or implied pair) is to be used for the return value.
(cherry picked from commit 471a1672d4d55124de4db8273829f96cc14d424a)
PowerPC: Change sched_getcpu to use vDSO getcpu instead of syscall.
(cherry picked from commit d5e0b9bd6e296f3ec5263fa296d39f3fed9b8fa2)
15256e5...
by
Chris Metcalf <email address hidden>
tile BZ #15759: Fix bug in _dl_unmap
We returned without calling __munmap if not in the simulator.
Now we call a separate sim_dlclose() function to make the
control flow work correctly.
(cherry picked from commit 1fe2988f523ddbad93ca7abc98fea982f2ae0505)
Conflicts:
NEWS
ca40236...
by
Chris Metcalf <email address hidden>
tile: default to little-endian in bits/endian.h
This turns out to be helpful when doing a from-scratch cross-compile of
gcc and glibc, since you can then do "make install-headers" in glibc
even before you have a functioning tile gcc.
(cherry picked from commit ad36ba2bd67398edefe31aa039090912f76bffce)
201b499...
by
Chris Metcalf <email address hidden>
tile: improve detection for missing -mcmodel=large support
The existing test avoided passing -mcmodel=large if the compiler didn't
support it. However, we need to test not just the compiler support, but
also the toolchain (as and ld) support, so make the test more complete.
In addition, we have to avoid using the hwN_plt() assembly operators if
that support is missing, so guard the uses with #ifdef NO_PLT_PCREL.
This allows us to properly build glibc with the current community
binutils, which doesn't yet have the PC-relative PLT operator support.
The -mcmodel=large support is in gcc 4.8, but the toolchain support
won't be present in the community until binutils 2.24.
(cherry picked from commit 86bd05fbc8b3a635148f6a7d8b4fb89c9a524e58)
Assume all unmarked objects are compatible with all ABI variants.
Such objects may have been generated in a transitional period when
ABI tags were not added to all objects.