On Fri, 13 Dec 2024, Jacek Caban wrote:

>
> This change is based on Wine's winnt.h implementation. Using a register
> variable for NtCurrentTeb
> allows the compiler to optimize the access more effectively.
> ---
>  mingw-w64-headers/include/winnt.h | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
>
> diff --git a/mingw-w64-headers/include/winnt.h 
> b/mingw-w64-headers/include/winnt.h
> index 96a610c1d..499f72219 100644
> --- a/mingw-w64-headers/include/winnt.h
> +++ b/mingw-w64-headers/include/winnt.h
> @@ -10211,11 +10211,10 @@ typedef DWORD (WINAPI 
> *PRTL_RUN_ONCE_INIT_FN)(PRTL_RUN_ONCE, PVOID, PVOID *);
>      PVOID GetFiberData(VOID);
>
>  #if defined (__aarch64__) || defined(__arm64ec__)
> +    register struct _TEB *__mingw_current_teb __asm__("x18");
>      FORCEINLINE struct _TEB *NtCurrentTeb(VOID)
>      {
> -        struct _TEB *teb;
> -        __asm ("mov %0, x18" : "=r" (teb));
> -        return teb;
> +        return __mingw_current_teb;
>      }
>      FORCEINLINE PVOID GetCurrentFiber(VOID)
>      {

I'm not sure, but I'm guessing this change is causing an error building
doxygen in
https://github.com/msys2-arm/msys2-autobuild/actions/runs/12531144362/job/34948452159?check_suite_focus=true#step:11:1036

  ld.lld: error: duplicate symbol: x18
  >>> defined at addon/doxyparse/CMakeFiles/doxyparse.dir/doxyparse.cpp.obj
  >>> defined at libdoxymain.a(dir.cpp.obj)

  ld.lld: error: duplicate symbol: x18
  >>> defined at addon/doxyparse/CMakeFiles/doxyparse.dir/doxyparse.cpp.obj
  >>> defined at libdoxycfg.a(portable.cpp.obj)

  ld.lld: error: duplicate symbol: x18
  >>> defined at addon/doxyparse/CMakeFiles/doxyparse.dir/doxyparse.cpp.obj
  >>> defined at libdoxymain.a(fileinfo.cpp.obj)

  ld.lld: error: duplicate symbol: x18

  >>> defined at addon/doxyparse/CMakeFiles/doxyparse.dir/doxyparse.cpp.obj

  >>> defined at libdoxycfg.a(trace.cpp.obj)



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to