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
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to