This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/12123] SIGBUS on strstr_sse42 due to bad alignment


http://sourceware.org/bugzilla/show_bug.cgi?id=12123

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW

--- Comment #11 from H.J. Lu <hjl.tools at gmail dot com> 2010-10-26 17:22:06 UTC ---
(In reply to comment #10)
> I've found that the _init section of glibc 2.12.1 libpthread.so.0 breaks the
> stack alignment. See the objdump, and see how the 16-bit alignment comming at
> _init is broken calling the functions there listed (push + call = 8 bytes
> instead of 16).
> 
> Disassembly of section .init:
> 
> 00004140 <_init>:
>     4140:       55                      push   %ebp
>     4141:       89 e5                   mov    %esp,%ebp
>     4143:       e8 f8 05 00 00          call   4740
> <__pthread_initialize_minimal>
>     4148:       e8 43 05 00 00          call   4690 <frame_dummy>
>     414d:       e8 1e d6 00 00          call   11770 <__do_global_ctors_aux>
>     4152:       5d                      pop    %ebp
>     4153:       c3                      ret    
> 
> 
> But I still don't know what writes that _init there.

It comes from nptl/sysdeps/pthread/pt-initfini.c, which is
compiled with -mpreferred-stack-boundary=2.

-- 
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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]