]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
o Let rtld(1) set up psABI user trap handlers prior to executing the
authormarius <marius@FreeBSD.org>
Sat, 3 Feb 2018 23:14:11 +0000 (23:14 +0000)
committermarius <marius@FreeBSD.org>
Sat, 3 Feb 2018 23:14:11 +0000 (23:14 +0000)
commitd9ac9c210e73d5141195a5497d3e96dfc755d1dc
tree866728ecfe1baf04ed2e901c64b94abe5a000d9d
parent8643952b7da28cae8d6538382c015d3b7b14f2d7
o Let rtld(1) set up psABI user trap handlers prior to executing the
  objects' init functions instead of doing the setup via a constructor
  in libc as the init functions may already depend on these handlers
  to be in place. This gets us rid of:
  - the undefined order in which libc constructors as __guard_setup()
    and jemalloc_constructor() are executed WRT __sparc_utrap_setup(),
  - the requirement to link libc last so __sparc_utrap_setup() gets
    called prior to constructors in other libraries (see r122883).
  For static binaries, crt1.o still sets up the user trap handlers.
o Move misplaced prototypes for MD functions in to the MD prototype
  section of rtld.h.
o Sprinkle nitems().
12 files changed:
lib/libc/sparc64/sys/__sparc_utrap_setup.c
libexec/rtld-elf/aarch64/reloc.c
libexec/rtld-elf/amd64/reloc.c
libexec/rtld-elf/arm/reloc.c
libexec/rtld-elf/i386/reloc.c
libexec/rtld-elf/mips/reloc.c
libexec/rtld-elf/powerpc/reloc.c
libexec/rtld-elf/powerpc64/reloc.c
libexec/rtld-elf/riscv/reloc.c
libexec/rtld-elf/rtld.c
libexec/rtld-elf/rtld.h
libexec/rtld-elf/sparc64/reloc.c