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_options(${PROJECT_NAME}_objlib
|
||||
PRIVATE -Wall -Wextra -Wsign-compare -Wformat-security)
|
||||
target_compile_options(${PROJECT_NAME}_objlib
|
||||
PRIVATE -Wno-unknown-pragmas -Wno-unused-parameter)
|
||||
if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 7)
|
||||
target_compile_options(${PROJECT_NAME}_objlib
|
||||
PRIVATE -Wno-implicit-fallthrough)
|
||||
endif()
|
||||
target_compile_options(${PROJECT_NAME}_objlib
|
||||
PRIVATE -Wall -Wextra -Wsign-compare -Wformat-security)
|
||||
target_compile_options(${PROJECT_NAME}_objlib
|
||||
PRIVATE -Wstack-protector -Winit-self)
|
||||
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)
|
||||
target_compile_options(${PROJECT_NAME}_objlib PRIVATE -mmitigate-rop)
|
||||
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)
|
||||
|
||||
|
|
|
@ -97,7 +97,12 @@ extern errno_t wmemmove_s(wchar_t *dest, rsize_t dmax,
|
|||
|
||||
|
||||
/* 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 */
|
||||
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
|
||||
*
|
||||
|
@ -37,12 +37,12 @@
|
|||
|
||||
/**
|
||||
* NAME
|
||||
* memset_s
|
||||
* memset8_s
|
||||
*
|
||||
* SYNOPSIS
|
||||
* #include "safe_mem_lib.h"
|
||||
* errno_t
|
||||
* memset_s(void *dest, rsize_t len, uint8_t value)
|
||||
* memset8_s(void *dest, rsize_t len, uint8_t value)
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Sets len bytes starting at dest to the specified value.
|
||||
|
@ -78,22 +78,22 @@
|
|||
*
|
||||
*/
|
||||
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) {
|
||||
invoke_safe_mem_constraint_handler("memset_s: dest is null",
|
||||
invoke_safe_mem_constraint_handler("memset8_s: dest is null",
|
||||
NULL, ESNULLP);
|
||||
return (RCNEGATE(ESNULLP));
|
||||
}
|
||||
|
||||
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);
|
||||
return (RCNEGATE(ESZEROL));
|
||||
}
|
||||
|
||||
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);
|
||||
return (RCNEGATE(ESLEMAX));
|
||||
}
|
||||
|
@ -102,4 +102,4 @@ memset_s (void *dest, rsize_t len, uint8_t value)
|
|||
|
||||
return (RCNEGATE(EOK));
|
||||
}
|
||||
EXPORT_SYMBOL(memset_s)
|
||||
EXPORT_SYMBOL(memset8_s)
|
||||
|
|
Loading…
Reference in New Issue