mirror of https://gitee.com/openkylin/linux.git
[PATCH] fix linux banner format string
Revert previous attempts at messing with the linux banner string and simply use a separate format string for proc. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Acked-by: Olaf Hering <olaf@aepfle.de> Acked-by: Jean Delvare <khali@linux-fr.org> Cc: Andrey Borzenkov <arvidjaar@mail.ru> Cc: Andrew Morton <akpm@osdl.org> Cc: Andy Whitcroft <apw@shadowen.org> Cc: Herbert Poetzl <herbert@13thfloor.at> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
8edf51a5ee
commit
3eb3c740f5
31
Makefile
31
Makefile
|
@ -368,14 +368,10 @@ endif
|
|||
# Detect when mixed targets is specified, and make a second invocation
|
||||
# of make so .config is not included in this case either (for *config).
|
||||
|
||||
PHONY += generated_headers
|
||||
|
||||
generated_headers: include/linux/version.h include/linux/compile.h \
|
||||
include/linux/utsrelease.h
|
||||
|
||||
no-dot-config-targets := generated_headers clean mrproper distclean \
|
||||
no-dot-config-targets := clean mrproper distclean \
|
||||
cscope TAGS tags help %docs check% \
|
||||
headers_% kernelrelease kernelversion
|
||||
include/linux/version.h headers_% \
|
||||
kernelrelease kernelversion
|
||||
|
||||
config-targets := 0
|
||||
mixed-targets := 0
|
||||
|
@ -738,16 +734,6 @@ debug_kallsyms: .tmp_map$(last_kallsyms)
|
|||
|
||||
endif # ifdef CONFIG_KALLSYMS
|
||||
|
||||
# compile.h changes depending on hostname, generation number, etc,
|
||||
# so we regenerate it always.
|
||||
# mkcompile_h will make sure to only update the
|
||||
# actual file if its content has changed.
|
||||
|
||||
include/linux/compile.h: FORCE
|
||||
@echo ' CHK $@'
|
||||
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \
|
||||
"$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" "$(CC) $(CFLAGS)"
|
||||
|
||||
# vmlinux image - including updated kernel symbols
|
||||
vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) FORCE
|
||||
ifdef CONFIG_HEADERS_CHECK
|
||||
|
@ -866,8 +852,8 @@ endif
|
|||
# prepare2 creates a makefile if using a separate output directory
|
||||
prepare2: prepare3 outputmakefile
|
||||
|
||||
prepare1: prepare2 generated_headers include/asm include/config/auto.conf
|
||||
|
||||
prepare1: prepare2 include/linux/version.h include/linux/utsrelease.h \
|
||||
include/asm include/config/auto.conf
|
||||
ifneq ($(KBUILD_MODULES),)
|
||||
$(Q)mkdir -p $(MODVERDIR)
|
||||
$(Q)rm -f $(MODVERDIR)/*
|
||||
|
@ -936,14 +922,14 @@ export INSTALL_HDR_PATH
|
|||
HDRARCHES=$(filter-out generic,$(patsubst $(srctree)/include/asm-%/Kbuild,%,$(wildcard $(srctree)/include/asm-*/Kbuild)))
|
||||
|
||||
PHONY += headers_install_all
|
||||
headers_install_all: generated_headers scripts_basic FORCE
|
||||
headers_install_all: include/linux/version.h scripts_basic FORCE
|
||||
$(Q)$(MAKE) $(build)=scripts scripts/unifdef
|
||||
$(Q)for arch in $(HDRARCHES); do \
|
||||
$(MAKE) ARCH=$$arch -f $(srctree)/scripts/Makefile.headersinst obj=include BIASMDIR=-bi-$$arch ;\
|
||||
done
|
||||
|
||||
PHONY += headers_install
|
||||
headers_install: generated_headers scripts_basic FORCE
|
||||
headers_install: include/linux/version.h scripts_basic FORCE
|
||||
@if [ ! -r $(srctree)/include/asm-$(ARCH)/Kbuild ]; then \
|
||||
echo '*** Error: Headers not exportable for this architecture ($(ARCH))'; \
|
||||
exit 1 ; fi
|
||||
|
@ -1040,7 +1026,8 @@ CLEAN_FILES += vmlinux System.map \
|
|||
# Directories & files removed with 'make mrproper'
|
||||
MRPROPER_DIRS += include/config include2 usr/include
|
||||
MRPROPER_FILES += .config .config.old include/asm .version .old_version \
|
||||
include/linux/autoconf.h include/linux/utsrelease.h include/linux/version.h \
|
||||
include/linux/autoconf.h include/linux/version.h \
|
||||
include/linux/utsrelease.h \
|
||||
Module.symvers tags TAGS cscope*
|
||||
|
||||
# clean - Delete most, but leave enough to build external modules
|
||||
|
|
|
@ -47,7 +47,6 @@
|
|||
#include <linux/vmalloc.h>
|
||||
#include <linux/crash_dump.h>
|
||||
#include <linux/pid_namespace.h>
|
||||
#include <linux/compile.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -254,12 +253,7 @@ static int version_read_proc(char *page, char **start, off_t off,
|
|||
{
|
||||
int len;
|
||||
|
||||
/* FIXED STRING! Don't touch! */
|
||||
len = snprintf(page, PAGE_SIZE,
|
||||
"%s version %s"
|
||||
" (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ")"
|
||||
" (" LINUX_COMPILER ")"
|
||||
" %s\n",
|
||||
len = snprintf(page, PAGE_SIZE, linux_proc_banner,
|
||||
utsname()->sysname,
|
||||
utsname()->release,
|
||||
utsname()->version);
|
||||
|
|
|
@ -17,6 +17,9 @@
|
|||
#include <asm/byteorder.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
extern const char linux_banner[];
|
||||
extern const char linux_proc_banner[];
|
||||
|
||||
#define INT_MAX ((int)(~0U>>1))
|
||||
#define INT_MIN (-INT_MAX - 1)
|
||||
#define UINT_MAX (~0U)
|
||||
|
|
|
@ -15,6 +15,14 @@ clean-files := ../include/linux/compile.h
|
|||
|
||||
# dependencies on generated files need to be listed explicitly
|
||||
|
||||
$(obj)/main.o: include/linux/compile.h
|
||||
$(obj)/version.o: include/linux/compile.h
|
||||
|
||||
# compile.h changes depending on hostname, generation number, etc,
|
||||
# so we regenerate it always.
|
||||
# mkcompile_h will make sure to only update the
|
||||
# actual file if its content has changed.
|
||||
|
||||
include/linux/compile.h: FORCE
|
||||
@echo ' CHK $@'
|
||||
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \
|
||||
"$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" "$(CC) $(CFLAGS)"
|
||||
|
|
|
@ -50,9 +50,7 @@
|
|||
#include <linux/buffer_head.h>
|
||||
#include <linux/debug_locks.h>
|
||||
#include <linux/lockdep.h>
|
||||
#include <linux/utsrelease.h>
|
||||
#include <linux/pid_namespace.h>
|
||||
#include <linux/compile.h>
|
||||
#include <linux/device.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
|
@ -482,12 +480,6 @@ void __init __attribute__((weak)) smp_setup_processor_id(void)
|
|||
{
|
||||
}
|
||||
|
||||
static const char linux_banner[] =
|
||||
"Linux version " UTS_RELEASE
|
||||
" (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ")"
|
||||
" (" LINUX_COMPILER ")"
|
||||
" " UTS_VERSION "\n";
|
||||
|
||||
asmlinkage void __init start_kernel(void)
|
||||
{
|
||||
char * command_line;
|
||||
|
|
|
@ -33,3 +33,13 @@ struct uts_namespace init_uts_ns = {
|
|||
},
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(init_uts_ns);
|
||||
|
||||
/* FIXED STRING! Don't touch! */
|
||||
const char __init linux_banner[] =
|
||||
"Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
|
||||
LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";
|
||||
|
||||
const char linux_proc_banner[] =
|
||||
"%s version %s"
|
||||
" (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ")"
|
||||
" (" LINUX_COMPILER ") %s\n";
|
||||
|
|
Loading…
Reference in New Issue