[Oberon] NO: Kernel procedure not implemented

edgar at edgarschwarz.de edgar at edgarschwarz.de
Fri Nov 21 19:45:34 CET 2003


Hi,
I'm working on the WebDAV client for NO and was able to compile what I thought
necessary. Took me 4 hours. But OK, compiling cleanly isn't working
correctly yet. Now I wanted to try it.
I got the following trap with NO 5.1.2003:
Any idea what's wrong ? TFLog was freshly compiled.

Modules.Fixup  PC = 2635
	Error = "Unsupported kernel procedure"
	Num = 249
	codebase = 7973928
	i = 1
	link =  0079D438H
	m =  0079AA20H
	modNo = 0
	nofFixups = 6
	offs = 65535
	val = -65534
Modules.LoadModule  PC = 10136
	@for = 3
	@for = 0
	R =  00000028H
	body = NIL
	ch =  00000000X
	dataLinks =  0079D3A0H
	e = 2680
	head =  00000010H
	i = 60
	imp =  0079CDE0H
	j = 6
	k = 0
	linkTab =  0079D438H
	m =  0079AA20H
	mno = 0
	mods =  0079BA78H
	symSize = 400
	t = 7973908
	types =  0079D760H
Modules.Load  PC = 10877
	R =  00000028H
	f =  0079A780H
	fname = "TFLog.Obj"
	i = 9
	j = 4
	m =  0079AA20H
	name = "TFLog"
	tag =  000000AFX
	
Modules.Mod
(*
				|   250: offs := link[i].link;	(* Start(adr: LONGINT; priority, typ: SHORTINT; self: Object) *)
						WHILE offs # 0FFFFH DO
							SYSTEM.GET(codebase + offs, val); SYSTEM.PUT(codebase + offs, Kernel.ModuleData[3] - (codebase + offs + 4));
							offs := MSW(val);
						END
				|   249: offs := link[i].link; 	(* Passivate(adr, ebp: LONGINT) *)
						WHILE offs # 0FFFFH DO
							SYSTEM.GET(codebase + offs, val); SYSTEM.PUT(codebase + offs, Kernel.ModuleData[5] - (codebase + offs + 4));
							offs := MSW(val);
						END
				|   247: offs := link[i].link;	(* Lock *)
						WHILE offs # 0FFFFH DO
							SYSTEM.GET(codebase + offs, val); 
							SYSTEM.PUT(codebase + offs, Kernel.ModuleData[6] - (codebase + offs + 4));
							offs := MSW(val);
						END
				|   246: offs := link[i].link;	(* Unlock *)
						WHILE offs # 0FFFFH DO
							SYSTEM.GET(codebase + offs, val); SYSTEM.PUT(codebase + offs, Kernel.ModuleData[7] - (codebase + offs + 4));
							offs := MSW(val);
						END
*)
				ELSE
					Error := "Unsupported kernel procedure";
					Num := ORD(link[i].entry);
					HALT(98)	(* kernel procedure not supported *)
				END
So the message that it's unsupported seems to be ok. But OTOH the compiler seems to have created some code
Modules.Fixup doesn't like.

Cheers, Edgar


-- 
edgar at edgarschwarz.de                  "http://www.edgarschwarz.de"
"http://www.edgar-schwarz.de/forum/oberon"    Running Active Oberon
Make it as simple as possible, but not simpler.     Albert Einstein



More information about the Oberon mailing list