[Top][All Lists]
[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