uml: don't use a too long string literal
uml uses a concatenated string literal to store the contents of .config, but .config file content is varaible, it can be very long. Use an array of string literals instead. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
792dd4fc31
commit
dc71768742
|
@ -28,7 +28,7 @@ $(obj)/config.tmp: $(objtree)/.config FORCE
|
|||
$(call if_changed,quote1)
|
||||
|
||||
quiet_cmd_quote1 = QUOTE $@
|
||||
cmd_quote1 = sed -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/\\n"/' \
|
||||
cmd_quote1 = sed -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/\\n",/' \
|
||||
$< > $@
|
||||
|
||||
$(obj)/config.c: $(src)/config.c.in $(obj)/config.tmp FORCE
|
||||
|
@ -36,9 +36,9 @@ $(obj)/config.c: $(src)/config.c.in $(obj)/config.tmp FORCE
|
|||
|
||||
quiet_cmd_quote2 = QUOTE $@
|
||||
cmd_quote2 = sed -e '/CONFIG/{' \
|
||||
-e 's/"CONFIG"\;/""/' \
|
||||
-e 's/"CONFIG"//' \
|
||||
-e 'r $(obj)/config.tmp' \
|
||||
-e 'a \' \
|
||||
-e '""\;' \
|
||||
-e '""' \
|
||||
-e '}' \
|
||||
$< > $@
|
||||
|
|
|
@ -7,11 +7,15 @@
|
|||
#include <stdlib.h>
|
||||
#include "init.h"
|
||||
|
||||
static __initdata char *config = "CONFIG";
|
||||
static __initdata const char *config[] = {
|
||||
"CONFIG"
|
||||
};
|
||||
|
||||
static int __init print_config(char *line, int *add)
|
||||
{
|
||||
printf("%s", config);
|
||||
int i;
|
||||
for (i = 0; i < sizeof(config)/sizeof(config[0]); i++)
|
||||
printf("%s", config[i]);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue