diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Kbuild.include | 5 | ||||
-rw-r--r-- | scripts/Makefile.lib | 5 | ||||
-rwxr-xr-x[-rw-r--r--] | scripts/bloat-o-meter | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | scripts/checkstack.pl | 0 | ||||
-rw-r--r-- | scripts/gen_initramfs_list.sh | 225 | ||||
-rw-r--r-- | scripts/kconfig/conf.c | 24 | ||||
-rw-r--r-- | scripts/kconfig/confdata.c | 2 | ||||
-rw-r--r-- | scripts/kconfig/lxdialog/checklist.c | 19 | ||||
-rw-r--r-- | scripts/kconfig/lxdialog/menubox.c | 19 | ||||
-rw-r--r-- | scripts/mod/modpost.c | 15 | ||||
-rwxr-xr-x[-rw-r--r--] | scripts/namespace.pl | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | scripts/show_delta | 0 | ||||
-rwxr-xr-x | scripts/ver_linux | 4 |
13 files changed, 194 insertions, 124 deletions
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include index 59620b1554e0..b0d067be7390 100644 --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include | |||
@@ -87,6 +87,11 @@ cc-ifversion = $(shell if [ $(call cc-version, $(CC)) $(1) $(2) ]; then \ | |||
87 | # $(Q)$(MAKE) $(build)=dir | 87 | # $(Q)$(MAKE) $(build)=dir |
88 | build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj | 88 | build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj |
89 | 89 | ||
90 | # Prefix -I with $(srctree) if it is not an absolute path | ||
91 | addtree = $(if $(filter-out -I/%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1))) $(1) | ||
92 | # Find all -I options and call addtree | ||
93 | flags = $(foreach o,$($(1)),$(if $(filter -I%,$(o)),$(call addtree,$(o)),$(o))) | ||
94 | |||
90 | # If quiet is set, only print short version of command | 95 | # If quiet is set, only print short version of command |
91 | cmd = @$(echo-cmd) $(cmd_$(1)) | 96 | cmd = @$(echo-cmd) $(cmd_$(1)) |
92 | 97 | ||
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 550798f57da5..2cb4935e85d1 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib | |||
@@ -99,11 +99,6 @@ __a_flags = $(_a_flags) | |||
99 | __cpp_flags = $(_cpp_flags) | 99 | __cpp_flags = $(_cpp_flags) |
100 | else | 100 | else |
101 | 101 | ||
102 | # Prefix -I with $(srctree) if it is not an absolute path | ||
103 | addtree = $(if $(filter-out -I/%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1))) $(1) | ||
104 | # Find all -I options and call addtree | ||
105 | flags = $(foreach o,$($(1)),$(if $(filter -I%,$(o)),$(call addtree,$(o)),$(o))) | ||
106 | |||
107 | # -I$(obj) locates generated .h files | 102 | # -I$(obj) locates generated .h files |
108 | # $(call addtree,-I$(obj)) locates .h files in srctree, from generated .c files | 103 | # $(call addtree,-I$(obj)) locates .h files in srctree, from generated .c files |
109 | # and locates generated .h files | 104 | # and locates generated .h files |
diff --git a/scripts/bloat-o-meter b/scripts/bloat-o-meter index 75f21d843c1d..75f21d843c1d 100644..100755 --- a/scripts/bloat-o-meter +++ b/scripts/bloat-o-meter | |||
diff --git a/scripts/checkstack.pl b/scripts/checkstack.pl index dadfa20ffec0..dadfa20ffec0 100644..100755 --- a/scripts/checkstack.pl +++ b/scripts/checkstack.pl | |||
diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh index 6d411169bfa6..56b3bed1108f 100644 --- a/scripts/gen_initramfs_list.sh +++ b/scripts/gen_initramfs_list.sh | |||
@@ -1,22 +1,55 @@ | |||
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | # Copyright (C) Martin Schlemmer <azarah@nosferatu.za.org> | 2 | # Copyright (C) Martin Schlemmer <azarah@nosferatu.za.org> |
3 | # Released under the terms of the GNU GPL | 3 | # Copyright (c) 2006 Sam Ravnborg <sam@ravnborg.org> |
4 | # | ||
5 | # Generate a newline separated list of entries from the file/directory | ||
6 | # supplied as an argument. | ||
7 | # | ||
8 | # If a file/directory is not supplied then generate a small dummy file. | ||
9 | # | 4 | # |
10 | # The output is suitable for gen_init_cpio built from usr/gen_init_cpio.c. | 5 | # Released under the terms of the GNU GPL |
11 | # | 6 | # |
7 | # Generate a cpio packed initramfs. It uses gen_init_cpio to generate | ||
8 | # the cpio archive, and gzip to pack it. | ||
9 | # The script may also be used to generate the inputfile used for gen_init_cpio | ||
10 | # This script assumes that gen_init_cpio is located in usr/ directory | ||
11 | |||
12 | # error out on errors | ||
13 | set -e | ||
14 | |||
15 | usage() { | ||
16 | cat << EOF | ||
17 | Usage: | ||
18 | $0 [-o <file>] [-u <uid>] [-g <gid>] {-d | <cpio_source>} ... | ||
19 | -o <file> Create gzipped initramfs file named <file> using | ||
20 | gen_init_cpio and gzip | ||
21 | -u <uid> User ID to map to user ID 0 (root). | ||
22 | <uid> is only meaningful if <cpio_source> | ||
23 | is a directory. | ||
24 | -g <gid> Group ID to map to group ID 0 (root). | ||
25 | <gid> is only meaningful if <cpio_source> | ||
26 | is a directory. | ||
27 | <cpio_source> File list or directory for cpio archive. | ||
28 | If <cpio_source> is a .cpio file it will be used | ||
29 | as direct input to initramfs. | ||
30 | -d Output the default cpio list. | ||
31 | |||
32 | All options except -o and -l may be repeated and are interpreted | ||
33 | sequentially and immediately. -u and -g states are preserved across | ||
34 | <cpio_source> options so an explicit "-u 0 -g 0" is required | ||
35 | to reset the root/group mapping. | ||
36 | EOF | ||
37 | } | ||
38 | |||
39 | list_default_initramfs() { | ||
40 | # echo usr/kinit/kinit | ||
41 | : | ||
42 | } | ||
12 | 43 | ||
13 | default_initramfs() { | 44 | default_initramfs() { |
14 | cat <<-EOF | 45 | cat <<-EOF >> ${output} |
15 | # This is a very simple, default initramfs | 46 | # This is a very simple, default initramfs |
16 | 47 | ||
17 | dir /dev 0755 0 0 | 48 | dir /dev 0755 0 0 |
18 | nod /dev/console 0600 0 0 c 5 1 | 49 | nod /dev/console 0600 0 0 c 5 1 |
19 | dir /root 0700 0 0 | 50 | dir /root 0700 0 0 |
51 | # file /kinit usr/kinit/kinit 0755 0 0 | ||
52 | # slink /init kinit 0755 0 0 | ||
20 | EOF | 53 | EOF |
21 | } | 54 | } |
22 | 55 | ||
@@ -42,18 +75,28 @@ filetype() { | |||
42 | return 0 | 75 | return 0 |
43 | } | 76 | } |
44 | 77 | ||
78 | list_print_mtime() { | ||
79 | : | ||
80 | } | ||
81 | |||
45 | print_mtime() { | 82 | print_mtime() { |
46 | local argv1="$1" | ||
47 | local my_mtime="0" | 83 | local my_mtime="0" |
48 | 84 | ||
49 | if [ -e "${argv1}" ]; then | 85 | if [ -e "$1" ]; then |
50 | my_mtime=$(find "${argv1}" -printf "%T@\n" | sort -r | head -n 1) | 86 | my_mtime=$(find "$1" -printf "%T@\n" | sort -r | head -n 1) |
51 | fi | 87 | fi |
52 | 88 | ||
53 | echo "# Last modified: ${my_mtime}" | 89 | echo "# Last modified: ${my_mtime}" >> ${output} |
54 | echo | 90 | echo "" >> ${output} |
91 | } | ||
92 | |||
93 | list_parse() { | ||
94 | echo "$1 \\" | ||
55 | } | 95 | } |
56 | 96 | ||
97 | # for each file print a line in following format | ||
98 | # <filetype> <name> <path to file> <octal mode> <uid> <gid> | ||
99 | # for links, devices etc the format differs. See gen_init_cpio for details | ||
57 | parse() { | 100 | parse() { |
58 | local location="$1" | 101 | local location="$1" |
59 | local name="${location/${srcdir}//}" | 102 | local name="${location/${srcdir}//}" |
@@ -99,80 +142,112 @@ parse() { | |||
99 | ;; | 142 | ;; |
100 | esac | 143 | esac |
101 | 144 | ||
102 | echo "${str}" | 145 | echo "${str}" >> ${output} |
103 | 146 | ||
104 | return 0 | 147 | return 0 |
105 | } | 148 | } |
106 | 149 | ||
107 | usage() { | 150 | unknown_option() { |
108 | printf "Usage:\n" | 151 | printf "ERROR: unknown option \"$arg\"\n" >&2 |
109 | printf "$0 [ [-u <root_uid>] [-g <root_gid>] [-d | <cpio_source>] ] . . .\n" | 152 | printf "If the filename validly begins with '-', " >&2 |
110 | printf "\n" | 153 | printf "then it must be prefixed\n" >&2 |
111 | printf -- "-u <root_uid> User ID to map to user ID 0 (root).\n" | 154 | printf "by './' so that it won't be interpreted as an option." >&2 |
112 | printf " <root_uid> is only meaningful if <cpio_source>\n" | 155 | printf "\n" >&2 |
113 | printf " is a directory.\n" | 156 | usage >&2 |
114 | printf -- "-g <root_gid> Group ID to map to group ID 0 (root).\n" | 157 | exit 1 |
115 | printf " <root_gid> is only meaningful if <cpio_source>\n" | 158 | } |
116 | printf " is a directory.\n" | 159 | |
117 | printf "<cpio_source> File list or directory for cpio archive.\n" | 160 | list_header() { |
118 | printf " If <cpio_source> is not provided then a\n" | 161 | echo "deps_initramfs := \\" |
119 | printf " a default list will be output.\n" | 162 | } |
120 | printf -- "-d Output the default cpio list. If no <cpio_source>\n" | 163 | |
121 | printf " is given then the default cpio list will be output.\n" | 164 | header() { |
122 | printf "\n" | 165 | printf "\n#####################\n# $1\n" >> ${output} |
123 | printf "All options may be repeated and are interpreted sequentially\n" | 166 | } |
124 | printf "and immediately. -u and -g states are preserved across\n" | 167 | |
125 | printf "<cpio_source> options so an explicit \"-u 0 -g 0\" is required\n" | 168 | # process one directory (incl sub-directories) |
126 | printf "to reset the root/group mapping.\n" | 169 | dir_filelist() { |
170 | ${dep_list}header "$1" | ||
171 | |||
172 | srcdir=$(echo "$1" | sed -e 's://*:/:g') | ||
173 | dirlist=$(find "${srcdir}" -printf "%p %m %U %G\n" 2>/dev/null) | ||
174 | |||
175 | # If $dirlist is only one line, then the directory is empty | ||
176 | if [ "$(echo "${dirlist}" | wc -l)" -gt 1 ]; then | ||
177 | ${dep_list}print_mtime "$1" | ||
178 | |||
179 | echo "${dirlist}" | \ | ||
180 | while read x; do | ||
181 | ${dep_list}parse ${x} | ||
182 | done | ||
183 | fi | ||
127 | } | 184 | } |
128 | 185 | ||
129 | build_list() { | 186 | # if only one file is specified and it is .cpio file then use it direct as fs |
130 | printf "\n#####################\n# $cpio_source\n" | 187 | # if a directory is specified then add all files in given direcotry to fs |
131 | 188 | # if a regular file is specified assume it is in gen_initramfs format | |
132 | if [ -f "$cpio_source" ]; then | 189 | input_file() { |
133 | print_mtime "$cpio_source" | 190 | source="$1" |
134 | cat "$cpio_source" | 191 | if [ -f "$1" ]; then |
135 | elif [ -d "$cpio_source" ]; then | 192 | ${dep_list}header "$1" |
136 | srcdir=$(echo "$cpio_source" | sed -e 's://*:/:g') | 193 | is_cpio="$(echo "$1" | sed 's/^.*\.cpio/cpio/')" |
137 | dirlist=$(find "${srcdir}" -printf "%p %m %U %G\n" 2>/dev/null) | 194 | if [ $2 -eq 0 -a ${is_cpio} == "cpio" ]; then |
138 | 195 | cpio_file=$1 | |
139 | # If $dirlist is only one line, then the directory is empty | 196 | [ ! -z ${dep_list} ] && echo "$1" |
140 | if [ "$(echo "${dirlist}" | wc -l)" -gt 1 ]; then | 197 | return 0 |
141 | print_mtime "$cpio_source" | 198 | fi |
142 | 199 | if [ -z ${dep_list} ]; then | |
143 | echo "${dirlist}" | \ | 200 | print_mtime "$1" >> ${output} |
144 | while read x; do | 201 | cat "$1" >> ${output} |
145 | parse ${x} | ||
146 | done | ||
147 | else | 202 | else |
148 | # Failsafe in case directory is empty | 203 | grep ^file "$1" | cut -d ' ' -f 3 |
149 | default_initramfs | ||
150 | fi | 204 | fi |
205 | elif [ -d "$1" ]; then | ||
206 | dir_filelist "$1" | ||
151 | else | 207 | else |
152 | echo " $0: Cannot open '$cpio_source'" >&2 | 208 | echo " ${prog}: Cannot open '$1'" >&2 |
153 | exit 1 | 209 | exit 1 |
154 | fi | 210 | fi |
155 | } | 211 | } |
156 | 212 | ||
157 | 213 | prog=$0 | |
158 | root_uid=0 | 214 | root_uid=0 |
159 | root_gid=0 | 215 | root_gid=0 |
216 | dep_list= | ||
217 | cpio_file= | ||
218 | cpio_list= | ||
219 | output="/dev/stdout" | ||
220 | output_file="" | ||
160 | 221 | ||
222 | arg="$1" | ||
223 | case "$arg" in | ||
224 | "-l") # files included in initramfs - used by kbuild | ||
225 | dep_list="list_" | ||
226 | shift | ||
227 | ;; | ||
228 | "-o") # generate gzipped cpio image named $1 | ||
229 | shift | ||
230 | output_file="$1" | ||
231 | cpio_list="$(mktemp ${TMPDIR:-/tmp}/cpiolist.XXXXXX)" | ||
232 | output=${cpio_list} | ||
233 | shift | ||
234 | ;; | ||
235 | esac | ||
161 | while [ $# -gt 0 ]; do | 236 | while [ $# -gt 0 ]; do |
162 | arg="$1" | 237 | arg="$1" |
163 | shift | 238 | shift |
164 | case "$arg" in | 239 | case "$arg" in |
165 | "-u") | 240 | "-u") # map $1 to uid=0 (root) |
166 | root_uid="$1" | 241 | root_uid="$1" |
167 | shift | 242 | shift |
168 | ;; | 243 | ;; |
169 | "-g") | 244 | "-g") # map $1 to gid=0 (root) |
170 | root_gid="$1" | 245 | root_gid="$1" |
171 | shift | 246 | shift |
172 | ;; | 247 | ;; |
173 | "-d") | 248 | "-d") # display default initramfs list |
174 | default_list="$arg" | 249 | default_list="$arg" |
175 | default_initramfs | 250 | ${dep_list}default_initramfs |
176 | ;; | 251 | ;; |
177 | "-h") | 252 | "-h") |
178 | usage | 253 | usage |
@@ -181,23 +256,27 @@ while [ $# -gt 0 ]; do | |||
181 | *) | 256 | *) |
182 | case "$arg" in | 257 | case "$arg" in |
183 | "-"*) | 258 | "-"*) |
184 | printf "ERROR: unknown option \"$arg\"\n" >&2 | 259 | unknown_option |
185 | printf "If the filename validly begins with '-', then it must be prefixed\n" >&2 | ||
186 | printf "by './' so that it won't be interpreted as an option." >&2 | ||
187 | printf "\n" >&2 | ||
188 | usage >&2 | ||
189 | exit 1 | ||
190 | ;; | 260 | ;; |
191 | *) | 261 | *) # input file/dir - process it |
192 | cpio_source="$arg" | 262 | input_file "$arg" "$#" |
193 | build_list | ||
194 | ;; | 263 | ;; |
195 | esac | 264 | esac |
196 | ;; | 265 | ;; |
197 | esac | 266 | esac |
198 | done | 267 | done |
199 | 268 | ||
200 | # spit out the default cpio list if a source hasn't been specified | 269 | # If output_file is set we will generate cpio archive and gzip it |
201 | [ -z "$cpio_source" -a -z "$default_list" ] && default_initramfs | 270 | # we are carefull to delete tmp files |
202 | 271 | if [ ! -z ${output_file} ]; then | |
272 | if [ -z ${cpio_file} ]; then | ||
273 | cpio_tfile="$(mktemp ${TMPDIR:-/tmp}/cpiofile.XXXXXX)" | ||
274 | usr/gen_init_cpio ${cpio_list} > ${cpio_tfile} | ||
275 | else | ||
276 | cpio_tfile=${cpio_file} | ||
277 | fi | ||
278 | rm ${cpio_list} | ||
279 | cat ${cpio_tfile} | gzip -f -9 - > ${output_file} | ||
280 | [ -z ${cpio_file} ] && rm ${cpio_tfile} | ||
281 | fi | ||
203 | exit 0 | 282 | exit 0 |
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c index 10eeae53d827..8012d1076876 100644 --- a/scripts/kconfig/conf.c +++ b/scripts/kconfig/conf.c | |||
@@ -5,6 +5,7 @@ | |||
5 | 5 | ||
6 | #include <ctype.h> | 6 | #include <ctype.h> |
7 | #include <stdlib.h> | 7 | #include <stdlib.h> |
8 | #include <stdio.h> | ||
8 | #include <string.h> | 9 | #include <string.h> |
9 | #include <unistd.h> | 10 | #include <unistd.h> |
10 | #include <time.h> | 11 | #include <time.h> |
@@ -63,20 +64,6 @@ static void check_stdin(void) | |||
63 | } | 64 | } |
64 | } | 65 | } |
65 | 66 | ||
66 | static char *fgets_check_stream(char *s, int size, FILE *stream) | ||
67 | { | ||
68 | char *ret = fgets(s, size, stream); | ||
69 | |||
70 | if (ret == NULL && feof(stream)) { | ||
71 | printf(_("aborted!\n\n")); | ||
72 | printf(_("Console input is closed. ")); | ||
73 | printf(_("Run 'make oldconfig' to update configuration.\n\n")); | ||
74 | exit(1); | ||
75 | } | ||
76 | |||
77 | return ret; | ||
78 | } | ||
79 | |||
80 | static void conf_askvalue(struct symbol *sym, const char *def) | 67 | static void conf_askvalue(struct symbol *sym, const char *def) |
81 | { | 68 | { |
82 | enum symbol_type type = sym_get_type(sym); | 69 | enum symbol_type type = sym_get_type(sym); |
@@ -114,7 +101,7 @@ static void conf_askvalue(struct symbol *sym, const char *def) | |||
114 | check_stdin(); | 101 | check_stdin(); |
115 | case ask_all: | 102 | case ask_all: |
116 | fflush(stdout); | 103 | fflush(stdout); |
117 | fgets_check_stream(line, 128, stdin); | 104 | fgets(line, 128, stdin); |
118 | return; | 105 | return; |
119 | case set_default: | 106 | case set_default: |
120 | printf("%s\n", def); | 107 | printf("%s\n", def); |
@@ -328,8 +315,7 @@ static int conf_choice(struct menu *menu) | |||
328 | printf("%*s%s\n", indent - 1, "", menu_get_prompt(menu)); | 315 | printf("%*s%s\n", indent - 1, "", menu_get_prompt(menu)); |
329 | def_sym = sym_get_choice_value(sym); | 316 | def_sym = sym_get_choice_value(sym); |
330 | cnt = def = 0; | 317 | cnt = def = 0; |
331 | line[0] = '0'; | 318 | line[0] = 0; |
332 | line[1] = 0; | ||
333 | for (child = menu->list; child; child = child->next) { | 319 | for (child = menu->list; child; child = child->next) { |
334 | if (!menu_is_visible(child)) | 320 | if (!menu_is_visible(child)) |
335 | continue; | 321 | continue; |
@@ -370,7 +356,7 @@ static int conf_choice(struct menu *menu) | |||
370 | check_stdin(); | 356 | check_stdin(); |
371 | case ask_all: | 357 | case ask_all: |
372 | fflush(stdout); | 358 | fflush(stdout); |
373 | fgets_check_stream(line, 128, stdin); | 359 | fgets(line, 128, stdin); |
374 | strip(line); | 360 | strip(line); |
375 | if (line[0] == '?') { | 361 | if (line[0] == '?') { |
376 | printf("\n%s\n", menu->sym->help ? | 362 | printf("\n%s\n", menu->sym->help ? |
@@ -546,7 +532,7 @@ int main(int ac, char **av) | |||
546 | break; | 532 | break; |
547 | case 'h': | 533 | case 'h': |
548 | case '?': | 534 | case '?': |
549 | printf("%s [-o|-s] config\n", av[0]); | 535 | fprintf(stderr, "See README for usage info\n"); |
550 | exit(0); | 536 | exit(0); |
551 | } | 537 | } |
552 | } | 538 | } |
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 1b8882ddbc74..1b5df589f3ae 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c | |||
@@ -325,7 +325,7 @@ int conf_read(const char *name) | |||
325 | sym->flags |= e->right.sym->flags & SYMBOL_NEW; | 325 | sym->flags |= e->right.sym->flags & SYMBOL_NEW; |
326 | } | 326 | } |
327 | 327 | ||
328 | sym_change_count = conf_warnings && conf_unsaved; | 328 | sym_change_count = conf_warnings || conf_unsaved; |
329 | 329 | ||
330 | return 0; | 330 | return 0; |
331 | } | 331 | } |
diff --git a/scripts/kconfig/lxdialog/checklist.c b/scripts/kconfig/lxdialog/checklist.c index db07ae73e051..be0200e9cdaf 100644 --- a/scripts/kconfig/lxdialog/checklist.c +++ b/scripts/kconfig/lxdialog/checklist.c | |||
@@ -196,8 +196,8 @@ int dialog_checklist(const char *title, const char *prompt, int height, | |||
196 | 196 | ||
197 | print_buttons(dialog, height, width, 0); | 197 | print_buttons(dialog, height, width, 0); |
198 | 198 | ||
199 | wnoutrefresh(list); | ||
200 | wnoutrefresh(dialog); | 199 | wnoutrefresh(dialog); |
200 | wnoutrefresh(list); | ||
201 | doupdate(); | 201 | doupdate(); |
202 | 202 | ||
203 | while (key != ESC) { | 203 | while (key != ESC) { |
@@ -225,12 +225,11 @@ int dialog_checklist(const char *title, const char *prompt, int height, | |||
225 | } | 225 | } |
226 | scroll--; | 226 | scroll--; |
227 | print_item(list, items[scroll * 3 + 1], status[scroll], 0, TRUE); | 227 | print_item(list, items[scroll * 3 + 1], status[scroll], 0, TRUE); |
228 | wnoutrefresh(list); | ||
229 | |||
230 | print_arrows(dialog, choice, item_no, | 228 | print_arrows(dialog, choice, item_no, |
231 | scroll, box_y, box_x + check_x + 5, list_height); | 229 | scroll, box_y, box_x + check_x + 5, list_height); |
232 | 230 | ||
233 | wrefresh(dialog); | 231 | wnoutrefresh(dialog); |
232 | wrefresh(list); | ||
234 | 233 | ||
235 | continue; /* wait for another key press */ | 234 | continue; /* wait for another key press */ |
236 | } else | 235 | } else |
@@ -252,12 +251,12 @@ int dialog_checklist(const char *title, const char *prompt, int height, | |||
252 | scroll++; | 251 | scroll++; |
253 | print_item(list, items[(scroll + max_choice - 1) * 3 + 1], | 252 | print_item(list, items[(scroll + max_choice - 1) * 3 + 1], |
254 | status[scroll + max_choice - 1], max_choice - 1, TRUE); | 253 | status[scroll + max_choice - 1], max_choice - 1, TRUE); |
255 | wnoutrefresh(list); | ||
256 | 254 | ||
257 | print_arrows(dialog, choice, item_no, | 255 | print_arrows(dialog, choice, item_no, |
258 | scroll, box_y, box_x + check_x + 5, list_height); | 256 | scroll, box_y, box_x + check_x + 5, list_height); |
259 | 257 | ||
260 | wrefresh(dialog); | 258 | wnoutrefresh(dialog); |
259 | wrefresh(list); | ||
261 | 260 | ||
262 | continue; /* wait for another key press */ | 261 | continue; /* wait for another key press */ |
263 | } else | 262 | } else |
@@ -271,8 +270,8 @@ int dialog_checklist(const char *title, const char *prompt, int height, | |||
271 | choice = i; | 270 | choice = i; |
272 | print_item(list, items[(scroll + choice) * 3 + 1], | 271 | print_item(list, items[(scroll + choice) * 3 + 1], |
273 | status[scroll + choice], choice, TRUE); | 272 | status[scroll + choice], choice, TRUE); |
274 | wnoutrefresh(list); | 273 | wnoutrefresh(dialog); |
275 | wrefresh(dialog); | 274 | wrefresh(list); |
276 | } | 275 | } |
277 | continue; /* wait for another key press */ | 276 | continue; /* wait for another key press */ |
278 | } | 277 | } |
@@ -306,8 +305,8 @@ int dialog_checklist(const char *title, const char *prompt, int height, | |||
306 | print_item(list, items[(scroll + i) * 3 + 1], | 305 | print_item(list, items[(scroll + i) * 3 + 1], |
307 | status[scroll + i], i, i == choice); | 306 | status[scroll + i], i, i == choice); |
308 | } | 307 | } |
309 | wnoutrefresh(list); | 308 | wnoutrefresh(dialog); |
310 | wrefresh(dialog); | 309 | wrefresh(list); |
311 | 310 | ||
312 | for (i = 0; i < item_no; i++) | 311 | for (i = 0; i < item_no; i++) |
313 | if (status[i]) | 312 | if (status[i]) |
diff --git a/scripts/kconfig/lxdialog/menubox.c b/scripts/kconfig/lxdialog/menubox.c index 09512b544375..bf8052f4fd4a 100644 --- a/scripts/kconfig/lxdialog/menubox.c +++ b/scripts/kconfig/lxdialog/menubox.c | |||
@@ -58,8 +58,7 @@ | |||
58 | 58 | ||
59 | #include "dialog.h" | 59 | #include "dialog.h" |
60 | 60 | ||
61 | #define ITEM_IDENT 1 /* Indent of menu entries. Fixed for all menus */ | 61 | static int menu_width, item_x; |
62 | static int menu_width; | ||
63 | 62 | ||
64 | /* | 63 | /* |
65 | * Print menu item | 64 | * Print menu item |
@@ -70,7 +69,7 @@ static void do_print_item(WINDOW * win, const char *item, int choice, | |||
70 | int j; | 69 | int j; |
71 | char *menu_item = malloc(menu_width + 1); | 70 | char *menu_item = malloc(menu_width + 1); |
72 | 71 | ||
73 | strncpy(menu_item, item, menu_width - ITEM_IDENT); | 72 | strncpy(menu_item, item, menu_width - item_x); |
74 | menu_item[menu_width] = 0; | 73 | menu_item[menu_width] = 0; |
75 | j = first_alpha(menu_item, "YyNnMmHh"); | 74 | j = first_alpha(menu_item, "YyNnMmHh"); |
76 | 75 | ||
@@ -87,13 +86,13 @@ static void do_print_item(WINDOW * win, const char *item, int choice, | |||
87 | wclrtoeol(win); | 86 | wclrtoeol(win); |
88 | #endif | 87 | #endif |
89 | wattrset(win, selected ? item_selected_attr : item_attr); | 88 | wattrset(win, selected ? item_selected_attr : item_attr); |
90 | mvwaddstr(win, choice, ITEM_IDENT, menu_item); | 89 | mvwaddstr(win, choice, item_x, menu_item); |
91 | if (hotkey) { | 90 | if (hotkey) { |
92 | wattrset(win, selected ? tag_key_selected_attr : tag_key_attr); | 91 | wattrset(win, selected ? tag_key_selected_attr : tag_key_attr); |
93 | mvwaddch(win, choice, ITEM_IDENT + j, menu_item[j]); | 92 | mvwaddch(win, choice, item_x + j, menu_item[j]); |
94 | } | 93 | } |
95 | if (selected) { | 94 | if (selected) { |
96 | wmove(win, choice, ITEM_IDENT + 1); | 95 | wmove(win, choice, item_x + 1); |
97 | } | 96 | } |
98 | free(menu_item); | 97 | free(menu_item); |
99 | wrefresh(win); | 98 | wrefresh(win); |
@@ -227,6 +226,8 @@ int dialog_menu(const char *title, const char *prompt, int height, int width, | |||
227 | draw_box(dialog, box_y, box_x, menu_height + 2, menu_width + 2, | 226 | draw_box(dialog, box_y, box_x, menu_height + 2, menu_width + 2, |
228 | menubox_border_attr, menubox_attr); | 227 | menubox_border_attr, menubox_attr); |
229 | 228 | ||
229 | item_x = (menu_width - 70) / 2; | ||
230 | |||
230 | /* Set choice to default item */ | 231 | /* Set choice to default item */ |
231 | for (i = 0; i < item_no; i++) | 232 | for (i = 0; i < item_no; i++) |
232 | if (strcmp(current, items[i * 2]) == 0) | 233 | if (strcmp(current, items[i * 2]) == 0) |
@@ -263,10 +264,10 @@ int dialog_menu(const char *title, const char *prompt, int height, int width, | |||
263 | wnoutrefresh(menu); | 264 | wnoutrefresh(menu); |
264 | 265 | ||
265 | print_arrows(dialog, item_no, scroll, | 266 | print_arrows(dialog, item_no, scroll, |
266 | box_y, box_x + ITEM_IDENT + 1, menu_height); | 267 | box_y, box_x + item_x + 1, menu_height); |
267 | 268 | ||
268 | print_buttons(dialog, height, width, 0); | 269 | print_buttons(dialog, height, width, 0); |
269 | wmove(menu, choice, ITEM_IDENT + 1); | 270 | wmove(menu, choice, item_x + 1); |
270 | wrefresh(menu); | 271 | wrefresh(menu); |
271 | 272 | ||
272 | while (key != ESC) { | 273 | while (key != ESC) { |
@@ -349,7 +350,7 @@ int dialog_menu(const char *title, const char *prompt, int height, int width, | |||
349 | print_item(scroll + choice, choice, TRUE); | 350 | print_item(scroll + choice, choice, TRUE); |
350 | 351 | ||
351 | print_arrows(dialog, item_no, scroll, | 352 | print_arrows(dialog, item_no, scroll, |
352 | box_y, box_x + ITEM_IDENT + 1, menu_height); | 353 | box_y, box_x + item_x + 1, menu_height); |
353 | 354 | ||
354 | wnoutrefresh(dialog); | 355 | wnoutrefresh(dialog); |
355 | wrefresh(menu); | 356 | wrefresh(menu); |
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 0b92ddff26fd..cd00e9f07589 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c | |||
@@ -492,17 +492,19 @@ static int strrcmp(const char *s, const char *sub) | |||
492 | * These functions may often be marked __init and we do not want to | 492 | * These functions may often be marked __init and we do not want to |
493 | * warn here. | 493 | * warn here. |
494 | * the pattern is identified by: | 494 | * the pattern is identified by: |
495 | * tosec = .init.text | .exit.text | 495 | * tosec = .init.text | .exit.text | .init.data |
496 | * fromsec = .data | 496 | * fromsec = .data |
497 | * atsym = *_driver, *_ops, *_probe, *probe_one | 497 | * atsym = *_driver, *_template, *_sht, *_ops, *_probe, *probe_one |
498 | **/ | 498 | **/ |
499 | static int secref_whitelist(const char *tosec, const char *fromsec, | 499 | static int secref_whitelist(const char *tosec, const char *fromsec, |
500 | const char *atsym) | 500 | const char *atsym) |
501 | { | 501 | { |
502 | int f1 = 1, f2 = 1; | 502 | int f1 = 1, f2 = 1; |
503 | const char **s; | 503 | const char **s; |
504 | const char *pat2sym[] = { | 504 | const char *pat2sym[] = { |
505 | "_driver", | 505 | "_driver", |
506 | "_template", /* scsi uses *_template a lot */ | ||
507 | "_sht", /* scsi also used *_sht to some extent */ | ||
506 | "_ops", | 508 | "_ops", |
507 | "_probe", | 509 | "_probe", |
508 | "_probe_one", | 510 | "_probe_one", |
@@ -522,7 +524,8 @@ static int secref_whitelist(const char *tosec, const char *fromsec, | |||
522 | 524 | ||
523 | /* Check for pattern 2 */ | 525 | /* Check for pattern 2 */ |
524 | if ((strcmp(tosec, ".init.text") != 0) && | 526 | if ((strcmp(tosec, ".init.text") != 0) && |
525 | (strcmp(tosec, ".exit.text") != 0)) | 527 | (strcmp(tosec, ".exit.text") != 0) && |
528 | (strcmp(tosec, ".init.data") != 0)) | ||
526 | f2 = 0; | 529 | f2 = 0; |
527 | if (strcmp(fromsec, ".data") != 0) | 530 | if (strcmp(fromsec, ".data") != 0) |
528 | f2 = 0; | 531 | f2 = 0; |
@@ -658,7 +661,7 @@ static void warn_sec_mismatch(const char *modname, const char *fromsec, | |||
658 | warn("%s - Section mismatch: reference to %s:%s from %s " | 661 | warn("%s - Section mismatch: reference to %s:%s from %s " |
659 | "before '%s' (at offset -0x%llx)\n", | 662 | "before '%s' (at offset -0x%llx)\n", |
660 | modname, secname, refsymname, fromsec, | 663 | modname, secname, refsymname, fromsec, |
661 | elf->strtab + before->st_name, | 664 | elf->strtab + after->st_name, |
662 | (long long)r.r_offset); | 665 | (long long)r.r_offset); |
663 | } else { | 666 | } else { |
664 | warn("%s - Section mismatch: reference to %s:%s from %s " | 667 | warn("%s - Section mismatch: reference to %s:%s from %s " |
@@ -820,6 +823,7 @@ static int exit_section(const char *name) | |||
820 | * For our future {in}sanity, add a comment that this is the ppc .opd | 823 | * For our future {in}sanity, add a comment that this is the ppc .opd |
821 | * section, not the ia64 .opd section. | 824 | * section, not the ia64 .opd section. |
822 | * ia64 .opd should not point to discarded sections. | 825 | * ia64 .opd should not point to discarded sections. |
826 | * [.rodata] like for .init.text we ignore .rodata references -same reason | ||
823 | **/ | 827 | **/ |
824 | static int exit_section_ref_ok(const char *name) | 828 | static int exit_section_ref_ok(const char *name) |
825 | { | 829 | { |
@@ -829,6 +833,7 @@ static int exit_section_ref_ok(const char *name) | |||
829 | ".exit.text", | 833 | ".exit.text", |
830 | ".exit.data", | 834 | ".exit.data", |
831 | ".init.text", | 835 | ".init.text", |
836 | ".rodata", | ||
832 | ".opd", /* See comment [OPD] */ | 837 | ".opd", /* See comment [OPD] */ |
833 | ".toc1", /* used by ppc64 */ | 838 | ".toc1", /* used by ppc64 */ |
834 | ".altinstructions", | 839 | ".altinstructions", |
diff --git a/scripts/namespace.pl b/scripts/namespace.pl index f34373853ef8..f34373853ef8 100644..100755 --- a/scripts/namespace.pl +++ b/scripts/namespace.pl | |||
diff --git a/scripts/show_delta b/scripts/show_delta index 48a706ab3d0c..48a706ab3d0c 100644..100755 --- a/scripts/show_delta +++ b/scripts/show_delta | |||
diff --git a/scripts/ver_linux b/scripts/ver_linux index beb43ef7f761..84999f69773d 100755 --- a/scripts/ver_linux +++ b/scripts/ver_linux | |||
@@ -39,10 +39,10 @@ tune2fs 2>&1 | grep "^tune2fs" | sed 's/,//' | awk \ | |||
39 | fsck.jfs -V 2>&1 | grep version | sed 's/,//' | awk \ | 39 | fsck.jfs -V 2>&1 | grep version | sed 's/,//' | awk \ |
40 | 'NR==1 {print "jfsutils ", $3}' | 40 | 'NR==1 {print "jfsutils ", $3}' |
41 | 41 | ||
42 | reiserfsck -V 2>&1 | grep reiserfsck | awk \ | 42 | reiserfsck -V 2>&1 | grep ^reiserfsck | awk \ |
43 | 'NR==1{print "reiserfsprogs ", $2}' | 43 | 'NR==1{print "reiserfsprogs ", $2}' |
44 | 44 | ||
45 | fsck.reiser4 -V 2>&1 | grep fsck.reiser4 | awk \ | 45 | fsck.reiser4 -V 2>&1 | grep ^fsck.reiser4 | awk \ |
46 | 'NR==1{print "reiser4progs ", $2}' | 46 | 'NR==1{print "reiser4progs ", $2}' |
47 | 47 | ||
48 | xfs_db -V 2>&1 | grep version | awk \ | 48 | xfs_db -V 2>&1 | grep version | awk \ |