Commit Graph

918 Commits

Author SHA1 Message Date
joerg
44317eea7c Static PIE should have no linker, otherwise it isn't really static. 2018-07-12 21:39:24 +00:00
christos
9951f8b9e4 vaxinate the sanitizer build. 2018-07-01 17:41:49 +00:00
christos
46e5459c53 disable one more size check for _LP32 to make pcc build. 2018-07-01 14:20:23 +00:00
kre
cb552d924c Remove (recently) commented out (recently added) liblsan SUBDIR
(it has been added a different way.)
2018-06-28 14:01:12 +00:00
christos
0fd9ea3645 put back lsan 2018-06-28 10:14:01 +00:00
christos
ecf509af59 Reduce sizes for non _LP64 and compiler checks so that the code compiles
(but it will not work, since there is not enough address space to implement
the shadow space required).
2018-06-27 15:57:20 +00:00
christos
3a31568ee3 use the proper types for operator new 2018-06-27 15:56:30 +00:00
martin
9a2749bc95 Disable liblsan for now - it seems to be 64bit only - all 32bits are
failing and the 64bit ones with compat 32bit do not work either.
2018-06-27 06:06:39 +00:00
kre
94c5c83f44 Since liblsan has been added to the sets already, we should build it. 2018-06-27 01:25:49 +00:00
christos
ae60fed3bd remove temp hack. 2018-06-26 21:06:45 +00:00
christos
92d3d99452 Add support for lsan (Leak Sanitizer), crashes on exit, but works from gdb... 2018-06-26 20:55:37 +00:00
christos
748fe90b99 Add lsan support. 2018-06-26 20:54:32 +00:00
christos
9137a68872 use LIBISCXX = yes, instead of hard-coding the c++ library. Suggested by joerg 2018-06-11 15:29:33 +00:00
christos
b1e04fb08c Add libstdc++ again; needed for:
undefined reference to `typeinfo for __cxxabiv1::__class_type_info'
undefined reference to `typeinfo for __cxxabiv1::__si_class_type_info'
undefined reference to `typeinfo for __cxxabiv1::__vmi_class_type_info'
undefined reference to `typeinfo for std::type_info'
undefined reference to `__dynamic_cast'
2018-06-11 12:47:47 +00:00
christos
1ed1559579 don't depend on libstdc++ 2018-06-09 22:40:00 +00:00
christos
db50de0d5b consistency, define to empty. 2018-06-09 22:39:29 +00:00
martin
f96e65b81e Quick hack to fix 32bit big endian platforms: the return value from
__syscall() needs to be shifted into the lower 32bits to form a proper
pointer. Temporarily steal __SYSCALL_TO_UINTPTR_T from the syscall/__syscall
test program, Kamil is working on a proper solution.
2018-06-04 13:12:54 +00:00
christos
1372179b4a Don't add a dynamic dependency to the sanitizer shared libaries in other
shared libraries.
2018-06-02 01:40:02 +00:00
christos
a62bd702e8 Don't sanitize the sanitizer. 2018-06-02 01:38:41 +00:00
kamil
245d8e2368 Cherry-pick upstream patch for internal_mmap() in GCC sanitizers
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
2018-05-23 11:14:49 +00:00
mrg
b5722a7e71 add missing cgraphunit.c dependancy on pass_manager.h. should fix report
from thorpej on current-users about missing pass-instances.def.
2018-04-19 22:01:27 +00:00
maya
ddc0f89203 Apply upstream commit:
From: ppalka <ppalka@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 27 Apr 2016 21:18:05 +0000
Subject: [PATCH] Reduce nesting of parentheses in conditionals generated by
 genattrtab

gcc/ChangeLog:

	* genattrtab.c (write_test_expr): New parameter EMIT_PARENS
	which defaults to true.  Emit an outer pair of parentheses only if
	EMIT_PARENS.  When continuing a chain of && or || (or & or |),
	don't emit parentheses for the right-hand operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235536

gcc/arm generates so many parens it hits a bracket depth limited which is
enforced by clang. This reduces the number of parens generated and avoids the
need to increase bracket depth.

Fixes PR toolchain/53178 properly.
2018-04-17 10:02:49 +00:00
mrg
18eacdc36b fix some more missing depends issues. remove various wrong/old depends.
fixes issues i was able to trigger manually by building specific files.

more for PR#53137.
2018-04-13 01:14:19 +00:00
mrg
64f3b8c383 fix the hard coded depends list for insn-*. i pulled these out
of the generated .d files for a successful build.  i've tested
that at least one recent macppc build failure is fixed with this
change (namely, try building just insn-emit.o in this subdir),
but the pattern should fix anything else left in insn*.

this really should finally fix PR#53137.
2018-04-12 20:44:16 +00:00
christos
5504495f67 regen for netbsd-stdint.h inclusion 2018-04-08 15:11:25 +00:00
christos
2d0ff0b4eb include nbsd_tm_file for ppc netbsd so that we get netbsd-stdint.h so in
order to define __{U,}INT_LEAST{8,16,32,64}_{MAX,TYPE}__ part of which are
needed for stdatomic.h
2018-04-08 15:10:53 +00:00
mrg
568fe08d4a fix the grep pattern for inside a makefile. fixes build issue
reported by thorpej on tech-toolchain - we both found the same
fix around the same time.

XXX: kamil says solaris-type hosts will fail here as they need
XXX: 'egrep' not 'grep -E'.
2018-04-07 22:17:52 +00:00
mrg
ab8259cd20 pretty much everything depends upon insn-opinit.h via optabs-query.h
so set it in DPSRCS.  hopefully this fixes PR 53137.
2018-04-05 05:38:59 +00:00
mrg
1983f147ae apply some more vax -O0/-O1. this now builds. 2018-04-02 22:35:26 +00:00
mrg
aedee1a123 handle programs that have 3 outputs in a saner fashion.
hopefully fixes PR 53137.
2018-04-02 22:34:22 +00:00
maya
3f6bdae5df Add new predicate volatile_mem_operand and use it for jbbssi<mode>
Fixes PR port-vax/53039: GCC/VAX hits ICE building libstdc++

GCC wants to change the label and then doesn't recognise the
new insn, it believes it doesn't satisfy the memory_operand
predicate.

It appears the memory_operand predicate doesn't accept volatile
memory accesses during the RTL generation phase.

The predicate is from rs6000 code.

from krister
2018-04-02 17:45:23 +00:00
mrg
67e62e9db5 add the spectre mitigation options for x86:
-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 Debian port of these changes in their
debian:gcc-6_6.3.0-18+deb9u1.diff.  i've also included the doc
updates that are missing from debian 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.
2018-03-28 19:22:32 +00:00
mrg
7b319e81c3 fix the cleanfiles for hooks mechanism 2018-03-13 03:17:01 +00:00
christos
d9314bf1eb switch ppc64 from "long long" == int64 to "long" == int64 2018-03-05 00:19:41 +00:00
christos
0fd55fa7b9 Make the *int64 long long (32 bit) or long (64) bit. Now all those special
redefinitions could go away since this is the default behavior.
2018-03-05 00:17:09 +00:00
christos
9bf6fb1f8e _LP64 64 bit types are "long" not "long long". 2018-03-04 16:44:11 +00:00
mrg
924dadf563 fix some types of netbsd arm builds. 2018-02-25 01:05:09 +00:00
mrg
7d1f9b1bbb regen ppc64 mknative gcc 6 files with biarch support. 2018-02-22 22:25:16 +00:00
mrg
7b8aed4e4d fix powerpc64 bi-arch support: provide a LINK_SECURE_PLT_SPEC.
with this, and mknative-gcc for it, powerpc64 builds with GCC 6.
2018-02-22 22:20:44 +00:00
mrg
da58b5e34c re-port the patch from https://gcc.gnu.org/bugzilla/attachment.cgi?id=15492.
- local HOST_WIDE_INT_CONSTANT macro same as new HOST_WIDE_INT_C macro,
  so use it instead, and remove the local macro.
- re-port the genrecog.c change which was missed in early GCC-6 port.

this makes sh3 work again.
2018-02-22 07:24:19 +00:00
mrg
08873910d3 minimal basic support for ia64 and gcc6. i am not sure about the
bp part of the GetPcSpBp() port, cherry please look :-)
2018-02-16 07:59:05 +00:00
christos
298caec6c7 need -lrt for shm_{open,close} 2018-02-14 03:37:39 +00:00
christos
4c0f6a5b74 depend on librt for shm_{open,close} 2018-02-14 02:12:35 +00:00
christos
74bd282433 Asan needs bits and pieces of ubsan now; go figure. 2018-02-14 02:12:07 +00:00
christos
d637e5b6a0 our __csa_atexit does not like NULL dso; use atexit(3) instead. 2018-02-14 02:11:22 +00:00
christos
be74da7a3a enable addr2line 2018-02-14 02:10:32 +00:00
christos
8ac5b43509 - enable netbsd
- add cast to (uptr) for _Unwind_GetIP
2018-02-14 02:10:06 +00:00
christos
ae5e37f8c6 PR/53008: Henning Petersen: Fix missing brace inside comment. 2018-02-11 15:56:25 +00:00
maya
0cca4bc316 Use bools with bool. NFCI.
From Henning Petersen in PR toolchain/53009.
(I completed for the rest of the function. Similar code exists in GCC trunk.)
2018-02-11 13:50:15 +00:00
christos
09f7d6a729 Use bsd.init.mk (instead of bsd.own.mk) consistently so that
Makefile.inc gets called before bsd.own.mk so that we get a chance
to use NOFOO easily in Makefile.inc. Use that to turn CTF off for
everything.
2018-02-11 02:12:28 +00:00