[M3devel] update..

Daniel Alejandro Benavides D. dabenavidesd at yahoo.es
Tue Sep 18 19:16:51 CEST 2012


Hi all:
I wonder if this Initialization runtime has done well at that, because that Main body doesn't start is not something of safe nature, all Main Modules must be safe on Modula-3.
Jay I can collaborate if you assign me something (for now on i386 later on x64), but we need to agree on how to do it (and if that implies be verbose in C let's do so) if I may say so.
I have read some research going on C safety based on determining minimum RT assumptions of all compilers and platforms, but I don't know the current state of  that work. Model checking could be next stop, given the amount of static analyzer tools for C, etc, but again I don't know the state of the art of that research.
Thanks in advance

--- El lun, 17/9/12, Jay K <jay.krell at cornell.edu> escribió:

De: Jay K <jay.krell at cornell.edu>
Asunto: [M3devel] update..
Para: "m3devel" <m3devel at elegosoft.com>
Fecha: lunes, 17 de septiembre, 2012 17:04



 > ..it still crashes in RTLinker.InitRuntime, but it gets
 > significantly further


correction, it gets to the main module!

RunMainBody: ../src/runtime/common/RTTipe.i3(2)  ../src/runtime/common/RTPacking.i3(3)  ../src/runtime/common/RT0.i3(3)  ../src/runtime/common/RTHooks.i3(3)  ../src/runtime/common/RTTipe.m3(4)RunMainBody: exec: ../src/runtime/common/RTTipe.i3(3)RunMainBody: exec: ../src/runtime/common/RTTipe.m3(3)AddUnitI: ../src/runtime/common/RTException.m3(3)
Program received signal EXC_BAD_ACCESS, Could not access memory.Reason: KERN_PROTECTION_FAILURE at address: 0x000000340x00033396 in Makefile__ScanCommandLine1 () at Makefile.mc.c:54075407	(*(volatile INT32*)&L_103)=(INT32)(((INT32)(((INT32)(((INT32)(((INT32)(*(volatile UINT32*)(52+(ADDRESS)*(volatile ADDRESS*)(272+(ADDRESS)&M_Makefile))))))-((INT32)(((INT32)M3_INT32(1)))))))));(gdb) bt#0  0x00033396 in Makefile__ScanCommandLine1 () at Makefile.mc.c:5407#1  0x0003a166 in Main__DoIt () at Main.mc.c:359#2  0x0003b2c2 in Main_M3 (mode=<incomplete type>) at Main.mc.c:1790#3  0x0035d760 in RTLinker__AddUnit (b=0x3b29c "U??S??\024?") at RTLinker.mc.c:963#4  0x00002902 in main (argc=1, argv=0xbffff8dc, envp=0xbffff8e4) at _m3main.c:16(gdb) 


very nice

 - Jay

> Date: Mon, 17 Sep 2012 13:07:11 +0000
> To: m3commit at elegosoft.com
> From: jkrell at elego.de
> Subject: [M3commit] CVS Update: cm3
> 
> CVSROOT:	/usr/cvs
> Changes by:	jkrell at birch.	12/09/17 13:07:11
> 
> Modified files:
> 	cm3/m3-sys/m3back/src/: M3C.m3 
> 
> Log message:
> 	is_const => const
> 	const => const_text
> 	4 space indentation (work in progress)
> 	add target/wordsize at top of C
> 	restore "static" on non-exported globals (important! avoids duplicates
> 	and errors)
> 	
> 	and then most importantly, pad out segments to their declared sizes
> 	very important -- to get the zeros at the end instead of garbage
> 	this fixes crashing at "startup" (in RTLinker.InitRuntime)
> 	..it still crashes in RTLinker.InitRuntime, but it gets
> 	significantly further
> 
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20120918/bec10578/attachment-0002.html>


More information about the M3devel mailing list