diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-19 17:28:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-19 17:28:19 -0400 |
commit | efffbeee5bc4168059683714b300d307f5193d69 (patch) | |
tree | 7fde51080f4534a86bfa27a430aaf7ef2bb8ef92 /scripts/kallsyms.c | |
parent | 40b42f1ebf653cd72c32eb1a1a0b9fea2dfbfd7d (diff) | |
parent | b824325443bb010689d22262c6a4e0feb63bad56 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (33 commits)
xtensa: use DATA_DATA in xtensa
powerpc: add missing DATA_DATA to powerpc
cris: use DATA_DATA in cris
kallsyms: remove usage of memmem and _GNU_SOURCE from scripts/kallsyms.c
kbuild: use -fno-optimize-sibling-calls unconditionally
kconfig: reset generated values only if Kconfig and .config agree.
kbuild: fix the warning when running make tags
kconfig: strip 'CONFIG_' automatically in kernel configuration search
kbuild: use POSIX BRE in headers install target
Whitelist references from __dbe_table to .init
modpost white list pattern adjustment
kbuild: do section mismatch check on full vmlinux
kbuild: whitelist references from variables named _timer to .init.text
kbuild: remove hardcoded _logo names from modpost
kbuild: remove hardcoded apic_es7000 from modpost
kbuild: warn about references from .init.text to .exit.text
kbuild: consolidate section checks
kbuild: refactor code in modpost to improve maintainability
kbuild: ignore section mismatch warnings originating from .note section
kbuild: .paravirtprobe section is obsolete, so modpost doesn't need to handle it
...
Diffstat (limited to 'scripts/kallsyms.c')
-rw-r--r-- | scripts/kallsyms.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c index 10b006694e5d..1f11d848532a 100644 --- a/scripts/kallsyms.c +++ b/scripts/kallsyms.c | |||
@@ -24,8 +24,6 @@ | |||
24 | * | 24 | * |
25 | */ | 25 | */ |
26 | 26 | ||
27 | #define _GNU_SOURCE | ||
28 | |||
29 | #include <stdio.h> | 27 | #include <stdio.h> |
30 | #include <stdlib.h> | 28 | #include <stdlib.h> |
31 | #include <string.h> | 29 | #include <string.h> |
@@ -378,6 +376,17 @@ static void build_initial_tok_table(void) | |||
378 | table_cnt = pos; | 376 | table_cnt = pos; |
379 | } | 377 | } |
380 | 378 | ||
379 | static void *find_token(unsigned char *str, int len, unsigned char *token) | ||
380 | { | ||
381 | int i; | ||
382 | |||
383 | for (i = 0; i < len - 1; i++) { | ||
384 | if (str[i] == token[0] && str[i+1] == token[1]) | ||
385 | return &str[i]; | ||
386 | } | ||
387 | return NULL; | ||
388 | } | ||
389 | |||
381 | /* replace a given token in all the valid symbols. Use the sampled symbols | 390 | /* replace a given token in all the valid symbols. Use the sampled symbols |
382 | * to update the counts */ | 391 | * to update the counts */ |
383 | static void compress_symbols(unsigned char *str, int idx) | 392 | static void compress_symbols(unsigned char *str, int idx) |
@@ -391,7 +400,7 @@ static void compress_symbols(unsigned char *str, int idx) | |||
391 | p1 = table[i].sym; | 400 | p1 = table[i].sym; |
392 | 401 | ||
393 | /* find the token on the symbol */ | 402 | /* find the token on the symbol */ |
394 | p2 = memmem(p1, len, str, 2); | 403 | p2 = find_token(p1, len, str); |
395 | if (!p2) continue; | 404 | if (!p2) continue; |
396 | 405 | ||
397 | /* decrease the counts for this symbol's tokens */ | 406 | /* decrease the counts for this symbol's tokens */ |
@@ -410,7 +419,7 @@ static void compress_symbols(unsigned char *str, int idx) | |||
410 | if (size < 2) break; | 419 | if (size < 2) break; |
411 | 420 | ||
412 | /* find the token on the symbol */ | 421 | /* find the token on the symbol */ |
413 | p2 = memmem(p1, size, str, 2); | 422 | p2 = find_token(p1, size, str); |
414 | 423 | ||
415 | } while (p2); | 424 | } while (p2); |
416 | 425 | ||