On Jan  9 09:10, Thirumalai Nagalingam wrote:
> Hi Corinna,
> 
> > can you check your patch again?  It fails to apply for me against current 
> > main.
> 
> Please accept my apologies for the previous patch. I had generated it from a
> diff branch in my fork, which caused it not to apply cleanly. I've now
> regenerated the patch against the current main, and it should apply cleanly.
> 
> > Also, would you mind to add a Fixes: tag?
> 
> I've also added the appropriate Fixes tag & realized I forgot to include the
> Signed-off-by line in the previous version, that's been corrected now.
> 
> Thanks,
> Thiru
> 
> In-Lined patch:
> 
> diff --git a/winsup/cygwin/include/machine/_endian.h 
> b/winsup/cygwin/include/machine/_endian.h
> index 622d7a2e9..48ff242b5 100644
> --- a/winsup/cygwin/include/machine/_endian.h
> +++ b/winsup/cygwin/include/machine/_endian.h
> @@ -28,8 +28,10 @@ __ntohl(__uint32_t _x)
>  {
>  #if defined(__x86_64__)
>         __asm__("bswap %0" : "=r" (_x) : "0" (_x));
> -#elif defined(__aarch64__)
> +#elif defined(__aarch64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
>         __asm__("rev %w0, %w0" : "=r" (_x) : "0" (_x));
> +#else
> +#error "unsupported architecture"
>  #endif
>         return _x;
>  }
> @@ -41,10 +43,12 @@ __ntohs(__uint16_t _x)
>         __asm__("xchgb %b0,%h0"         /* swap bytes           */
>                 : "=Q" (_x)
>                 :  "0" (_x));
> -#elif defined(__aarch64__)
> +#elif defined(__aarch64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
>         __asm__("uxth %w0, %w0\n\t"
>                 "rev16 %w0, %w0"
>                 : "+r" (_x));
> +#else
> +#error "unsupported architecture"
>  #endif
>         return _x;
>  }
> --

Pushed with a small change to the commit message (shortened SHA1)


Thanks,
Corinna

Reply via email to