Mail Archives: djgpp-workers/1999/08/19/11:43:46
On 19 Aug 99, at 2:05, Robert Hoehne wrote:
> > Hi!
> >
> > The binaries of GCC-2.95.1 for DJGPP are at
> > http://www.lanet.lv/~pavenis/djgpp.html
> >
>
> Exceptions do not work for me. Here the sample file I used:
This example works Ok for me with:
gcc-2.95 + binutils-2.9.1 + DJGPP CVS version (end of July)
gcc-2.95.1 + binutils-990817 snapshot + DJGPP CVS version (16
August)
gcc-2.95.1 + binutils-2.8.1(from Simtelnet) + djdev202 (unchanged)
In all cases no my additional changes to djgpp.djl
Andris
> #include <exception>
>
> class My_Exception : public exception
> {
> public:
> My_Exception()
> {
> }
> };
>
> int main()
> {
> try
> {
> throw My_Exception();
> }
> catch (My_Exception & error)
> {
> }
> return 0;
> }
>
> and here the result from running it:
>
> O:\SPORT>ttt.exe
> Exiting due to signal SIGSEGV
> Stack Fault at eip=00001dcc
> eax=00000000 ebx=0009343c ecx=00002d7c edx=00001d68 esi=00000054 edi=00012c9c
> ebp=00092c07 esp=00092bec program=D:\OBJ\SPORT\TTT.EXE
> cs: sel=00a7 base=82be3000 limit=0009ffff
> ds: sel=00af base=82be3000 limit=0009ffff
> es: sel=00af base=82be3000 limit=0009ffff
> fs: sel=0087 base=00017ba0 limit=0000ffff
> gs: sel=00bf base=00000000 limit=0010ffff
> ss: sel=00af base=82be3000 limit=0009ffff
> App stack: [00092c9c..00012c9c] Exceptn stack: [00012bfc..00010cbc]
>
> Call frame traceback EIPs:
> 0x00001dcc _main+84, line 15 of ttt.cc
> 0x0035db00 0x35db00
>
> O:\SPORT>symify ttt.exe
>
> and after this, I thought, I simply try my good old gcc 2.81 to verify
> that it works as I expect (and it worked with 2.81) and I got the
> following: (this might be a problem with gcc 2.81
> and the libc it was linked with, but I mention it here for completeness)
>
> O:\SPORT>gcc -v -c -V2.81 tt.cc
> Reading specs from d:/djgpp/lib/gcc-lib/djgpp/2.81/specs
> gcc driver version 2.95.1 19990816 (release) executing gcc version 2.8.1
> d:/djgpp/lib/gcc-lib/djgpp/2.81/cpp.exe -lang-c++ -v -isystem d:/djgpp/bin/incl
> ude -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR__=8 -D__cplusplus -Dunix -Di386 -DG
> O32 -DMSDOS -DDJGPP=2 -DDJGPP_MINOR=1 -D__unix__ -D__i386__ -D__GO32__ -D__MSDOS
> __ -D__DJGPP__=2 -D__DJGPP_MINOR__=1 -D__unix -D__i386 -D__GO32 -D__MSDOS -D__DJ
> GPP=2 -D__DJGPP_MINOR=1 -D__EXCEPTIONS tt.cc e:/tmp\cc6UxIij.ii
> GNU CPP version 2.8.1 (80386, BSD syntax)
> d:/djgpp/bin/include/.: Too many open files in system (ENFILE)
Kill COMPILER_PATH in DJGPP.ENV to workaround problem in old
libc.a (You got ENFILE instead of ENMFILE). Problem is fixed long
time ago and it should be fixed in last update of gcc-2.81 for DJGPP
(timestamp 22 October 98 perhaps)
> #include "..." search starts here:
> #include <...> search starts here:
> d:/djgpp/lang/cxx
> d:/djgpp/include
> d:/djgpp/lang/cxx
> d:/djgpp/lib/gcc-lib/djgpp/2.81/include
> d:/djgpp/include
> End of search list.
>
> O:\SPORT>
>
>
> OK, so I thought to use my good old gcc 2.81 driver to execute the 2.951 version
> and got: (this seems to be now a real gcc 2.951 problem on DJGPP)
>
> O:\SPORT>gcc -c -v -V2.951 ttt.cc
> Reading specs from d:/djgpp/lib/gcc-lib/djgpp\2.951\specs
> gcc driver version 2.8.1 executing gcc version 2.95.1
> d:/djgpp/lib/gcc-lib/djgpp\2.951\cpp.exe -lang-c++ -v -undef -D__GNUC__=2 -D__G
> NUG__=2 -D__cplusplus -D__GNUC_MINOR__=95 -Dunix -Di386 -DGO32 -DDJGPP=2 -DMSDOS
> -D__unix__ -D__i386__ -D__GO32__ -D__DJGPP__=2 -D__MSDOS__ -D__unix -D__i386 -D
> __GO32 -D__DJGPP=2 -D__MSDOS -Asystem(unix) -Asystem(msdos) -Acpu(i386) -Amachin
> e(i386) -D__EXCEPTIONS -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -D
> i586 -Dpentium -D__i586 -D__i586__ -D__pentium -D__pentium__ -imacros d:/djgpp/l
> ib/../include/sys/version.h -remap ttt.cc e:/tmp\ccaquy4a
> GNU CPP version 2.95.1 19990816 (release) (80386, BSD syntax)
> djgpp\2.951\cpp.exe: Invalid option `-undef'
>
Unfortunatelly CPP from gcc-2.95.1 doesn't seem to support -undef
Andris
- Raw text -