All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Liam R. Howlett" <Liam.Howlett@Oracle.com>
To: Michael Kebe <michael.kebe@gmail.com>
Cc: ?var Arnfj?r? Bjarmason <avarab@gmail.com>,
	Git Mailing List <git@vger.kernel.org>,
	Marc Stevens <marc@marc-stevens.nl>
Subject: Re: Compile Error v2.13.2 on Solaris SPARC
Date: Tue, 27 Jun 2017 12:28:09 -0400	[thread overview]
Message-ID: <20170627162808.p7sj3jpwum7n3hq2@oracle.com> (raw)
In-Reply-To: <CAKKM46sBVyTMGNwU6E9s7gq8wiBfAxrKzBFVgU=zfwj+YdAjcQ@mail.gmail.com>


How about:

---- 8< ----
diff --git a/sha1dc/sha1.c b/sha1dc/sha1.c
index facea1bb5..ed8c63f2d 100644
--- a/sha1dc/sha1.c
+++ b/sha1dc/sha1.c
@@ -38,9 +38,18 @@
 
 #if (defined(_BYTE_ORDER) || defined(__BYTE_ORDER) || defined(__BYTE_ORDER__))
 
+#define EMPTY_VAL(x) x ## 1
+#define EMPTY(x) EMPTY_VAL(x)
+
+#if (defined(_BIG_ENDIAN) && (EMPTY(_BIG_ENDIAN) == 1))
+#undef _BIG_ENDIAN
+#define _BIG_ENDIAN 4321
+#endif
+
 #if ((defined(_BYTE_ORDER) && (_BYTE_ORDER == _BIG_ENDIAN)) || \
      (defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) || \
-     (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __BIG_ENDIAN__)) )
+     (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __BIG_ENDIAN__)) || \
+     (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == _BIG_ENDIAN)) )
 #define SHA1DC_BIGENDIAN
 #endif


