This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
binutils causing crash with exception in static c++ binary
- From: bert hubert <ahu at ds9a dot nl>
- To: jakub at redhat dot com
- Cc: binutils at sources dot redhat dot com
- Date: Thu, 2 Oct 2003 19:29:30 +0200
- Subject: binutils causing crash with exception in static c++ binary
Jakub,
We are pretty sure that this patch with your name on it ( http://leb.ath.cx/~ijuz/files/ahu/diff_noCVS )
+ * dw2gencfi.c (EH_FRAME_ALIGNMENT): Define if not defined.
+ (output_cie): Don't pad.
+ (output_fde): Add align argument. Pad to align if not 0.
+ (cfi_finish): Set .eh_frame alignment to EH_FRAME_ALIGNMENT.
+ Pad just last FDE to EH_FRAME_ALIGNMENT.
Causes this program to crash, when compiled on Debian sid with g++ crash.cc -o crash
-static:
#include <syslog.h>
#include <iostream>
using namespace std;
int func()
{
syslog(LOG_INFO,"","");
}
int main(int argc, char **argv)
{
try {
throw(10);
}
catch(...) {
cout<<"Smells like a 10"<<endl;
}
}
The backtrace is:
#0 0x0808c7e0 in get_cie_encoding ()
#1 0x0808cc3a in classify_object_over_fdes ()
#2 0x0808daa9 in init_object ()
#3 0x0808d1e8 in search_object ()
#4 0x0808d298 in _Unwind_Find_registered_FDE ()
#5 0x0808d79c in _Unwind_Find_FDE ()
#6 0x0808b314 in uw_frame_state_for ()
#7 0x0808b84f in uw_init_context_1 ()
#8 0x0808bad8 in _Unwind_RaiseException ()
#9 0x0807d999 in __cxa_throw ()
#10 0x08048253 in main (argc=1, argv=0xbffffb54) at crash.cc:14
GNU assembler version 2.14.90.0.6 (i386-linux) using BFD version 2.14.90.0.6
20030820 Debian GNU/Linux
$ ld -V
GNU ld version 2.14.90.0.6 20030820 Debian GNU/Linux
Supported emulations:
elf_i386
i386linux
elf_x86_64
g++ version is irrelevant, it happens with all of them. glibc 2.3.2.
This code works statically compiled with:
glibc as of 2003-07-02T11:06:49-0700 and nptl 0.52 compiled with
binutils 2003-06-18T09:00:00-0700
_but_ it segfaults with:
glibc as of 2003-07-02T11:06:49-0700 and nptl 0.52 compiled with
binutils 2003-06-18T13:00:00-0700
Might this problem be related to
http://sources.redhat.com/ml/binutils/2003-09/msg00473.html ?
This issue is holding up the release of PowerDNS 2.9.12, any help would be
appreciated..
Thanks!
--
http://www.PowerDNS.com Open source, database driven DNS Software
http://lartc.org Linux Advanced Routing & Traffic Control HOWTO