diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/Makefile.build | 8 | ||||
| -rw-r--r-- | scripts/Makefile.lib | 8 | ||||
| -rw-r--r-- | scripts/basic/fixdep.c | 15 | ||||
| -rwxr-xr-x | scripts/bloat-o-meter | 2 | ||||
| -rw-r--r-- | scripts/coccinelle/api/memdup.cocci | 4 | ||||
| -rw-r--r-- | scripts/kallsyms.c | 2 | ||||
| -rw-r--r-- | scripts/kconfig/confdata.c | 2 | ||||
| -rw-r--r-- | scripts/kconfig/kxgettext.c | 2 | ||||
| -rw-r--r-- | scripts/kconfig/lkc.h | 1 | ||||
| -rwxr-xr-x | scripts/kconfig/lxdialog/check-lxdialog.sh | 3 | ||||
| -rw-r--r-- | scripts/kconfig/menu.c | 1 | ||||
| -rw-r--r-- | scripts/kconfig/symbol.c | 4 | ||||
| -rw-r--r-- | scripts/kconfig/util.c | 11 | ||||
| -rw-r--r-- | scripts/kconfig/zconf.l | 12 | ||||
| -rw-r--r-- | scripts/kconfig/zconf.y | 3 | ||||
| -rwxr-xr-x | scripts/link-vmlinux.sh | 2 | 
16 files changed, 47 insertions, 33 deletions
| diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 47cddf32aeba..4f2b25d43ec9 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -256,6 +256,8 @@ __objtool_obj := $(objtree)/tools/objtool/objtool  objtool_args = $(if $(CONFIG_UNWINDER_ORC),orc generate,check) +objtool_args += $(if $(part-of-module), --module,) +  ifndef CONFIG_FRAME_POINTER  objtool_args += --no-fp  endif @@ -264,6 +266,12 @@ objtool_args += --no-unreachable  else  objtool_args += $(call cc-ifversion, -lt, 0405, --no-unreachable)  endif +ifdef CONFIG_RETPOLINE +ifneq ($(RETPOLINE_CFLAGS),) +  objtool_args += --retpoline +endif +endif +  ifdef CONFIG_MODVERSIONS  objtool_o = $(@D)/.tmp_$(@F) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 5589bae34af6..a6f538b31ad6 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -297,11 +297,11 @@ cmd_dt_S_dtb=						\  	echo '\#include <asm-generic/vmlinux.lds.h>'; 	\  	echo '.section .dtb.init.rodata,"a"';		\  	echo '.balign STRUCT_ALIGNMENT';		\ -	echo '.global __dtb_$(*F)_begin';		\ -	echo '__dtb_$(*F)_begin:';			\ +	echo '.global __dtb_$(subst -,_,$(*F))_begin';	\ +	echo '__dtb_$(subst -,_,$(*F))_begin:';		\  	echo '.incbin "$<" ';				\ -	echo '__dtb_$(*F)_end:';			\ -	echo '.global __dtb_$(*F)_end';			\ +	echo '__dtb_$(subst -,_,$(*F))_end:';		\ +	echo '.global __dtb_$(subst -,_,$(*F))_end';	\  	echo '.balign STRUCT_ALIGNMENT'; 		\  ) > $@ diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c index fa3d39b6f23b..449b68c4c90c 100644 --- a/scripts/basic/fixdep.c +++ b/scripts/basic/fixdep.c @@ -93,14 +93,6 @@   * (Note: it'd be easy to port over the complete mkdep state machine,   *  but I don't think the added complexity is worth it)   */ -/* - * Note 2: if somebody writes HELLO_CONFIG_BOOM in a file, it will depend onto - * CONFIG_BOOM. This could seem a bug (not too hard to fix), but please do not - * fix it! Some UserModeLinux files (look at arch/um/) call CONFIG_BOOM as - * UML_CONFIG_BOOM, to avoid conflicts with /usr/include/linux/autoconf.h, - * through arch/um/include/uml-config.h; this fixdep "bug" makes sure that - * those files will have correct dependencies. - */  #include <sys/types.h>  #include <sys/stat.h> @@ -233,8 +225,13 @@ static int str_ends_with(const char *s, int slen, const char *sub)  static void parse_config_file(const char *p)  {  	const char *q, *r; +	const char *start = p;  	while ((p = strstr(p, "CONFIG_"))) { +		if (p > start && (isalnum(p[-1]) || p[-1] == '_')) { +			p += 7; +			continue; +		}  		p += 7;  		q = p;  		while (*q && (isalnum(*q) || *q == '_')) @@ -286,8 +283,6 @@ static int is_ignored_file(const char *s, int len)  {  	return str_ends_with(s, len, "include/generated/autoconf.h") ||  	       str_ends_with(s, len, "include/generated/autoksyms.h") || -	       str_ends_with(s, len, "arch/um/include/uml-config.h") || -	       str_ends_with(s, len, "include/linux/kconfig.h") ||  	       str_ends_with(s, len, ".ver");  } diff --git a/scripts/bloat-o-meter b/scripts/bloat-o-meter index 94b664817ad9..d84a5674e95e 100755 --- a/scripts/bloat-o-meter +++ b/scripts/bloat-o-meter @@ -15,7 +15,7 @@ signal(SIGPIPE, SIG_DFL)  if len(sys.argv) < 3:      sys.stderr.write("usage: %s [option] file1 file2\n" % sys.argv[0])      sys.stderr.write("The options are:\n") -    sys.stderr.write("-c	cateogrize output based on symbole type\n") +    sys.stderr.write("-c	categorize output based on symbol type\n")      sys.stderr.write("-d	Show delta of Data Section\n")      sys.stderr.write("-t	Show delta of text Section\n")      sys.exit(-1) diff --git a/scripts/coccinelle/api/memdup.cocci b/scripts/coccinelle/api/memdup.cocci index 1249b727644b..8fd6437beda8 100644 --- a/scripts/coccinelle/api/memdup.cocci +++ b/scripts/coccinelle/api/memdup.cocci @@ -56,10 +56,10 @@ statement S;  p << r.p;  @@ -coccilib.org.print_todo(p[0], "WARNING opportunity for kmemdep") +coccilib.org.print_todo(p[0], "WARNING opportunity for kmemdup")  @script:python depends on report@  p << r.p;  @@ -coccilib.report.print_report(p[0], "WARNING opportunity for kmemdep") +coccilib.report.print_report(p[0], "WARNING opportunity for kmemdup") diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c index 9ee9bf7fd1a2..65792650c630 100644 --- a/scripts/kallsyms.c +++ b/scripts/kallsyms.c @@ -595,7 +595,7 @@ static void optimize_result(void)  		 * original char code */  		if (!best_table_len[i]) { -			/* find the token with the breates profit value */ +			/* find the token with the best profit value */  			best = find_best_token();  			if (token_profit[best] == 0)  				break; diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 5c12dc91ef34..df26c7b0fe13 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -178,7 +178,7 @@ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)  	case S_HEX:  	done:  		if (sym_string_valid(sym, p)) { -			sym->def[def].val = strdup(p); +			sym->def[def].val = xstrdup(p);  			sym->flags |= def_flags;  		} else {  			if (def != S_DEF_AUTO) diff --git a/scripts/kconfig/kxgettext.c b/scripts/kconfig/kxgettext.c index 2858738b22d5..240880a89111 100644 --- a/scripts/kconfig/kxgettext.c +++ b/scripts/kconfig/kxgettext.c @@ -101,7 +101,7 @@ static struct message *message__new(const char *msg, char *option,  	if (self->files == NULL)  		goto out_fail; -	self->msg = strdup(msg); +	self->msg = xstrdup(msg);  	if (self->msg == NULL)  		goto out_fail_msg; diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h index 4e23febbe4b2..2d5ec2d0e952 100644 --- a/scripts/kconfig/lkc.h +++ b/scripts/kconfig/lkc.h @@ -115,6 +115,7 @@ int file_write_dep(const char *name);  void *xmalloc(size_t size);  void *xcalloc(size_t nmemb, size_t size);  void *xrealloc(void *p, size_t size); +char *xstrdup(const char *s);  struct gstr {  	size_t len; diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh index a10bd9d6fafd..6c0bcd9c472d 100755 --- a/scripts/kconfig/lxdialog/check-lxdialog.sh +++ b/scripts/kconfig/lxdialog/check-lxdialog.sh @@ -55,7 +55,8 @@ EOF  	    echo " *** required header files."                            1>&2  	    echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2  	    echo " *** "                                                  1>&2 -	    echo " *** Install ncurses (ncurses-devel) and try again."    1>&2 +	    echo " *** Install ncurses (ncurses-devel or libncurses-dev " 1>&2 +	    echo " *** depending on your distribution) and try again."    1>&2  	    echo " *** "                                                  1>&2  	    exit 1  	fi diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c index 99222855544c..36cd3e1f1c28 100644 --- a/scripts/kconfig/menu.c +++ b/scripts/kconfig/menu.c @@ -212,6 +212,7 @@ void menu_add_option(int token, char *arg)  			sym_defconfig_list = current_entry->sym;  		else if (sym_defconfig_list != current_entry->sym)  			zconf_error("trying to redefine defconfig symbol"); +		sym_defconfig_list->flags |= SYMBOL_AUTO;  		break;  	case T_OPT_ENV:  		prop_add_env(arg); diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c index cca9663be5dd..2220bc4b051b 100644 --- a/scripts/kconfig/symbol.c +++ b/scripts/kconfig/symbol.c @@ -183,7 +183,7 @@ static void sym_validate_range(struct symbol *sym)  		sprintf(str, "%lld", val2);  	else  		sprintf(str, "0x%llx", val2); -	sym->curr.val = strdup(str); +	sym->curr.val = xstrdup(str);  }  static void sym_set_changed(struct symbol *sym) @@ -849,7 +849,7 @@ struct symbol *sym_lookup(const char *name, int flags)  				   : !(symbol->flags & (SYMBOL_CONST|SYMBOL_CHOICE))))  				return symbol;  		} -		new_name = strdup(name); +		new_name = xstrdup(name);  	} else {  		new_name = NULL;  		hash = 0; diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c index b98a79e30e04..c6f6e21b809f 100644 --- a/scripts/kconfig/util.c +++ b/scripts/kconfig/util.c @@ -154,3 +154,14 @@ void *xrealloc(void *p, size_t size)  	fprintf(stderr, "Out of memory.\n");  	exit(1);  } + +char *xstrdup(const char *s) +{ +	char *p; + +	p = strdup(s); +	if (p) +		return p; +	fprintf(stderr, "Out of memory.\n"); +	exit(1); +} diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l index 02de6fe302a9..88b650eb9cc9 100644 --- a/scripts/kconfig/zconf.l +++ b/scripts/kconfig/zconf.l @@ -332,16 +332,12 @@ void zconf_nextfile(const char *name)  				"Inclusion path:\n  current file : '%s'\n",  				zconf_curname(), zconf_lineno(),  				zconf_curname()); -			iter = current_file->parent; -			while (iter && \ -			       strcmp(iter->name,current_file->name)) { -				fprintf(stderr, "  included from: '%s:%d'\n", -					iter->name, iter->lineno-1); +			iter = current_file; +			do {  				iter = iter->parent; -			} -			if (iter)  				fprintf(stderr, "  included from: '%s:%d'\n", -					iter->name, iter->lineno+1); +					iter->name, iter->lineno - 1); +			} while (strcmp(iter->name, current_file->name));  			exit(1);  		}  	} diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y index 4be98050b961..ad6305b0f40c 100644 --- a/scripts/kconfig/zconf.y +++ b/scripts/kconfig/zconf.y @@ -127,7 +127,7 @@ no_mainmenu_stmt: /* empty */  	 * later regardless of whether it comes from the 'prompt' in  	 * mainmenu_stmt or here  	 */ -	menu_add_prompt(P_MENU, strdup("Linux Kernel Configuration"), NULL); +	menu_add_prompt(P_MENU, xstrdup("Linux Kernel Configuration"), NULL);  }; @@ -276,6 +276,7 @@ choice: T_CHOICE word_opt T_EOL  	sym->flags |= SYMBOL_AUTO;  	menu_add_entry(sym);  	menu_add_expr(P_CHOICE, NULL, NULL); +	free($2);  	printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno());  }; diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index c0d129d7f430..be56a1153014 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -246,7 +246,7 @@ else  fi;  # final build of init/ -${MAKE} -f "${srctree}/scripts/Makefile.build" obj=init GCC_PLUGINS_CFLAGS="${GCC_PLUGINS_CFLAGS}" +${MAKE} -f "${srctree}/scripts/Makefile.build" obj=init  archive_builtin | 

