Set glx-read-only-text on i386

An update on the linker will now refuse to create binaries with a
loadable memory segment that has read, write and execute permissions
set.
mesa creates one unless "glx-read-only-text" is enabled.

Revert commit e2acc882a1 ("Disable rwx segment linker error") and set
"glx-read-only-text" instead.

See Nick's comment for more information about the revert:
https://bugzilla.redhat.com/show_bug.cgi?id=2250927#c10

Fix: https://bugzilla.redhat.com/show_bug.cgi?id=2250927
This commit is contained in:
José Expósito 2023-11-23 14:35:01 +01:00
parent e2acc882a1
commit 61968b4cba

View file

@ -368,19 +368,6 @@ cp %{SOURCE1} docs/
# ensure standard Rust compiler flags are set
export RUSTFLAGS="%build_rustflags"
# An update on the linker will now refuse to create binaries with a loadable
# memory segment that has read, write and execute permissions set.
# mesa creates one unless "glx-read-only-text" is enabled, however, the
# documentation for "glx-read-only-text" reads:
#
# "Disable writable .text section on x86 (decreases performance)"
#
# In order to avoid possible performance regressions, disable the linker error:
# https://bugzilla.redhat.com/show_bug.cgi?id=2250927
%ifarch %{ix86}
LDFLAGS=-Wl,--no-error-rwx-segments
%endif
# We've gotten a report that enabling LTO for mesa breaks some games. See
# https://bugzilla.redhat.com/show_bug.cgi?id=1862771 for details.
# Disable LTO for now
@ -430,6 +417,9 @@ LDFLAGS=-Wl,--no-error-rwx-segments
-Dlmsensors=disabled \
%endif
-Dandroid-libbacktrace=disabled \
%ifarch %{ix86}
-Dglx-read-only-text=true
%endif
%{nil}
%meson_build