]> git.ipfire.org Git - thirdparty/gcc.git/commit
i386: Remove workaround for Solaris ld 64-bit TLS IE limitation
authorUros Bizjak <ubizjak@gmail.com>
Wed, 20 Nov 2024 11:57:25 +0000 (12:57 +0100)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Wed, 20 Nov 2024 11:57:25 +0000 (12:57 +0100)
commit086ee8d08669fe597e6c63a4e5489d2df7698ec8
treeefffbea5ea56cdbf17677bd67e7793a66f54898f
parentbf57f9b59904f517bced5307792358cc15c77f26
i386: Remove workaround for Solaris ld 64-bit TLS IE limitation

As detailed in PR target/43309, the Solaris linker initially took the
64-bit x86 TLS IE code sequence literally, assuming that the spec only
allowed %rax as target register.

A workaround has been in place for more than a decade, but is no longer
necessary.  The bug had already been fixed for Solaris 11.1, while trunk
requires Solaris 11.4.

Uros pointed this out and suggested the attached patch.

Bootstrapped without regressions on i386-pc-solaris2.11.

2024-10-15  Uros Bizjak  <ubizjak@gmail.com>

gcc:
* config/i386/i386.cc (legitimize_tls_address)
<TLS_MODEL_INITIAL_EXEC>: Remove 64-bit Solaris ld workaround.
* config/i386/i386.md (UNSPEC_TLS_IE_SUN): Remove.
(tls_initial_exec_64_sun): Remove.
gcc/config/i386/i386.cc
gcc/config/i386/i386.md