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
This commit is contained in:
parent
03d3355a71
commit
9aa0848a7e
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user