Followup on r483807.

jbeich commented on some ports in D17724 but I forgot to add them to the list.

Submitted by:	rene
Reviewed by:	bapt, jbeich
Differential Revision: https://reviews.freebsd.org/D17724
This commit is contained in:
Rene Ladan 2018-11-02 13:40:24 +00:00
parent 8a502cb2d4
commit b7499ae64d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=483808
11 changed files with 4 additions and 170 deletions

View File

@ -4,15 +4,8 @@ MAKE_CMD= bjam
MAKEFILE= #
MAKE_FLAGS= #
ALL_TARGET= stage
# XXX Drop conditional after 10.4 EOL as both libstdc++ 7 and libc++ 6
# have near complete C++17 support.
.if exists(/usr/lib/libstdc++.so) || exists(/usr/include/c++/v1/__undef_macros)
USES+= compiler:c++17-lang
USE_CXXSTD= gnu++17
.else
USES+= compiler:c++14-lang
USE_CXXSTD= gnu++14
.endif
PLIST_SUB+= BOOST_SHARED_LIB_VER=${PORTVERSION}

View File

@ -10,7 +10,7 @@ stack_printer.cpp:329:18: error: assigning to 'char *' from incompatible type 'v
stack_t ss = {};
/* malloc is usually used here, I'm not 100% sure my static allocation
is valid but it seems to work just fine. */
+#if defined(__DragonFly__) || (defined(__FreeBSD__) && __FreeBSD__ < 11)
+#if defined(__DragonFly__)
+ ss.ss_sp = (char*)alternate_stack;
+#else
ss.ss_sp = (void*)alternate_stack;

View File

