svn commit: r323031 - head/libexec/rtld-elf
John Baldwin
jhb at FreeBSD.org
Wed Aug 30 20:00:16 UTC 2017
Author: jhb
Date: Wed Aug 30 20:00:15 2017
New Revision: 323031
URL: https://svnweb.freebsd.org/changeset/base/323031
Log:
Compile reloc.o with -fno-jump-tables on MIPS.
In particular, the switch statement on the type of dynamic entries
in _rtld_relocate_nonplt_self() needs to not use a jump table since
jump tables on MIPS use local GOT entries which aren't initialized
until after this loop.
Suggested by: arichardson
Reviewed by: emaste
Sponsored by: DARPA / AFRL
Modified:
head/libexec/rtld-elf/Makefile
Modified: head/libexec/rtld-elf/Makefile
==============================================================================
--- head/libexec/rtld-elf/Makefile Wed Aug 30 19:38:43 2017 (r323030)
+++ head/libexec/rtld-elf/Makefile Wed Aug 30 20:00:15 2017 (r323031)
@@ -47,6 +47,9 @@ CFLAGS+= -DPIC $(DEBUG)
.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
CFLAGS+= -fvisibility=hidden
.endif
+.if ${MACHINE_CPUARCH} == "mips"
+CFLAGS.reloc.c+=-fno-jump-tables
+.endif
LDFLAGS+= -shared -Wl,-Bsymbolic -Wl,-z,defs
LIBADD= c_pic
.if ${MK_TOOLCHAIN} == "no"
More information about the svn-src-all
mailing list