Skip to content
This repository has been archived by the owner on Dec 1, 2022. It is now read-only.

Adapte to kylin and mips64el #588

Merged
merged 3 commits into from
Jul 26, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 50 additions & 5 deletions cmake/CPackage.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,29 @@ macro(package to_one name home_page scripts_dir)
set(CPACK_GENERATOR "RPM")
file (STRINGS "/etc/redhat-release" SYSTEM_NAME)
if (${SYSTEM_NAME} MATCHES "CentOS")
set(HOST_SYSTEM_NAME "el")
execute_process(
COMMAND echo ${SYSTEM_NAME}
COMMAND tr -dc "0-9."
COMMAND cut -d "." -f1
OUTPUT_VARIABLE HOST_SYSTEM_VER
OUTPUT_STRIP_TRAILING_WHITESPACE
)
string(CONCAT HOST_SYSTEM_VER "el" ${HOST_SYSTEM_VER})
string(CONCAT HOST_SYSTEM_VER ${HOST_SYSTEM_NAME} ${HOST_SYSTEM_VER})
elseif (${SYSTEM_NAME} MATCHES "Fedora")
set(HOST_SYSTEM_NAME "fc")
execute_process(
COMMAND echo ${SYSTEM_NAME}
COMMAND cut -d " " -f3
OUTPUT_VARIABLE HOST_SYSTEM_VER
OUTPUT_STRIP_TRAILING_WHITESPACE
)
string(CONCAT HOST_SYSTEM_VER "fc" ${HOST_SYSTEM_VER})
string(CONCAT HOST_SYSTEM_VER ${HOST_SYSTEM_NAME} ${HOST_SYSTEM_VER})
else()
set(HOST_SYSTEM_VER "Unknown")
endif()
elseif (EXISTS "/etc/lsb-release")
set(HOST_SYSTEM_NAME "ubuntu")
set(CPACK_GENERATOR "DEB")
file (STRINGS "/etc/lsb-release" SYSTEM_NAME)
execute_process(
Expand All @@ -50,22 +53,64 @@ macro(package to_one name home_page scripts_dir)
OUTPUT_STRIP_TRAILING_WHITESPACE
)
string(REPLACE "." "" HOST_SYSTEM_VER ${HOST_SYSTEM_VER})
string(CONCAT HOST_SYSTEM_VER "ubuntu" ${HOST_SYSTEM_VER})
string(CONCAT HOST_SYSTEM_VER ${HOST_SYSTEM_NAME} ${HOST_SYSTEM_VER})
elseif (EXISTS "/etc/issue")
set(CPACK_GENERATOR "DEB")
file (STRINGS "/etc/issue" SYSTEM_NAME)
execute_process(
COMMAND echo "${SYSTEM_NAME}"
COMMAND sed -n "1p"
COMMAND cut -d " " -f 1
OUTPUT_VARIABLE HOST_SYSTEM_NAME
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND echo "${SYSTEM_NAME}"
COMMAND sed -n "1p"
COMMAND cut -d " " -f 3
OUTPUT_VARIABLE HOST_SYSTEM_VER
OUTPUT_STRIP_TRAILING_WHITESPACE
)
string(CONCAT HOST_SYSTEM_VER "debian" ${HOST_SYSTEM_VER})
if (${HOST_SYSTEM_NAME} MATCHES "Debian")
execute_process(
COMMAND echo "${SYSTEM_NAME}"
COMMAND sed -n "1p"
COMMAND cut -d " " -f 3
OUTPUT_VARIABLE HOST_SYSTEM_VER
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(CPACK_GENERATOR "DEB")
# Adapt the Kylin system
elseif (${HOST_SYSTEM_NAME} MATCHES "Kylin" AND ${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "aarch64")
execute_process(
COMMAND echo "${SYSTEM_NAME}"
COMMAND sed -n "1p"
COMMAND cut -d " " -f 2
OUTPUT_VARIABLE HOST_SYSTEM_VER
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64")
set(CPACK_GENERATOR "DEB")
elseif (${HOST_SYSTEM_NAME} MATCHES "NeoKylin" AND ${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "mips64")
execute_process(
COMMAND echo "${SYSTEM_NAME}"
COMMAND sed -n "1p"
COMMAND cut -d " " -f 4
OUTPUT_VARIABLE HOST_SYSTEM_VER
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(CMAKE_HOST_SYSTEM_PROCESSOR "mips64el")
set(CPACK_GENERATOR "RPM")
endif()
string(CONCAT HOST_SYSTEM_VER ${HOST_SYSTEM_NAME} ${HOST_SYSTEM_VER})
set(CMAKE_HOST_SYSTEM_PROCESSOR "mips64el")
else()
set(HOST_SYSTEM_VER "Unknown")
endif()

message(STATUS "HOST_SYSTEM_NAME is ${HOST_SYSTEM_NAME}")
message(STATUS "HOST_SYSTEM_VER is ${HOST_SYSTEM_VER}")
message(STATUS "CPACK_GENERATOR is ${CPACK_GENERATOR}")
message(STATUS "CMAKE_HOST_SYSTEM_PROCESSOR is ${CMAKE_HOST_SYSTEM_PROCESSOR}")

set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}.${HOST_SYSTEM_VER}.${CMAKE_HOST_SYSTEM_PROCESSOR})
if (${to_one})
Expand Down
16 changes: 12 additions & 4 deletions cmake/nebula/LinkerConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ nebula_add_exe_linker_flag(-rdynamic)
if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
add_definitions(-D_FORTIFY_SOURCE=2)
else()
# The mips need to add it when build Debug to lift the usual restrictions on the size of the global offset table.
if (${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "mips64")
add_compile_options(-mxgot)
endif()

if (NOT ${NEBULA_USE_LINKER} STREQUAL "gold" AND NOT ENABLE_GDB_SCRIPT_SECTION)
# `gold' linker is buggy for `--gc-sections', disabled for it
# `gc-sections' will discard the `.debug_gdb_scripts' section if enabled
Expand All @@ -38,10 +43,13 @@ else()
endif()

if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
if(ENABLE_COMPRESSED_DEBUG_INFO)
nebula_add_exe_linker_flag(-Wl,--compress-debug-sections=zlib)
else()
nebula_remove_exe_linker_flag(-Wl,--compress-debug-sections=zlib)
# The mips not supported
if (NOT ${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "mips64")
if(ENABLE_COMPRESSED_DEBUG_INFO)
nebula_add_exe_linker_flag(-Wl,--compress-debug-sections=zlib)
else()
nebula_remove_exe_linker_flag(-Wl,--compress-debug-sections=zlib)
endif()
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
add_compile_options(-fno-limit-debug-info)
Expand Down
1 change: 1 addition & 0 deletions src/common/base/ObjectPool.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include <folly/SpinLock.h>

#include "common/cpp/helpers.h"
#include "common/base/Logging.h"

namespace nebula {

Expand Down
2 changes: 1 addition & 1 deletion src/common/time/WallClock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ int64_t WallClock::fastNowInMilliSec() {
int64_t WallClock::fastNowInMicroSec() {
return TscHelper::tickToTimePointInUSec(TscHelper::readTsc());
}
#elif defined(__aarch64__) || defined(__arm64__)
#elif defined(__aarch64__) || defined(__arm64__) || defined(__mips64)
int64_t WallClock::fastNowInSec() {
return WallClock::slowNowInSec();
}
Expand Down