use ld -r -z ibt -z shstk... instead of magic hackery to get CET ibt
				
					
				
			and shstk. N.B. updated yasm in f33/rawhide now has support for .note.gnu.properties so even this will go away in the next build signal_handler.cc, use HAVE_REENTRANT_STRSIGNAL, strsignal(3) Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
This commit is contained in:
		
							parent
							
								
									cb586a7643
								
							
						
					
					
						commit
						df740a5e36
					
				| @ -26,32 +26,26 @@ | ||||
|  	* ) | ||||
|  	    new="$new $1" | ||||
|  	    shift | ||||
| @@ -39,6 +46,25 @@
 | ||||
|  #echo $0: yasm $new | ||||
|  yasm $new | ||||
| 
 | ||||
| +INDEXOFNOTEGNUPROPLINE=$(readelf -S -W ${object} | grep ".note.gnu.property")
 | ||||
| +
 | ||||
| +if [ -n "${INDEXOFNOTEGNUPROPLINE}" ]; then
 | ||||
| +
 | ||||
| +	STARTOFSECTHDRLINE=$(readelf -h ${object} | grep "Start of section headers:")
 | ||||
| +	SIZEOFSECTHDRLINE=$(readelf -h ${object} | grep "Size of section headers:")
 | ||||
| +
 | ||||
| +	STARTOFSECTHDR=$(echo ${STARTOFSECTHDRLINE} | cut -d ' ' -f 5)
 | ||||
| +        SIZEOFSECTHDR=$(echo ${SIZEOFSECTHDRLINE} | cut -d ' ' -f 5)
 | ||||
| +        INDEXOFNOTEGNUPROPFRAG=$(echo ${INDEXOFNOTEGNUPROPLINE} | cut -d '.' -f 1)
 | ||||
| +
 | ||||
| +	INDEXOFNOTEGNUPROP=$(echo ${INDEXOFNOTEGNUPROPFRAG} | grep -Eo "[[:digit:]]+")
 | ||||
| +
 | ||||
| +	OFFSET=$(( ${STARTOFSECTHDR} + 4 + ( ${SIZEOFSECTHDR} * ${INDEXOFNOTEGNUPROP} ) ))
 | ||||
| +
 | ||||
| +	printf '\x07' | dd of=${object} bs=1 seek=${OFFSET} count=1 conv=notrunc &> /dev/null
 | ||||
| @@ -36,8 +43,16 @@
 | ||||
|      esac | ||||
|  done | ||||
|   | ||||
| -#echo $0: yasm $new
 | ||||
| -yasm $new
 | ||||
| +#echo ${0}: yasm ${new}
 | ||||
| +yasm ${new}
 | ||||
| +
 | ||||
| +echo ${new} | grep -- "crc32c_intel_fast*asm\.s"
 | ||||
| +if [ $? -ne 0 ]; then
 | ||||
| +    touch /tmp/${object}
 | ||||
| +    ld -r -z ibt -z shstk -z noexecstack -o ${object}.tmp ${object}
 | ||||
| +    mv ${object}.tmp ${object}
 | ||||
| +fi
 | ||||
| +
 | ||||
|   | ||||
|  [ -n "$touch" ] && touch $touch | ||||
|   | ||||
|  true | ||||
| --- ceph-15.2.2/src/common/crc32c_intel_fast_asm.s.orig	2020-05-26 08:34:32.226201974 -0400
 | ||||
| +++ ceph-15.2.2/src/common/crc32c_intel_fast_asm.s	2020-05-26 17:19:20.327201974 -0400
 | ||||
| @@ -1,5 +1,5 @@
 | ||||
| @ -179,29 +173,6 @@ | ||||
|  	shl     len_b, 1                ;; shift-out MSB (bit-3) | ||||
|  	jnc     bit2                    ;; jump to bit-2 if bit-3 == 0 | ||||
|  	crc32   eax, ebx                ;; compute crc32 of 4-byte data | ||||
| @@ -672,3 +690,22 @@
 | ||||
|  ; inform linker that this doesn't require executable stack | ||||
|  section .note.GNU-stack noalloc noexec nowrite progbits | ||||
|  %endif | ||||
| +
 | ||||
| +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | ||||
| +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | ||||
| +
 | ||||
| +SECTION .note.gnu.property align=8 noexec               ; section number 22, const
 | ||||
| +
 | ||||
| +        db 04H, 00H, 00H, 00H, 20H, 00H, 00H, 00H       ; 0000 _ .... ...
 | ||||
