glibc/sysdeps/arm
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
..
armv6 Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
armv6t2 Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
armv7 Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
be arm: Fix softp-fp Implies (BZ #25635) 2020-03-06 09:53:24 -03:00
bits elf: Add _dl_find_object function 2021-12-28 22:52:56 +01:00
include/bits Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
le arm: Fix softp-fp Implies (BZ #25635) 2020-03-06 09:53:24 -03:00
nofpu Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
nptl Remove ununsed tcb-offset 2021-12-17 17:47:29 -03:00
sys Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
__longjmp.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
add_n.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
addmul_1.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_assert.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_atexit.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_errno_addr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_lcsts.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_localeconv.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_math.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_mb_cur_max.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_memclr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_memcpy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_memmove.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_memset.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_sighandlers.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
aeabi_unwind_cpp_pr1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
arm-features.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
arm-ifunc.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
arm-mcount.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
arm-unwind-resume.S Implement _Unwind_Resume in libc on top of <unwind-link.h> 2021-03-01 16:00:03 +01:00
atomic-machine.h Remove atomic-machine.h atomic typedefs 2021-12-28 14:57:57 -03:00
backtrace.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
bsd-_setjmp.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
bsd-setjmp.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
configure Remove configure test for ARM TLS descriptors support. 2015-10-27 23:56:50 +00:00
configure.ac Remove configure test for ARM TLS descriptors support. 2015-10-27 23:56:50 +00:00
crti.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
crtn.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-irel.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-lookupcfg.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-machine-rel.h elf: Add _dl_audit_pltexit 2021-12-28 08:40:38 -03:00
dl-machine.h arm: Use internal symbol for _dl_argv on _dl_start_user 2021-11-01 16:21:53 -03:00
dl-sysdep.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-tls.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-tlsdesc.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-tlsdesc.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-trampoline.S elf: Add _dl_audit_pltexit 2021-12-28 08:40:38 -03:00
elf-initfini.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fclrexcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fedisblxcpt.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
feenablxcpt.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
fegetenv.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fegetexcept.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
fegetmode.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fegetround.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
feholdexcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fenv_private.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fesetenv.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fesetexcept.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fesetmode.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fesetround.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
feupdateenv.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
fgetexcptflg.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
find_exidx.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fix-fp-int-convert-overflow.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fpu_control.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fraiseexcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
framestate.c
fsetexcptflg.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ftestexcept.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
gcc-compat.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
gccframe.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
get-rounding-mode.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Implies Remove sysdeps/arm/soft-fp directory. 2014-10-16 09:54:45 -07:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ldbl-classify-compat.h Move LDBL_CLASSIFY_COMPAT to its own header. 2018-02-01 21:01:00 +00:00
ldsodefs.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
libc-aeabi_read_tp.S
libc-tls.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
libm-test-ulps arm: update libm test ulps 2021-04-08 09:55:33 +01:00
libm-test-ulps-name Do not hardcode platform names in manual/libm-err-tab.pl (bug 14139). 2016-11-04 16:49:06 +00:00
linkmap.h Rename bits/linkmap.h to linkmap.h (bug 14912). 2015-09-04 19:44:27 +00:00
machine-gmon.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Makefile arm: Use have-mtls-dialect-gnu2 to check for ARM TLS descriptors support 2021-11-01 16:23:15 -03:00
math-tests-trap.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
math-use-builtins-sqrt.h arm: Use sqrt{f} builtin 2020-06-22 11:09:50 -03:00
memcpy.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
memmove.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
memset.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
preconfigure arm: Split BE/LE abilist 2019-08-29 09:58:21 -03:00
preconfigure.ac arm: Split BE/LE abilist 2019-08-29 09:58:21 -03:00
rt-aeabi_unwind_cpp_pr1.c
rt-arm-unwind-resume.S ARM: Consolidate with generic unwinder wrapper code 2015-01-05 15:42:16 -08:00
rtld-global-offsets.sym
setfpucw.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
setjmp.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sfp-machine.h Remove sysdeps/arm/soft-fp directory. 2014-10-16 09:54:45 -07:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stackinfo.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stap-probe-machine.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
start.S Reduce the statically linked startup code [BZ #23323] 2021-02-25 12:13:02 +01:00
static-stubs.c
strlen.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
sub_n.S
submul_1.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sysdep.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-fpucw.c
tlsdesc.c elf: Remove lazy tlsdesc relocation related code 2021-04-21 14:35:53 +01:00
tlsdesc.sym
tst-armtlsdescextlazy.c
tst-armtlsdescextlazymod.c
tst-armtlsdescextnow.c
tst-armtlsdescextnowmod.c
tst-armtlsdescloc.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-armtlsdesclocmod.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-audit.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
unwind-arch.h Implement _Unwind_Resume in libc on top of <unwind-link.h> 2021-03-01 16:00:03 +01:00
unwind-dw2-fde-glibc.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
unwind-pe.c
unwind-resume.c Implement _Unwind_Resume in libc on top of <unwind-link.h> 2021-03-01 16:00:03 +01:00
unwind-resume.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
unwind.h Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
Versions Use -Werror=undef for assembly code. 2015-02-12 13:57:32 -08:00