There are problems understanding what system map goes which
what kernel.
This inserts symbols of:
1) whether its a.out or elf
2) the version/build number
In system.map we now have:
00195120 R linux_version_1_3_20_build_71
00195121 R linux_elf_kernel
If this becomes a standard, tools which looks at system.map can just
find out the version and see if its a match...also it won't have to
guess whether the symbols are a.out or elf (there are some
symbols with a _<name> which throws some guessers off...
I also suppose we can add information the same way about machine/processor
architecture...this is important as long as we have a seperate map file...
--- Makefile 1995/09/04 16:46:03 1.3
+++ Makefile 1995/09/04 16:48:44
@@ -179,6 +179,7 @@
echo \#define LINUX_COMPILE_DOMAIN ; \
fi >> .ver
@echo \#define LINUX_COMPILER \"`$(HOSTCC) -v 2>&1 | tail -1`\" >> .ver
+ @echo \#define LINUX_VER_SYMBOL linux_version_$(VERSION)_$(PATCHLEVEL)_$(SUBLEVEL)_build_$$(cat .version) >>.ver
@mv -f .ver $@
include/linux/version.h: ./Makefile
--- init/version.c 1995/09/04 16:41:42 1.1
+++ init/version.c 1995/09/04 17:53:51
@@ -19,3 +19,12 @@
const char *linux_banner =
"Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";
+
+
+/* make a symbol in the map which tells what this is */
+const char LINUX_VER_SYMBOL = 1;
+#ifdef __ELF__
+const char linux_elf_kernel = 1;
+#else
+char linux_aout_kernel = 1;
+#endif