170 Commits

Author SHA1 Message Date
ajacoutot
5588ed5146 Update to LLVM/Clang 5.0.1.
from Brad (maintainer)
2017-12-23 09:43:59 +00:00
ajacoutot
d7e4c06966 - Revert, [Sparc] efficient pattern for UINT_TO_FP conversion, as done upstream
- Make the behavior of the -v option more closer to GNU linkers

from Brad (maintainer)
2017-12-20 08:06:46 +00:00
ajacoutot
1cbe63224f Update to llvm-5.0.1rc2.
from Brad (maintainer)
2017-12-03 10:19:37 +00:00
ajacoutot
40587658f9 Bring in a patch from base.
The compiler is generally free to allocate general purpose registers in
whatever order it chooses. Reasons for choosing one register before another
usually include compiled instruction size (avoidance of REX prefixes, etc.)
or usage conventions, but somehow haven't included security implications in
the compiled bytecode. Some bytecode is more useful in polymorphic ROP
sequences than others, so it seems prudent to try to avoid that bytecode
when possible.

from Brad (maintainer)
2017-12-01 08:00:20 +00:00
jca
612bbaedf5 If you mark llvm as BROKEN-$arch, remove this arch from LLVM_ARCHS
Discussed with landry@
2017-11-24 16:42:04 +00:00
ajacoutot
5618eb1693 [Sparc] efficient pattern for UINT_TO_FP conversion
from Brad (maintainer)
2017-11-13 07:49:28 +00:00
ajacoutot
f5ec4ab208 [Sparc] Account for bias in stack readjustment.
from Brad (maintainer)
2017-11-02 10:36:23 +00:00
ajacoutot
eb0e7e6cc2 - Add OpenBSD support for setting the thread name
- [Sparc] allow tls_add/tls_call syntax in assembler parser

from Brad (maintainer)
2017-10-26 10:05:55 +00:00
ajacoutot
59014b7c45 Put .got.plt in RELRO.
from Brad (maintainer)
2017-10-25 06:50:59 +00:00
ajacoutot
57266c88fa - [ELF] - Fix segfault when processing .eh_frame.
- [LLD] Fix padding of .eh_frame when in executable segment

from Brad (maintainer)
2017-10-08 07:40:18 +00:00
ajacoutot
3efba61b8a Make clang include a FILE symbol for .(s|S) files.
from Brad (maintainer), confirmed by robert@
2017-10-07 12:35:31 +00:00
ajacoutot
d5fc4bf0c3 [X86] Disable _mm512_maskz_set1_epi64 intrinsic on 32-bit targets to prevent a
backend isel failure.

from Brad (maintainer)
2017-10-07 12:08:33 +00:00
ajacoutot
1e680c7e7c [AArch64] Fix bug in store of vector 0 DAGCombine.
Avoid using XZR/WZR directly as operands to split stores of zero
vectors.  Doing so can lead to the XZR/WZR being used by an instruction
that doesn't allow it (e.g. add)

from Brad (maintainer)
2017-09-25 10:44:19 +00:00
ajacoutot
1fa073903d [X86] Don't create i64 constants on 32-bit targets when lowering v64i1
constant build vectors.

from Brad (maintainer)
2017-09-16 07:01:33 +00:00
ajacoutot
038596ebbb A bug fix for sparc64.
Fix a logic error in DwarfExpression::addMachineReg()
This fixes PR34323 and thus splitting undescribable registers into
smaller, describable sub-registers.

