cflages: add cflags '-ftls-model=initial-exec'

This option changes the thread local storage (TLS) model. Thread-local storage
is a mechanism by which variables are allocated in a way that causes one instance
of the variable per extant thread.

i.global-dynamic

Generates a generic TLS code. The code can be used everywhere and the code can access
variables defined anywhere else. This setting causes the largest size code to be generated
and uses the most run time to produce.

ii.local-dynamic

Generates an optimized TLS code. To use this setting, the thread-local variables must be
defined in the same object in which they are referenced.

iii.initial-exec

Generates a restrictive, optimized TLS code. To use this setting, the thread-local variables
accessed must be defined in one of the modules available to the program.

iv.local-exec

Generates the most restrictive TLS code. To use this setting, the thread-local variables
must be defined in the executable.

Optimize qemu cflags with '-ftls-model=initial-exec' which means we use initial-exec
mode.
This commit is contained in:
jiang-dawei15 2022-03-15 09:50:10 +08:00 committed by yezengruan
parent efd1f8a7bf
commit a2bda2ea92

View File

@ -1,6 +1,6 @@
Name: qemu
Version: 6.2.0
Release: 25
Release: 26
Epoch: 2
Summary: QEMU is a generic and open source machine emulator and virtualizer
License: GPLv2 and BSD and MIT and CC-BY-SA-4.0
@ -383,7 +383,7 @@ cd ../
./configure \
--prefix=%{_prefix} \
--target-list=${buildarch} \
--extra-cflags="%{optflags} -fPIE -DPIE -fPIC" \
--extra-cflags="%{optflags} -fPIE -DPIE -fPIC -ftls-model=initial-exec" \
--extra-ldflags="-Wl,--build-id -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack" \
--datadir=%{_datadir} \
--docdir=%{_docdir}/ \
@ -682,6 +682,9 @@ getent passwd qemu >/dev/null || \
%endif
%changelog
* Tue Mar 15 2022 jiangdawei <jiangdawei15@huawei.com>
- cflags: add ftls-mode=initial-exec
* Tue Mar 15 2022 yezengruan <yezengruan@huawei.com>
- sw_64: Add sw64 architecture support
- update BinDir