Hi,

On Sat, 16 Sept 2023 at 05:57, Chukun Pan <amad...@jmu.edu.cn> wrote:
>
> When compiling with glibc it will result in error:
> 1. #warning _FORTIFY_SOURCE requires compiling with optimization (-O) 
> [-Werror=cpp]
> Fix this by compiling with optimization (-O2) by default.
>
> 2. jitterentropy-base.c:(.text+0x39f8): undefined reference to `pthread_join'
> Fix this by always linking pthread.
>
> Signed-off-by: Chukun Pan <amad...@jmu.edu.cn>
> ---
>  CMakeLists.txt | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index a1ee0c1..20f4774 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -23,7 +23,8 @@ ADD_EXECUTABLE(urngd
>  TARGET_LINK_LIBRARIES(urngd ${ubox})
>
>  # jitter RNG must not be compiled with optimizations
> -SET_SOURCE_FILES_PROPERTIES(${JTEN_DIR}/jitterentropy-base.c PROPERTIES 
> COMPILE_FLAGS -O0)
> +SET_SOURCE_FILES_PROPERTIES(${JTEN_DIR}/jitterentropy-base.c PROPERTIES 
> COMPILE_FLAGS -O2)

As mentioned by Andre, -O0 is intentional. Instead, try adding
-U_FORTIFY_SOURCE which disables it for this unit only.

For both glibc and musl, optimizatios need to be enabled for fortify
source to do anything, but only glibc warns about it, so disabling it
for this unit shouldn't change the generated code at all, just silence
the warning for glibc.

Regards,
Jonas

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to