svn commit: r298357 - head/sys/conf

Wojciech Macek wma at FreeBSD.org
Wed Apr 20 17:54:54 UTC 2016


Author: wma
Date: Wed Apr 20 17:54:53 2016
New Revision: 298357
URL: https://svnweb.freebsd.org/changeset/base/298357

Log:
  Fix MFS symbol redefinition with clang 3.8.0
  
  Newest CLANG objcpy uses different name parsing.
  Modify regexp to match (i.e. avoid substitution
  of "/" or "-" with "_").
  
  Obtained from:         Semihalf
  Sponsored by:          Juniper Networks
  Reviewed by:           hselasky, zbb
  Differential Revision: https://reviews.freebsd.org/D5873

Modified:
  head/sys/conf/kern.post.mk

Modified: head/sys/conf/kern.post.mk
==============================================================================
--- head/sys/conf/kern.post.mk	Wed Apr 20 17:28:21 2016	(r298356)
+++ head/sys/conf/kern.post.mk	Wed Apr 20 17:54:53 2016	(r298357)
@@ -364,6 +364,9 @@ embedfs_${MFS_IMAGE:T:R}.o: ${MFS_IMAGE}
 	    --output-target ${EMBEDFS_FORMAT.${MACHINE_ARCH}} \
 	    --binary-architecture ${EMBEDFS_ARCH.${MACHINE_ARCH}} \
 	    ${MFS_IMAGE} ${.TARGET}
+	# Provide set of two distinct regexp to match for GCC (first three)
+	# and for CLANG >= 3.8.0 (last three). First three should be removed
+	# once support for GCC and CLANG < 3.8.0 is abandoned.
 	${OBJCOPY} \
 	    --rename-section .data=mfs,contents,alloc,load,readonly,data \
 	    --redefine-sym \
@@ -372,6 +375,12 @@ embedfs_${MFS_IMAGE:T:R}.o: ${MFS_IMAGE}
 		_binary_${MFS_IMAGE:C,[^[:alnum:]],_,g}_start=mfs_root \
 	    --redefine-sym \
 		_binary_${MFS_IMAGE:C,[^[:alnum:]],_,g}_end=mfs_root_end \
+	    --redefine-sym \
+		_binary_${MFS_IMAGE:C,[^-/[:alnum:]],_,g}_size=__mfs_root_size \
+	    --redefine-sym \
+		_binary_${MFS_IMAGE:C,[^-/[:alnum:]],_,g}_start=mfs_root \
+	    --redefine-sym \
+		_binary_${MFS_IMAGE:C,[^-/[:alnum:]],_,g}_end=mfs_root_end \
 	    ${.TARGET}
 .endif
 .endif


More information about the svn-src-head mailing list