Author: imp
Date: Tue Mar 25 22:08:31 2014
New Revision: 263749
URL: http://svnweb.freebsd.org/changeset/base/263749

Log:
  Rather than require a makeoptions DEBUG to get debug correct,
  add it in kern.mk, but only if we're using clang. While this
  option is supported by both clang and gcc, in the future there
  may be changes to clang which change the defaults that require
  a tweak to build our kernel such that other tools in our tree
  will work. Set a good example by forcing -gdwarf-2 only for
  clang builds, and only if the user hasn't specified another
  dwarf level already. Update UPDATING to reflect the changed
  state of affairs. This also keeps us from having to update
  all the ARM kernels to add this, and also keeps us from
  in the future having to update all the MIPS kernels and is
  one less place the user will have to know to do something
  special for clang and one less thing developers will need
  to do when moving an architecture to clang.
  
  Reviewed by:  ian@
  MFC after:    1 week

Modified:
  head/UPDATING
  head/sys/amd64/conf/GENERIC
  head/sys/conf/kern.mk
  head/sys/i386/conf/GENERIC
  head/sys/i386/conf/XEN
  head/sys/sparc64/conf/GENERIC

Modified: head/UPDATING
==============================================================================
--- head/UPDATING       Tue Mar 25 21:57:50 2014        (r263748)
+++ head/UPDATING       Tue Mar 25 22:08:31 2014        (r263749)
@@ -31,6 +31,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
        disable the most expensive debugging functionality run
        "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20140325:
+       It is no longer necessary to include the dwarf version in your DEBUG
+       options in your kernel config file. The bug that required it to be
+       placed in the config file has bene fixed. DEBUG should now just
+       contain -g. The build system will automatically update things
+       to do the right thing. Ignore the entry from 20140216.
+
 20140306:
        Support for libwrap (TCP wrappers) in rpcbind was disabled by default
        to improve performance.  To re-enable it, if needed, run rpcbind
@@ -44,16 +51,18 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
        to do so. Set WITHOUT_GPL_DTC if you require the BSDL compiler.
 
 20140216:
-       Clang and llvm have been upgraded to 3.4 release.  Please note that
-       clang 3.4 now defaults to DWARF4 debug information format when you
-       specify -g.  Since kgdb(1) only supports DWARF2, you should update any
-       customized kernel configurations which include debug information to
-       explicitly use -gdwarf-2, e.g:
+       Clang and llvm have been upgraded to 3.4 release.
+
+       Please note that clang 3.4 now defaults to DWARF4 debug information
+       format when you specify -g.  Since kgdb(1) only supports DWARF2, you
+       should update any customized kernel configurations which include debug
+       information to explicitly use -gdwarf-2, e.g:
 
          makeoptions   DEBUG=-gdwarf-2
 
        This has already been applied to the appropriate GENERIC configuration
        files, so if you inherit from those, no changes are required.
+       Please note: this bug has been fixed, please see 20140325.
 
 20140216:
        The nve(4) driver has been removed.  Please use the nfe(4) driver

Modified: head/sys/amd64/conf/GENERIC
==============================================================================
--- head/sys/amd64/conf/GENERIC Tue Mar 25 21:57:50 2014        (r263748)
+++ head/sys/amd64/conf/GENERIC Tue Mar 25 22:08:31 2014        (r263749)
@@ -21,7 +21,7 @@
 cpu            HAMMER
 ident          GENERIC
 
-makeoptions    DEBUG=-gdwarf-2         # Build kernel with gdb(1) debug symbols
+makeoptions    DEBUG=-g
 makeoptions    WITH_CTF=1              # Run ctfconvert(1) for DTrace support
 
 options        SCHED_ULE               # ULE scheduler

Modified: head/sys/conf/kern.mk
==============================================================================
--- head/sys/conf/kern.mk       Tue Mar 25 21:57:50 2014        (r263748)
+++ head/sys/conf/kern.mk       Tue Mar 25 22:08:31 2014        (r263749)
@@ -162,3 +162,10 @@ CFLAGS+=   -ffreestanding
     ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips"
 CFLAGS+=       -fstack-protector
 .endif
+
+#
+# Add -gdwarf-2 when compiling -g
+#
+.if ${COMPILER_TYPE} == "clang" && ${CFLAGS:M-g} != "" && ${CFLAGS:M-gdwarf} 
== ""
+CFLAGS+=       -gdwarf-2
+.endif

Modified: head/sys/i386/conf/GENERIC
==============================================================================
--- head/sys/i386/conf/GENERIC  Tue Mar 25 21:57:50 2014        (r263748)
+++ head/sys/i386/conf/GENERIC  Tue Mar 25 22:08:31 2014        (r263749)
@@ -23,7 +23,7 @@ cpu           I586_CPU
 cpu            I686_CPU
 ident          GENERIC
 
-makeoptions    DEBUG=-gdwarf-2         # Build kernel with gdb(1) debug symbols
+makeoptions    DEBUG=-g
 makeoptions    WITH_CTF=1              # Run ctfconvert(1) for DTrace support
 
 options        SCHED_ULE               # ULE scheduler

Modified: head/sys/i386/conf/XEN
==============================================================================
--- head/sys/i386/conf/XEN      Tue Mar 25 21:57:50 2014        (r263748)
+++ head/sys/i386/conf/XEN      Tue Mar 25 22:08:31 2014        (r263749)
@@ -6,7 +6,7 @@
 cpu            I686_CPU
 ident          XEN
 
-makeoptions    DEBUG=-gdwarf-2         # Build kernel with gdb(1) debug symbols
+makeoptions    DEBUG=-g
 makeoptions    WITHOUT_MODULES="aha ahb amd ctl cxgb dpt drm drm2 hptnr hptmv 
ida malo mps mwl rdma sound sym trm xfs"
 
 options        SCHED_ULE               # ULE scheduler

Modified: head/sys/sparc64/conf/GENERIC
==============================================================================
--- head/sys/sparc64/conf/GENERIC       Tue Mar 25 21:57:50 2014        
(r263748)
+++ head/sys/sparc64/conf/GENERIC       Tue Mar 25 22:08:31 2014        
(r263749)
@@ -21,7 +21,7 @@
 cpu            SUN4U
 ident          GENERIC
 
-makeoptions    DEBUG=-gdwarf-2         # Build kernel with gdb(1) debug symbols
+makeoptions    DEBUG=-g
 
 # Platforms supported
 #      At this time all platforms are supported, as-is.
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to