Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Oct 2011 14:10:09 GMT
From:      Paul Ambrose <ambrosehua@gmail.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: bin/160275: [patch] dtrace(1): dtrace -lv causes &quot; unknown function&quot; warnings
Message-ID:  <201110171410.p9HEA9D1069997@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/160275; it has been noted by GNATS.

From: Paul Ambrose <ambrosehua@gmail.com>
To: bug-followup@FreeBSD.org, ambrosehua@gmail.com
Cc:  
Subject: Re: bin/160275: [patch] dtrace(1): dtrace -lv causes &quot;unknown
 function&quot; warnings
Date: Mon, 17 Oct 2011 22:03:55 +0800

 I think I get it.
 
 1. The page fault error is due to the santiy check error for ctf
 section of kernel module built without WITH_CTF=1,
 and it is fixed by r226082
 
 2 The first part of the "unknown function" warning came from the
 in_proto.c and if_ethersubr.c built without ctfconvert
 post-processing. When config(8) generates make rules  source files
 with compile-with command in
 src/sys/conf/files, it DOES NOT append ${NORMAL_CTFCONVERT} to the
 rules. Here is the fix
 
 
 diff --git a/usr.sbin/config/mkmakefile.c b/usr.sbin/config/mkmakefile.c
 index 2372839..25a85de 100644
 --- a/usr.sbin/config/mkmakefile.c
 +++ b/usr.sbin/config/mkmakefile.c
 @@ -767,6 +767,14 @@ do_rules(FILE *f)
                             ftp->f_flags & NOWERROR ? "_NOWERROR" : "");
                         compilewith = cmd;
                 }
 +                       //handle CTF issule with NORMAL_C and NORMAL_C_NOERROR
 +               else if (!strncmp(compilewith, "${NORMAL_C",
 sizeof("${NORMAL_C"))) {
 +                               snprintf(cmd, sizeof(cmd),
 +                                       "%s\n\t@${NORMAL_CTFCONVERT}",
 +                                       compilewith);
 +                               compilewith = cmd;
 +               }
 
 
 3 The second part of "unknown function" came from the clang compiler.
 When building kernel with  clang, some modules
 failed to be post-processed by ctfconvert and ctfmerge tools . If you
 build kernel with gcc, this warning is gone.
 
 
 4 The last part of warning came from the "x11/nvidia-driver".
 
 If you build it without WITH_CTF=1,  you would trigger the page fault
 error until r226082.
 
 If you build it with DEBUG_FLAGS="-g" and WITH_CTF=1, you may get less
 warning from nvidia.ko, the remaining warning
 came from the nv_freebsd.o object released by nvidia, I think this
 object is NOT built "-g", so even though you add
 WITH_CTF=1, you can not get correct ctf section.
 
 
 So, I think my work is done with this PR



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