From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] mkimage: Fix generating multi and script images again
Date: Mon, 7 Dec 2015 18:32:19 +0100 [thread overview]
Message-ID: <201512071832.19666.marex@denx.de> (raw)
In-Reply-To: <5665BF4A.5030608@gmail.com>
On Monday, December 07, 2015 at 06:18:02 PM, Philippe De Swert wrote:
> Hi,
>
> I haven't had time to check the previous report yet.
>
> On 07/12/15 19:01, Marek Vasut wrote:
> > Seems 6ae6e160 broke creating multi and script type images and even
> > building of mkimage itself. There are two problems with that patch.
> >
> > First is that expression (!(x == 0) || !(x == 1)) is always true for
> > unsigned int x. The expression must use AND (&&) not OR (||) to be
> > correct.
>
> It is either multi or script, so AND does not sound correct. The code
> should skip the following bit if either of those
> flags is detected. I admit I threw in the script bit as an afterthought
> and things went wrong there.
>
> Correct would be if( !(params.type == IH_TYPE_MULTI || params.type ==
> IH_TYPE_SCRIPT))
>
> I'll double-check stuff and submit a new patch
So yeah, !(X or Y) <=> (!X and !Y) . The patch does that. See
https://en.wikipedia.org/wiki/De_Morgan%27s_laws
> > Second is the coding which causes gcc 4.9.x and newer scream gruesome
> > death and murder. The expression !x == 0 && !x == 1 is ambiguous and
> > should instead be rewritten into (x != 0) && (x != 1) to be correct.
> > The parenthesis are added for clarity.
>
> Weirdly enough I have gcc 4.9.2 and it did not even beep, so I don't
> know how it could have broken the build.
> Give me some time to submit a corrective patch later tonight.
This patch should fix things.
Best regards,
Marek Vasut
next prev parent reply other threads:[~2015-12-07 17:32 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-07 17:01 [U-Boot] [PATCH] mkimage: Fix generating multi and script images again Marek Vasut
2015-12-07 17:18 ` Philippe De Swert
2015-12-07 17:32 ` Marek Vasut [this message]
2015-12-07 17:47 ` Wolfgang Denk
2015-12-07 18:03 ` Tom Rini
2015-12-07 18:05 ` Marek Vasut
2015-12-07 19:06 ` Tom Rini
2015-12-07 20:52 ` Philippe De Swert
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=201512071832.19666.marex@denx.de \
--to=marex@denx.de \
--cc=u-boot@lists.denx.de \
/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.