History

Merge branches 'tracing/ftrace', 'tracing/kmemtrace' and 'linus' into tracing/core

Ingo Molnar committed 17 years ago

Commit dc573f93 parents b3a8c34 ecf441b b1792e31490 files · +27283 −12277Browse files

Showing the changes to scripts (10 of 1490 files). Show all

Unified · Split

10 files
  1. scripts/Makefile.build +20 −35
  2. scripts/Makefile.modinst +1 −2
  3. scripts/config +4 −0
  4. scripts/genksyms/genksyms.c +6 −15
  5. scripts/genksyms/keywords.c_shipped +93 −96
  6. scripts/genksyms/keywords.gperf +0 −2
  7. scripts/kallsyms.c +13 −8
  8. scripts/mksysmap +5 −2
  9. scripts/mod/file2alias.c +15 −2
  10. scripts/strip-symbols +0 −22
scripts/Makefile.build+20−35
@@ -151,16 +151,16 @@ cmd_cc_i_c = $(CPP) $(c_flags) -o $@ $< · 150 unmodified lines
151151 $(obj)/%.i: $(src)/%.c FORCE
152152 $(call if_changed_dep,cc_i_c)
153153
154−cmd_genksyms = \
154+cmd_gensymtypes = \
155155 $(CPP) -D__GENKSYMS__ $(c_flags) $< | \
156− $(GENKSYMS) -T $@ -A -a $(ARCH) \
156+ $(GENKSYMS) -T $@ -a $(ARCH) \
157157 $(if $(KBUILD_PRESERVE),-p) \
158158 $(if $(1),-r $(firstword $(wildcard $(@:.symtypes=.symref) /dev/null)))
159159
160160 quiet_cmd_cc_symtypes_c = SYM $(quiet_modtag) $@
161161 cmd_cc_symtypes_c = \
162162 set -e; \
163− $(call cmd_genksyms, true) >/dev/null; \
163+ $(call cmd_gensymtypes, true) >/dev/null; \
164164 test -s $@ || rm -f $@
165165
166166 $(obj)/%.symtypes : $(src)/%.c FORCE
@@ -177,38 +177,28 @@ cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $< · 10 unmodified lines
177177
178178 else
179179 # When module versioning is enabled the following steps are executed:
180−# o compile a .tmp_<file>.s from <file>.c
181−# o if .tmp_<file>.s doesn't contain a __ksymtab version, i.e. does
182−# not export symbols, we just assemble .tmp_<file>.s to <file>.o and
180+# o compile a .tmp_<file>.o from <file>.c
181+# o if .tmp_<file>.o doesn't contain a __ksymtab version, i.e. does
182+# not export symbols, we just rename .tmp_<file>.o to <file>.o and
183183 # are done.
184184 # o otherwise, we calculate symbol versions using the good old
185185 # genksyms on the preprocessed source and postprocess them in a way
186−# that they are usable as assembly source
187−# o assemble <file>.o from .tmp_<file>.s forcing inclusion of directives
188−# defining the actual values of __crc_*, followed by objcopy-ing them
189−# to force these symbols to be local to permit stripping them later.
190−s_file = $(@D)/.tmp_$(@F:.o=.s)
191−v_file = $(@D)/.tmp_$(@F:.o=.v)
192−tmp_o_file = $(@D)/.tmp_$(@F)
193−no_g_c_flags = $(filter-out -g%,$(c_flags))
194−
195−cmd_cc_o_c = $(CC) $(c_flags) -S -o $(s_file) $<
186+# that they are usable as a linker script
187+# o generate <file>.o from .tmp_<file>.o using the linker to
188+# replace the unresolved symbols __crc_exported_symbol with
189+# the actual value of the checksum generated by genksyms
196190
191+cmd_cc_o_c = $(CC) $(c_flags) -c -o $(@D)/.tmp_$(@F) $<
197192 cmd_modversions = \
198− if grep -q __ksymtab $(s_file); then \
199− if $(call cmd_genksyms, $(KBUILD_SYMTYPES)) > $(v_file) \
200− && $(CC) $(no_g_c_flags) -c -Wa,$(v_file) \
201− -o $(tmp_o_file) $(s_file) \
202− && $(OBJCOPY) -L '__crc_*' -L '___crc_*' -w \
203− $(tmp_o_file) $@; \
204− then \
205− : ; \
206− else \
207− rm -f $@; exit 1; \
208− fi; \
193+ if $(OBJDUMP) -h $(@D)/.tmp_$(@F) | grep -q __ksymtab; then \
194+ $(call cmd_gensymtypes, $(KBUILD_SYMTYPES)) \
195+ > $(@D)/.tmp_$(@F:.o=.ver); \
196+ \
197+ $(LD) $(LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) \
198+ -T $(@D)/.tmp_$(@F:.o=.ver); \
199+ rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver); \
209200 else \
210− rm -f $(v_file); \
211− $(CC) $(no_g_c_flags) -c -o $@ $(s_file); \
201+ mv -f $(@D)/.tmp_$(@F) $@; \
212202 fi;
213203 endif
214204
@@ -226,12 +216,7 @@ define rule_cc_o_c · 11 unmodified lines
226216 $(cmd_record_mcount) \
227217 scripts/basic/fixdep $(depfile) $@ '$(call make-cmd,cc_o_c)' > \
228218 $(dot-target).tmp; \
229− if [ -r $(@D)/.tmp_$(@F:.o=.v) ]; then \
230− echo >> $(dot-target).tmp; \
231− echo '$@: $(GENKSYMS)' >> $(dot-target).tmp; \
232− echo '$(GENKSYMS):: ;' >> $(dot-target).tmp; \
233− fi; \
234− rm -f $(depfile) $(@D)/.tmp_$(@F:.o=.?); \
219+ rm -f $(depfile); \
235220 mv -f $(dot-target).tmp $(dot-target).cmd
236221 endef
237222
scripts/Makefile.modinst+1−2
@@ -17,8 +17,7 @@ __modinst: $(modules) · 16 unmodified lines
1717 @:
1818
1919 quiet_cmd_modules_install = INSTALL $@
20− cmd_modules_install = mkdir -p $(2); \
21− $(mod_strip_cmd) $@ $(2)/$(notdir $@) || cp $@ $(2)
20+ cmd_modules_install = mkdir -p $(2); cp $@ $(2) ; $(mod_strip_cmd) $(2)/$(notdir $@)
2221
2322 # Modules built outside the kernel source tree go into extra by default
2423 INSTALL_MOD_DIR ?= extra
scripts/config+4−0
@@ -60,6 +60,10 @@ else · 59 unmodified lines
6060 FN=.config
6161 fi
6262
63+if [ "$1" = "" ] ; then
64+ usage
65+fi
66+
6367 while [ "$1" != "" ] ; do
6468 CMD="$1"
6569 shift
scripts/genksyms/genksyms.c+6−15
@@ -43,7 +43,7 @@ int cur_line = 1; · 42 unmodified lines
4343 char *cur_filename;
4444
4545 static int flag_debug, flag_dump_defs, flag_reference, flag_dump_types,
46− flag_preserve, flag_warnings, flag_asm;
46+ flag_preserve, flag_warnings;
4747 static const char *arch = "";
4848 static const char *mod_prefix = "";
4949
@@ -610,11 +610,8 @@ void export_symbol(const char *name) · 560 unmodified lines
610610 if (flag_dump_defs)
611611 fputs(">\n", debugfile);
612612
613− /* Used as assembly source or a linker script. */
614− printf(flag_asm
615− ? ".equiv %s__crc_%s, %#08lx\n"
616− : "%s__crc_%s = %#08lx ;\n",
617− mod_prefix, name, crc);
613+ /* Used as a linker script. */
614+ printf("%s__crc_%s = 0x%08lx ;\n", mod_prefix, name, crc);
618615 }
619616 }
620617
@@ -651,10 +648,9 @@ void error_with_pos(const char *fmt, ...) · 30 unmodified lines
651648
652649 static void genksyms_usage(void)
653650 {
654− fputs("Usage:\n" "genksyms [-aAdDTwqhV] > /path/to/.tmp_obj.ver\n" "\n"
651+ fputs("Usage:\n" "genksyms [-adDTwqhV] > /path/to/.tmp_obj.ver\n" "\n"
655652 #ifdef __GNU_LIBRARY__
656653 " -a, --arch Select architecture\n"
657− " -A, --asm Generate assembly rather than linker script\n"
658654 " -d, --debug Increment the debug level (repeatable)\n"
659655 " -D, --dump Dump expanded symbol defs (for debugging only)\n"
660656 " -r, --reference file Read reference symbols from a file\n"
@@ -666,7 +662,6 @@ static void genksyms_usage(void) · 5 unmodified lines
666662 " -V, --version Print the release version\n"
667663 #else /* __GNU_LIBRARY__ */
668664 " -a Select architecture\n"
669− " -A Generate assembly rather than linker script\n"
670665 " -d Increment the debug level (repeatable)\n"
671666 " -D Dump expanded symbol defs (for debugging only)\n"
672667 " -r file Read reference symbols from a file\n"
@@ -688,7 +683,6 @@ int main(int argc, char **argv) · 15 unmodified lines
688683 #ifdef __GNU_LIBRARY__
689684 struct option long_opts[] = {
690685 {"arch", 1, 0, 'a'},
691− {"asm", 0, 0, 'A'},
692686 {"debug", 0, 0, 'd'},
693687 {"warnings", 0, 0, 'w'},
694688 {"quiet", 0, 0, 'q'},
@@ -701,10 +695,10 @@ int main(int argc, char **argv) · 6 unmodified lines
701695 {0, 0, 0, 0}
702696 };
703697
704− while ((o = getopt_long(argc, argv, "a:dwqVADr:T:ph",
698+ while ((o = getopt_long(argc, argv, "a:dwqVDr:T:ph",
705699 &long_opts[0], NULL)) != EOF)
706700 #else /* __GNU_LIBRARY__ */
707− while ((o = getopt(argc, argv, "a:dwqVADr:T:ph")) != EOF)
701+ while ((o = getopt(argc, argv, "a:dwqVDr:T:ph")) != EOF)
708702 #endif /* __GNU_LIBRARY__ */
709703 switch (o) {
710704 case 'a':
@@ -722,9 +716,6 @@ int main(int argc, char **argv) · 11 unmodified lines
722716 case 'V':
723717 fputs("genksyms version 2.5.60\n", stderr);
724718 break;
725− case 'A':
726− flag_asm = 1;
727− break;
728719 case 'D':
729720 flag_dump_defs = 1;
730721 break;
scripts/genksyms/keywords.c_shipped+93−96
@@ -1,4 +1,4 @@
1−/* ANSI-C code produced by gperf version 3.0.1 */
1+/* ANSI-C code produced by gperf version 3.0.2 */
22 /* Command-line: gperf -L ANSI-C -a -C -E -g -H is_reserved_hash -k '1,3,$' -N is_reserved_word -p -t scripts/genksyms/keywords.gperf */
33
44 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -32,7 +32,7 @@ · 27 unmodified lines
3232
3333 #line 3 "scripts/genksyms/keywords.gperf"
3434 struct resword { const char *name; int token; };
35−/* maximum key range = 64, duplicates = 0 */
35+/* maximum key range = 62, duplicates = 0 */
3636
3737 #ifdef __GNUC__
3838 __inline
@@ -46,32 +46,32 @@ is_reserved_hash (register const char *str, register unsigned int len) · 7 unmodified lines
4646 {
4747 static const unsigned char asso_values[] =
4848 {
49− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
50− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
51− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
52− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
53− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
54− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
55− 67, 67, 67, 67, 67, 67, 67, 67, 67, 0,
56− 67, 67, 67, 67, 67, 67, 15, 67, 67, 67,
57− 0, 67, 67, 67, 67, 67, 67, 67, 67, 67,
58− 67, 67, 67, 67, 67, 0, 67, 0, 67, 5,
59− 25, 20, 15, 30, 67, 15, 67, 67, 10, 0,
60− 10, 40, 20, 67, 10, 5, 0, 10, 15, 67,
61− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
62− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
63− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
64− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
65− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
66− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
67− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
68− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
69− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
70− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
71− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
72− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
73− 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
74− 67, 67, 67, 67, 67, 67
49+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
50+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
51+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
52+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
53+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
54+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
55+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 5,
56+ 65, 65, 65, 65, 65, 65, 35, 65, 65, 65,
57+ 0, 65, 65, 65, 65, 65, 65, 65, 65, 65,
58+ 65, 65, 65, 65, 65, 0, 65, 0, 65, 5,
59+ 20, 15, 10, 30, 65, 15, 65, 65, 20, 0,
60+ 10, 35, 20, 65, 10, 5, 0, 10, 5, 65,
61+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
62+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
63+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
64+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
65+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
66+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
67+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
68+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
69+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
70+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
71+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
72+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
73+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
74+ 65, 65, 65, 65, 65, 65
7575 };
7676 return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]];
7777 }
@@ -84,119 +84,116 @@ is_reserved_word (register const char *str, register unsigned int len) · 6 unmodified lines
8484 {
8585 enum
8686 {
87− TOTAL_KEYWORDS = 45,
87+ TOTAL_KEYWORDS = 43,
8888 MIN_WORD_LENGTH = 3,
8989 MAX_WORD_LENGTH = 24,
9090 MIN_HASH_VALUE = 3,
91− MAX_HASH_VALUE = 66
91+ MAX_HASH_VALUE = 64
9292 };
9393
9494 static const struct resword wordlist[] =
9595 {
9696 {""}, {""}, {""},
97−#line 28 "scripts/genksyms/keywords.gperf"
97+#line 26 "scripts/genksyms/keywords.gperf"
9898 {"asm", ASM_KEYW},
9999 {""},
100−#line 10 "scripts/genksyms/keywords.gperf"
100+#line 8 "scripts/genksyms/keywords.gperf"
101101 {"__asm", ASM_KEYW},
102102 {""},
103−#line 11 "scripts/genksyms/keywords.gperf"
103+#line 9 "scripts/genksyms/keywords.gperf"
104104 {"__asm__", ASM_KEYW},
105105 {""}, {""},
106−#line 54 "scripts/genksyms/keywords.gperf"
106+#line 52 "scripts/genksyms/keywords.gperf"
107107 {"__typeof__", TYPEOF_KEYW},
108108 {""},
109−#line 14 "scripts/genksyms/keywords.gperf"
109+#line 12 "scripts/genksyms/keywords.gperf"
110110 {"__const", CONST_KEYW},
111−#line 13 "scripts/genksyms/keywords.gperf"
111+#line 11 "scripts/genksyms/keywords.gperf"
112112 {"__attribute__", ATTRIBUTE_KEYW},
113−#line 15 "scripts/genksyms/keywords.gperf"
113+#line 13 "scripts/genksyms/keywords.gperf"
114114 {"__const__", CONST_KEYW},
115−#line 20 "scripts/genksyms/keywords.gperf"
115+#line 18 "scripts/genksyms/keywords.gperf"
116116 {"__signed__", SIGNED_KEYW},
117−#line 46 "scripts/genksyms/keywords.gperf"
117+#line 44 "scripts/genksyms/keywords.gperf"
118118 {"static", STATIC_KEYW},
119− {""},
120−#line 41 "scripts/genksyms/keywords.gperf"
119+#line 20 "scripts/genksyms/keywords.gperf"
120+ {"__volatile__", VOLATILE_KEYW},
121+#line 39 "scripts/genksyms/keywords.gperf"
121122 {"int", INT_KEYW},
122−#line 34 "scripts/genksyms/keywords.gperf"
123+#line 32 "scripts/genksyms/keywords.gperf"
123124 {"char", CHAR_KEYW},
124−#line 35 "scripts/genksyms/keywords.gperf"
125+#line 33 "scripts/genksyms/keywords.gperf"
125126 {"const", CONST_KEYW},
126−#line 47 "scripts/genksyms/keywords.gperf"
127+#line 45 "scripts/genksyms/keywords.gperf"
127128 {"struct", STRUCT_KEYW},
128−#line 26 "scripts/genksyms/keywords.gperf"
129+#line 24 "scripts/genksyms/keywords.gperf"
129130 {"__restrict__", RESTRICT_KEYW},
130−#line 27 "scripts/genksyms/keywords.gperf"
131− {"restrict", RESTRICT_KEYW},
132−#line 7 "scripts/genksyms/keywords.gperf"
133− {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
134−#line 18 "scripts/genksyms/keywords.gperf"
135− {"__inline__", INLINE_KEYW},
136− {""},
137−#line 22 "scripts/genksyms/keywords.gperf"
138− {"__volatile__", VOLATILE_KEYW},
139−#line 5 "scripts/genksyms/keywords.gperf"
140− {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
141131 #line 25 "scripts/genksyms/keywords.gperf"
132+ {"restrict", RESTRICT_KEYW},
133+#line 23 "scripts/genksyms/keywords.gperf"
142134 {"_restrict", RESTRICT_KEYW},
143− {""},
144−#line 12 "scripts/genksyms/keywords.gperf"
145− {"__attribute", ATTRIBUTE_KEYW},
146−#line 6 "scripts/genksyms/keywords.gperf"
147− {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
148135 #line 16 "scripts/genksyms/keywords.gperf"
136+ {"__inline__", INLINE_KEYW},
137+#line 10 "scripts/genksyms/keywords.gperf"
138+ {"__attribute", ATTRIBUTE_KEYW},
139+ {""},
140+#line 14 "scripts/genksyms/keywords.gperf"
149141 {"__extension__", EXTENSION_KEYW},
150−#line 37 "scripts/genksyms/keywords.gperf"
142+#line 35 "scripts/genksyms/keywords.gperf"
151143 {"enum", ENUM_KEYW},
152−#line 8 "scripts/genksyms/keywords.gperf"
153− {"EXPORT_UNUSED_SYMBOL", EXPORT_SYMBOL_KEYW},
154−#line 38 "scripts/genksyms/keywords.gperf"
144+#line 19 "scripts/genksyms/keywords.gperf"
145+ {"__volatile", VOLATILE_KEYW},
146+#line 36 "scripts/genksyms/keywords.gperf"
155147 {"extern", EXTERN_KEYW},
156148 {""},
157−#line 19 "scripts/genksyms/keywords.gperf"
149+#line 17 "scripts/genksyms/keywords.gperf"
158150 {"__signed", SIGNED_KEYW},
159−#line 9 "scripts/genksyms/keywords.gperf"
160− {"EXPORT_UNUSED_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
161−#line 49 "scripts/genksyms/keywords.gperf"
162− {"union", UNION_KEYW},
163−#line 53 "scripts/genksyms/keywords.gperf"
151+#line 7 "scripts/genksyms/keywords.gperf"
152+ {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
153+ {""},
154+#line 51 "scripts/genksyms/keywords.gperf"
164155 {"typeof", TYPEOF_KEYW},
165−#line 48 "scripts/genksyms/keywords.gperf"
156+#line 46 "scripts/genksyms/keywords.gperf"
166157 {"typedef", TYPEDEF_KEYW},
167−#line 17 "scripts/genksyms/keywords.gperf"
158+#line 15 "scripts/genksyms/keywords.gperf"
168159 {"__inline", INLINE_KEYW},
169−#line 33 "scripts/genksyms/keywords.gperf"
160+#line 31 "scripts/genksyms/keywords.gperf"
170161 {"auto", AUTO_KEYW},
171−#line 21 "scripts/genksyms/keywords.gperf"
172− {"__volatile", VOLATILE_KEYW},
162+#line 47 "scripts/genksyms/keywords.gperf"
163+ {"union", UNION_KEYW},
173164 {""}, {""},
174−#line 50 "scripts/genksyms/keywords.gperf"
165+#line 48 "scripts/genksyms/keywords.gperf"
175166 {"unsigned", UNSIGNED_KEYW},
176− {""},
177−#line 44 "scripts/genksyms/keywords.gperf"
167+#line 49 "scripts/genksyms/keywords.gperf"
168+ {"void", VOID_KEYW},
169+#line 42 "scripts/genksyms/keywords.gperf"
178170 {"short", SHORT_KEYW},
179−#line 40 "scripts/genksyms/keywords.gperf"
171+ {""}, {""},
172+#line 50 "scripts/genksyms/keywords.gperf"
173+ {"volatile", VOLATILE_KEYW},
174+ {""},
175+#line 37 "scripts/genksyms/keywords.gperf"
176+ {"float", FLOAT_KEYW},
177+#line 34 "scripts/genksyms/keywords.gperf"
178+ {"double", DOUBLE_KEYW},
179+ {""},
180+#line 5 "scripts/genksyms/keywords.gperf"
181+ {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
182+ {""}, {""},
183+#line 38 "scripts/genksyms/keywords.gperf"
180184 {"inline", INLINE_KEYW},
185+#line 6 "scripts/genksyms/keywords.gperf"
186+ {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
187+#line 41 "scripts/genksyms/keywords.gperf"
188+ {"register", REGISTER_KEYW},
181189 {""},
182−#line 52 "scripts/genksyms/keywords.gperf"
183− {"volatile", VOLATILE_KEYW},
184−#line 42 "scripts/genksyms/keywords.gperf"
185− {"long", LONG_KEYW},
186−#line 24 "scripts/genksyms/keywords.gperf"
190+#line 22 "scripts/genksyms/keywords.gperf"
187191 {"_Bool", BOOL_KEYW},
188− {""}, {""},
189192 #line 43 "scripts/genksyms/keywords.gperf"
190− {"register", REGISTER_KEYW},
191−#line 51 "scripts/genksyms/keywords.gperf"
192− {"void", VOID_KEYW},
193−#line 39 "scripts/genksyms/keywords.gperf"
194− {"float", FLOAT_KEYW},
195−#line 36 "scripts/genksyms/keywords.gperf"
196− {"double", DOUBLE_KEYW},
197− {""}, {""}, {""}, {""},
198−#line 45 "scripts/genksyms/keywords.gperf"
199− {"signed", SIGNED_KEYW}
193+ {"signed", SIGNED_KEYW},
194+ {""}, {""},
195+#line 40 "scripts/genksyms/keywords.gperf"
196+ {"long", LONG_KEYW}
200197 };
201198
202199 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
scripts/genksyms/keywords.gperf+0−2
@@ -5,8 +5,6 @@ struct resword { const char *name; int token; } · 4 unmodified lines
55 EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW
66 EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW
77 EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW
8−EXPORT_UNUSED_SYMBOL, EXPORT_SYMBOL_KEYW
9−EXPORT_UNUSED_SYMBOL_GPL, EXPORT_SYMBOL_KEYW
108 __asm, ASM_KEYW
119 __asm__, ASM_KEYW
1210 __attribute, ATTRIBUTE_KEYW
scripts/kallsyms.c+13−8
@@ -130,9 +130,18 @@ static int read_symbol(FILE *in, struct sym_entry *s) · 129 unmodified lines
130130 static int symbol_valid(struct sym_entry *s)
131131 {
132132 /* Symbols which vary between passes. Passes 1 and 2 must have
133− * identical symbol lists.
133+ * identical symbol lists. The kallsyms_* symbols below are only added
134+ * after pass 1, they would be included in pass 2 when --all-symbols is
135+ * specified so exclude them to get a stable symbol list.
134136 */
135137 static char *special_symbols[] = {
138+ "kallsyms_addresses",
139+ "kallsyms_num_syms",
140+ "kallsyms_names",
141+ "kallsyms_markers",
142+ "kallsyms_token_table",
143+ "kallsyms_token_index",
144+
136145 /* Exclude linker generated symbols which vary between passes */
137146 "_SDA_BASE_", /* ppc */
138147 "_SDA2_BASE_", /* ppc */
@@ -164,9 +173,7 @@ static int symbol_valid(struct sym_entry *s) · 25 unmodified lines
164173 }
165174
166175 /* Exclude symbols which vary between passes. */
167− if (strstr((char *)s->sym + offset, "_compiled.") ||
168− strncmp((char*)s->sym + offset, "__compound_literal.", 19) == 0 ||
169− strncmp((char*)s->sym + offset, "__compound_literal$", 19) == 0)
176+ if (strstr((char *)s->sym + offset, "_compiled."))
170177 return 0;
171178
172179 for (i = 0; special_symbols[i]; i++)
@@ -543,10 +550,8 @@ int main(int argc, char **argv) · 370 unmodified lines
543550 usage();
544551
545552 read_map(stdin);
546− if (table_cnt) {
547− sort_symbols();
548− optimize_token_table();
549− }
553+ sort_symbols();
554+ optimize_token_table();
550555 write_src();
551556
552557 return 0;
scripts/mksysmap+5−2
@@ -37,6 +37,9 @@ · 36 unmodified lines
3737
3838 # readprofile starts reading symbols when _stext is found, and
3939 # continue until it finds a symbol which is not either of 'T', 't',
40−# 'W' or 'w'.
40+# 'W' or 'w'. __crc_ are 'A' and placed in the middle
41+# so we just ignore them to let readprofile continue to work.
42+# (At least sparc64 has __crc_ in the middle).
43+
44+$NM -n $1 | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)' > $2
4145
42−$NM -n $1 | grep -v '\( [aNUw] \)\|\( \$[adt]\)' > $2
scripts/mod/file2alias.c+15−2
@@ -366,11 +366,17 @@ static void do_pnp_device_entry(void *symval, unsigned long size, · 365 unmodified lines
366366
367367 for (i = 0; i < count; i++) {
368368 const char *id = (char *)devs[i].id;
369+ char acpi_id[sizeof(devs[0].id)];
370+ int j;
369371
370372 buf_printf(&mod->dev_table_buf,
371373 "MODULE_ALIAS(\"pnp:d%s*\");\n", id);
374+
375+ /* fix broken pnp bus lowercasing */
376+ for (j = 0; j < sizeof(acpi_id); j++)
377+ acpi_id[j] = toupper(id[j]);
372378 buf_printf(&mod->dev_table_buf,
373− "MODULE_ALIAS(\"acpi*:%s:*\");\n", id);
379+ "MODULE_ALIAS(\"acpi*:%s:*\");\n", acpi_id);
374380 }
375381 }
376382
@@ -416,10 +422,17 @@ static void do_pnp_card_entries(void *symval, unsigned long size, · 39 unmodified lines
416422
417423 /* add an individual alias for every device entry */
418424 if (!dup) {
425+ char acpi_id[sizeof(card->devs[0].id)];
426+ int k;
427+
419428 buf_printf(&mod->dev_table_buf,
420429 "MODULE_ALIAS(\"pnp:d%s*\");\n", id);
430+
431+ /* fix broken pnp bus lowercasing */
432+ for (k = 0; k < sizeof(acpi_id); k++)
433+ acpi_id[k] = toupper(id[k]);
421434 buf_printf(&mod->dev_table_buf,
422− "MODULE_ALIAS(\"acpi*:%s:*\");\n", id);
435+ "MODULE_ALIAS(\"acpi*:%s:*\");\n", acpi_id);
423436 }
424437 }
425438 }
scripts/strip-symbols+0−22
@@ -1,22 +0,0 @@
1−<*>
2−*.h
3−__compound_literal[$.][0-9]*
4−__crc_[a-zA-Z_]*
5−__exitcall_[a-zA-Z_]*
6−__func__[$.][0-9]*
7−__FUNCTION__[$.][0-9]*
8−gcc[0-9]_compiled[$.]
9−__initcall_[a-zA-Z_]*
10−__kcrctab_[a-zA-Z_]*
11−__kstrtab_[a-zA-Z_]*
12−__ksymtab_[a-zA-Z_]*
13−__mod_[a-zA-Z_]*[0-9]
14−__module_depends
15−__param_[a-zA-Z_]*
16−__pci_fixup_*PCI_ANY_IDPCI_ANY_ID*
17−__pci_fixup_*PCI_ANY_IDPCI_DEVICE_ID_*
18−__pci_fixup_*PCI_VENDOR_ID_*PCI_ANY_ID*
19−__pci_fixup_*PCI_VENDOR_ID_*PCI_DEVICE_ID_*
20−__PRETTY_FUNCTION__[$.][0-9]*
21−__setup_[a-zA-Z_]*
22−____versions