Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 May 2012 06:51:21 GMT
From:      Hartmut Brandt <harti@FreeBSD.org>
To:        current@freebsd.org
Subject:   clang+VNET -> netstat: no namelist
Message-ID:  <201205210651.q4L6pLYI084136@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
Hi,

I'm running a kernel+world compiled with clang (everything fresh from two
days ago). Kernel and world are in sync. When I run netstat -rn I get a
'no namelist'.

I tried to track that down and it looks like this is an issue with the symbol
dumptid defined in kern_shutdown. libkvm tries to look up this symbol when
it figures out whether it needs to do a second run on a symbol list with
all the symbols that have not been found prefixed by vnet_. the kldsym
system call fails to lookup this symbol when the kernel is compiled with clang
and hence libkvm fails to recognize the VNET kernel.

I 'fixed' this by making dumptid non-static, but I wonder how a static
symbol can be returned by kldsym in the gcc case. To me this looks
not entirely useful.

Maybe someone with more knowledge of the kernel symbol stuff has an idea
of a real fix.

harti



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201205210651.q4L6pLYI084136>