Fix internal_mmap() on 32-bit NetBSD platforms
There is need to use internal_syscall64() instead of internal_syscall_ptr().
The offset argument of type off_t is always 64-bit.
http://llvm.org/viewvc/llvm-project?view=revision&revision=333075
PR kern/53261 by Martin Husemann
-mindirect-branch=<choice>
-mfunction-return=<choice>
-mindirect-branch-register
the values for 'choice' are "keep" (default, existing behaviour),
"thunk", "thunk-inline", and "thunk-extern".
as taken from the Ubuntu port of these changes in their
ubuntu:gcc-5_5.5.0-8ubuntu1.diff. i've also included the doc
updates that are missing from ubuntu from gcc itself.
i've tested both i386 and amd64 fairly heavily with these options
enabled in both kernels and userland, atf runs and hundreds of
package builds.
XXX: pullup-8 to gcc/ not gcc.old/
Install:
- allocator_interface.h
- asan_interface.h
- common_interface_defs.h
- tsan_interface_atomic.h
Into:
- /usr/include/gcc-5/sanitizer
Note headers in a comment headers for introduction in future:
- dfsan_interface.h
- lsan_interface.h
- msan_interface.h
Skip a file that will never be relevant on NetBSD:
- linux_syscall_hooks.h
PR 52265 by Kamil Rytarowski
Proposed and accepted on tech-toolchain@.
Sponsored by <The NetBSD Foundation>
This corrects linking attempt with GNU binutils GOLD (linker).
ld.gold: error: /usr/libexec/liblto_plugin.so: \
could not load plugin library: /usr/libexec/liblto_plugin.so: \
Undefined symbol "_sch_istable" (symnum = 12)
Keep the same minor for the previous recent bump.
GCC passes liblto_plugin.so in the linker invocation (part of "gcc -v file.c"):
ld -plugin /usr/libexec/liblto_plugin.so -plugin-opt=/usr/libexec/lto-wrapper \
-plugin-opt=-fresolution=/var/tmp//ccxda9Ar.res \
-plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc \
-plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s \
-plugin-opt=-pass-through=-lgcc --eh-frame-hdr -dc -dp -e _start \
-dynamic-linker /usr/libexec/ld.elf_so /usr/lib/crt0.o /usr/lib/crti.o \
/usr/lib/crtbegin.o /var/tmp//cc7A7mOK.o --as-needed -lgcc_s --no-as-needed \
-lgcc -lc --as-needed -lgcc_s --no-as-needed -lgcc /usr/lib/crtend.o \
/usr/lib/crtn.o
When attempting to use GNU GOLD, liblto_plugin.so cannot be used because it \
has missing symbol xstrerror:
ld: error: /usr/libexec/liblto_plugin.so: could not load plugin library: \
/usr/libexec/liblto_plugin.so: Undefined PLT symbol "xstrerror" (symnum = 38)
From Makefiles and sources inspection, liblto_plugin.so shall be linked with \
libiberty (-liberty), a utility GNU library for internal usage with helping \
functions.
PR 52674 by myself
Incorrect codegen from rdseed intrinsic use (CVE-2017-11671)
We should not expand call arguments in between flags reg setting and
flags reg using instructions, as it may expand with flags reg
clobbering insn (ADD in this case).
Attached patch moves expansion out of the link. Also, change
zero-extension to non-flags reg clobbering sequence in case we perform
zero-extension with and.
2017-03-25 Uros Bizjak