mirror of https://github.com/citusdata/citus.git
Fix safestringlib build on OSX
parent
8ca55c739f
commit
92d7a40d1d
|
@ -145,14 +145,14 @@ set_target_properties(${PROJECT_NAME}_objlib
|
||||||
|
|
||||||
target_compile_definitions(${PROJECT_NAME}_objlib PRIVATE -DSTDC_HEADERS)
|
target_compile_definitions(${PROJECT_NAME}_objlib PRIVATE -DSTDC_HEADERS)
|
||||||
|
|
||||||
|
target_compile_options(${PROJECT_NAME}_objlib
|
||||||
|
PRIVATE -Wall -Wextra -Wsign-compare -Wformat-security)
|
||||||
target_compile_options(${PROJECT_NAME}_objlib
|
target_compile_options(${PROJECT_NAME}_objlib
|
||||||
PRIVATE -Wno-unknown-pragmas -Wno-unused-parameter)
|
PRIVATE -Wno-unknown-pragmas -Wno-unused-parameter)
|
||||||
if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 7)
|
if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 7)
|
||||||
target_compile_options(${PROJECT_NAME}_objlib
|
target_compile_options(${PROJECT_NAME}_objlib
|
||||||
PRIVATE -Wno-implicit-fallthrough)
|
PRIVATE -Wno-implicit-fallthrough)
|
||||||
endif()
|
endif()
|
||||||
target_compile_options(${PROJECT_NAME}_objlib
|
|
||||||
PRIVATE -Wall -Wextra -Wsign-compare -Wformat-security)
|
|
||||||
target_compile_options(${PROJECT_NAME}_objlib
|
target_compile_options(${PROJECT_NAME}_objlib
|
||||||
PRIVATE -Wstack-protector -Winit-self)
|
PRIVATE -Wstack-protector -Winit-self)
|
||||||
target_compile_options(${PROJECT_NAME}_objlib
|
target_compile_options(${PROJECT_NAME}_objlib
|
||||||
|
@ -166,7 +166,10 @@ target_compile_options(${PROJECT_NAME}_objlib PRIVATE -fPIE -fPIC)
|
||||||
if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 6)
|
if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 6)
|
||||||
target_compile_options(${PROJECT_NAME}_objlib PRIVATE -mmitigate-rop)
|
target_compile_options(${PROJECT_NAME}_objlib PRIVATE -mmitigate-rop)
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -z noexecstack -z relro -z now")
|
if(APPLE)
|
||||||
|
elseif(UNIX)
|
||||||
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -z noexecstack -z relro -z now")
|
||||||
|
endif()
|
||||||
|
|
||||||
option(BUILD_ERROR_ON_WARNING "Fail compilation on warning" OFF)
|
option(BUILD_ERROR_ON_WARNING "Fail compilation on warning" OFF)
|
||||||
|
|
||||||
|
|
|
@ -97,7 +97,12 @@ extern errno_t wmemmove_s(wchar_t *dest, rsize_t dmax,
|
||||||
|
|
||||||
|
|
||||||
/* set bytes */
|
/* set bytes */
|
||||||
extern errno_t memset_s(void *dest, rsize_t dmax, uint8_t value);
|
/* NOTE: This name is changed from memset_s to memset8_s out because it does
|
||||||
|
* not match with the C11 declaration of memset_s on OSX. The upstream issue
|
||||||
|
* can be found here:
|
||||||
|
* https://github.com/intel/safestringlib/issues/14
|
||||||
|
*/
|
||||||
|
extern errno_t memset8_s(void *dest, rsize_t dmax, uint8_t value);
|
||||||
|
|
||||||
/* set uint16_t */
|
/* set uint16_t */
|
||||||
extern errno_t memset16_s(uint16_t *dest, rsize_t dmax, uint16_t value);
|
extern errno_t memset16_s(uint16_t *dest, rsize_t dmax, uint16_t value);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*------------------------------------------------------------------
|
/*------------------------------------------------------------------
|
||||||
* memset_s
|
* memset8_s
|
||||||
*
|
*
|
||||||
* October 2008, Bo Berry
|
* October 2008, Bo Berry
|
||||||
*
|
*
|
||||||
|
@ -37,12 +37,12 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NAME
|
* NAME
|
||||||
* memset_s
|
* memset8_s
|
||||||
*
|
*
|
||||||
* SYNOPSIS
|
* SYNOPSIS
|
||||||
* #include "safe_mem_lib.h"
|
* #include "safe_mem_lib.h"
|
||||||
* errno_t
|
* errno_t
|
||||||
* memset_s(void *dest, rsize_t len, uint8_t value)
|
* memset8_s(void *dest, rsize_t len, uint8_t value)
|
||||||
*
|
*
|
||||||
* DESCRIPTION
|
* DESCRIPTION
|
||||||
* Sets len bytes starting at dest to the specified value.
|
* Sets len bytes starting at dest to the specified value.
|
||||||
|
@ -78,22 +78,22 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
errno_t
|
errno_t
|
||||||
memset_s (void *dest, rsize_t len, uint8_t value)
|
memset8_s (void *dest, rsize_t len, uint8_t value)
|
||||||
{
|
{
|
||||||
if (dest == NULL) {
|
if (dest == NULL) {
|
||||||
invoke_safe_mem_constraint_handler("memset_s: dest is null",
|
invoke_safe_mem_constraint_handler("memset8_s: dest is null",
|
||||||
NULL, ESNULLP);
|
NULL, ESNULLP);
|
||||||
return (RCNEGATE(ESNULLP));
|
return (RCNEGATE(ESNULLP));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len == 0) {
|
if (len == 0) {
|
||||||
invoke_safe_mem_constraint_handler("memset_s: len is 0",
|
invoke_safe_mem_constraint_handler("memset8_s: len is 0",
|
||||||
NULL, ESZEROL);
|
NULL, ESZEROL);
|
||||||
return (RCNEGATE(ESZEROL));
|
return (RCNEGATE(ESZEROL));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len > RSIZE_MAX_MEM) {
|
if (len > RSIZE_MAX_MEM) {
|
||||||
invoke_safe_mem_constraint_handler("memset_s: len exceeds max",
|
invoke_safe_mem_constraint_handler("memset8_s: len exceeds max",
|
||||||
NULL, ESLEMAX);
|
NULL, ESLEMAX);
|
||||||
return (RCNEGATE(ESLEMAX));
|
return (RCNEGATE(ESLEMAX));
|
||||||
}
|
}
|
||||||
|
@ -102,4 +102,4 @@ memset_s (void *dest, rsize_t len, uint8_t value)
|
||||||
|
|
||||||
return (RCNEGATE(EOK));
|
return (RCNEGATE(EOK));
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(memset_s)
|
EXPORT_SYMBOL(memset8_s)
|
||||||
|
|
Loading…
Reference in New Issue