350400 |
29-Jul-2019 |
dim |
MFC r350360:
Merge libcxxrt master f96846efbfd508f66d91fcbbef5dd808947c7f6d.
Interesting fixes: f96846e Fix std::size_t -> size_t to unbreak build against libc++ 6.0.0 6f4cfa2 Fix the uncaught exception count with rethrowing (PR 239265) db54f53 Added C++14-specific operator delete (#47)
PR: 239265 |
328583 |
30-Jan-2018 |
emaste |
MFC r328305: libcxxrt: Move mangled symbols out of extern "C++" in Version.map
r260553 added a number of mangled C++ symbols to Version.map inside of an existing `extern "C++"` block.
ld.bfd 2.17.50 treats `extern "C++"` permissively and will match both mangled and demangled symbols against the strings in the version map block. ld.lld interprets `extern "C++"` strictly, and matches only demangled symbols.
I believe lld's behaviour is correct. Contemporary versions of ld.bfd also behave as lld does, so move the mangled symbols out of the `extern "C++"` block.
PR: 225128, 185663 Sponsored by: The FreeBSD Foundation |
314898 |
08-Mar-2017 |
dim |
MFC r314061:
Add __int128-related symbols to libcxxrt's version map. Put these into the same CXXABI verions as recent libstdc++.
Note that __int128 types are only available on arches where long long is 128 bit wide.
Noticed by: harti
MFC r314104:
Surround any unmangled C++ names in libcxxrt's version map with 'extern "C++"', otherwise ld refuses to make the symbols global in the final library. This causes the __int128-related symbols to go missing when the library is stripped during installation.
Helpful hints: emaste |
313538 |
10-Feb-2017 |
ngie |
MFC r312452-r312512:
r312452-r312512:
- Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones
This simplifies pathing in make/displayed output
- Use .CURDIR:H instead of .CURDIR to simplify pathing in output, etc |
302408 |
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
302278 |
29-Jun-2016 |
emaste |
libcxxrt: correct mangled "typeinfo name" symbols in Version.map
r260553 added missing C++ typinfos to libcxxrt's version script. It appears that a number of duplicate mangled symbols were added due to a cut and paste error. Switch the second instances to _ZTS*, typeinfo name for *.
Found by lld, which produces an error or warning for duplicate symbols.
Reviewed by: dim Approved by: re (gjb) MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7011
|
300943 |
29-May-2016 |
bdrewery |
GCC External: Revert r300886, r300904, r300917, r300918
The fix in r300873 is mostly enough. A fix for lib32 will be committed.separately.
|
300886 |
27-May-2016 |
bdrewery |
Move external GCC compiler hacks to bsd.sys.mk.
This allows respecting -nostdinc, -nostdinc++ and -nostdlib before making the decision to add in -isystem, etc. The -isystem flags are problematic for building lib/libc++ and lib/libcxxrt which wants to only use its own headers.
More information the need of these flags can be found at https://gcc.gnu.org/ml/gcc/2016-03/msg00219.html
This also reverts r300873.
Sponsored by: EMC / Isilon Storage Division
|
300873 |
27-May-2016 |
dim |
After r300770, for libc++ and libcxxrt, use -isystem instead of -I. This should fix builds with external gcc toolchains from ports, which also use -isystem to work around problems with gcc's --sysroot implementation. Thanks to Bryan Drewery for this workaround.
|
298107 |
16-Apr-2016 |
gjb |
Merge the projects/release-pkg branch to head.
This allows packaging the base system with pkg(8), including but not limited to providing the ability to provide upstream binary update possibilities for non-tier-1 architectures.
This merge is a requirement of the 11.0-RELEASE, and as such, thank you to everyone that has tested the project branch.
Documentation in build(7) etc. is still somewhat sparse, but updates to those parts will follow.
Sponsored by: The FreeBSD Foundation
|
297299 |
27-Mar-2016 |
dim |
Compile libcxxrt as C++11, since it is only really used in combination with libc++, which is also C++11. Also change one _Static_assert (which is really C11) back into static_assert, like upstream.
This should help when compiling libcxxrt with newer versions of gcc, which refuse to recognize any form of static assertions, if not compiling for C++11 or higher.
While here, add -nostdinc++ to CFLAGS, to prevent picking up any C++ headers outside the source tree.
|
295978 |
24-Feb-2016 |
bdrewery |
DIRDEPS_BUILD: Update dependencies.
Sponsored by: EMC / Isilon Storage Division
|
291307 |
25-Nov-2015 |
bdrewery |
META MODE: Prefer INSTALL=tools/install.sh to lessen the need for xinstall.host.
This both avoids some dependencies on xinstall.host and allows bootstrapping on older releases to work due to lack of at least 'install -l' support.
Sponsored by: EMC / Isilon Storage Division
|
288943 |
06-Oct-2015 |
dim |
Upgrade our copies of clang, llvm, lldb, compiler-rt and libc++ to 3.7.0 release.
Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11 support to build; see UPDATING for more information.
Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html> <http://llvm.org/releases/3.7.0/tools/clang/docs/ReleaseNotes.html>
Thanks to Ed Maste, Andrew Turner and Antoine Brodin for their help.
Exp-run: antoine Relnotes: yes
|
288226 |
25-Sep-2015 |
bdrewery |
META_MODE: Remove DEP_RELDIR from Makefile.depend files.
This has not been needed since r284171 in projects/bmake.
Sponsored by: EMC / Isilon Storage Division
|
284732 |
23-Jun-2015 |
dim |
Add __cxa_deleted_virtual to libcxxrt's version map.
This symbol can sometimes be emitted by clang++, and was not yet exported from libcxxrt. Attempt to be compatible with libsupc++ by using the same CXXABI_1.3.6 symbol version.
Reported by: yuri@rawbw.com PR: 200863 Reviewed by: emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D2850
|
284421 |
15-Jun-2015 |
bapt |
Revert r284417 it is not necessary anymore
|
284417 |
15-Jun-2015 |
bapt |
Enforce overwritting SHLIBDIR
Since METAMODE has been added, sys.mk loads bsd.mkopt.mk which ends load loading bsd.own.mk which then defines SHLIBDIR before all the Makefile.inc everywhere.
This makes /lib being populated again.
Reported by: many
|
284345 |
13-Jun-2015 |
sjg |
Add META_MODE support.
Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree.
Still need to add real targets under targets/ to build packages.
Differential Revision: D2796 Reviewed by: brooks imp
|
273381 |
21-Oct-2014 |
bapt |
Add support for __cxa_throw_bad_array_new_length in libcxxrt
It is required for use with newer g++49
Differential Revision: https://reviews.freebsd.org/D982 Reviewed by: theraven Approved by: theraven MFC after: 3 weeks
|
260553 |
11-Jan-2014 |
theraven |
Add missing C++11 typeinfos to the libcxxrt version script.
PR: 185663 MFC after: 1 week
|
246297 |
03-Feb-2013 |
dim |
Add several missing symbols to libcxxrt's symbol version map, and remove a few duplicates. This should fix building world with -stdlib=libc++ after r246028.
Submitted by: Yamaya Takashi <yamayan@kbh.biglobe.ne.jp> MFC after: 1 week X-MFC-With: r246028
|
246028 |
28-Jan-2013 |
theraven |
Fix some symbol version mismatches between libstdc++ and libsupc++/libcxxrt that were causing the runtime and STL libraries to see different versions of various classes and functions when libstdc++ is used as a filter.
Note: This changes the ABI for libcxxrt, but libcxxrt is currently only in -STABLE for testing and is not used by anything unless explicitly enabled by the end user. No default compiler configurations use it.
libc++ will need to be recompiled after this change. make buildworld will do this automatically, but make in lib/libc++ will not necessarily work unless the new libcxxrt is installed first.
PR: kern/171610, stand/175453 Reviewed by: kib MFC after: 1 week
|
236890 |
11-Jun-2012 |
theraven |
Clean up some symbol versions for libsupc++ / libcxxrt.
MFC after: 1 week Reviewed by: kan
|
236442 |
02-Jun-2012 |
dim |
Tabify libcxxrt and libc++'s Makefiles.
MFC after: 3 days
|
233235 |
20-Mar-2012 |
theraven |
Import new version of libcxxrt. Now works correctly with libobjc2 to implement the unified exception model for Objective-C++.
Approved by: dim (mentor)
|
233174 |
19-Mar-2012 |
theraven |
Add symbol versioning to libcxxrt.
Approved by: dim (mentor)
|
228004 |
26-Nov-2011 |
theraven |
Update libcxxrt to remove the pthread dependency.
Also add the license from upstream to contrib.
Approved by: dim (mentor)
|
227983 |
25-Nov-2011 |
theraven |
Import libc++ / libcxxrt into base. Not build by default yet (use MK_LIBCPLUSPLUS=yes to enable). This is a work-in-progress. It works for me, but is not guaranteed to work for anyone else and may eat your dog.
To build C++ using libc++, add -stdlib=libc++ to your CXX and LD flags.
Bug reports welcome, bug fixes even more welcome...
Approved by: dim (mentor)
|