public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/21657] New: [4.0 regression] TLS reference miscompiled
@ 2005-05-18 22:14 schwab at suse dot de
2005-05-18 22:49 ` [Bug target/21657] " rth at gcc dot gnu dot org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: schwab at suse dot de @ 2005-05-18 22:14 UTC (permalink / raw)
To: gcc-bugs
The patch from PR21412 is causing miscompilation of glibc. Anything that uses
libpthread is crashing in __libc_dl_error_tsd.
void ** __attribute__ ((const))
__libc_dl_error_tsd (void)
{
static __thread void *data;
return &data;
}
When compiled without the patch:
dl-tsd.os: file format elf64-ia64-little
Disassembly of section .text:
0000000000000000 <__libc_dl_error_tsd>:
0: 18 08 15 06 80 05 [MMB] alloc r33=ar.pfs,5,3,0
1: LTOFF_DTPMOD22 data.6704
6: e0 00 04 00 48 00 addl r14=0,r1
c: 00 00 00 20 nop.b 0x0
10: 01 10 01 02 00 21 [MII] mov r34=r1
16: 00 02 00 62 00 80 mov r32=b0
1c: 04 00 00 84 mov r36=r0;;
20: 1d 18 01 1c 18 10 [MFB] ld8 r35=[r14]
22: PCREL21B __tls_get_addr
26: 00 00 00 02 00 00 nop.f 0x0
2c: 08 00 00 50 br.call.sptk.many b0=20
<__libc_dl_error_tsd+0x20>;;
30: 08 08 00 44 00 21 [MMI] mov r1=r34
36: 20 00 20 00 42 00 mov r2=r8
3c: 00 0a 00 07 mov b0=r32
40: 0b 00 00 00 01 00 [MMI] nop.m 0x0;;
41: DTPREL22 data.6704
46: 20 00 08 00 48 00 addl r2=0,r2
4c: 10 02 aa 00 mov.i ar.pfs=r33;;
50: 11 00 00 00 01 00 [MIB] nop.m 0x0
56: 80 00 08 00 42 80 mov r8=r2
5c: 08 00 84 00 br.ret.sptk.many b0;;
When compiled with the patch:
dl-tsd.os: file format elf64-ia64-little
Disassembly of section .text:
0000000000000000 <__libc_dl_error_tsd>:
0: 08 08 15 06 80 05 [MMI] alloc r33=ar.pfs,5,3,0
1: LTOFF_DTPMOD22 data.6704
6: e0 00 04 00 48 00 addl r14=0,r1
c: 04 00 c4 00 mov r32=b0
10: 0b 10 01 02 00 21 [MMI] mov r34=r1;;
16: e0 00 38 30 20 80 ld8 r14=[r14]
1c: 04 00 00 84 mov r36=r0;;
20: 1d 18 01 1c 18 10 [MFB] ld8 r35=[r14]
22: PCREL21B __tls_get_addr
26: 00 00 00 02 00 00 nop.f 0x0
2c: 08 00 00 50 br.call.sptk.many b0=20
<__libc_dl_error_tsd+0x20>;;
30: 09 08 00 44 00 21 [MMI] mov r1=r34
36: 20 00 20 00 42 00 mov r2=r8
3c: 00 0a 00 07 mov b0=r32;;
40: 11 40 00 04 00 24 [MIB] addl r8=0,r2
40: DTPREL22 data.6704
46: 00 08 01 55 00 80 mov.i ar.pfs=r33
4c: 08 00 84 00 br.ret.sptk.many b0;;
The bad version has one indirection on r14 too much.
--
Summary: [4.0 regression] TLS reference miscompiled
Product: gcc
Version: 4.0.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: schwab at suse dot de
CC: gcc-bugs at gcc dot gnu dot org,rth at gcc dot gnu dot
org
GCC target triplet: ia64-linux
OtherBugsDependingO 21412
nThis:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21657
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/21657] [4.0 regression] TLS reference miscompiled
2005-05-18 22:14 [Bug target/21657] New: [4.0 regression] TLS reference miscompiled schwab at suse dot de
@ 2005-05-18 22:49 ` rth at gcc dot gnu dot org
2005-05-19 9:36 ` cvs-commit at gcc dot gnu dot org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: rth at gcc dot gnu dot org @ 2005-05-18 22:49 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rth at gcc dot gnu dot org 2005-05-18 22:49 -------
Ug. Missed deleting a line from local-dynamic side.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org
|dot org |
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2005-05-18 22:49:39
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21657
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/21657] [4.0 regression] TLS reference miscompiled
2005-05-18 22:14 [Bug target/21657] New: [4.0 regression] TLS reference miscompiled schwab at suse dot de
2005-05-18 22:49 ` [Bug target/21657] " rth at gcc dot gnu dot org
@ 2005-05-19 9:36 ` cvs-commit at gcc dot gnu dot org
2005-05-19 9:43 ` cvs-commit at gcc dot gnu dot org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-05-19 9:36 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-05-19 09:36 -------
Subject: Bug 21657
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-4_0-branch
Changes by: rth@gcc.gnu.org 2005-05-19 09:36:02
Modified files:
gcc : ChangeLog
gcc/config/ia64: ia64.c
Log message:
PR target/21657
* config/ia64/ia64.c (ia64_expand_tls_address): Remove extra
memory indirection in local-dynamic case.
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.254&r2=2.7592.2.255
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/ia64/ia64.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.347.2.7&r2=1.347.2.8
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21657
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/21657] [4.0 regression] TLS reference miscompiled
2005-05-18 22:14 [Bug target/21657] New: [4.0 regression] TLS reference miscompiled schwab at suse dot de
2005-05-18 22:49 ` [Bug target/21657] " rth at gcc dot gnu dot org
2005-05-19 9:36 ` cvs-commit at gcc dot gnu dot org
@ 2005-05-19 9:43 ` cvs-commit at gcc dot gnu dot org
2005-05-19 9:45 ` rth at gcc dot gnu dot org
2005-06-05 7:53 ` pinskia at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-05-19 9:43 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-05-19 09:42 -------
Subject: Bug 21657
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: rth@gcc.gnu.org 2005-05-19 09:42:27
Modified files:
gcc : ChangeLog
gcc/config/ia64: ia64.c
Log message:
PR target/21657
* config/ia64/ia64.c (ia64_expand_tls_address): Remove extra
memory indirection in local-dynamic case.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.8861&r2=2.8862
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/ia64/ia64.c.diff?cvsroot=gcc&r1=1.365&r2=1.366
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21657
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/21657] [4.0 regression] TLS reference miscompiled
2005-05-18 22:14 [Bug target/21657] New: [4.0 regression] TLS reference miscompiled schwab at suse dot de
` (2 preceding siblings ...)
2005-05-19 9:43 ` cvs-commit at gcc dot gnu dot org
@ 2005-05-19 9:45 ` rth at gcc dot gnu dot org
2005-06-05 7:53 ` pinskia at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: rth at gcc dot gnu dot org @ 2005-05-19 9:45 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rth at gcc dot gnu dot org 2005-05-19 09:44 -------
Fixed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21657
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/21657] [4.0 regression] TLS reference miscompiled
2005-05-18 22:14 [Bug target/21657] New: [4.0 regression] TLS reference miscompiled schwab at suse dot de
` (3 preceding siblings ...)
2005-05-19 9:45 ` rth at gcc dot gnu dot org
@ 2005-06-05 7:53 ` pinskia at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-05 7:53 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.0.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21657
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-06-05 7:53 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-18 22:14 [Bug target/21657] New: [4.0 regression] TLS reference miscompiled schwab at suse dot de
2005-05-18 22:49 ` [Bug target/21657] " rth at gcc dot gnu dot org
2005-05-19 9:36 ` cvs-commit at gcc dot gnu dot org
2005-05-19 9:43 ` cvs-commit at gcc dot gnu dot org
2005-05-19 9:45 ` rth at gcc dot gnu dot org
2005-06-05 7:53 ` pinskia at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).