This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/12123] SIGBUS on strstr_sse42 due to bad alignment
- From: "viriketo at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: Thu, 28 Oct 2010 19:29:27 +0000
- Subject: [Bug libc/12123] SIGBUS on strstr_sse42 due to bad alignment
- Auto-submitted: auto-generated
- References: <bug-12123-131@http.sourceware.org/bugzilla/>
http://sourceware.org/bugzilla/show_bug.cgi?id=12123
--- Comment #18 from LluÃs Batlle <viriketo at gmail dot com> 2010-10-28 19:29:14 UTC ---
(In reply to comment #15)
> strstr.os was compiled with -mpreferred-stack-boundary=2 which implies
> -mincoming-stack-boundary=2, so it is a compiler bug if it assumes bigger
> alignment.
I see '-mincoming-stack-boundary' appears only in gcc 4.4. Is gcc 4.4 a
requirement for building glibc?
(In reply to comment #17)
We use gcc 4.3 to build glibc in i686-linux, and we use gcc 4.5.1 to build
x86_64-linux, so that may make a difference, and maybe that's why we only saw
the problem in i686-linux. What compiler are you using?
With gcc 4.5.1, strstr_sse42 starts this way:
130: 48 89 5c 24 d0 mov %rbx,-0x30(%rsp)
135: 4c 89 6c 24 e8 mov %r13,-0x18(%rsp)
13a: 48 89 fb mov %rdi,%rbx
13d: 48 89 6c 24 d8 mov %rbp,-0x28(%rsp)
142: 4c 89 64 24 e0 mov %r12,-0x20(%rsp)
147: 49 89 f5 mov %rsi,%r13
14a: 4c 89 74 24 f0 mov %r14,-0x10(%rsp)
14f: 4c 89 7c 24 f8 mov %r15,-0x8(%rsp)
154: 48 83 ec 58 sub $0x58,%rsp
So it expects stacks 4w aligned, the default in gcc. If you have problems in
x86_64 about bad alignment on strstr_sse42, you should revise that your code
maintains the stack aligned 4w.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.