glibc/sysdeps/unix/sysv/linux/powerpc
Florian Weimer 5d28a8962d elf: Add _dl_find_object function
It can be used to speed up the libgcc unwinder, and the internal
_dl_find_dso_for_object function (which is used for caller
identification in dlopen and related functions, and in dladdr).

_dl_find_object is in the internal namespace due to bug 28503.
If libgcc switches to _dl_find_object, this namespace issue will
be fixed.  It is located in libc for two reasons: it is necessary
to forward the call to the static libc after static dlopen, and
there is a link ordering issue with -static-libgcc and libgcc_eh.a
because libc.so is not a linker script that includes ld.so in the
glibc build tree (so that GCC's internal -lc after libgcc_eh.a does
not pick up ld.so).

It is necessary to do the i386 customization in the
sysdeps/x86/bits/dl_find_object.h header shared with x86-64 because
otherwise, multilib installations are broken.

The implementation uses software transactional memory, as suggested
by Torvald Riegel.  Two copies of the supporting data structures are
used, also achieving full async-signal-safety.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2021-12-28 22:52:56 +01:00
..
bits nptl: Add rseq registration 2021-12-09 09:49:32 +01:00
powerpc32 elf: Add _dl_find_object function 2021-12-28 22:52:56 +01:00
powerpc64 elf: Add _dl_find_object function 2021-12-28 22:52:56 +01:00
sys Add PTRACE_GET_RSEQ_CONFIGURATION from Linux 5.13 to sys/ptrace.h 2021-08-09 16:51:38 +00:00
Implies
Makefile powerpc: Use --no-tls-get-addr-optimize in test only if the linker supports it 2021-08-24 09:26:44 -07:00
Versions
configure configure: Don't check LD -v --help for LIBC_LINKER_FEATURE 2021-10-25 13:17:44 -07:00
configure.ac powerpc: Use --no-tls-get-addr-optimize in test only if the linker supports it 2021-08-24 09:26:44 -07:00
dl-auxv.h
dl-cache.h
elision-conf.c
elision-conf.h
elision-lock.c
elision-timed.c
elision-trylock.c
elision-unlock.c
get_timebase_freq.c
gettimeofday.c
htm.h
internal-ioctl.h linux: Add generic ioctl implementation 2021-12-06 08:03:18 -03:00
ipc_priv.h
kernel-features.h
kernel_sigaction.h
kernel_termios.h
ldconfig.h
ldd-rewrite.sed
libc-start.c
libc-start.h
libc-vdso.h elf: Fix dynamic-link.h usage on rtld.c 2021-10-14 14:52:07 -03:00
libpthread-compat.c
nldbl-abi.h
pthread_attr_setstack.c
pthread_attr_setstacksize.c
readelflib.c
rt-sysdep.c
rtld_static_init.h
sigcontextinfo.h
socket-constants-time64.h
struct_kernel_shmid64_ds.h
syscall.S powerpc64[le]: Allocate extra stack frame on syscall.S 2021-12-17 15:40:53 -03:00
sysconf.c
sysdep.c
sysdep.h powerpc: Remove backtrace implementation 2021-10-20 10:40:53 -03:00
test-gettimebasefreq-static.c
test-gettimebasefreq.c
test-powerpc-linux-sysconf.c
time.c
xstatver.h