History log of /freebsd-10-stable/libexec/rtld-elf/arm/rtld_machdep.h
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 309061 23-Nov-2016 kib

MFC r308689:
Pass CPUID[1] %edx (cpu_feature), %ecx (cpu_feature2) and
CPUID[7].%ebx (cpu_stdext_feature), %ecx (cpu_stdext_feature2) to the
ifunc resolvers on x86.

MFC r308925:
Adjust r308689 to make rtld compilable with either in-tree or
(hopefully) stock gcc 4.2.1 on i386 and other arches.


# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 232831 11-Mar-2012 kib

Add support for preinit, init and fini arrays. Some ABIs, in
particular on ARM, do require working init arrays.

Traditional FreeBSD crt1 calls _init and _fini of the binary, instead
of allowing runtime linker to arrange the calls. This was probably
done to have the same crt code serve both statically and dynamically
linked binaries. Since ABI mandates that first is called preinit
array functions, then init, and then init array functions, the init
have to be called from rtld now.

To provide binary compatibility to old FreeBSD crt1, which calls _init
itself, rtld only calls intializers and finalizers for main binary if
binary has a note indicating that new crt was used for linking. Add
parsing of ELF notes to rtld, and cache p_osrel value since we parsed
it anyway.

The patch is inspired by init_array support for DragonflyBSD, written
by John Marino.

Reviewed by: kan
Tested by: andrew (arm, previous version), flo (sparc64, previous version)
MFC after: 3 weeks


# 231618 13-Feb-2012 gonzo

Add thread-local storage support for ARM to rtld-elf

Reviewed by: cognet
Obtained from: NetBSD


# 217851 25-Jan-2011 kib

When loading dso without PT_GNU_STACK phdr, only call
__pthread_map_stacks_exec() on architectures that allow executable
stacks.

Reported and tested by: marcel (ia64)


# 191291 19-Apr-2009 rwatson

Now that the kernel defines CACHE_LINE_SIZE in machine/param.h, use
that definition in the custom locking code for the run-time linker
rather than local definitions.

Pointed out by: tinderbox
MFC after: 2 weeks


# 144764 07-Apr-2005 cognet

No need to provide atomic_cmpset_32() anymore.


# 142593 26-Feb-2005 cognet

Only provide the dummy, non-atomic atomic_cmpset_32() if
ARM_HAS_ATOMIC_CMPSET_32 isn't defined.


# 138023 23-Nov-2004 cognet

Implement a dummy atomic_cmpset_32(). It should be safe to use it in rtld as
the signals are masked anyway.


# 135680 23-Sep-2004 cognet

Add stubs for TLS.
Arbitraly choose the 2nd variant until I figure out which one I should use.


# 129204 14-May-2004 cognet

Import arm bits for rtld-elf.

Obtained from: NetBSD