Re: having System.map reflect the running kernel

Marty Leisner (leisner@sdsp.mc.xerox.com)
Wed, 6 Sep 1995 07:25:14 PDT


I solved some of the kernel/system map uncertainity problems...

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