The Fedora 10 infrastructure ports have been in use since June 2009 and, while
having served a great deed, have become unsupported upstream and hence affected
by unfixed security vulnerabilities. In addition to that, many recent Linux
binaries need newer libc / stdlibc++ versions.
This commit adds the linux-c6- userland as drop-in replacement for the -f10
infrastructure, as well as upgrading the linux_base-c6 port to CentOS 6.5.
If you want to switch to linux-c6 ports, please define at /etc/make.conf:
OVERRIDE_LINUX_BASE_PORT=c6
OVERRIDE_LINUX_NONBASE_PORTS=c6
Additionally, please add the following line to /etc/sysctl.conf:
compat.linux.osrelease=2.6.18
Upgrading procedures are shown in /usr/ports/UPDATING.
This work has been inspired by Artyom Mirgorodskiy's post to emulation@ in
November 2013, using and extending mav@'s work. It has been tested extensively
and most reported issues were already fixed. Please report any additional bug
or "features" to the emulation mailing list.
Many thanks to: mav@, rene@, allanjude@, netchild@, antoine@, everyone who's
filed Issues and Pull requests on GitHub,
PR: 186820
Differential Revision: https://reviews.freebsd.org/D793
Reviewed by: allanjude, antoine, bapt, rene
Approved by: portmgr (antoine, bapt)
Approved by: koobs (mentor)
Sponsored by: Perceivon Hosting Inc.
While here, move MAKE_JOBS_UNSAFE to CAPIDOCS option since thats the only place
it seems necessary
PR: 193413
Submitted by: Yasuhiro KIMURA <yasu@utahime.org>
While here, move MAKE_JOBS_UNSAFE to CAPIDOCS option since thats the only place
it seems necessary
PR: 193412
Submitted by: Yasuhiro KIMURA <yasu@utahime.org>
Modula3 provides a newer cvsup which is unconditionally installed.
This put the port in conflict with the two expiring cvsup ports. They've
been removed, but a new cvsup-static port took their place. Update the
CONFLICTS_INSTALL on both modula3 and cvsup-static as a follow-up to
change in cvsup-* ports.
to GCC 4.8.3.
This entails updating the lang/gcc port as well as changing the default
in Mk/bsd.default-versions.mk, and it replaces the CONFLICT between the
lang/gcc and lang/gcc47 ports by lang/gcc48.
GCC now uses C++ as its implementation language and performs more
aggressive loop analysis which can be disabled via the
-fno-aggressive-loop-optimizations command-line option.
Compilation of extremely large functions has been signficantly improved,
as have interprocedural optimizations.
A new optimization level -Og has been introduced. It addresses the need
for fast compilation and a superior debugging experience while providing
a reasonable level of run-time performance. This should be better
suitable for development than the default -O0.
A new local register allocator (LRA) has been implemented, which replaces
the 26 year old reload pass and improves generated code quality. For now
it is active on the x86 and x86-64 targets.
AddressSanitizer, a fast memory error detector, has been added and can be
enabled via -fsanitize=address.
Each diagnostic emitted now includes the original source line and a caret
indicating the column.
The new option -Wpedantic is an alias for -pedantic, which is now deprecated.
The C++ frontend and associated run-time library libstdc++ have gained
support for many additional C++11 features. As with previous releases
the Fortrand frontend has seen many improvements as well.
Support for the AArch64 has been added, and there are many improvements
to the x86/x86-64 backend and others.
See http://gcc.gnu.org/gcc-4.8/changes.html for an extense list of changes;
http://gcc.gnu.org/gcc-4.8/porting_to.html for information on how to port
to that new version.
PR: 192025
Tested by: antoine (-exp runs)
Changes:
* The function setSearchPath has been added to the library
process.s7i.
* The compiler has been improved to write an error message, when the
sets of a case-statement overlap. Until now this situation was only
recognized by the C compiler.
* The interpreter has been improved to raise an exception, when the
current value of a case-statement is element of two sets.
* There have been changes in the libraries makedata.s7i and make.s7i.
* The macro expansion in makedata.s7i has been changed. Now all macro
expansions (except the expansions of internal macros) are done with
the function applyMacros.
* In makedata.s7i the function applyMacros has been improved to
process the makefile macro functions wildcard, error and warning.
* The functions evalFunction and getMacro, that where used to do
macro expansion when the makefile is read, have been removed.
* The code to read the definition of recursively expanded variables
has been changed to do no macro expansion. This macros are expanded
when they are used.
* The library make.s7i has been improved to read the parameters
for the commands rm, cp, and mv as Unix shell parameters (with the
function getUnixCommandParameter).
* The library make.s7i has been improved to read the parameters
for the commands del, copy, xcopy and move as Dos/Windows batch
parameters (with the function getDosCommandParameter).
* Interpreter and compiler have been improved to support the action
CMD_SET_SEARCH_PATH.
* The batch file bin/call_gcc.bat has been changed to work correctly,
when it is called from any directory.
* Writing error messages in error.c has been changed to use prot_...
functions instead of printf.