[php-src] Issue #8338: Intel CET is disabled unintentionally since PHP-8.1.0

From: Date: Mon, 11 Apr 2022 06:40:25 +0000
Subject: [php-src] Issue #8338: Intel CET is disabled unintentionally since PHP-8.1.0
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-240835@lists.php.net to get a copy of this message
Issue: https://github.com/php/php-src/issues/8338 Author: chen-hu-97 ### Description Intel Control Flow Enforcement Technology (CET) is enabled by default since gcc v8.1. With CET, gcc emits following processor-specific program property types in .note.gnu.property section: - Indirect Branch Tracking (IBT) - Shadow Stack (SHSTK) Such properties are there before PHP-8.1.0. ``` $ sudo readelf -n sapi/cli/php Displaying notes found in: .note.gnu.property Owner Data size Description GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT, SHSTK x86 ISA needed: x86-64-baseline ``` However, the properties are missing since PHP-8.1.0. ``` $ sudo readelf -n sapi/cli/php Displaying notes found in: .note.gnu.property Owner Data size Description GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 Properties: x86 ISA needed: x86-64-baseline ``` This is cause by commit c276c16b6627222c4 "Implement Fibers" which introduces some assembly file such as jump_x86_64_sysv_elf_gas.S and make_x86_64_sysv_elf_gas.S. The object files of such assembly miss .note.gnu.property section and thus the final output files miss it too. I want to submit a patch to fix this. ### PHP Version PHP-8.1.0 ### Operating System Ubuntu 22.04

« previous php.bugs (#240835) next »