[Bug 214863] lang/gcc + libc++ may fail due to spurious __cxa_throw_bad_array_new_length reference
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Nov 27 17:15:35 UTC 2016
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214863
Dimitry Andric <dim at FreeBSD.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dim at FreeBSD.org
--- Comment #1 from Dimitry Andric <dim at FreeBSD.org> ---
This is because g++ 4.9 is now inserting a call to
__cxa_throw_bad_array_new_length, e.g.:
main:
.LFB0:
.cfi_startproc
leal 4(%esp), %ecx
.cfi_def_cfa 1, 0
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
.cfi_escape 0x10,0x5,0x2,0x75,0
movl %esp, %ebp
pushl %ecx
.cfi_escape 0xf,0x3,0x75,0x7c,0x6
subl $20, %esp
movl $5, -12(%ebp)
movl -12(%ebp), %eax
addl $2, %eax
cmpl $532676608, %eax
ja .L2
sall $2, %eax
jmp .L5
.L2:
call __cxa_throw_bad_array_new_length
but the support for this call was only merged to stable/10 in r278724, way
after 10.1-R was created.
One option is to compile the program without exception support, or to
explicitly use gcc 4.8 or lower. I could not find a gcc command line option to
disable the generation of these calls.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the freebsd-toolchain
mailing list