pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lang/perl5 broken Makefile



On Fri, May 03, 2019 at 12:04:19PM +0100, Sad Clouds wrote:
> #ifndef U32_ALIGNMENT_REQUIRED
>   #if (BYTEORDER == 0x1234 || BYTEORDER == 0x12345678)
>     #define U8TO16_LE(ptr)   (*((const U16*)(ptr)))
>     #define U8TO32_LE(ptr)   (*((const U32*)(ptr)))
>     #define U8TO64_LE(ptr)   (*((const U64*)(ptr)))
>   #elif (BYTEORDER == 0x4321 || BYTEORDER == 0x87654321)
>     #if defined(__GNUC__) && (__GNUC__>4 || (__GNUC__==4 && __GNUC_MINOR__>=3))
>       #define U8TO16_LE(ptr)   (__builtin_bswap16(*((U16*)(ptr))))
>       #define U8TO32_LE(ptr)   (__builtin_bswap32(*((U32*)(ptr))))
>       #define U8TO64_LE(ptr)   (__builtin_bswap64(*((U64*)(ptr))))
>     #endif
>   #endif
> #endif

This is wrong.

> This is from config.h
> 
> /* U32_ALIGNMENT_REQUIRED:
>  *      This symbol, if defined, indicates that you must access
>  *      character data through U32-aligned pointers.
>  */
> #ifndef U32_ALIGNMENT_REQUIRED
> /*#define U32_ALIGNMENT_REQUIRED        / **/
> #endif
> 
> Anyone knows why the above ends up commented out on SPARC?

Sparc can do character access just fine (unlike early alpha models).

The test in the above code is plain wrong, it is totally unrelated to
character access.

Martin


Home | Main Index | Thread Index | Old Index