diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e8c9db6b7c0941789020bdca76b195fa4fcbb82c..df65303c5f108ca90d1ac08c650d45b43554f299 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -55,3 +55,12 @@ build:amd64.macos: script: - mkdir build - cd build && $(${OSXCROSS_ROOT}/bin/osxcross-conf) && export OSXCROSS_NO_INCLUDE_PATH_WARNINGS=1 && export OSXCROSS_HOST=x86_64-apple-darwin20.4 && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${OSXCROSS_ROOT}/toolchain.cmake -DBoost_INCLUDE_DIR=$BOOST_INCLUDE_DIR .. && make -j$(nproc) + + +build:any.android: + extends: .tests + image: demlabs/android/any:qt5 + before_script: /opt/buildtools/prepare_environment.sh amd64-osx + script: + - mkdir build + - cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${ANDROID_CMAKE_TOOLCHAIN} .. && make -j$(nproc) diff --git a/cmake/OS_Detection.cmake b/cmake/OS_Detection.cmake index cc29d3333c646fe8db741f6c302a49d3382a042c..032f6ec88db1dc568701acb01f167c40c231e976 100644 --- a/cmake/OS_Detection.cmake +++ b/cmake/OS_Detection.cmake @@ -102,8 +102,8 @@ if(UNIX) set(CCOPT_SYSTEM "") set(LDOPT_SYSTEM "") if(DAP_DEBUG) - set(_CCOPT "-DDAP_DEBUG ${CFLAGS_WARNINGS} -pg -g3 -ggdb -fno-eliminate-unused-debug-symbols -fno-strict-aliasing -std=gnu1x") - set(_LOPT "-pg") + set(_CCOPT "-DDAP_DEBUG ${CFLAGS_WARNINGS} -g3 -ggdb -fno-eliminate-unused-debug-symbols -fno-strict-aliasing -std=gnu1x") + if (DEFINED ENV{DAP_ASAN}) message("[!] Address Sanitizer enabled") set(_CCOPT "${_CCOPT} -fsanitize=address -fsanitize-address-use-after-scope -fno-omit-frame-pointer -fno-common -O1") @@ -125,7 +125,6 @@ if(UNIX) set(_CCOPT "${_CCOPT} -fsanitize=undefined -fsanitize=bounds -fno-omit-frame-pointer") set(_LOPT "${_LOPT} -fsanitize=undefined") endif() - SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pg") else() set(_CCOPT "${CFLAGS_WARNINGS} -fno-ident -ffast-math -ftree-vectorize -fno-asynchronous-unwind-tables -ffunction-sections -Wl,--gc-sections -std=gnu11") if (DEFINED ENV{DAP_ASAN}) @@ -172,9 +171,7 @@ if(UNIX) set(CCOPT_SYSTEM "-L/usr/local/lib -I/usr/local/include") set(LDOPT_SYSTEM "-L/usr/local/lib") if(DAP_DEBUG) - set(_CCOPT "${CCOPT_SYSTEM} -DDAP_DEBUG ${CFLAGS_WARNINGS} -pg -g3 -ggdb -fno-eliminate-unused-debug-symbols -fno-strict-aliasing") - set(_LOPT "-pg ${LDOPT_SYSTEM} ") - SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pg") + set(_CCOPT "${CCOPT_SYSTEM} -DDAP_DEBUG ${CFLAGS_WARNINGS} -g3 -ggdb -fno-eliminate-unused-debug-symbols -fno-strict-aliasing") else() set(_CCOPT "${CCOPT_SYSTEM} ${CFLAGS_WARNINGS} -O3 -fPIC -fno-strict-aliasing -fno-ident -ffast-math -ftree-vectorize -fno-asynchronous-unwind-tables -ffunction-sections -std=gnu11") set(_LOPT "${LDOPT_SYSTEM} ") diff --git a/core/src/unix/linux/dap_network_monitor.c b/core/src/unix/linux/dap_network_monitor.c index 4f5cbf27bed359ef1058d3f3d164f8b3ba0014e0..ec6ddaac872d612c8399d83603d066cb5932a1d4 100755 --- a/core/src/unix/linux/dap_network_monitor.c +++ b/core/src/unix/linux/dap_network_monitor.c @@ -153,7 +153,7 @@ static void _route_msg_handler(struct nlmsghdr *nlh, route_attribute_len = RTM_PAYLOAD(nlh); - for ( ; NLMSG_OK(nlh, received_bytes); \ + for ( ; NLMSG_OK(nlh, (size_t)received_bytes); \ nlh = NLMSG_NEXT(nlh, received_bytes)) { /* Get the route data */ @@ -246,7 +246,7 @@ static void* network_monitor_worker(void *arg) while ((len = recvmsg(_net_notification.socket, &msg, 0)) > 0){ _send_NLM_F_ACK_msg(_net_notification.socket); - for (nlh = (struct nlmsghdr *) buf; (NLMSG_OK(nlh, len)) && (nlh->nlmsg_type != NLMSG_DONE); nlh = NLMSG_NEXT(nlh, len)) { + for (nlh = (struct nlmsghdr *) buf; (NLMSG_OK(nlh, (size_t)len)) && (nlh->nlmsg_type != NLMSG_DONE); nlh = NLMSG_NEXT(nlh, len)) { if (nlh->nlmsg_type == NLMSG_ERROR){ /* Do some error handling. */ log_it(L_DEBUG, "There an error! nlmsg_type %d", nlh->nlmsg_type); diff --git a/crypto/XKCP/CMakeLists.txt b/crypto/XKCP/CMakeLists.txt index 6e221138c51bf1c19de2b6c89a6ad09e41f73192..8a5df4b8454ae69bbebb6fefcfe489ad56865215 100644 --- a/crypto/XKCP/CMakeLists.txt +++ b/crypto/XKCP/CMakeLists.txt @@ -65,6 +65,7 @@ message("[*] XKCP target: ${TARGET_ARCH} ${XKCP_TARGET}") message("[*] XKCP build dir: ${XKCP_BUILD_DIR}") message("[*] XKCP make command: ${MAKE}") message("[*] XKCP make CC: ${CMAKE_C_COMPILER}") +message("[*] XKCP make COMPILER_TARGET: ${CMAKE_C_COMPILER_TARGET}") message("[*] XKCP make AR: ${CMAKE_AR}") message("[*] XKCP compiller supports -march=native: ${COMPILER_SUPPORTS_MARCH_NATIVE}") message("[*] XKCP SYSROOT: ${CMAKE_OSX_SYSROOT}") @@ -74,8 +75,16 @@ SET(XKCP_BUILD_LIB ${XKCP_BUILD_DIR}/bin/${XKCP_TARGET}) file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/ DESTINATION ${XKCP_BUILD_DIR}) +if (CMAKE_C_COMPILER_TARGET) + set(MAKE_C_FLAGS "--target=${CMAKE_C_COMPILER_TARGET} ${CMAKE_C_FLAGS} ") +else() + set(MAKE_C_FLAGS "${CMAKE_C_FLAGS}") +endif() + +message("[*] XKCP CFLAGS: ${MAKE_C_FLAGS}") + add_custom_target(BuildXKCP ALL - COMMAND ${CMAKE_COMMAND} -E env AR=${CMAKE_AR} CC=${CMAKE_C_COMPILER} SDKROOT=${CMAKE_OSX_SYSROOT} ${MAKE} -C ./xkcp_build_src ${XKCP_TARGET} + COMMAND ${CMAKE_COMMAND} -E env AR=${CMAKE_AR} CC=${CMAKE_C_COMPILER} CFLAGS=${MAKE_C_FLAGS} SDKROOT=${CMAKE_OSX_SYSROOT} ${MAKE} -C ./xkcp_build_src ${XKCP_TARGET} BYPRODUCTS ${XKCP_BUILD_LIB} ) diff --git a/crypto/XKCP/lib/LowLevel.build b/crypto/XKCP/lib/LowLevel.build index fa97960e979d1707ca89f0302ab54f644d02fe27..0f6de1db4c8a6c6509f2e2b664ce0d39ded29df2 100644 --- a/crypto/XKCP/lib/LowLevel.build +++ b/crypto/XKCP/lib/LowLevel.build @@ -118,7 +118,6 @@ The fragments below allow to select the desired implementation of the permutatio <gcc>-fomit-frame-pointer</gcc> <gcc>-O2</gcc> <gcc>-g0</gcc> - <gcc>-mtune=native</gcc> </fragment> <fragment name="optimized-march-native"> diff --git a/crypto/XKCP/libdap-xkcp-armv7.build b/crypto/XKCP/libdap-xkcp-armv7.build index 5e08894033b3ebde971e4dc4b9290a13c61b1dc3..1e69adddff52760775c9effedad762b9fcbecb9d 100644 --- a/crypto/XKCP/libdap-xkcp-armv7.build +++ b/crypto/XKCP/libdap-xkcp-armv7.build @@ -1,5 +1,5 @@ <?xml version="1.0"?> <group> - <target name="libdap-XKCP-armv7.a" inherits="FIPS202 K1600-ARMv7A-NEON"/> - <target name="libdap-XKCP-armv7-native.a" inherits="FIPS202 K1600-ARMv7A-NEON optimized-march-native"/> + <target name="libdap-XKCP-armv7.a" inherits="FIPS202 K1600-plain-64bits-lcua"/> + <target name="libdap-XKCP-armv7-native.a" inherits="FIPS202 K1600-plain-64bits-lcua optimized-march-native"/> </group> \ No newline at end of file diff --git a/crypto/XKCP/libdap-xkcp-armv8.build b/crypto/XKCP/libdap-xkcp-armv8.build index ee8a334f7006878edb4781e3151dda8a8cdabfec..9cc2c068271a58eb0a9408da56b777f75f38493f 100644 --- a/crypto/XKCP/libdap-xkcp-armv8.build +++ b/crypto/XKCP/libdap-xkcp-armv8.build @@ -1,5 +1,5 @@ <?xml version="1.0"?> <group> <target name="libdap-XKCP-armv8.a" inherits="FIPS202 K1600-plain-64bits-lcua"/> - <target name="libdap-XKCP-armv8-native.a" inherits="FIPS202 K1600-plain-64bits-lcua optimized-march-native"/> + <target name="libdap-XKCP-armv8-native.a" inherits="FIPS202 K1600-plain-64bits-lcua"/> </group> \ No newline at end of file