diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index 6b9fbfe77c4..7e0c2b67ea3 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -469,14 +469,6 @@ qt_internal_extend_target(Core CONDITION MSVC AND (TEST_architecture_arch STREQU "/BASE:0x67000000" ) -# QtCore can't be compiled with -Wl,-no-undefined because it uses the -# "environ" variable and FreeBSD does not include a weak symbol for it -# in libc. -qt_internal_extend_target(Core CONDITION FREEBSD - LINK_OPTIONS - "LINKER:--warn-unresolved-symbols" -) - qt_internal_extend_target(Core CONDITION QT_FEATURE_xmlstream SOURCES serialization/qxmlstream.cpp serialization/qxmlstream.h serialization/qxmlstream_p.h diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp index 7cd379f9fd2..5ada8b520a0 100644 --- a/src/corelib/io/qprocess_unix.cpp +++ b/src/corelib/io/qprocess_unix.cpp @@ -52,6 +52,11 @@ # define O_PATH 0 #endif +#ifdef Q_OS_FREEBSD +__attribute__((weak)) +#endif +extern char **environ; + QT_BEGIN_NAMESPACE using namespace Qt::StringLiterals; @@ -80,10 +85,6 @@ struct PThreadCancelGuard #if !defined(Q_OS_DARWIN) -QT_BEGIN_INCLUDE_NAMESPACE -extern char **environ; -QT_END_INCLUDE_NAMESPACE - QProcessEnvironment QProcessEnvironment::systemEnvironment() { QProcessEnvironment env;