On Mon, Feb 15, 2016 at 8:33 PM, Jochen Rollwagen <joro-2...@t-online.de> wrote: > Am 15.02.2016 um 15:53 schrieb Oded Gabbay: >> >> Sent with MailTrack >> >> On Sat, Feb 13, 2016 at 2:39 AM, Roland Scheidegger <srol...@vmware.com> >> wrote: >>> >>> Am 12.02.2016 um 10:01 schrieb Jochen Rollwagen: >>>> >>>> Hi, >>>> >>>> i think i found & fixed a bug in mesa concerning tests for big-endian >>>> machines. The defines tested don't exist or are wrongly defined so the >>>> test (probably) never fires. The gcc defines on my machine concerning >>>> big-endian are >>>> >>>> jochen@mac-mini:~/sources/mesa$ gcc -dM -E - < /dev/null | grep BIG >>>> #define __BIGGEST_ALIGNMENT__ 16 >>>> #define __BIG_ENDIAN__ 1 >>>> #define __FLOAT_WORD_ORDER__ __ORDER_BIG_ENDIAN__ >>>> #define _BIG_ENDIAN 1 >>>> #define __ORDER_BIG_ENDIAN__ 4321 >>>> #define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__ >>>> >>>> The tested values in current mesa are quite different :-) >>>> >>>> The following patch fixes this. >>>> >>>> diff --git a/src/mesa/main/compiler.h b/src/mesa/main/compiler.h >>>> index c5ee741..99c63cb 100644 >>>> --- a/src/mesa/main/compiler.h >>>> +++ b/src/mesa/main/compiler.h >>>> @@ -52,7 +52,7 @@ extern "C" { >>>> * Try to use a runtime test instead. >>>> * For now, only used by some DRI hardware drivers for color/texel >>>> packing. >>>> */ >>>> -#if defined(BYTE_ORDER) && defined(BIG_ENDIAN) && BYTE_ORDER == >>>> BIG_ENDIAN >>>> +#if defined(__BYTE_ORDER__) && defined(__BIG_ENDIAN__) && >>>> __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ >>>> #if defined(__linux__) >>>> #include <byteswap.h> >>>> #define CPU_TO_LE32( x ) bswap_32( x ) >>>> >>> Note that on some platforms this file would include endian.h - which >>> defines those BYTE_ORDER etc. values. Albeit it includes this _after_ >>> these ifdefs... >>> But don't ask me how this is really supposed to work... >>> >>> Roland >> >> <stdlib.h> includes <bits/waitstatus.h> which includes <endian.h> >> >> However, this depends on the c/h files to include <stdlib.h> before >> including "compiler.h", which doesn't always happen (e.g >> dummy_errors.c) and it is a very fragile situation. >> >> So I think this is a good fix and this patch is: >> Reviewed-by: Oded Gabbay <oded.gab...@gmail.com> >> >> Jochen, >> >> Note that I downloaded this patch from pw and it was malformed. I >> don't know if its a pw problem or a problem in how you sent the patch >> to the ml. >> >> Oded >> >> >>> >>> _______________________________________________ >>> mesa-dev mailing list >>> mesa-dev@lists.freedesktop.org >>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev > > Well, i just copied it from the git-diff-terminal and pasted it into my > mail-client. Maybe a newline problem ? Anyway, i attached the patch (and > patched my local mesa with it before, which worked :-) ). > > Cheers > > Jochen
Hi Jochen, This is just a plain patch and not a commit (created by git). Do you want to create a proper commit and send it (using git-send) or do you want me to do it for you ? Of course I'll keep you as author. Thanks, Oded _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev