On Thu, Dec 14, 2000 at 11:14:29AM -0800, Peter Jay Salzman wrote:
> ethan, i had another thought about this issue.
>
> you claim that:
>
> "my system finds System.map-kernelversion just fine."
>
> i think that's inaccurate. looking over what you _actually_ said, i think
> what you actually meant to say is:
>
> "nothing seems to complain about not finding a System.map file"
>
> just because "ps" doesn't complain doesn't mean that other things aren't
> broken, or won't break in the future. there are certain drivers that use
> the System.map file to look up symbols because they're not linked to glibc.
> how are you _sure_ that they look for the same file names that ps apparently
> does?
because i straced ps, here is an excert:
uname({sys="Linux", node="socrates", ...}) = 0
open("/boot/System.map-2.2.18", O_RDONLY|O_NONBLOCK|O_NOCTTY) = 6
^^^^^^^^^^^^^^^^^
that and from another post, an excert of my logs after a fresh boot:
Dec 11 05:13:44 socrates kernel: klogd 1.3-3#33.1, log source = /proc/kmsg started.
Dec 11 05:13:44 socrates kernel: Inspecting /boot/System.map-2.2.18
Dec 11 05:13:44 socrates kernel: Loaded 9084 symbols from /boot/System.map-2.2.18.
Dec 11 05:13:44 socrates kernel: Symbols match kernel version 2.2.18.
> there are programs like wine and dosemu that require an accurate
> representation of exported kernel symbols. again, how are you sure they
> look for the same filenames that ps does?
i have used wine and it does not seem to have any problems either.
> i think the safest thing to do, considering the complete lack of documentation
> to say otherwise, is to adhere to what the man page says. it's safe, it's
> really not any less convenient, and it allows you to have more than one copy
> of the same compiled kernel.
since debian does NOT ever create these bogus symlinks i disagree,
instead any broken program assuming linux == redhat should be fixed.
its a very trivial change.
maintaining a /boot/System.map symlink is akin to having kernel
modules expected at /lib/modules/linux instead of /lib/modules/`uname -r`
thus requiring a /lib/modules/linux -> /lib/modules/linux-`uname -r`
symlink. such things are madness.
> of course, you could say "if it ain't broke, don't fix it". but that
> assumes a static situation. we're always installing things and changing
> things about our systems and the installed software. i think it's best if
> we follow the documented procedure. and klogd is documented to look for
> System.map in a set of predetermined directories, not not
> System.map-kernelversion.
>
> just a thought. (and of course, maybe the man page is wrong!)
it is wrong, i don't recall where as its been so long, but it is
documented that the System.map symlink madness is long obsolete. i
for one will never go back to that insanity, and fortunatly i have
found i don't have to things DO look for and find
/boot/System.map-`uname -r`
--
Ethan Benson
http://www.alaska.net/~erbenson/
Attachment:
pgpOExL76RDIo.pgp
Description: PGP signature