6d8727
--- ceph-15.1.0/src/common/crc32c_intel_fast_asm.s.orig	2020-03-04 14:37:33.431024436 -0500
6d8727
+++ ceph-15.1.0/src/common/crc32c_intel_fast_asm.s	2020-03-04 15:11:22.859388783 -0500
6d8727
@@ -40,6 +40,7 @@
6d8727
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6d8727
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6d8727
 
6d8727
+
6d8727
 ; crcB3 MACRO to implement crc32 on 3 %%bSize-byte blocks
6d8727
 %macro  crcB3 3
6d8727
 %define %%bSize   %1    ; 1/3 of buffer size
6d8727
@@ -672,3 +673,22 @@
6d8727
 ; inform linker that this doesn't require executable stack
6d8727
 section .note.GNU-stack noalloc noexec nowrite progbits
6d8727
 %endif
6d8727
+
6d8727
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6d8727
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6d8727
+
6d8727
+SECTION .note.gnu.property align=8 noexec               ; section number 22, const
6d8727
+
6d8727
+        db 04H, 00H, 00H, 00H, 20H, 00H, 00H, 00H       ; 0000 _ .... ...
6d8727
+        db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H       ; 0008 _ ....GNU.
6d8727
+        db 00H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H      ; 0010 _ ........
6d8727
+        db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0018 _ ........
6d8727
+        db 01H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H      ; 0020 _ ........
6d8727
+        db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0028 _ ........
6d8727
+        db 04H, 00H, 00H, 00H, 10H, 00H, 00H, 00H       ; 0030 _ ........
6d8727
+        db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H       ; 0038 _ ....GNU.
6d8727
+        db 02H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H      ; 0040 _ ........
6d8727
+        db 03H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0048 _ ........
6d8727
+
6d8727
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6d8727
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6d8727
--- ceph-15.1.0/src/common/crc32c_intel_fast_zero_asm.s.orig	2020-03-04 15:13:06.577071783 -0500
6d8727
+++ ceph-15.1.0/src/common/crc32c_intel_fast_zero_asm.s	2020-03-04 15:13:49.873356953 -0500
6d8727
@@ -654,3 +654,22 @@
6d8727
 ; inform linker that this doesn't require executable stack
6d8727
 section .note.GNU-stack noalloc noexec nowrite progbits
6d8727
 %endif
6d8727
+
6d8727
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6d8727
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6d8727
+
6d8727
+SECTION .note.gnu.property align=8 noexec               ; section number 22, const
6d8727
+
6d8727
+        db 04H, 00H, 00H, 00H, 20H, 00H, 00H, 00H       ; 0000 _ .... ...
6d8727
+        db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H       ; 0008 _ ....GNU.
6d8727
+        db 00H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H      ; 0010 _ ........
6d8727
+        db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0018 _ ........
6d8727
+        db 01H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H      ; 0020 _ ........
6d8727
+        db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0028 _ ........
6d8727
+        db 04H, 00H, 00H, 00H, 10H, 00H, 00H, 00H       ; 0030 _ ........
6d8727
+        db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H       ; 0038 _ ....GNU.
6d8727
+        db 02H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H      ; 0040 _ ........
6d8727
+        db 03H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0048 _ ........
6d8727
+
6d8727
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6d8727
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6d8727
--- ceph-15.1.0/src/yasm-wrapper.orig	2020-03-09 12:57:37.603837466 -0400
6d8727
+++ ceph-15.1.0/src/yasm-wrapper	2020-03-09 13:02:31.496796609 -0400
6d8727
@@ -1,10 +1,11 @@
6d8727
-#!/bin/sh -e
6d8727
+#!/bin/sh
6d8727
 
6d8727
 # libtool and yasm do not get along.
6d8727
 # filter out any crap that libtool feeds us that yasm does not understand.
6d8727
 #echo $0: got $*
6d8727
 new=""
6d8727
 touch=""
6d8727
+object=""
6d8727
 while [ -n "$*" ]; do
6d8727
     case "$1" in
6d8727
 	-f )
6d8727
@@ -29,6 +30,12 @@
6d8727
 	    touch="$1"
6d8727
 	    shift
6d8727
 	    ;;
6d8727
+	-o )
6d8727
+	    shift
6d8727
+	    object="$1"
6d8727
+	    new="$new -o $1"
6d8727
+	    shift
6d8727
+	    ;;
6d8727
 	* )
6d8727
 	    new="$new $1"
6d8727
 	    shift
6d8727
@@ -39,6 +46,25 @@
6d8727
 #echo $0: yasm $new
6d8727
 yasm $new
6d8727
 
6d8727
+INDEXOFNOTEGNUPROPLINE=$(readelf -S -W ${object} | grep ".note.gnu.property")
6d8727
+
6d8727
+if [ -n "${INDEXOFNOTEGNUPROPLINE}" ]; then
6d8727
+
6d8727
+	STARTOFSECTHDRLINE=$(readelf -h ${object} | grep "Start of section headers:")
6d8727
+	SIZEOFSECTHDRLINE=$(readelf -h ${object} | grep "Size of section headers:")
6d8727
+
6d8727
+	STARTOFSECTHDR=$(echo ${STARTOFSECTHDRLINE} | cut -d ' ' -f 5)
6d8727
+        SIZEOFSECTHDR=$(echo ${SIZEOFSECTHDRLINE} | cut -d ' ' -f 5)
6d8727
+        INDEXOFNOTEGNUPROPFRAG=$(echo ${INDEXOFNOTEGNUPROPLINE} | cut -d '.' -f 1)
6d8727
+
6d8727
+	INDEXOFNOTEGNUPROP=$(echo ${INDEXOFNOTEGNUPROPFRAG} | grep -Eo "[[:digit:]]+")
6d8727
+
6d8727
+	OFFSET=$(( ${STARTOFSECTHDR} + 4 + ( ${SIZEOFSECTHDR} * ${INDEXOFNOTEGNUPROP} ) ))
6d8727
+
6d8727
+	printf '\x07' | dd of=${object} bs=1 seek=${OFFSET} count=1 conv=notrunc &> /dev/null
6d8727
+
6d8727
+fi
6d8727
+
6d8727
 [ -n "$touch" ] && touch $touch
6d8727
 
6d8727
 true