]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC: r328834
authormarius <marius@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 19 Mar 2018 14:28:58 +0000 (14:28 +0000)
committermarius <marius@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 19 Mar 2018 14:28:58 +0000 (14:28 +0000)
commitfc3c79ae3c939fbe6afb4f2a85cf9c39f6f8a7c2
tree563c55b8a2b8f17dcdbdf21ae5d25606d85f5b91
parent18d49fe1a85c0ff7a5e024b3e6f4b326b5d1936b
MFC: r328834

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().

git-svn-id: svn://svn.freebsd.org/base/stable/10@331206 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
lib/libc/sparc64/sys/__sparc_utrap_setup.c
libexec/rtld-elf/amd64/reloc.c
libexec/rtld-elf/arm/reloc.c
libexec/rtld-elf/i386/reloc.c
libexec/rtld-elf/ia64/reloc.c
libexec/rtld-elf/mips/reloc.c
libexec/rtld-elf/powerpc/reloc.c
libexec/rtld-elf/powerpc64/reloc.c
libexec/rtld-elf/rtld.c
libexec/rtld-elf/rtld.h
libexec/rtld-elf/sparc64/reloc.c