o clang:
- add back kernel printf %b length specifier support (%llb, etc, lost in
the update to 8.0.0)
o lld:
- Restore previous section after setting the MIPS ABI marker
- Fix output section alignement when entry size isn't a power of two
o arm64, amd64:
- Do not store the retguard cookie in frame in leaf functions if possible
- Emit variable length trap padding in retguard epilogue
o amd64:
- move code that selects retpoline by default to a different source file
o mips64:
- Fix a bug in memory operand handling
- Implement SGE pseudo-instructions
- Implement .cplocal directive
- Fix instruction guard
- Implement the 'h' register constraint on mips64
o sparc64:
- Remove cast that truncates immediate operands to 32 bits
I botched the library search paths when merging OpenBSD.cpp, repair
that. Also always add -L${LOCALBASE}/lib like was done before.
Looks like I committed an old diff which lacked SHARED_LIBS+=OptRemarks.
While here, force-disable Z3 support from math/z3.
Most patch merges inspired from patrick's work on base-clang. Consumer
ports fixed/marked BROKEN as discussed with bcallah@ and rsadowski@.
powerpc tests and PLIST fixes from cwen@, thanks! rust-1.36 tests by
semarie@
where we need a way to get to gcc-libs/libestdc++. This happened to
work so far except when it didn't (slight differences between built
and already installed llvm packages, maybe?), as found the hard way by
cwen@.
Our COMPILER support automatically amends WANTLIB and LIB_DEPENDS, so
use those to explicitely set:
- WANTLIB-main and WANTLIB-lldb
- LIB_DEPENDS-main and LIB_DEPENDS-lldb
The clang-tools-extra package contains helpful developer tools using
Clang's APIs.
Initial diff from me, further work by jca@ with feedback from sthen@.
OK jca@ and @sthen
* switch gcc4 module to gcc/8
* register the gcc/8 subpackages as updates for their gcc/4.9 counterparts
* sync the gcc version in devel/llvm
* add a quirk entry that gcj is obsolete
* unhook 4.9 from the build
Preparatory work by many.
ok sthen@
All the work done by Brad except for some fixes from base by mortimer@
and patrick@
Tests: amd64 Brad, jsg@ and me, i386: Brad, mips64: visa@, sparc64 me.
No tests on powerpc but a test build with only the PowerPC backend
packages on amd64.
- don't build clang itself with -fno-ret-protector and -mno-retpoline,
to regain performance
- use -mretpoline by default on amd64
- fix printf %b length specifiers
from Brad
On non-clang archs, ports-clang uses the libestdc++ backend from
ports-gcc, so it needs the headers in the g++ package at runtime.
Testing CHOSEN_COMPILER == "ports-gcc" is nice semantically but since it
happens after including bsd.port.mk, it's too late to change TEST/RUN_DEPENDS.
Use a different test that may not be optimal but works in practice, so that
the dep is correctly registered.
This should fix random build failures due to dpb junking in bulk builds
on non-clang archs.
Problem pointed out by Goerge Koehler, ok sthen@
Using long calls means slower code. It is not useful right now because
the size of the llvm executables has been reduced, as shown by tests by
Charlene Wendling. And it breaks compilation with gcc 6, as pointed out
by a report from George Koehler.
The goal is to provide quick feedback on proposed diffs, and enforce
testing on at least one gcc arch (probably sparc64) before diffs get
committed. All contributions are still welcome.
Maintainer timeout, ok ajacoutot@ visa@ naddy@ sthen@ espie@
build with ports-gcc which isn't yet in shape to build LLDB.
tests and tweaks from various people including jca@, landry@,
Charlene Wendling, and probably others -- ok jca@
- [mips] Prevent PIC to be set to level 2
- [mips] Improve handling of -fno-[pic/PIC] option
- [PowerPC] Set the default PLT mode on OpenBSD/powerpc to Secure PLT.
- Remove PowerPC -nopie workaround
- Add workaround to PowerPC to only build the PowerPC backend as a means
of reducing the code size
- Enable building on PowerPC
from Brad (maintainer)
This allows building webkitgtk4 on OpenBSD/powerpc
- Accept both `--foo bar` and `--foo=bar` styles options.
- Add support for -z initfirst.
- Generate __data_start symbol that marks the start of .data when __data_start
is referenced from code being linked.
From Brad (maintainer)
When merging sections into the output, lld tries to adjust the alignment of
the section to be at least as large as the entry size of the section.
This causes a later check that validates the alignment to fail if the
entry size isn't a power of two. This happens when building some of the
java support code in ports gcc. Fix this by sticking to the original
alignment if the entry size isn't a power of two.
from Brad (maintainer)