This is a FreeBSD/DF cross-compiler targeting FreeBSD/ARM64 (aarch64).
It differs from devel/aarch64-none-elf-gcc in the following ways:
1) uses FreeBSD/ARM64 headers and libs (true sysroot)
2) Supports Ada front end
3) Supports Fortran front end (optionally, default off)
4) Supports ObjC front end (optionally, default off)
It passes all but 5 ACATS tests:
1) c34005o (GNAT ICE, expand_shift_1 at expmed.c:2490)
2) c34007i (GNAT ICE, expand_shift_1 at expmed.c:2490)
3) cb1010a (stack check related)
4) cb1010c (stack check related)
5) cb1010d (stack check related)
Ideally this cross-compiler will lead to a fully native Ada compiler for
FreeBSD/ARM64 which leads to lang/gcc6-aux support, enabling the Ada
framework for that platform.
The gnatdroid binutils and compiler master ports have been expanded to
support an upcoming FreeBSD/DF -to- FreeBSD-ARM64 cross-compiler. This
backports the gcc7 aarch64-*-freebsd* support to gcc6-aux along with a
customization of mine for the gnat compiler.
This also adds the missing LINK_SPEC replacement and removes a
now-obsolete post-extract directory creation. Apparently the fortran
option has been broken since the rebasing on gcc6-aux, now fixed, but
nobody reported it.
src/Http.cpp:771:11: error: cannot initialize a variable of type 'char *' with an rvalue of type 'const char *'
char* cp = strstr(buffer, "Content-Length:");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/downloadmanager.cpp:401:15: error: cannot initialize a variable of type 'char *' with an rvalue
of type 'const char *'
char* extension = strrchr(url, '.');
^ ~~~~~~~~~~~~~~~~~
src/downloadmanager.cpp:561:11: error: cannot initialize a variable of type 'char *' with an rvalue
of type 'const char *'
char* cp = strstr(buffer, "Content-Length:");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/downloadmanager.cpp:575:11: error: cannot initialize a variable of type 'char *' with an rvalue
of type 'const char *'
char* cp = strstr(buffer, "Last-Modified:");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/downloadmanager.cpp:799:24: error: assigning to 'char *' from incompatible type 'const char *'
file = strchr(item->SourceURL().c_str() + 7, '/');
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/player.cpp:552:21: error: assigning to 'char *' from incompatible type 'const char *'
extension = strrchr(url.c_str(), '.');
^~~~~~~~~~~~~~~~~~~~~~~~~
src/player.cpp:1109:17: error: assigning to 'char *' from incompatible type 'const char *'
temp_proto = strstr(title, "://");
^~~~~~~~~~~~~~~~~~~~
src/player.cpp:1129:15: error: assigning to 'char *' from incompatible type 'const char *'
temp_ext = strrchr(title, '.');
^~~~~~~~~~~~~~~~~~~
src/player.cpp:1964:14: error: cannot initialize a variable of type 'char *' with an rvalue of type
'const char *'
char *port = strchr(buffer.c_str(),':');
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
src/playlist.cpp:1964:15: error: cannot initialize a variable of type 'char *' with an rvalue of type
'const char *'
char* extension = strrchr(url, '.');
^ ~~~~~~~~~~~~~~~~~
src/playlist.cpp:2045:15: error: cannot initialize a variable of type 'char *' with an rvalue of type
'const char *'
char* extension = strrchr(url, '.');
^ ~~~~~~~~~~~~~~~~~
src/ThemeZip.cpp:150:15: error: assigning to 'char *' from incompatible type 'const char *'
pPtr = strrchr(oFile.c_str(), DIR_MARKER);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/wavoutpmo.cpp:127:10: error: cannot initialize a variable of type 'char *' with an rvalue of type
'const char *'
char *pPtr = strrchr(GetUrl().c_str(), DIR_MARKER);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/ZinfTheme.cpp:1768:26: error: assigning to 'char *' from incompatible type 'const char *'
pExtension = strrchr((*i).c_str(), '.');
^~~~~~~~~~~~~~~~~~~~~~~~~~
pPtr = strrchr(m_oPath.c_str(), '/');
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unix/src/cdpmo.cpp:116:10: error: cannot initialize a variable of type 'char *' with an rvalue of
type 'const char *'
char *tracknumber = strrchr(url, '/');
^ ~~~~~~~~~~~~~~~~~
unix/src/GTKPreferenceWindow.cpp:1755:20: error: cannot initialize a variable of type 'char *' with
an rvalue of type 'const char *'
char *name = strrchr((*i).second.c_str(), '/');
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unix/src/gtkmusicbrowser.cpp:1206:11: error: cannot initialize a variable of type 'char *' with an rvalue of type 'const char *'
char *ext = strrchr(m_currentListName.c_str(), '.');
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
misc.cpp:109:14: error: assigning to 'char *' from incompatible type 'const char *'
cp = strrchr(url, '.');
^~~~~~~~~~~~~~~~~
id3lib.cpp:366:11: error: cannot initialize a variable of type 'char *' with an rvalue of type
'const char *'
char *ptr = strrchr(url, '.');
^ ~~~~~~~~~~~~~~~~~
id3lib.cpp:426:11: error: assigning to 'char *' from incompatible type 'const char *'
ptr = strrchr(url, '.');
^~~~~~~~~~~~~~~~~
id3lib.cpp:488:11: error: cannot initialize a variable of type 'char *' with an rvalue of type
'const char *'
char *ptr = strrchr(url.c_str(), '.');
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
vorbis.cpp:151:11: error: assigning to 'char *' from incompatible type 'const char *'
ptr = strrchr(url, '.');
^~~~~~~~~~~~~~~~~
Reported by: pkg-fallout
Notable changes:
- Upstream switched versioning from e.g. r131 to v1.7.5, forcing me to
make use of PORTEPOCH.
- (Submitter) pushed a change upstream to add FreeBSD to the OSs
recognized in Makefile, requiring one less search & replace action
in post-patch section.
PR: 216599
Submitted by: martin@waschbuesch.de (maintainer)
This update introduces a dedicated user for uwsgi and introduces the
uwsgi_socket_owner setting which by default is set to www:www. The
previous change to socket mode of 600 has been modified to 660 as well.
This change further increases security while restoring compatibility.
MFH: 2017Q1
Differential Revision: https://reviews.freebsd.org/D9398
Fastcgi allows simple use with NGINX. Memcached is similar to ODBC, in that it
offers another option for more persistent session storage than in-memory.