Re: GDB is broken on systems with readline built without -fexceptions

Pedro Alves
2019-02-12T19:35:07Z

On 02/09/2019 01:28 AM, Brian Vandenberg wrote:
> On 04/21/2016 03:31 PM, Pedro Alves wrote:Â
> > Forgot to qualify "broken".Â  The symptom is:Â
> > Â Â
> > Â (gdb) whatever-command-that-causes-an-errorÂ
> > Â terminate called after throwing an instance of 'gdb_exception_RETURN_MASK_ERROR'Â
> > Â AbortedÂ
> > Â $Â
> >Â
> A proper fix is turning out to be more complicated than I'd hope,Â
> so in the mean time, to get things working again, I flipped gdb'sÂ
> TRY/CATCH mechanism back to setjmp/longjmp instead of C++ try/catch,Â
> again.Â
> You should no longer need the --enable-build-with-cxx=no workaround.Â
> Thanks,Â
> Pedro Alves
>
>

Note that the original problems that led to that "broken" above have
been fixed, a long while ago.

> I'm still waiting for IT to get me the 8.2 source so I can try that version, but in the meantime: I'm seeing this error in Solaris 10 (sparc) with 8.1.1.Â  I built gdb configured like this:
>
> /path/to/src/configure \
> Â  --prefix=/install/path \
> Â  --enable-plugins \
> Â Â --enable-tui \
> Â Â --with-python=yes \
> Â Â --disable-largefile \
> Â Â --without-system-readline \
> Â Â --enable-64-bit-bfd \
> Â Â --with-expat \
> Â Â --with-libexpat-prefix=/opt/csw \
> Â Â --with-x \
> Â Â LDFLAGS="$(echo -n -Wl,-{L,R}/opt/csw/lib)" \
> Â Â {CFLAGS,CPPFLAGS,CXXFLAGS}=-isystem/opt/csw/include
>
> I don't recall the rationale behind all of the above options.Â  Some of them came from how the folks at opencsw.org <http://opencsw.org> build GDB, others were me just banging on it until it compiled successfully (perhaps to my own detriment).
>
> If you can offer any suggestions I would appreciate it.

I'd suspect that this happens because GDB is built/linked with
"-static-libstdc++ -static-libgcc", and that doesn't work
correctly on Solaris. ISTR that we observed that on other
ports as well.

Thanks,
Pedro Alves