[PATCH] remove usage of memmem from scripts/kallsyms.c

Previous thread: [PATCH 1/2] rtc: add rtc-m41txx driver by Atsushi Nemoto on Tuesday, June 19, 2007 - 8:59 am. (4 messages)

Next thread: [PATCH] retrieve VBE EDID/DDC info independent of used video mode by Jan Beulich on Tuesday, June 19, 2007 - 8:57 am. (29 messages)
From: Paulo Marques
Date: Tuesday, June 19, 2007 - 9:15 am

The only in-kernel user of "memmem" is scripts/kallsyms.c and it only 
uses it to find tokens that are 2 bytes in size. It is trivial to 
replace it with a simple function that finds 2-byte tokens.

This should help users from systems that don't have the memmem GNU 
extension available.

Signed-off-by: Paulo Marques <pmarques@grupopie.com>

-- 
Paulo Marques - www.grupopie.com

"667: The neighbor of the beast."

From: Mike Frysinger
Date: Tuesday, June 19, 2007 - 10:43 am

sorry for not getting back to you in the previous thread ... this is a much=
=20
nicer patch than what i proposed and works for me :)

Acked-by: Mike Frysinger <vapier@gentoo.org>
=2Dmike
From: Satyam Sharma
Date: Tuesday, June 19, 2007 - 11:47 am

Hi,


So we could remove the "#define _GNU_SOURCE" at the top
of scripts/kallsyms.c too, presumably? If not (i.e. if there are
more GNUisms left in that file anyway), then I'm not sure if we
really gain by the change.

Satyam
-

From: Mike Frysinger
Date: Tuesday, June 19, 2007 - 9:33 pm

yes, i believe this is true
-mike
From: Paulo Marques
Date: Wednesday, June 20, 2007 - 4:56 am

I only tried in on x86 with my toolchain and it works, but I don't know 
if it is worth the risk of breaking someone's setup for virtually no gain...

-- 
Paulo Marques - www.grupopie.com

"God is real, unless declared integer."
-

From: Segher Boessenkool
Date: Wednesday, June 20, 2007 - 8:25 am

With the memmem() removed, the code builds (and works)
fine on several non-GNU systems.  It should be perfectly
safe to remove the _GNU_SOURCE.  Perhaps you should
replace it with the proper POSIX_ define so it won't
be broken again?


Segher

-

From: Paulo Marques
Date: Wednesday, June 20, 2007 - 8:53 am

You're right. I went back in history and it was me who introduced the 
_GNU_SOURCE when I added the memmem too (shame on me). So, if it worked 
fine before, there is no reason to not work now that memmem is removed.

So I can:

  - send an incremental patch with just that line removed

  - send a replacement patch

  - just leave it for now and wait until I work on kallsyms again to 
silently remove that line together with other changes

Andrew, what would you prefer?

-- 
Paulo Marques - www.grupopie.com

"All I ask is a chance to prove that money can't make me happy."
-

From: Sam Ravnborg
Date: Wednesday, June 20, 2007 - 9:42 am

Please send a replacement patch to me.
I will carry it in the kbuild tree.

	Sam
-

From: Christoph Hellwig
Date: Tuesday, June 19, 2007 - 12:04 pm

Please add a comment describing why it's there so that it's not ripped
out again by the first janitor looking over the code.

-

From: Paulo Marques
Date: Wednesday, June 20, 2007 - 4:53 am

I don't see why it would seem a good idea to replace a simple find_token 
  function that searches for 2 byte tokens with a call to memmem. So, I 
think this is not something a janitor would do.

The call to memmem was actually a left-over from a previous algorithm 
that used variable sized tokens. With fixed size, 2 byte tokens, having 
a specialized function is probably more efficient anyway.

-- 
Paulo Marques - www.grupopie.com

"Nostalgia isn't what it used to be."
-

Previous thread: [PATCH 1/2] rtc: add rtc-m41txx driver by Atsushi Nemoto on Tuesday, June 19, 2007 - 8:59 am. (4 messages)

Next thread: [PATCH] retrieve VBE EDID/DDC info independent of used video mode by Jan Beulich on Tuesday, June 19, 2007 - 8:57 am. (29 messages)