from Brad (maintainer)
2017-09-14 06:10:11 +00:00
ajacoutot
1c2ac0d175 Update to llvm-5.0.0.
from Brad (maintainer)
2017-09-08 05:58:19 +00:00
ajacoutot
e563677b2c Update to llvm-5.0.0rc4.
Tested on amd64, i386, sparc64
from Brad (maintainer)
2017-09-01 06:40:28 +00:00
sthen
c74f1b4170 Pull across more parts from base, from Brad:
- Use int3 trap padding between functions instead of trapsleds with a leading jump
- Declare lgamma library builtins as never being const
- Enable the kprintf format attribute
2017-08-10 10:29:01 +00:00
sthen
116d3fdb3e Merge in fixes from clang in base for trapsleds, disabling
-Waddress-of-packed-member, syslog attribute, and disabling of builtins.
From Brad.
2017-08-03 15:54:36 +00:00
sthen
0c8599f6de COMPILER_LIBCXX -> MODGCC4_CPPWANTLIB, spotted by semarie
(we do want devel/llvm to change to building with base clang instead
of gcc4, but some other ports aren't ready for this yet, e.g. rust)
2017-07-28 11:26:27 +00:00
sthen
40d4fc8f94 add COMPILER_LIBCXX to WANTLIB and bump 2017-07-27 09:34:37 +00:00
sthen
b9594200d8 unbreak 2017-07-19 17:15:38 +00:00
espie
80b3079805 revert the COMPILER changes, they've obviously not been tested 2017-07-19 13:44:20 +00:00
sthen
7928948cee revert previous; "On an architecture using clang(1) as the default
compiler, clang from the base system will always be chosen, so it is not
necessary to list ‘base’ unless it's the only suitable compiler"
2017-07-18 23:52:32 +00:00
sthen
907271051b Use "COMPILER=base gcc4" for devel/llvm to give it a chance on aarch64.
From Brad. I haven't tested (too many hangs for ports building) but since
it currently fails because there's no gcc4 on the arch, it can't make
things worse than they already are.
2017-07-18 21:35:20 +00:00
landry
26974221e5 Mark llvm as BROKEN-powerpc, it never built fine there, and we're
uselessly wasting cpu cycles trying.

Fails when linking binaries with 'relocation truncated to fit:
R_PPC_PLTREL24' - jca@ tried to fix ld at some point, or something else
has to be whacked.

See http://build-failures.rhaalovely.net/powerpc/2017-06-03/devel/llvm.log
or http://build-failures.rhaalovely.net/powerpc/2017-04-02/devel/llvm%2C-main.log
or the bazillions previous failures.
2017-07-17 18:07:41 +00:00
sthen
bc3b15a7c0 update to LLVM-4.0.1, from Brad (maintainer)
been through i386 and amd64 bulks
2017-07-14 17:14:03 +00:00
robert
adccad264b enable TLS emulation by default just like in base clang
ok espie@
2017-06-06 14:12:59 +00:00
ajacoutot
84c0cec54f Disable colored diagnostics.
from Brad (MAINTAINER)
2017-04-17 14:20:17 +00:00
ajacoutot
f2d1f7c552 Updated diff for the "supported targets" change.
from Brad (maintainer)
2017-03-25 14:00:47 +00:00
ajacoutot
ba18ac3dee - Bring in an LLD workaround from base
- Add "(compatible with GNU linkers)" to the -version output
- Print out "supported targets".
- Update/fix PIE defaults
- -z nodlopen has been commited upstream

from Brad (maintainer)
2017-03-23 08:26:07 +00:00
ajacoutot
afd425d9a6 Bring in some commits from base for Clang and lld.
from Brad (maintainer)
2017-03-18 20:49:42 +00:00
ajacoutot
34055b270c Update to llvm-4.0.0.
from Brad (maintainer)
2017-03-14 17:29:45 +00:00
ajacoutot
4b4b0fe984 Fix types for OpenBSD/mips64.
from Brad (maintainer)
2017-03-01 08:55:28 +00:00
ajacoutot
10d489c140 Bring in from base:
Disable loop idiom recognition for _libc_memset and _libc_memcpy.  These are
the internal names we use in libc for memset and memcpy and having the
compiler optimize them as calls to memset and memcpy will lead to infinite
recursion.

from Brad (maintainer)
2017-02-26 13:34:23 +00:00
ajacoutot
53ed80a575 Fix OpenBSD/aarch64 types.
from Brad (maintainer)
2017-02-22 09:06:11 +00:00
ajacoutot
c1e1e48e46 Sync both the --eh-frame-hdr and float128 diffs to what was commited
upstream.

from Brad (maintainer)
2017-02-20 07:04:00 +00:00
jca
3e62fdd5fa Use -mlong-calls on arm and powerpc to work around relocations overflow
On those architectures the .text section of the executables is too big
for the 32M immediate branch offset.  ld --relax is supposed to fix
things on powerpc, but it is actually ineffective here.  cc -mlong-calls
creates branches instructions using a full 32 bits register; FreeBSD
uses the same workaround.

A fix for lib/csu is still needed to avoid an overflow between .init
and .fini sections.  powerpc hasn't been tested, but we know that
devel/llvm is already broken there anyway.

ok Brad (maintainer)
2017-02-16 15:07:16 +00:00
ajacoutot
416cf24370 Disable -Wpointer-sign warnings per default; base gcc does the same.
from Brad (maintainer)
2017-02-12 11:25:19 +00:00
ajacoutot
d117846858 Update to llvm-4.0.0rc2.
- survived a bulk on i386 and amd64

from Brad (maintainer)
2017-02-10 09:37:43 +00:00
bluhm
413a6b64d5 Create subpackage py-llvm that contains the Python bindings for Clang.
Bump revision of llvm main package and x11/gnome/builder.
OK Brad Smith (maintainer) ajacoutot@ sthen@
2017-01-08 01:59:49 +00:00
ajacoutot
fcc542f9cd Unbreak on powerpc: don't build lld there.
from Brad (maintainer)
2017-01-01 10:48:58 +00:00
jca
9e8193109a Broken on powerpc: undefined reference to `__atomic_load_8' 2016-12-31 20:48:31 +00:00
ajacoutot
75d8613809 Update to llvm-3.9.1.
from Brad (maintainer)
2016-12-22 11:07:13 +00:00
jsg
5303dd0961 Recognise an OpenBSD aarch64 triple. This enables some OpenBSD specific
builtin defines such as __OpenBSD__.  Same patch that patrick committed
to llvm in base.

ok patrick@
2016-12-21 09:27:57 +00:00
ajacoutot
452bb4660b Sync with what was committed upstream (Disable the use of std::call_once
on OpenBSD with libstdc++).


from Brad (maintainer)
2016-11-02 07:46:33 +00:00
sthen
eb38ea3807 don't build lld on i386, it needs __atomic_load_8. ok aja@ 2016-10-12 11:04:38 +00:00
ajacoutot
6e0f1195c3 Enable building lld.
from Brad (maintainer)
2016-10-09 06:47:10 +00:00
ajacoutot
4c4e51995d Update to LLVM 3.9.0.
Been through bulks on amd64 / i386 by sthen@ and naddy@ respectively.

from Brad (maintainer)
2016-10-07 08:55:30 +00:00
ajacoutot
98ceb2afe1 Disable -fstrict-aliasing per default on OpenBSD.
from Brad (maintainer)
2016-09-28 07:16:23 +00:00