This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/24428] [4.1 regression] TLS miscompilation on x86_64
- From: "cvs-commit at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Oct 2005 09:00:50 -0000
- Subject: [Bug target/24428] [4.1 regression] TLS miscompilation on x86_64
- References: <bug-24428-87@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from cvs-commit at gcc dot gnu dot org 2005-10-19 09:00 -------
Subject: Bug 24428
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-4_0-branch
Changes by: rth@gcc.gnu.org 2005-10-19 09:00:45
Modified files:
gcc : ChangeLog
gcc/config/i386: i386-protos.h i386.c predicates.md
Added files:
gcc/testsuite/gcc.dg/tls: pr24428-2.c pr24428.c
Log message:
PR target/24428
* config/i386/i386.c (legitimate_constant_p): Check
SYMBOL_REF_TLS_MODEL directly. Don't fallthru to SYMBOL_REF
if LABEL_REF.
(legitimate_pic_operand_p): Test SYMBOL_REF_TLS_MODEL directly.
(legitimate_pic_address_disp_p): Reorg CONST checking to make
sure SYMBOL_REF_TLS_MODEL is tested. Test SYMBOL_REF_TLS_MODEL
directly.
(print_operand_address): Likewise.
* config/i386/predicates.md (x86_64_immediate_operand): Test
SYMBOL_REF_TLS_MODEL properly inside CONST.
(x86_64_zext_immediate_operand): Likewise.
(global_dynamic_symbolic_operand, local_dynamic_symbolic_operand,
initial_exec_symbolic_operand, local_exec_symbolic_operand): Remove.
* config/i386/i386-protos.h: Remove predicates.md entries.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.469&r2=2.7592.2.470
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386-protos.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.131.6.1&r2=1.131.6.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.795.6.12&r2=1.795.6.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/predicates.md.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.16.10.1&r2=1.16.10.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tls/pr24428-2.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tls/pr24428.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24428