Opened 9 years ago

Closed 9 years ago

#8650 closed Bugs (fixed)

Segmentation fault on x86 Linux with SSE2 intrinsics

Reported by: andrey.zhdanoff@… Owned by: olli
Milestone: To Be Determined Component: context
Version: Boost 1.53.0 Severity: Problem
Keywords: Cc: olli

Description

Modified coroutine/example/echo.cpp by adding function which using SSE2 intrinsic . Program built for x86 is seg-faulting due to miss-aligned stack. Build with: g++ echosse.cpp -m32 -o echosse -O3 -g -I ../boost/boost_build/include/boost-1_53/ -Wl,libboost_context-gcc46-mt-s-1_53.a GCC version tested: 4.6.2, 4.8.0. Problem is in make_i386_sysv_elf_gas.S, line:

leal -0x8(%eax), %edx /* reserve space for the last frame on context stack; (ESP - 0x4) % 16 == 0 */

  • apparently pasted from x64 version.

Changing to: leal -0x14(%eax), %edx fixed the problem for me.

Attachments (1)

echosse.cpp (1.2 KB ) - added by anonymous 9 years ago.

Download all attachments as: .zip

Change History (2)

by anonymous, 9 years ago

Attachment: echosse.cpp added

comment:1 by olli, 9 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.