gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gm2] Solaris10 and OS 10.4 woes with gm2 of 2008-07-10 (and news)


From: gaius
Subject: Re: [Gm2] Solaris10 and OS 10.4 woes with gm2 of 2008-07-10 (and news)
Date: Thu, 14 Aug 2008 14:14:18 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

John O Goyo <address@hidden> writes:

> Something on Solaris 10/sparc compiled with the latest version
> (2008-07-10) no longer ran.  I investigated and discovered a small
> test case, as illustrated in the following session.

Hi John,

I've been working on implementing exceptions and have checked in quite
a few changes.  I've almost finished - and currently I'm searching for
a bug in RTExceptions, once this is found hopefully all will work
again.  It looks like my recent checkin has broken the compiler.

[side note:
Incidentally during my testing I've seen gm2 work with C++ exceptions
and it can catch and throw an integer exception which is compatible
with C++ code.  The downside is that gm2 must now build g++ during the
bootstrap phase (as it now needs to link an executable against
-lstdc++).  While this means bootstrapping takes a little longer the
upside is that exceptions are compatible with g++ (and potentially
Java and Ada, with a little more work).  Interestingly during the
GCC developers conference a discussion occurred around the idea
of using g++ to compile gcc.  I think this will only occur (initially
for libbackend.a) - but in effect it means that bootstrapping gcc will
also require bootstrapping g++ for future gcc releases anyway.

I've just returned from holiday - and have also found that
floppsie.comp.glam.ac.uk is down (used for downloading tarballs and
maintaining the regression test table.  Hopefully this will be
restored soon as well.
]

regards,
Gaius



> #=================================================================
> johng [tst]854=> cat Test2.mod
> MODULE Test2;
>
> IMPORT output;
>
> BEGIN (*Test2*)
>     output.Init
> END Test2.
> johng [tst]855=> gm2 -c -g Test2.mod
> johng [tst]856=> nm Test2.o |grep init
> [14]    |             0|          20|FUNC |GLOB |0    |1      |_M2_Test2_init
> johng [tst]857=> cat output.*
> DEFINITION MODULE output;
>
> PROCEDURE Init;
>
> END output.
> IMPLEMENTATION MODULE output;
>
> IMPORT InOut;
>
> PROCEDURE Init;
> BEGIN
>     InOut.WriteString("output.Init called");
>     InOut.WriteLn
> END Init;
>
> BEGIN
>
> END output.
> johng [tst]858=> gm2 -c -g output.mod
> johng [tst]859=> nm output.o |grep init
> [15]    |             0|          12|FUNC |GLOB |0    |1      |_M2_output_init
> johng [tst]861=> nm Test2 |grep init
> [438]   |         78408|          12|FUNC |GLOB |0    |9      |_M2_ASCII_init
> [481]   |        107752|          12|FUNC |GLOB |0    |9      
> |_M2_Assertion_init
> [232]   |        101216|          12|FUNC |GLOB |0    |9      |_M2_Debug_init
> [440]   |        107900|          12|FUNC |GLOB |0    |9      
> |_M2_Display_init
> [482]   |        108492|          12|FUNC |GLOB |0    |9
> |_M2_DynamicStrings_init
> [515]   |         40832|          20|FUNC |GLOB |0    |9      |_M2_FIO_init
> [293]   |         77348|          52|FUNC |GLOB |0    |9      |_M2_IO_init
> [489]   |        143388|          20|FUNC |GLOB |0    |9      |_M2_InOut_init
> [377]   |        108208|          12|FUNC |GLOB |0    |9      
> |_M2_Keyboard_init
> [237]   |         26740|          76|FUNC |GLOB |0    |9
> |_M2_M2EXCEPTION_init
> [448]   |         18604|          72|FUNC |GLOB |0    |9      |_M2_M2RTS_init
> [486]   |         79676|          12|FUNC |GLOB |0    |9      
> |_M2_NumberIO_init
> [471]   |         22912|          20|FUNC |GLOB |0    |9
> |_M2_RTExceptions_init
> [261]   |        140456|          12|FUNC |GLOB |0    |9      |_M2_SFIO_init
> [358]   |         34420|          12|FUNC |GLOB |0    |9      |_M2_SYSTEM_init
> [368]   |        103960|           8|FUNC |GLOB |0    |9      
> |_M2_Selective_init
> [487]   |         78432|          56|FUNC |GLOB |0    |9      |_M2_StdIO_init
> [509]   |        107532|          12|FUNC |GLOB |0    |9      
> |_M2_Storage_init
> [272]   |        104204|          32|FUNC |GLOB |0    |9      |_M2_StrIO_init
> [244]   |         27148|          12|FUNC |GLOB |0    |9      |_M2_StrLib_init
> [299]   |        124492|          12|FUNC |GLOB |0    |9
> |_M2_StringConvert_init
> [462]   |        103136|          12|FUNC |GLOB |0    |9      
> |_M2_SysStorage_init
> [372]   |        122128|          20|FUNC |GLOB |0    |9      
> |_M2_Termbase_init
> [226]   |        141272|          12|FUNC |GLOB |0    |9      
> |_M2_Terminal_init
> [251]   |        147840|          12|FUNC |GLOB |0    |9      |_M2_output_init
> [296]   |        148052|          28|FUNC |GLOB |0    |10     |_init
> [63]    |         17684|         624|FUNC |LOCL |0    |9      |init
> johng [tst]862=> ./Test2
> johng [tst]863=>
> #=================================================================
>
> Neither the debug information nor even the call seems to be linked
> into the main module.  The truly odd thing is that I found exactly the
> same problem under OS 10.4/PPC (below).
>
> #=================================================================
> Doppel:~/bld/tst build$ nm Test2.o |grep init
> 00000000 T __M2_Test2_init
> Doppel:~/bld/tst build$ nm Test2 |grep init
> 00003e20 T __M2_ASCII_init
> 00032420 S __M2_ASCII_init.eh1
> 00003e50 T __M2_Assertion_init
> 00032478 S __M2_Assertion_init.eh1
> 00003efc T __M2_Debug_init
> 000324f8 S __M2_Debug_init.eh1
> 00004540 T __M2_Display_init
> 000325c8 S __M2_Display_init.eh1
> 00004650 T __M2_DynamicStrings_init
> 00032648 S __M2_DynamicStrings_init.eh1
> 00007d90 T __M2_FIO_init
> 00032c60 S __M2_FIO_init.eh1
> 0000eaa8 T __M2_IO_init
> 000333e8 S __M2_IO_init.eh1
> 0000ee8c T __M2_InOut_init
> 00033508 S __M2_InOut_init.eh1
> 0000fe08 T __M2_Keyboard_init
> 000338ac S __M2_Keyboard_init.eh1
> 0000ff40 T __M2_M2EXCEPTION_init
> 00033954 S __M2_M2EXCEPTION_init.eh1
> 00002ef8 T __M2_M2RTS_init
> 000320ac S __M2_M2RTS_init.eh1
> 000100e0 T __M2_NumberIO_init
> 00033a00 S __M2_NumberIO_init.eh1
> 00014534 T __M2_RTExceptions_init
> 00033df0 S __M2_RTExceptions_init.eh1
> 00015464 T __M2_SFIO_init
> 0003419c S __M2_SFIO_init.eh1
> 0001576c T __M2_SYSTEM_init
> 000342e4 S __M2_SYSTEM_init.eh1
> 00016b34 T __M2_Selective_init
> 00016c3c T __M2_StdIO_init
> 00034474 S __M2_StdIO_init.eh1
> 00017064 T __M2_Storage_init
> 00034598 S __M2_Storage_init.eh1
> 00017184 T __M2_StrIO_init
> 00034690 S __M2_StrIO_init.eh1
> 00017c84 T __M2_StrLib_init
> 000347d4 S __M2_StrLib_init.eh1
> 00019458 T __M2_StringConvert_init
> 00034968 S __M2_StringConvert_init.eh1
> 0001cca4 T __M2_SysStorage_init
> 00034f68 S __M2_SysStorage_init.eh1
> 0001cf58 T __M2_Termbase_init
> 00035084 S __M2_Termbase_init.eh1
> 0001d798 T __M2_Terminal_init
> 00035220 S __M2_Terminal_init.eh1
> 0001dee0 T __M2_output_init
> 000027fc t __call_mod_init_funcs
>          U __cthread_init_routine
> 00002ab8 t __dyld_init_check
>          U __init_keymgr
> 00002cd0 t _init
>          U _mach_init_routine
> Doppel:~/bld/tst build$
> Doppel:~/bld/tst build$ ./Test2
> #=================================================================
>
>
> Suggests for further investigation are most welcome.
>
> john
>
>
> _______________________________________________
> gm2 mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/gm2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]