* [Bug c++/13685] Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV
2004-01-14 18:28 [Bug c++/13685] New: Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV roger dot larsson at norran dot net
@ 2004-01-14 18:33 ` roger dot larsson at norran dot net
2004-01-14 18:34 ` [Bug target/13685] " pinskia at gcc dot gnu dot org
` (9 subsequent siblings)
10 siblings, 0 replies; 28+ messages in thread
From: roger dot larsson at norran dot net @ 2004-01-14 18:33 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From roger dot larsson at norran dot net 2004-01-14 18:33 -------
Created an attachment (id=5487)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=5487&action=view)
c++ source from kde/kdebase/kicker/applets/clock/
crash at line 536
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV
2004-01-14 18:28 [Bug c++/13685] New: Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV roger dot larsson at norran dot net
2004-01-14 18:33 ` [Bug c++/13685] " roger dot larsson at norran dot net
@ 2004-01-14 18:34 ` pinskia at gcc dot gnu dot org
2004-01-14 19:51 ` roger dot larsson at norran dot net
` (8 subsequent siblings)
10 siblings, 0 replies; 28+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-14 18:34 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-14 18:34 -------
I think the problem is that the stack is unaligned causing the problem, I know there is another bug
for that, if that is the bug, can you just mark it as a dup, I think it is suspended.
--
What |Removed |Added
----------------------------------------------------------------------------
Component|c++ |target
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV
2004-01-14 18:28 [Bug c++/13685] New: Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV roger dot larsson at norran dot net
2004-01-14 18:33 ` [Bug c++/13685] " roger dot larsson at norran dot net
2004-01-14 18:34 ` [Bug target/13685] " pinskia at gcc dot gnu dot org
@ 2004-01-14 19:51 ` roger dot larsson at norran dot net
2004-01-14 23:50 ` roger dot larsson at norran dot net
` (7 subsequent siblings)
10 siblings, 0 replies; 28+ messages in thread
From: roger dot larsson at norran dot net @ 2004-01-14 19:51 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From roger dot larsson at norran dot net 2004-01-14 19:51 -------
Created an attachment (id=5489)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=5489&action=view)
Assembly output
Crashes at this line when compiled with -march=pentium3 [-mcpu=pentium3] -O1
(There is only one movaps...)
0x41a8867b AnalogClock::paintEvent movaps %xmm0,0xfffffc78(%ebp)
where
ebp 0xbfffea60 0xbfffea60
This will generate a non 16 byte aligned access!!!
=> Crash
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV
2004-01-14 18:28 [Bug c++/13685] New: Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV roger dot larsson at norran dot net
` (2 preceding siblings ...)
2004-01-14 19:51 ` roger dot larsson at norran dot net
@ 2004-01-14 23:50 ` roger dot larsson at norran dot net
2004-01-16 16:00 ` thiagom at mail dot com
` (6 subsequent siblings)
10 siblings, 0 replies; 28+ messages in thread
From: roger dot larsson at norran dot net @ 2004-01-14 23:50 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From roger dot larsson at norran dot net 2004-01-14 23:50 -------
Code is not from a lib, it is generated by gcc.
=> I do not think this is a DUP of bug 10395
I did a little script to search for the problems.
# /bin/bash
# Filename: objdump_find_problematic
grep_sse ()
{
grep $1 "\(\(mov\(ap\|up\|ntp\)\|shufp\|unpck\(hp\|lp\)\|\(add\|\mul\|
div\|and\|andn\|or\|xor\|max\|min\|cmp\.\.\|sqrt\|rsqrt\|rcp\)p\)s\|
\(cvt\(ps2pi\|ss2pi\)\)\)"
}
if objdump -d $1 | grep_sse -q ; then
echo $1
objdump -d $1 | grep_sse
fi
and run my complete installation of kdecvs (-Os -march=pentium3) through it.
# find /opt/kdecvs/ -type f -perm +111 | xargs -n 1
bin/objdump_find_problematic | tee problematic.sse
Among those found where
kfiresaver3d starting it will crash at a unaligned movaps
(actual code from glibc-2.3)
Complete list, some are OK with aligned offset:
# more problematic.sse | grep "0x\|opt"
/opt/kdecvs/bin/kdm_greet
805e5ac: 0f 29 85 98 fc ff ff movaps %xmm0,0xfffffc98(%ebp)
/opt/kdecvs/bin/keuphoria.kss
804fe6e: 0f 29 45 e0 movaps %xmm0,0xffffffe0(%ebp)
80500fd: 0f 29 45 d0 movaps %xmm0,0xffffffd0(%ebp)
/opt/kdecvs/bin/kfiresaver3d
80502ac: 0f 29 85 7c ff ff ff movaps %xmm0,0xffffff7c(%ebp)
8050529: 0f 29 85 64 ff ff ff movaps %xmm0,0xffffff64(%ebp)
/opt/kdecvs/lib/libartsflow.so.1.0.0
/opt/kdecvs/lib/kde3/kdeprint_cups.so
4042d: 0f 29 45 8c movaps %xmm0,0xffffff8c(%ebp)
/opt/kdecvs/lib/kde3/kcm_clock.so
e294: 0f 29 85 20 fe ff ff movaps %xmm0,0xfffffe20(%ebp)
/opt/kdecvs/lib/kde3/libkiviopart.so
f8a94: 0f 29 45 a8 movaps %xmm0,0xffffffa8(%ebp)
f8d47: 0f 29 45 80 movaps %xmm0,0xffffff80(%ebp)
f90ad: 0f 29 85 5c ff ff ff movaps %xmm0,0xffffff5c(%ebp)
fa0ac: 0f 29 45 a8 movaps %xmm0,0xffffffa8(%ebp)
fa305: 0f 29 45 a4 movaps %xmm0,0xffffffa4(%ebp)
/opt/kdecvs/lib/kde3/libkpovmodelerpart.so.0.0.0
/opt/kdecvs/lib/libkdefx.so.4.2.0
/opt/kdecvs/lib/libnoatunarts.so
576d8: 0f 10 51 10 movups 0x10(%ecx),%xmm2
576dc: 0f c6 d2 00 shufps $0x0,%xmm2,%xmm2
576e0: 0f 10 61 14 movups 0x14(%ecx),%xmm4
576e4: 0f 10 69 24 movups 0x24(%ecx),%xmm5
57720: 0f c6 c8 b1 shufps $0xb1,%xmm0,%xmm1
57737: 0f c6 c5 24 shufps $0x24,%xmm5,%xmm0
5773b: 0f c6 e8 81 shufps $0x81,%xmm0,%xmm5
57743: 0f c6 db 39 shufps $0x39,%xmm3,%xmm3
57747: 0f c6 f6 39 shufps $0x39,%xmm6,%xmm6
57752: 0f 11 69 24 movups %xmm5,0x24(%ecx)
60ea4: 0f c6 c9 00 shufps $0x0,%xmm1,%xmm1
60ee6: 0f c6 c2 00 shufps $0x0,%xmm2,%xmm0
60ef5: 0f c6 c0 02 shufps $0x2,%xmm0,%xmm0
This is a BIG problem! (kivio, and kfiresaver3d have been verified to crash)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV
2004-01-14 18:28 [Bug c++/13685] New: Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV roger dot larsson at norran dot net
` (3 preceding siblings ...)
2004-01-14 23:50 ` roger dot larsson at norran dot net
@ 2004-01-16 16:00 ` thiagom at mail dot com
2004-01-18 18:07 ` dhazeghi at yahoo dot com
` (5 subsequent siblings)
10 siblings, 0 replies; 28+ messages in thread
From: thiagom at mail dot com @ 2004-01-16 16:00 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |thiagom at mail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV
2004-01-14 18:28 [Bug c++/13685] New: Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV roger dot larsson at norran dot net
` (4 preceding siblings ...)
2004-01-16 16:00 ` thiagom at mail dot com
@ 2004-01-18 18:07 ` dhazeghi at yahoo dot com
2004-01-19 6:38 ` roger dot larsson at norran dot net
` (4 subsequent siblings)
10 siblings, 0 replies; 28+ messages in thread
From: dhazeghi at yahoo dot com @ 2004-01-18 18:07 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dhazeghi at yahoo dot com 2004-01-18 18:07 -------
Your report seems to indicate that the problematic asm is produced all over the
place. Can you either provide preprocessed source, or (better, and if the
problem is widespread, should not be too difficult) a small, self-contained
testcase? Thanks.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV
2004-01-14 18:28 [Bug c++/13685] New: Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV roger dot larsson at norran dot net
` (5 preceding siblings ...)
2004-01-18 18:07 ` dhazeghi at yahoo dot com
@ 2004-01-19 6:38 ` roger dot larsson at norran dot net
2004-01-19 8:11 ` roger dot larsson at norran dot net
` (3 subsequent siblings)
10 siblings, 0 replies; 28+ messages in thread
From: roger dot larsson at norran dot net @ 2004-01-19 6:38 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From roger dot larsson at norran dot net 2004-01-19 06:38 -------
I am currently trying to create a testcase - the instructions gets generated
but I do not get it unaligned - to crash...
-O1 -march=pentium3
Gives the instructions (movaps)
-O1 -march=pentium3 -mno-sse
Is needed to avoid them.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV
2004-01-14 18:28 [Bug c++/13685] New: Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV roger dot larsson at norran dot net
` (6 preceding siblings ...)
2004-01-19 6:38 ` roger dot larsson at norran dot net
@ 2004-01-19 8:11 ` roger dot larsson at norran dot net
2004-01-19 10:42 ` Jan Hubicka
2004-01-19 10:42 ` hubicka at ucw dot cz
` (2 subsequent siblings)
10 siblings, 1 reply; 28+ messages in thread
From: roger dot larsson at norran dot net @ 2004-01-19 8:11 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From roger dot larsson at norran dot net 2004-01-19 08:11 -------
This is the shortest code yet (matrix.cpp) I found that generates the
offending instruction (movaps) - but I have not yet succeeded in getting
the stack unaligned... [Do you need that too?]
class RTime
{
public:
int minute() {}
};
void rotate(float x)
{
}
int main()
{
RTime _time;
// hour
float h_angle = _time.minute();
rotate(-h_angle);
// minute
float m_angle = _time.minute();
rotate(-m_angle);
}
I am pretty sure that Qt should be simple to
Compile with:
gcc -I/usr/src/kde/qt-copy/mkspecs/linux-g++ -I../../include -o matrix.o
-march=pentium3 -O1 matrix.cpp
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Bug target/13685] Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV
2004-01-19 8:11 ` roger dot larsson at norran dot net
@ 2004-01-19 10:42 ` Jan Hubicka
0 siblings, 0 replies; 28+ messages in thread
From: Jan Hubicka @ 2004-01-19 10:42 UTC (permalink / raw)
To: roger dot larsson at norran dot net; +Cc: gcc-bugs
>
> ------- Additional Comments From roger dot larsson at norran dot net 2004-01-19 08:11 -------
> This is the shortest code yet (matrix.cpp) I found that generates the
> offending instruction (movaps) - but I have not yet succeeded in getting
> the stack unaligned... [Do you need that too?]
Roger,
I am not able to reproduce it from your testcase, but sending the
assembly file produces with g++ -O1 -march=pentium3 -dp -S will probably
give me enough information to fix it.
Thanks!
Honza
>
> class RTime
> {
> public:
> int minute() {}
> };
>
> void rotate(float x)
> {
> }
>
> int main()
> {
> RTime _time;
>
> // hour
> float h_angle = _time.minute();
> rotate(-h_angle);
>
> // minute
> float m_angle = _time.minute();
> rotate(-m_angle);
> }
>
> I am pretty sure that Qt should be simple to
> Compile with:
> gcc -I/usr/src/kde/qt-copy/mkspecs/linux-g++ -I../../include -o matrix.o
> -march=pentium3 -O1 matrix.cpp
>
> --
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV
2004-01-14 18:28 [Bug c++/13685] New: Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV roger dot larsson at norran dot net
` (7 preceding siblings ...)
2004-01-19 8:11 ` roger dot larsson at norran dot net
@ 2004-01-19 10:42 ` hubicka at ucw dot cz
2004-01-19 12:48 ` roger dot larsson at norran dot net
2005-01-07 9:49 ` [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction) roger dot larsson at norran dot net
10 siblings, 0 replies; 28+ messages in thread
From: hubicka at ucw dot cz @ 2004-01-19 10:42 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From hubicka at ucw dot cz 2004-01-19 10:42 -------
Subject: Re: Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV
>
> ------- Additional Comments From roger dot larsson at norran dot net 2004-01-19 08:11 -------
> This is the shortest code yet (matrix.cpp) I found that generates the
> offending instruction (movaps) - but I have not yet succeeded in getting
> the stack unaligned... [Do you need that too?]
Roger,
I am not able to reproduce it from your testcase, but sending the
assembly file produces with g++ -O1 -march=pentium3 -dp -S will probably
give me enough information to fix it.
Thanks!
Honza
>
> class RTime
> {
> public:
> int minute() {}
> };
>
> void rotate(float x)
> {
> }
>
> int main()
> {
> RTime _time;
>
> // hour
> float h_angle = _time.minute();
> rotate(-h_angle);
>
> // minute
> float m_angle = _time.minute();
> rotate(-m_angle);
> }
>
> I am pretty sure that Qt should be simple to
> Compile with:
> gcc -I/usr/src/kde/qt-copy/mkspecs/linux-g++ -I../../include -o matrix.o
> -march=pentium3 -O1 matrix.cpp
>
> --
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV
2004-01-14 18:28 [Bug c++/13685] New: Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV roger dot larsson at norran dot net
` (8 preceding siblings ...)
2004-01-19 10:42 ` hubicka at ucw dot cz
@ 2004-01-19 12:48 ` roger dot larsson at norran dot net
2005-01-07 9:49 ` [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction) roger dot larsson at norran dot net
10 siblings, 0 replies; 28+ messages in thread
From: roger dot larsson at norran dot net @ 2004-01-19 12:48 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From roger dot larsson at norran dot net 2004-01-19 12:48 -------
I guess no more WAITING is needed -> NEW
--
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |NEW
Ever Confirmed| |1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
2004-01-14 18:28 [Bug c++/13685] New: Building KDE3.2 clock applet with -march=pentium3 -O1 gives SIGSEGV roger dot larsson at norran dot net
` (9 preceding siblings ...)
2004-01-19 12:48 ` roger dot larsson at norran dot net
@ 2005-01-07 9:49 ` roger dot larsson at norran dot net
10 siblings, 0 replies; 28+ messages in thread
From: roger dot larsson at norran dot net @ 2005-01-07 9:49 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From roger dot larsson at norran dot net 2005-01-07 09:49 -------
Got a query about this bug...
It is still valid for gcc 3.3.4
My computer has been upgraded to a athlon-xp, so I tested both
g++ -Os -march=pentium3 matrix.cpp -o matrix
and
g++ -Os -march=athlon-xp matrix.cpp -o matrix
they both gives Segmentation fault when running
./matrix
Other optimization levels works.
Updated summary etc.
--
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
Priority|P2 |P1
Summary|Building KDE3.2 clock applet|Building simple test
|with -march=pentium3 -O1 |application with -
|gives SIGSEGV |march=pentium3 -Os gives
| |SIGSEGV (unaligned sse
| |instruction)
Version|3.3.1 |3.3.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
@ 2006-02-21 12:38 ` belyshev at depni dot sinp dot msu dot ru
2006-02-21 12:45 ` belyshev at depni dot sinp dot msu dot ru
` (13 subsequent siblings)
14 siblings, 0 replies; 28+ messages in thread
From: belyshev at depni dot sinp dot msu dot ru @ 2006-02-21 12:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from belyshev at depni dot sinp dot msu dot ru 2006-02-21 12:38 -------
*** Bug 15617 has been marked as a duplicate of this bug. ***
--
belyshev at depni dot sinp dot msu dot ru changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kpfleming at
| |backtobasicsmgmt dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
2006-02-21 12:38 ` belyshev at depni dot sinp dot msu dot ru
@ 2006-02-21 12:45 ` belyshev at depni dot sinp dot msu dot ru
2006-02-21 12:51 ` belyshev at depni dot sinp dot msu dot ru
` (12 subsequent siblings)
14 siblings, 0 replies; 28+ messages in thread
From: belyshev at depni dot sinp dot msu dot ru @ 2006-02-21 12:45 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from belyshev at depni dot sinp dot msu dot ru 2006-02-21 12:45 -------
Another testcase, use "-Os -msse", fails with all versions since 3.2:
typedef float __m128 __attribute__ ((vector_size (16)));
typedef int __m64 __attribute__ ((vector_size (8)));
int puts (const char *s);
void foo (__m128 *, __m64 *, int);
int main (void)
{
foo (0, 0, 0);
return 0;
}
void foo (__m128 *dst, __m64 *src, int n)
{
__m128 xmm0 = { 0 };
while (n > 64)
{
puts ("");
xmm0 = __builtin_ia32_cvtpi2ps (xmm0, *src);
*dst = xmm0;
n --;
}
}
--
belyshev at depni dot sinp dot msu dot ru changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |3.2.3 3.3.6 3.4.6 4.0.3
| |4.1.0 4.2.0
Last reconfirmed|0000-00-00 00:00:00 |2006-02-21 12:45:28
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
2006-02-21 12:38 ` belyshev at depni dot sinp dot msu dot ru
2006-02-21 12:45 ` belyshev at depni dot sinp dot msu dot ru
@ 2006-02-21 12:51 ` belyshev at depni dot sinp dot msu dot ru
2006-02-22 10:15 ` uros at kss-loka dot si
` (11 subsequent siblings)
14 siblings, 0 replies; 28+ messages in thread
From: belyshev at depni dot sinp dot msu dot ru @ 2006-02-21 12:51 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from belyshev at depni dot sinp dot msu dot ru 2006-02-21 12:51 -------
raising severity because this bug makes "-Os" almost useless on modern x86.
--
belyshev at depni dot sinp dot msu dot ru changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |belyshev at depni dot sinp
| |dot msu dot ru
Severity|normal |major
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2006-02-21 12:51 ` belyshev at depni dot sinp dot msu dot ru
@ 2006-02-22 10:15 ` uros at kss-loka dot si
2006-02-22 11:31 ` roger dot larsson at norran dot net
` (10 subsequent siblings)
14 siblings, 0 replies; 28+ messages in thread
From: uros at kss-loka dot si @ 2006-02-22 10:15 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from uros at kss-loka dot si 2006-02-22 10:15 -------
Works OK with gcc-4.2 and -Os -msse -fomit-frame-pointer.
--
uros at kss-loka dot si changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |uros at kss-loka dot si
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2006-02-22 10:15 ` uros at kss-loka dot si
@ 2006-02-22 11:31 ` roger dot larsson at norran dot net
2006-09-07 19:45 ` jason at gcc dot gnu dot org
` (9 subsequent siblings)
14 siblings, 0 replies; 28+ messages in thread
From: roger dot larsson at norran dot net @ 2006-02-22 11:31 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from roger dot larsson at norran dot net 2006-02-22 11:31 -------
(In reply to comment #16)
> raising severity because this bug makes "-Os" almost useless on modern x86.
>
With "gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)"
my testcase works but not Serge Belyshevs
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2006-02-22 11:31 ` roger dot larsson at norran dot net
@ 2006-09-07 19:45 ` jason at gcc dot gnu dot org
2006-09-07 20:24 ` jason at gcc dot gnu dot org
` (8 subsequent siblings)
14 siblings, 0 replies; 28+ messages in thread
From: jason at gcc dot gnu dot org @ 2006-09-07 19:45 UTC (permalink / raw)
To: gcc-bugs
--
jason at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |jason at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
Last reconfirmed|2006-02-21 12:45:28 |2006-09-07 19:45:38
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2006-09-07 19:45 ` jason at gcc dot gnu dot org
@ 2006-09-07 20:24 ` jason at gcc dot gnu dot org
2006-09-08 0:28 ` jason at gcc dot gnu dot org
` (7 subsequent siblings)
14 siblings, 0 replies; 28+ messages in thread
From: jason at gcc dot gnu dot org @ 2006-09-07 20:24 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from jason at gcc dot gnu dot org 2006-09-07 20:24 -------
You can work around this bug with -mpreferred-stack-boundary=4
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2006-09-07 20:24 ` jason at gcc dot gnu dot org
@ 2006-09-08 0:28 ` jason at gcc dot gnu dot org
2006-09-08 0:46 ` hjl at lucon dot org
` (6 subsequent siblings)
14 siblings, 0 replies; 28+ messages in thread
From: jason at gcc dot gnu dot org @ 2006-09-08 0:28 UTC (permalink / raw)
To: gcc-bugs
------- Comment #20 from jason at gcc dot gnu dot org 2006-09-08 00:28 -------
Subject: Bug 13685
Author: jason
Date: Fri Sep 8 00:28:30 2006
New Revision: 116775
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116775
Log:
PR target/13685
* config/i386/i386.c (override_options): Use 128-bit
stack boundary if -msse.
Added:
trunk/gcc/testsuite/gcc.target/i386/sse-20.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
` (7 preceding siblings ...)
2006-09-08 0:28 ` jason at gcc dot gnu dot org
@ 2006-09-08 0:46 ` hjl at lucon dot org
2006-09-11 21:34 ` hjl at gcc dot gnu dot org
` (5 subsequent siblings)
14 siblings, 0 replies; 28+ messages in thread
From: hjl at lucon dot org @ 2006-09-08 0:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #21 from hjl at lucon dot org 2006-09-08 00:45 -------
*** Bug 27537 has been marked as a duplicate of this bug. ***
--
hjl at lucon dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |agner at agner dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
` (8 preceding siblings ...)
2006-09-08 0:46 ` hjl at lucon dot org
@ 2006-09-11 21:34 ` hjl at gcc dot gnu dot org
2006-09-12 2:55 ` hjl at gcc dot gnu dot org
` (4 subsequent siblings)
14 siblings, 0 replies; 28+ messages in thread
From: hjl at gcc dot gnu dot org @ 2006-09-11 21:34 UTC (permalink / raw)
To: gcc-bugs
------- Comment #22 from hjl at gcc dot gnu dot org 2006-09-11 21:34 -------
Subject: Bug 13685
Author: hjl
Date: Mon Sep 11 21:34:06 2006
New Revision: 116860
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116860
Log:
gcc/
2006-09-11 H.J. Lu <hongjiu.lu@intel.com>
PR target/13685
PR target/27537
PR target/28621
* config/i386/i386.c (override_options): Always default to 16
byte stack boundary.
gcc/testsuite/
2006-09-11 H.J. Lu <hongjiu.lu@intel.com>
PR target/13685
* gcc.target/i386/pr13685.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/i386/pr13685.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
` (9 preceding siblings ...)
2006-09-11 21:34 ` hjl at gcc dot gnu dot org
@ 2006-09-12 2:55 ` hjl at gcc dot gnu dot org
2006-09-22 22:42 ` jason at gcc dot gnu dot org
` (3 subsequent siblings)
14 siblings, 0 replies; 28+ messages in thread
From: hjl at gcc dot gnu dot org @ 2006-09-12 2:55 UTC (permalink / raw)
To: gcc-bugs
------- Comment #23 from hjl at gcc dot gnu dot org 2006-09-12 02:54 -------
Subject: Bug 13685
Author: hjl
Date: Tue Sep 12 02:54:42 2006
New Revision: 116870
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116870
Log:
gcc/
2006-09-11 H.J. Lu <hongjiu.lu@intel.com>
PR target/13685
PR target/27537
PR target/28621
* config/i386/i386.c (override_options): Always default to 16
byte stack boundary.
gcc/testsuite/
2006-09-11 H.J. Lu <hongjiu.lu@intel.com>
PR target/13685
* gcc.target/i386/pr13685.c: New test.
Added:
branches/gcc-4_1-branch/gcc/testsuite/gcc.target/i386/pr13685.c
Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/config/i386/i386.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
` (10 preceding siblings ...)
2006-09-12 2:55 ` hjl at gcc dot gnu dot org
@ 2006-09-22 22:42 ` jason at gcc dot gnu dot org
2006-09-22 22:54 ` vapier at gentoo dot org
` (2 subsequent siblings)
14 siblings, 0 replies; 28+ messages in thread
From: jason at gcc dot gnu dot org @ 2006-09-22 22:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #24 from jason at gcc dot gnu dot org 2006-09-22 22:42 -------
This has been fixed for a while.
--
jason at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
` (11 preceding siblings ...)
2006-09-22 22:42 ` jason at gcc dot gnu dot org
@ 2006-09-22 22:54 ` vapier at gentoo dot org
2006-09-23 8:23 ` agner at agner dot org
2007-07-23 0:07 ` vda dot linux at googlemail dot com
14 siblings, 0 replies; 28+ messages in thread
From: vapier at gentoo dot org @ 2006-09-22 22:54 UTC (permalink / raw)
To: gcc-bugs
------- Comment #25 from vapier at gentoo dot org 2006-09-22 22:54 -------
is forcing the alignment to an even larger value really the fix ? is there no
way to do such things on the fly ? after all, if someone turns around and
tries to do a custom alignment on the stack that is larger than 16 bytes, that
will fail (but i guess this issue will be handled at PR28069 ?)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
` (12 preceding siblings ...)
2006-09-22 22:54 ` vapier at gentoo dot org
@ 2006-09-23 8:23 ` agner at agner dot org
2007-07-23 0:07 ` vda dot linux at googlemail dot com
14 siblings, 0 replies; 28+ messages in thread
From: agner at agner dot org @ 2006-09-23 8:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #26 from agner at agner dot org 2006-09-23 08:23 -------
Thank you for fixing this, but you need to tell the world which solution you
have chosen. Please see the discussion at the dublicate bug
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27537 for arguments for and against
each possible solution.
You need to specify whether the chosen solution is to enforce 16 byte stack
alignment regardless of -Os option or the solution is to make no assumption
about stack alignment when making XMM code. This is an ABI issue that has to be
standardized and made public. The makers of the Intel compiler are waiting for
a resolution to this issue so that they can make their compiler compatible with
GCC. For the same reason, assembly programmers need to know whether stack
alignment is required or not.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread
* [Bug target/13685] Building simple test application with -march=pentium3 -Os gives SIGSEGV (unaligned sse instruction)
[not found] <bug-13685-7709@http.gcc.gnu.org/bugzilla/>
` (13 preceding siblings ...)
2006-09-23 8:23 ` agner at agner dot org
@ 2007-07-23 0:07 ` vda dot linux at googlemail dot com
14 siblings, 0 replies; 28+ messages in thread
From: vda dot linux at googlemail dot com @ 2007-07-23 0:07 UTC (permalink / raw)
To: gcc-bugs
------- Comment #27 from vda dot linux at googlemail dot com 2007-07-23 00:06 -------
May I point that alternative solution (to align stack _in the function which
needs it_) doesn't crash if called by code generated by old or new gcc, and
also gives smaller, faster and less stack consuming code for all people who do
not do any SSE stuff?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
^ permalink raw reply [flat|nested] 28+ messages in thread