git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] perf: Fix endianness argument compatibility

From
IMIngo Molnar <mingo@elte.hu>
Date
Apr 14, 2010, 09:28 UTC
Message-ID
<20100414092843.GD10537@elte.hu>
In-Reply-To
<20100413.014821.34906166.davem@davemloft.net>
* David Miller <davem@davemloft.net> wrote:
Show 27 quoted lines
> From: "Ian Munsie" <imunsie@au1.ibm.com>
> Date: Tue, 13 Apr 2010 18:37:33 +1000
> 
> > From: Ian Munsie <imunsie@au.ibm.com>
> > 
> > Parsing an option from the command line with OPT_BOOLEAN on a bool data
> > type would not work on a big-endian machine due to the manner in which
> > the boolean was being cast into an int and incremented. For example,
> > running 'perf probe --list' on a PowerPC machine would fail to properly
> > set the list_events bool and would therefore print out the usage
> > information and terminate.
> > 
> > This patch makes OPT_BOOLEAN work as expected with a bool datatype. For
> > cases where the original OPT_BOOLEAN was intentionally being used to
> > increment an int each time it was passed in on the command line, this
> > patch introduces OPT_INCR with the old behaviour of OPT_BOOLEAN (the
> > verbose variable is currently the only such example of this).
> > 
> > I have reviewed every use of OPT_BOOLEAN to verify that a true C99 bool
> > was passed. Where integers were used, I verified that they were only
> > being used for boolean logic and changed them to bools to ensure that
> > they would not be mistakenly used as ints. The major exception was the
> > verbose variable which now uses OPT_INCR instead of OPT_BOOLEAN.
> > 
> > Signed-off-by: Ian Munsie <imunsie@au.ibm.com>
> 
> Thanks for finding and fixing this bug.
Nice fix!

Btw., perf got the option parser from the Git project - i'm wondering how the Git folks solved this endianness problem?

	Ingo
Next: Jeff King
Message 1 of 5 in “Re: [PATCH] perf: Fix endianness argument compatibility”
  1. Ingo MolnarApr 14, 2010
  2. Jeff KingApr 14, 2010
  3. [tip:perf/core] perf: Fix endianness argument compatibility with OPT_BOOLEAN() and introduce OPT_INCR()tip-bot for Ian Munsie, Apr 14, 2010
  4. Erik Faye-LundApr 14, 2010
  5. Erik Faye-LundApr 14, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.