glibc/bits
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
..
types Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
atomic_wide_counter.h nptl: Extract <bits/atomic_wide_counter.h> from pthread_cond_common.c 2021-11-17 12:20:13 +01:00
byteswap.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
confname.h sysconf: Add _SC_MINSIGSTKSZ/_SC_SIGSTKSZ [BZ #20305] 2021-02-01 11:00:52 -08:00
dirent.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dirent_ext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl_find_object.h elf: Add _dl_find_object function 2021-12-28 22:52:56 +01:00
dlfcn.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
elfclass.h Update. 1999-07-27 05:53:25 +00:00
endian.h
environments.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
errno.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fcntl.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fenv.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
floatn-common.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
floatn.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
flt-eval-method.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fp-fast.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fp-logb.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
hwcap.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
in.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
indirect-return.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ioctl-types.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ioctls.h
ipc.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ipctypes.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
iscanonical.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
libc-header-start.h Update floating-point feature test macro handling for C2X 2021-06-01 14:22:06 +00:00
libm-simd-decl-stubs.h x86-64: Add vector acos/acosf implementation to libmvec 2021-12-22 13:03:14 -08:00
link.h * csu/elf-init.c (__libc_csu_fini): Don't do anything here. 2005-01-06 22:40:27 +00:00
link_lavcurrent.h elf: Move LAV_CURRENT to link_lavcurrent.h 2021-11-15 15:28:17 -03:00
local_lim.h
long-double.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
math-vector.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mathdef.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mman.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mqueue.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
msq.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
netdb.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
param.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
poll.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
posix_opt.h
pthreadtypes.h 2002-11-10 Roland McGrath <roland@redhat.com> 2002-11-10 23:22:35 +00:00
resource.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sched.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
select.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sem.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
setjmp.h
shm.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigaction.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigcontext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigevent-consts.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
siginfo-consts.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
signal_ext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
signum-arch.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
signum-generic.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigstack.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigstksz.h sysconf: Add _SC_MINSIGSTKSZ/_SC_SIGSTKSZ [BZ #20305] 2021-02-01 11:00:52 -08:00
sigthread.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sockaddr.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
socket.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ss_flags.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stat.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
statfs.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
statvfs.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stdint-intn.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stdint-uintn.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stdlib-bsearch.h Add missing braces to bsearch inline implementation [BZ #28400] 2021-09-30 20:40:12 +02:00
syslog-path.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sysmacros.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
time.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
time64.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
timesize.h Set default __TIMESIZE default to 64 2021-12-23 11:41:08 -03:00
typesizes.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
uintn-identity.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
uio-ext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
uio_lim.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
unistd_ext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
utmp.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
utsname.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
waitflags.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
waitstatus.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wchar.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wordsize.h Define wordsize.h macros everywhere 2016-11-04 09:37:44 -07:00