Thursday, 12 April 2018

Re: [gccsdk] gcc from gccsdk

Hi Theo

Yes, this is what I'm seeing.

The abort (ref google) appears to be due to the absence of some of the builtins referred to at line 54 of pngshim.c

If I rearrange the conditional it'll go past that, then fails around line 110 calling the routine determined by line54 et al .. seems to be looking for a builtin that isn't 'responding'. gcc source suggests the builtin should be there..

This is the patch pngshim.c.p I used to get past the abort .. cludgy I know ..

JB

 

--- src/sfnt/pngshim.c.orig     2017-09-16 14:01:48.000000000 +0100
+++ src/sfnt/pngshim.c  2018-04-12 21:24:14.397961733 +0100
@@ -61,16 +61,13 @@
     /* predates clang; the `__BYTE_ORDER__' preprocessor symbol was */
     /* introduced in gcc 4.6 and clang 3.2, respectively.           */
     /* `__builtin_shuffle' for gcc was introduced in gcc 4.7.0.     */
-#if ( ( defined( __GNUC__ )                                &&             \
-        ( ( __GNUC__ >= 5 )                              ||               \
-        ( ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ >= 7 ) ) ) )         ||   \
-      ( defined( __clang__ )                                       &&     \
-        ( ( __clang_major__ >= 4 )                               ||       \
-        ( ( __clang_major__ == 3 ) && ( __clang_minor__ >= 2 ) ) ) ) ) && \
-    defined( __OPTIMIZE__ )                                            && \
-    __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+#ifdef  __GNUC__
+#if ( ( __GNUC__ >= 5 ) || ( ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ >= 7 ) ) )
+#ifdef __clang__
+#if ( ( __clang_major__ >= 4 ) || ( ( __clang_major__ == 3 ) && ( __clang_minor__ >= 2 ) ) )
+#ifdef  __OPTIMIZE__
+#if  __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__

-#ifdef __clang__
     /* the clang documentation doesn't cover the two-argument case of */
     /* `__builtin_shufflevector'; however, it is is implemented since */
     /* version 2.8                                                    */
@@ -78,6 +75,11 @@
 #else
 #define vector_shuffle  __builtin_shuffle
 

No comments:

Post a Comment