| +        db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H       ; 0008 _ ....GNU.
 | ||||
| +        db 00H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H      ; 0010 _ ........
 | ||||
| +        db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0018 _ ........
 | ||||
| +        db 01H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H      ; 0020 _ ........
 | ||||
| +        db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0028 _ ........
 | ||||
| +        db 04H, 00H, 00H, 00H, 10H, 00H, 00H, 00H       ; 0030 _ ........
 | ||||
| +        db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H       ; 0038 _ ....GNU.
 | ||||
| +        db 02H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H      ; 0040 _ ........
 | ||||
| +        db 03H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0048 _ ........
 | ||||
| +
 | ||||
| +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | ||||
| +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | ||||
| --- ceph-15.2.2/src/common/crc32c_intel_fast_zero_asm.s.orig	2020-05-26 08:34:32.226201974 -0400
 | ||||
| +++ ceph-15.2.2/src/common/crc32c_intel_fast_zero_asm.s	2020-05-26 17:19:32.497201974 -0400
 | ||||
| @@ -1,5 +1,5 @@
 | ||||
| @ -257,26 +228,3 @@ | ||||
|  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|  ;; 1) ALIGN: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|   | ||||
| @@ -654,3 +672,22 @@
 | ||||
|  ; inform linker that this doesn't require executable stack | ||||
|  section .note.GNU-stack noalloc noexec nowrite progbits | ||||
|  %endif | ||||
| +
 | ||||
| +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | ||||
| +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | ||||
| +
 | ||||
| +SECTION .note.gnu.property align=8 noexec               ; section number 22, const
 | ||||
| +
 | ||||
| +        db 04H, 00H, 00H, 00H, 20H, 00H, 00H, 00H       ; 0000 _ .... ...
 | ||||
| +        db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H       ; 0008 _ ....GNU.
 | ||||
| +        db 00H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H      ; 0010 _ ........
 | ||||
| +        db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0018 _ ........
 | ||||
| +        db 01H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H      ; 0020 _ ........
 | ||||
| +        db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0028 _ ........
 | ||||
| +        db 04H, 00H, 00H, 00H, 10H, 00H, 00H, 00H       ; 0030 _ ........
 | ||||
| +        db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H       ; 0038 _ ....GNU.
 | ||||
| +        db 02H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H      ; 0040 _ ........
 | ||||
| +        db 03H, 00H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0048 _ ........
 | ||||
| +
 | ||||
| +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | ||||
| +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | ||||
|  | ||||
| @ -8,3 +8,14 @@ | ||||
|   | ||||
|  namespace ceph { | ||||
|    class Formatter; | ||||
| --- ceph-15.2.4/src/global/signal_handler.h.orig        2020-07-17 12:57:54.763628429 -0400
 | ||||
| +++ ceph-15.2.4/src/global/signal_handler.h     2020-07-17 12:58:10.610628429 -0400
 | ||||
| @@ -16,6 +16,8 @@
 | ||||
|  #define CEPH_GLOBAL_SIGNAL_HANDLER_H | ||||
| 
 | ||||
|  #include <signal.h> | ||||
| +#include <string>
 | ||||
| +
 | ||||
|  #include "acconfig.h" | ||||
| 
 | ||||
|  typedef void (*signal_handler_t)(int); | ||||
|  | ||||
| @ -101,7 +101,7 @@ | ||||
| ################################################################################# | ||||
| Name:		ceph | ||||
| Version:	15.2.4 | ||||
| Release:	2%{?dist} | ||||
| Release:	3%{?dist} | ||||
| %if 0%{?fedora} || 0%{?rhel} | ||||
| Epoch:		2 | ||||
| %endif | ||||
| @ -2367,6 +2367,12 @@ exit 0 | ||||
| %config %{_sysconfdir}/prometheus/ceph/ceph_default_alerts.yml | ||||
| 
 | ||||
| %changelog | ||||
| * Fri Jul 17 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:15.2.4-3 | ||||
| - use `ld -r -z ibt -z shstk...` instead of magic hackery to get CET ibt | ||||
|   and shstk. N.B. updated yasm in f33/rawhide now has support for | ||||
|   .note.gnu.properties so even this will go away in the next build | ||||
| - signal_handler.cc, use HAVE_REENTRANT_STRSIGNAL, strsignal(3) | ||||
| 
 | ||||
| * Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 2:15.2.4-2 | ||||
| - Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user