@ -1,16 +1,13 @@
- Implement futex_wake() and futex_wait() via _umtx_op()
--- src/util/futex.h.orig 2018-01-23 18:08:50 UTC
--- src/util/futex.h.orig 2018-09-24 16:00:57 UTC
+++ src/util/futex.h
@@ -29,10 +29,35 @@
@@ -29,10 +29,32 @@
#include <limits.h>
#include <stdint.h>
#include <unistd.h>
+#if defined(__FreeBSD__)
+#include <errno.h>
+# if __FreeBSD__ < 11
+# include <machine/atomic.h>
+# endif
+#include <sys/umtx.h>
+#else
#include <linux/futex.h>
@ -38,7 +35,7 @@
static inline long sys_futex(void *addr1, int op, int val1, const struct timespec *timeout, void *addr2, int val3)
{
return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
@@ -50,6 +75,7 @@ static inline int futex_wait(uint32_t *addr, int32_t v
@@ -50,6 +72,7 @@ static inline int futex_wait(uint32_t *addr, int32_t v
return sys_futex(addr, FUTEX_WAIT_BITSET, value, timeout, NULL,
FUTEX_BITSET_MATCH_ANY);
}

View File

@ -1,17 +0,0 @@
Fixes build on FreeBSD 10.* with ICU >= 59
In file included from icu.cpp:34:
In file included from /usr/local/include/unicode/utypes.h:38:
/usr/local/include/unicode/umachine.h:347:13: error: unknown type name 'char16_t'
typedef char16_t UChar;
^
--- src/qt/qtbase/config.tests/unix/icu/icu.pro.orig 2015-12-12 12:58:05 UTC
+++ src/qt/qtbase/config.tests/unix/icu/icu.pro
@@ -1,5 +1,5 @@
SOURCES = icu.cpp
-CONFIG += console
+CONFIG += c++11 console
CONFIG -= qt dylib
include($$PWD/../../../src/3rdparty/icu_dependency.pri)

View File

@ -1,16 +0,0 @@
To be removed after FreeBSD 10.* EOL
--- ipc/glue/MessageChannel.cpp.orig 2017-11-02 16:16:32 UTC
+++ ipc/glue/MessageChannel.cpp
@@ -685,6 +685,11 @@ MessageChannel::WillDestroyCurrentMessageLoop()
mWorkerLoop = nullptr;
}
+#if defined(_LIBCPP_VERSION) && _LIBCPP_VERSION < 4000
+// Work around UB in __tree crashing mPendingPromises.clear()
+// http://llvm.org/viewvc/llvm-project?view=revision&revision=276003
+[[clang::optnone]]
+#endif
void
MessageChannel::Clear()
{

View File

@ -1,31 +0,0 @@
<stdint.h> isn't bootlegged via gtest.h on FreeBSD 10.* leading to
In file included from test/horz_superres_test.cc:14:
In file included from av1/encoder/encoder.h:36:
av1/encoder/rd.h:304:26: error: use of undeclared identifier 'INT64_MAX'
rd_stats->ref_rdcost = INT64_MAX;
^
av1/encoder/rd.h:325:20: error: use of undeclared identifier 'INT64_MAX'
rd_stats->dist = INT64_MAX;
^
av1/encoder/rd.h:326:22: error: use of undeclared identifier 'INT64_MAX'
rd_stats->rdcost = INT64_MAX;
^
av1/encoder/rd.h:327:19: error: use of undeclared identifier 'INT64_MAX'
rd_stats->sse = INT64_MAX;
^
av1/encoder/rd.h:331:26: error: use of undeclared identifier 'INT64_MAX'
rd_stats->ref_rdcost = INT64_MAX;
^
5 errors generated.
--- av1/encoder/rd.h.orig 2018-06-25 14:54:59 UTC
+++ av1/encoder/rd.h
@@ -13,6 +13,7 @@
#define AV1_ENCODER_RD_H_
#include <limits.h>
+#include <stdint.h>
#include "av1/common/blockd.h"

View File

@ -1,11 +0,0 @@
--- src/freebsd_sysctl.c.orig 2017-03-20 18:26:59 UTC
+++ src/freebsd_sysctl.c
@@ -1,3 +1,8 @@
+#if __FreeBSD__ < 11 || __FreeBSD_version < 1100000
+#define _IFI_OQDROPS
+#define _IN_NET_RTSOCK_C
+#endif
+
#include "common.h"
#include <sys/vmmeter.h>

View File

@ -1,15 +0,0 @@
Drop once FreeBSD 10.* is EOL as USE_GCC defaultso to >= 6 since 2017-09-10.
https://github.com/harfbuzz/harfbuzz/issues/1338
--- src/test-ot-color.cc.orig 2018-10-30 05:40:14 UTC
+++ src/test-ot-color.cc
@@ -23,7 +23,7 @@
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
*/
-#include "hb.h"
+#include "hb.hh"
#include "hb-ot.h"
#include "hb-ft.h"

View File

@ -1,39 +0,0 @@
Fixes the build on 10.4 with clang 3.4.1.
TexRow.cpp:271:6: error: return type 'const TexRow::TextEntry' must match previous return type 'TexRow::TextEntry' when lambda expression has unspecified explicit return type
return text_none;
^
TexRow.cpp:273:3: error: return type 'const TexRow::TextEntry' must match previous return type 'TexRow::TextEntry' when lambda expression has unspecified explicit return type
return text_none;
^
TexRow.cpp:288:6: error: return type 'lyx::TexRow::TextEntry' must match previous return type 'const TexRow::TextEntry' when lambda expression has unspecified explicit return type
return last_pos;
^
TexRow.cpp:290:6: error: return type 'struct TextEntry' must match previous return type 'const TexRow::TextEntry' when lambda expression has unspecified explicit return type
return entry.text;
^
TexRow.cpp:293:3: error: return type 'lyx::TexRow::TextEntry' must match previous return type 'const TexRow::TextEntry' when lambda expression has unspecified explicit return type
return last_pos;
^
Not upstreamable, this seems to be a workaround for a compiler bug.
--- src/TexRow.cpp.orig 2018-02-25 00:11:18 UTC
+++ src/TexRow.cpp
@@ -260,7 +260,7 @@ TexRow::getEntriesFromRow(int const row) const
return {text_none, text_none};
// find the start entry
- TextEntry const start = [&]() {
+ TextEntry const start = [&]() -> TextEntry const {
for (size_t j = i; j > 0; --j) {
if (!isNone(rowlist_[j].getTextEntry()))
return rowlist_[j].getTextEntry();
@@ -274,7 +274,7 @@ TexRow::getEntriesFromRow(int const row) const
} ();
// find the end entry
- TextEntry end = [&]() {
+ TextEntry end = [&]() -> TextEntry const {
if (isNone(start))
return text_none;
// select up to the last position of the starting paragraph as a

View File

@ -1,11 +0,0 @@
Can be removed when 10.4 goes out of support.
--- plugins/node.d/ping_.in.orig 2018-03-28 19:36:43 UTC
+++ plugins/node.d/ping_.in
@@ -91,5 +91,5 @@ fi
# shellcheck disable=SC2086
-"${ping:-$PING}" ${ping_args:-'-c 2'} "${host}" ${ping_args2:-} \
+"${ping:-$PING}" ${ping_args:-'-c 2'} "${host}" ${ping_args2:- } \
| perl -n -e 'print "ping.value ", $1 / 1000, "\n" if m@min/avg/max.*\s\d+(?:\.\d+)?/(\d+(?:\.\d+)?)/\d+(?:\.\d+)?@; print "packetloss.value $1\n" if /(\d+)% packet loss/;'

View File

@ -1,16 +0,0 @@
To be removed after FreeBSD 10.* EOL
--- ipc/glue/MessageChannel.cpp.orig 2017-11-02 16:16:32 UTC
+++ ipc/glue/MessageChannel.cpp
@@ -685,6 +685,11 @@ MessageChannel::WillDestroyCurrentMessageLoop()
mWorkerLoop = nullptr;
}
+#if defined(_LIBCPP_VERSION) && _LIBCPP_VERSION < 4000
+// Work around UB in __tree crashing mPendingPromises.clear()
+// http://llvm.org/viewvc/llvm-project?view=revision&revision=276003
+[[clang::optnone]]
+#endif
void
MessageChannel::Clear()
{