* Michael Kebe <michael.kebe@gmail.com> [170627 02:28]:
> On the Solaris system here __BYTE_ORDER__ set to 4321 and _BIG_ENDIAN
> is defined, but has no value.
> 
> The problem is the not short circuiting macro...
> 
> -------------------------8<------------------------------
> #undef _FOO1
> #undef _FOO2
> #undef _FOO2
> 
> #undef _BAR1
> #undef _BAR2
> #undef _BAR3
> 
> #define _FOO3 42
> 
> //comment out this line or give it a value to make the preprocesser happy
> #define _BAR1
> 
> #if (defined(_FOO1) || defined(_FOO2) || defined(_FOO3))
> 
> // not short circuiting... preprocesser tries to evaluate (_FOO1 &&
> _BAR1) but _BAR1 has no value...
> #if ((defined(_FOO1) && (_FOO1 == _BAR1)) || \
>           (defined(_FOO2) && (_FOO2 == _BAR2)) || \
>           (defined(_FOO3) && (_FOO3 == BAR3)) )
> #define SHA1DC_BIGENDIAN
> #endif
> 
> #endif
> -------------------------8<------------------------------
> https://gist.github.com/michaelkebe/c963c7478b7b55ad197f0665986870d4
> 
> What do you think?
> 
> 2017-06-27 7:41 GMT+02:00 Michael Kebe <michael.kebe@gmail.com>:
> > 2017-06-26 22:27 GMT+02:00 Ævar Arnfjörð Bjarmason <avarab@gmail.com>:
> >> Could you (or anyone else for that matter) please test it with:
> >>
> >>     git clone --branch bigend-detect-solaris-again https://github.com/avar/sha1collisiondetection.git &&
> >>     cd sha1collisiondetection &&
> >>     make test
> >
> > Still no luck.
> >
> > ~/sha1collisiondetection (bigend-detect-solaris-again *)$ CC=gcc gmake test
> > mkdir -p dep_lib && gcc -O2 -Wall -Werror -Wextra -pedantic -std=c90
> > -Ilib  -M -MF dep_lib/sha1.d lib/sha1.c
> > lib/sha1.c:63:58: error: operator '==' has no right operand
> >  #if ((defined(_BYTE_ORDER) && (_BYTE_ORDER == _BIG_ENDIAN)) || \
> >                                                           ^
> >
> > Running Solaris on sparc:
> > $ uname -a
> > SunOS er202 5.11 11.3 sun4v sparc sun4v
> >
> >
> > The isa_defs.h is available here:
> > https://gist.github.com/michaelkebe/472720cd684b5b2a504b8eeb24049870
> >
> >
> > Greetings
> > Michael

  reply	other threads:[~2017-06-27 16:28 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-26  7:32 Compile Error v2.13.2 on Solaris SPARC Michael Kebe
     [not found] ` <87lgofcf7r.fsf@gmail.com>
2017-06-26 12:36   ` Michael Kebe
2017-06-26 12:47     ` Ævar Arnfjörð Bjarmason
2017-06-26 14:00       ` Michael Kebe
2017-06-26 18:31         ` Ævar Arnfjörð Bjarmason
2017-06-26 18:29       ` Liam R. Howlett
     [not found] ` <87fuem7aw2.fsf@gmail.com>
2017-06-27  5:41   ` Michael Kebe
2017-06-27  6:28     ` Michael Kebe
2017-06-27 16:28       ` Liam R. Howlett [this message]
2017-06-27 17:38         ` Junio C Hamano
2017-06-27 18:29           ` Liam R. Howlett
2017-06-27 18:55             ` Ævar Arnfjörð Bjarmason
2017-06-27 17:59         ` Ævar Arnfjörð Bjarmason
2017-06-27 12:17 ` [PATCH 0/3] update sha1dc from PR #36 Ævar Arnfjörð Bjarmason
2017-06-27 18:37   ` Stefan Beller
2017-06-27 20:33   ` [PATCH v2 " Ævar Arnfjörð Bjarmason
2017-06-27 21:37     ` Junio C Hamano
2017-06-27 21:38     ` Junio C Hamano
2017-06-27 22:24       ` Ævar Arnfjörð Bjarmason
2017-06-28 21:42       ` Ævar Arnfjörð Bjarmason
2017-06-28 22:02         ` Junio C Hamano
2017-06-27 20:33   ` [PATCH v2 1/3] sha1dc: correct endian detection for Solaris (and others?) Ævar Arnfjörð Bjarmason
2017-06-27 20:33   ` [PATCH v2 2/3] sha1dc: optionally use sha1collisiondetection as a submodule Ævar Arnfjörð Bjarmason
2017-06-27 20:33   ` [PATCH v2 3/3] sha1collisiondetection: automatically enable when submodule is populated Ævar Arnfjörð Bjarmason
2017-07-01 22:05   ` [PATCH v3 0/3] Update sha1dc from upstream Ævar Arnfjörð Bjarmason
2017-07-01 22:05   ` [PATCH v3 1/3] sha1dc: update " Ævar Arnfjörð Bjarmason
2017-07-01 22:05   ` [PATCH v3 2/3] sha1dc: optionally use sha1collisiondetection as a submodule Ævar Arnfjörð Bjarmason
2017-07-03 17:11     ` Junio C Hamano
2017-07-03 20:29       ` Ævar Arnfjörð Bjarmason
2017-07-04 17:26         ` Junio C Hamano
2017-07-04 22:50           ` Ævar Arnfjörð Bjarmason
2017-07-05  0:36             ` Stefan Beller
2017-07-05  1:56               ` Junio C Hamano
2017-07-05 17:46                 ` Stefan Beller
2017-07-05 18:03                   ` Ævar Arnfjörð Bjarmason
2017-07-01 22:05   ` [PATCH v3 3/3] sha1collisiondetection: automatically enable when submodule is populated Ævar Arnfjörð Bjarmason
2017-06-27 12:17 ` [PATCH 1/3] sha1dc: update from my PR #36 Ævar Arnfjörð Bjarmason
2017-06-27 15:22   ` Junio C Hamano
2017-06-27 15:53     ` Junio C Hamano
2017-06-27 18:07       ` Ævar Arnfjörð Bjarmason
2017-06-27 15:55     ` Junio C Hamano
2017-06-27 16:31       ` Liam R. Howlett
2017-06-27 18:11       ` Ævar Arnfjörð Bjarmason
2017-06-27 19:10         ` Junio C Hamano
2017-06-27 19:33           ` Junio C Hamano
2017-06-27 19:35           ` Ævar Arnfjörð Bjarmason
2017-06-27 19:38             ` Junio C Hamano
2017-06-27 19:38           ` Liam R. Howlett
2017-06-27 19:48             ` Junio C Hamano
2017-06-27 18:06     ` Ævar Arnfjörð Bjarmason
2017-06-27 18:12       ` Junio C Hamano
2017-06-27 18:19         ` Ævar Arnfjörð Bjarmason
2017-06-27 20:17           ` Junio C Hamano
2017-06-27 18:23       ` Junio C Hamano
2017-06-27 18:52         ` Ævar Arnfjörð Bjarmason
2017-06-27 12:17 ` [PATCH 2/3] sha1dc: optionally use sha1collisiondetection as a submodule Ævar Arnfjörð Bjarmason
2017-06-27 18:46   ` Stefan Beller
2017-06-27 18:56     ` Ævar Arnfjörð Bjarmason
2017-06-27 12:17 ` [PATCH 3/3] sha1collisiondetection: automatically enable when submodule is populated Ævar Arnfjörð Bjarmason

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170627162808.p7sj3jpwum7n3hq2@oracle.com \
    --to=liam.howlett@oracle.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=marc@marc-stevens.nl \
    --cc=michael.kebe@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.