[PATCH] include: sbi: Don't use #pragma when preprocessing device tree sources

Xiang W wxjstz at 126.com
Wed Jul 9 19:46:46 PDT 2025


在 2025-07-10四的 00:28 +0100,Jessica Clarke写道:
> Since this persists in the preprocessed output (so that it can affect
> the subsequent compilation), it ends up in the input to dtc and is a
> syntax error, breaking the k210 build. Ideally we wouldn't add the
> -include flag to DTSCPPFLAGS in the first place as this header is wholly
> pointless there, but that's a more invasive build system change compared
> to just making this header safe to include there.
> 
> Fixes: 86c01a73ff9d ("lib: sbi: Avoid GOT indirection for global symbol references")
> Signed-off-by: Jessica Clarke <jrtc27 at jrtc27.com>
This error will reappear when PLATFORM=kendryte/k210 LLVM=1.
No problem under gcc.

Tested-by: Xiang W <wxjstz at 126.com>
Reviewed-by: Xiang W <wxjstz at 126.com>
> ---
>  include/sbi/sbi_visibility.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/include/sbi/sbi_visibility.h b/include/sbi/sbi_visibility.h
> index e9c401c..f900c44 100644
> --- a/include/sbi/sbi_visibility.h
> +++ b/include/sbi/sbi_visibility.h
> @@ -7,10 +7,12 @@
>  #ifndef __SBI_VISIBILITY_H__
>  #define __SBI_VISIBILITY_H__
>  
> +#ifndef __DTS__
>  /*
>   * Declare all global objects with hidden visibility so access is PC-relative
>   * instead of going through the GOT.
>   */
>  #pragma GCC visibility push(hidden)
> +#endif
>  
>  #endif
> -- 
> 2.34.1
> 




More information about the opensbi mailing list