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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox