Browse Source

Removed obsolete newObjectFile flag

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8094 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 năm trước cách đây
mục cha
commit
7c0bbdb337

+ 6 - 6
ARM/ARM.A2/A2.Tool

@@ -13,7 +13,7 @@ Modules FPE64 and ARMRuntime are needed and were taken from Minos.
 
 
 For Zynq/ZedBoard targets, the compilation line is:
 For Zynq/ZedBoard targets, the compilation line is:
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic
 	(* Zynq specific initialization *)
 	(* Zynq specific initialization *)
 	basel/ARM.A2/Initializer.Zynq.Mod
 	basel/ARM.A2/Initializer.Zynq.Mod
 
 
@@ -29,7 +29,7 @@ Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile
 	basel/ARM.A2/Heaps.Mod oc/Generic.Modules.Mod basel/ARM.A2/Objects.Mod basel/ARM.A2/Kernel.Mod
 	basel/ARM.A2/Heaps.Mod oc/Generic.Modules.Mod basel/ARM.A2/Objects.Mod basel/ARM.A2/Kernel.Mod
 ~
 ~
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals
 	(* Interactive shell on UART *)
 	(* Interactive shell on UART *)
 	basel/ARM.A2/KernelLog.Mod basel/ARM.A2/ARM.Streams.Mod Commands.Mod basel/ARM.A2/ARM.Reals.Mod Clock.Mod Dates.Mod Strings.Mod Pipes.Mod Files.Mod Shell.Mod
 	basel/ARM.A2/KernelLog.Mod basel/ARM.A2/ARM.Streams.Mod Commands.Mod basel/ARM.A2/ARM.Reals.Mod Clock.Mod Dates.Mod Strings.Mod Pipes.Mod Files.Mod Shell.Mod
 	basel/ARM.A2/ShellController.Mod
 	basel/ARM.A2/ShellController.Mod
@@ -67,21 +67,21 @@ Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile
 ~
 ~
 
 
 Trap handling:
 Trap handling:
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals (*--trace=* -i*)
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals (*--trace=* -i*)
 	basel/ARM.A2/KernelLog.Mod basel/ARM.A2/ARM.Streams.Mod Reflection.Mod TrapWriters.Mod basel/ARM.A2/ARM.Traps.Mod
 	basel/ARM.A2/KernelLog.Mod basel/ARM.A2/ARM.Streams.Mod Reflection.Mod TrapWriters.Mod basel/ARM.A2/ARM.Traps.Mod
 ~
 ~
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals basel/ARM.A2/GenericLoader.Mod Test.Mod ~
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals basel/ARM.A2/GenericLoader.Mod Test.Mod ~
 
 
 Dynamically linked modules:
 Dynamically linked modules:
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals (*--trace=* -i*)
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals (*--trace=* -i*)
 	Trace.Mod
 	Trace.Mod
 	KernelLog.Mod
 	KernelLog.Mod
 	basel/ARM.A2/Test.Mod
 	basel/ARM.A2/Test.Mod
 	HeapTest.Mod
 	HeapTest.Mod
 ~
 ~
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals (*--trace=* -i*)
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals (*--trace=* -i*)
 	Test.Mod
 	Test.Mod
 ~
 ~
 
 

+ 2 - 2
ARM/ARM.A2/ARM.Release.Tool

@@ -7,7 +7,7 @@ BUILDS
 	ZynqStatic {
 	ZynqStatic {
 		INCLUDE "ARM NATIVE ZYNQ A2 STATIC"
 		INCLUDE "ARM NATIVE ZYNQ A2 STATIC"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "-p=ARMA2 --objectFile=Generic --newObjectFile --mergeSections --useFPU32 --useFPU64"
+		COMPILEOPTIONS "-p=ARMA2 --objectFile=Generic --mergeSections --useFPU32 --useFPU64"
 		TARGET "ARM"
 		TARGET "ARM"
 		EXTENSION "Gof"
 		EXTENSION "Gof"
 		SYMBOLEXTENSION "Sym"
 		SYMBOLEXTENSION "Sym"
@@ -21,7 +21,7 @@ BUILDS
 	ZynqDynamic {
 	ZynqDynamic {
 		INCLUDE "ARM NATIVE ZYNQ A2 DYNAMIC"
 		INCLUDE "ARM NATIVE ZYNQ A2 DYNAMIC"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "-p=ARMA2 --objectFile=Generic --newObjectFile --mergeSections --useFPU32 --useFPU64"
+		COMPILEOPTIONS "-p=ARMA2 --objectFile=Generic --mergeSections --useFPU32 --useFPU64"
 		TARGET "ARM"
 		TARGET "ARM"
 		EXTENSION "Gof"
 		EXTENSION "Gof"
 		SYMBOLEXTENSION "Sym"
 		SYMBOLEXTENSION "Sym"

+ 2 - 2
ARM/ARM.A2/DMA330Test.Mod

@@ -643,7 +643,7 @@ BEGIN
 	Trace.String(" :: Stack Transfer Errors: "); Trace.Int(count, 0); Trace.String("/"); Trace.Int(Repeats, 0); Trace.Ln
 	Trace.String(" :: Stack Transfer Errors: "); Trace.Int(count, 0); Trace.String("/"); Trace.Int(Repeats, 0); Trace.Ln
 END DMA330.
 END DMA330.
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals
 	basel/ARM.A2/DMA330Test.Mod
 	basel/ARM.A2/DMA330Test.Mod
 ~
 ~
 
 
@@ -652,4 +652,4 @@ StaticLinker.Link --fileName=Test.Bin --displacement=100000H -a
 	Heaps Modules Objects Kernel
 	Heaps Modules Objects Kernel
 	Math Random
 	Math Random
 	DMA330
 	DMA330
-~
+~

+ 1 - 1
ARM/ARM.A2/DMAProgramWriterTest.Mod

@@ -884,7 +884,7 @@ Release.Build -b -f=ARM.Release.Tool -o="--traceModule=Trace" --only="System Ran
 Release.Build -l -f=ARM.Release.Tool --only="Kernel System Random UsbCore Shell" ZynqA2 ~
 Release.Build -l -f=ARM.Release.Tool --only="Kernel System Random UsbCore Shell" ZynqA2 ~
 
 
 SystemTools.DoCommands
 SystemTools.DoCommands
-	Compiler.Compile -b=ARM --objectFile=Generic --newObjectFile --mergeSections
+	Compiler.Compile -b=ARM --objectFile=Generic --mergeSections
 		Zynq.PsConfig.Mod
 		Zynq.PsConfig.Mod
 		TestFifo/Zynq.AcAxisIo.Mod
 		TestFifo/Zynq.AcAxisIo.Mod
 		DMA330.Mod
 		DMA330.Mod

+ 1 - 1
ARM/ARM.A2/TestDMA.Mod

@@ -89,7 +89,7 @@ BEGIN
 	(*END*)
 	(*END*)
 END TestDMA.
 END TestDMA.
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals
 	Timothee/ARM.A2/ARM.Streams.Mod 
 	Timothee/ARM.A2/ARM.Streams.Mod 
 	Timothee/ARM.A2/ARM.Math.Mod
 	Timothee/ARM.A2/ARM.Math.Mod
 	Random.Mod
 	Random.Mod

+ 1 - 1
ARM/ARM.A2/TestDMA2.Mod

@@ -107,7 +107,7 @@ BEGIN
 	Trace.String(" => Differences: "); Trace.Int(count, 0); Trace.String("/"); Trace.Int(Size, 0); Trace.Ln*)
 	Trace.String(" => Differences: "); Trace.Int(count, 0); Trace.String("/"); Trace.Int(Size, 0); Trace.Ln*)
 END TestDMA.
 END TestDMA.
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic  --initLocals
 	basel/ARM.A2/ARM.Streams.Mod 
 	basel/ARM.A2/ARM.Streams.Mod 
 	basel/ARM.A2/ARM.Math.Mod
 	basel/ARM.A2/ARM.Math.Mod
 	Random.Mod
 	Random.Mod

+ 1 - 1
ARM/ARM.A2/TestGpo.Tool

@@ -3,7 +3,7 @@ A2 on ARM
 
 
 For Zynq/ZedBoard targets, the compilation line is:
 For Zynq/ZedBoard targets, the compilation line is:
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile --destPath=arm.bin
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --destPath=arm.bin
 	ARM.A2/Initializer.Zynq.Mod
 	ARM.A2/Initializer.Zynq.Mod
 
 
 	ARM.A2/Runtime.Mod
 	ARM.A2/Runtime.Mod

+ 1 - 1
ARM/ARM.A2/TestPlFifo.Mod

@@ -284,7 +284,7 @@ BEGIN
 END TestPlFifo.
 END TestPlFifo.
 
 
 SystemTools.DoCommands
 SystemTools.DoCommands
-	Compiler.Compile -b=ARM --objectFile=Generic --newObjectFile --mergeSections
+	Compiler.Compile -b=ARM --objectFile=Generic --mergeSections
 		Zynq.PsConfig.Mod
 		Zynq.PsConfig.Mod
 		TestFifo/Zynq.AcAxisIo.Mod
 		TestFifo/Zynq.AcAxisIo.Mod
 		DMA330.Mod
 		DMA330.Mod

+ 5 - 5
ARM/ARM.A2/USB.Tool

@@ -1,6 +1,6 @@
 To compile the A2 kernel, see A2.Tool.
 To compile the A2 kernel, see A2.Tool.
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals
 	basel/ARM.A2/KernelLog.Mod
 	basel/ARM.A2/KernelLog.Mod
 
 
 	(* Non-USB modules needed for the HID Driver *)
 	(* Non-USB modules needed for the HID Driver *)
@@ -28,13 +28,13 @@ Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile
 	Serials.Mod BluetoothTest.Mod
 	Serials.Mod BluetoothTest.Mod
 ~
 ~
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals
 	(* Video modules *)
 	(* Video modules *)
 	basel/ARM.A2/UsbVideoDesc.Mod
 	basel/ARM.A2/UsbVideoDesc.Mod
 	basel/ARM.A2/UsbVideo.Mod
 	basel/ARM.A2/UsbVideo.Mod
 ~
 ~
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals
 	Caches.Mod DiskVolumes.Mod
 	Caches.Mod DiskVolumes.Mod
 ~
 ~
 
 
@@ -65,7 +65,7 @@ StaticLinker.Link --fileName=Test.Bin --displacement=100000H -a
 =======================================
 =======================================
 For testing the EHCI controller on the ZedBoard, here is a simple initialization module:
 For testing the EHCI controller on the ZedBoard, here is a simple initialization module:
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals
 	basel/ARM.A2/TestUsbEhci.Mod
 	basel/ARM.A2/TestUsbEhci.Mod
 	basel/ARM.A2/USBTestWatcher.Mod
 	basel/ARM.A2/USBTestWatcher.Mod
 ~
 ~
@@ -90,4 +90,4 @@ StaticLinker.Link --fileName=Test.Bin --displacement=100000H -a
 ~
 ~
 
 
 =======================================
 =======================================
-FoxARMInstructionSet.Disassemble Test.Bin -a=1EA044H ~
+FoxARMInstructionSet.Disassemble Test.Bin -a=1EA044H ~

+ 5 - 5
ARM/ARM.A2/VNC.Tool

@@ -2,7 +2,7 @@ Commands that have to be run in order to get FTP, VNC, RAMFS working are listed
 	basel/ARM.A2/ZynqScript.txt
 	basel/ARM.A2/ZynqScript.txt
 Note that the command for VNC has to be run for the initialization of module WMStandardComponents, so the module ShellController needs to be linked BEFORE.
 Note that the command for VNC has to be run for the initialization of module WMStandardComponents, so the module ShellController needs to be linked BEFORE.
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals
 	basel/ARM.A2/KernelLog.Mod Streams.Mod Commands.Mod basel/ARM.A2/ARM.Reals.Mod Clock.Mod Dates.Mod
 	basel/ARM.A2/KernelLog.Mod Streams.Mod Commands.Mod basel/ARM.A2/ARM.Reals.Mod Clock.Mod Dates.Mod
 	Strings.Mod Options.Mod ActiveTimers.Mod Plugins.Mod basel/ARM.A2/ARM.Network.Mod
 	Strings.Mod Options.Mod ActiveTimers.Mod Plugins.Mod basel/ARM.A2/ARM.Network.Mod
 
 
@@ -26,13 +26,13 @@ Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile
 	basel/ARM.A2/VNCController.Mod
 	basel/ARM.A2/VNCController.Mod
 ~
 ~
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals
 	MainMenu.Mod Tar.Mod WMRestorable.Mod WMNavigate.Mod
 	MainMenu.Mod Tar.Mod WMRestorable.Mod WMNavigate.Mod
 	WMUtilities.Mod
 	WMUtilities.Mod
 	PNGDecoder.Mod
 	PNGDecoder.Mod
 	WMOberonFonts.Mod
 	WMOberonFonts.Mod
 ~
 ~
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals WMTrees.Mod WMGrids.Mod WMStringGrids.Mod WMMacros.Mod WMSearchComponents.Mod WMDocumentEditor.Mod Notepad.Mod WMSystemComponents.Mod WMFileManager.Mod ~
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals WMTrees.Mod WMGrids.Mod WMStringGrids.Mod WMMacros.Mod WMSearchComponents.Mod WMDocumentEditor.Mod Notepad.Mod WMSystemComponents.Mod WMFileManager.Mod ~
 
 
 StaticLinker.Link --fileName=Test.Bin --displacement=100000H -a
 StaticLinker.Link --fileName=Test.Bin --displacement=100000H -a
 	Initializer Runtime Platform FPE64 ARMRuntime Trace Uart
 	Initializer Runtime Platform FPE64 ARMRuntime Trace Uart
@@ -64,7 +64,7 @@ StaticLinker.Link --fileName=Test.Bin --displacement=100000H -a
 	VNCController
 	VNCController
 ~
 ~
 
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals
 	basel/ARM.A2/Zynq.XEmac.Mod
 	basel/ARM.A2/Zynq.XEmac.Mod
 	basel/ARM.A2/StaticInterface.Mod
 	basel/ARM.A2/StaticInterface.Mod
 	Test.Mod
 	Test.Mod
@@ -77,4 +77,4 @@ WMVNCView.Install AOS "a" 5000 0 0 512 512 ~
 WMVNCView.Uninstall ~
 WMVNCView.Uninstall ~
 VNC.Open 127.0.0.1 "a" 5000 ~
 VNC.Open 127.0.0.1 "a" 5000 ~
 VNC.Open 192.168.1.2 "a" 5000 ~
 VNC.Open 192.168.1.2 "a" 5000 ~
-VNC.Show ~
+VNC.Show ~

+ 1 - 1
ARM/Enet/Zynq.TestEnetMT.Mod

@@ -361,7 +361,7 @@ FSTools.Safe ~
 SystemTools.DoCommands
 SystemTools.DoCommands
 Release.Build -b -f=ARM.Release.Tool -o='--replacements=Replacements.tmp --noInitLocals --traceModule=Trace' --only="Kernel" ZynqA2 ~
 Release.Build -b -f=ARM.Release.Tool -o='--replacements=Replacements.tmp --noInitLocals --traceModule=Trace' --only="Kernel" ZynqA2 ~
 Release.Build -b -f=ARM.Release.Tool -o='--replacements=Replacements.tmp --traceModule=Trace' --only="System Enet Shell" ZynqA2 ~
 Release.Build -b -f=ARM.Release.Tool -o='--replacements=Replacements.tmp --traceModule=Trace' --only="System Enet Shell" ZynqA2 ~
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile --replacements=Replacements.tmp
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --replacements=Replacements.tmp
 	ENET:Zynq.TestEnetMT.Mod
 	ENET:Zynq.TestEnetMT.Mod
 ~
 ~
 ~
 ~

+ 2 - 2
ARM/Enet/Zynq.TestEnetST.Mod

@@ -347,7 +347,7 @@ EnetEmacPs7.AllowZeroPhyAddr = [TRUE,TRUE];
 SystemTools.DoCommands
 SystemTools.DoCommands
 Release.Build -b -f=ARM.Release.Tool -o='--replacements=Replacements.tmp --noInitLocals --traceModule=Trace' --only="Kernel" ZynqMinos ~
 Release.Build -b -f=ARM.Release.Tool -o='--replacements=Replacements.tmp --noInitLocals --traceModule=Trace' --only="Kernel" ZynqMinos ~
 Release.Build -b -f=ARM.Release.Tool -o='--replacements=Replacements.tmp --traceModule=Trace' --only="System Enet Shell" ZynqMinos ~
 Release.Build -b -f=ARM.Release.Tool -o='--replacements=Replacements.tmp --traceModule=Trace' --only="System Enet Shell" ZynqMinos ~
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile --replacements=Replacements.tmp 
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --replacements=Replacements.tmp 
 	Zynq.TestEnetST.Mod
 	Zynq.TestEnetST.Mod
 ~
 ~
 ~
 ~
@@ -356,4 +356,4 @@ Release.Build -l -f=ARM.Release.Tool --only="Kernel System Enet Shell" ZynqMinos
 
 
 FSTools.CloseFiles Test.bin ~
 FSTools.CloseFiles Test.bin ~
 
 
-FoxARMInstructionSet.Disassemble Test.bin -a=1A71E4H  ~ 
+FoxARMInstructionSet.Disassemble Test.bin -a=1A71E4H  ~ 

+ 3 - 3
ARM/TE0726.Tool

@@ -117,7 +117,7 @@ Release.Build -b -f=ZBL:/BootloaderRelease.Tool --only=MD5Checksum TE0726 ~
 FSTools.CreateDirectory build/ ~
 FSTools.CreateDirectory build/ ~
 FSTools.DeleteFiles build/* ~
 FSTools.DeleteFiles build/* ~
 Release.Build -b --path='build/' -f=ZYNQ:/ARM.Release.Tool
 Release.Build -b --path='build/' -f=ZYNQ:/ARM.Release.Tool
-	-o='--objectFile=Generic --newObjectFile --symbolFile=Textual --mergeSections --traceModule=Trace --noInitLocals --useFPU64' --only=Kernel
+	-o='--objectFile=Generic --symbolFile=Textual --mergeSections --traceModule=Trace --noInitLocals --useFPU64' --only=Kernel
 	ZynqDynamic
 	ZynqDynamic
 ~
 ~
 Release.Build -b --path='build/' -f=ZYNQ:/ARM.Release.Tool --only='System SD BootConsole' ZynqDynamic ~
 Release.Build -b --path='build/' -f=ZYNQ:/ARM.Release.Tool --only='System SD BootConsole' ZynqDynamic ~
@@ -126,7 +126,7 @@ Release.Build -b -z --path='build/' -f=ZYNQ:/ARM.Release.Tool
 	--only='System SystemExt FpgaDisplay Kernel Math SD Shell SystemTools Usb DMA FS Profiler Crypto GUI Compiler Archives Gfx'
 	--only='System SystemExt FpgaDisplay Kernel Math SD Shell SystemTools Usb DMA FS Profiler Crypto GUI Compiler Archives Gfx'
 	--exclude="Network Enet Inga" ZynqDynamic ~
 	--exclude="Network Enet Inga" ZynqDynamic ~
 
 
-Compiler.Compile -p=ARMA2 --objectFile=Generic --newObjectFile --symbolFile=Textual --mergeSections  --useFPU64 --replacements=TE0726.DisplayLinear.Replacements.tmp --destPath='build/'
+Compiler.Compile -p=ARMA2 --objectFile=Generic --symbolFile=Textual --mergeSections  --useFPU64 --replacements=TE0726.DisplayLinear.Replacements.tmp --destPath='build/'
 ZYNQ:/Zynq.DisplayLinear.Mod
 ZYNQ:/Zynq.DisplayLinear.Mod
 ~
 ~
 
 
@@ -266,4 +266,4 @@ Partitions.FileToPartition PhysicalDrive1#0 build/TE0726.ZynqA2.img 0 819200 ~
 #
 #
 # Compiler options for ARM
 # Compiler options for ARM
 #
 #
--p=ARMA2 --objectFile=Generic --newObjectFile --symbolFile=Textual --mergeSections  --useFPU64 --destPath='build/'
+-p=ARMA2 --objectFile=Generic --symbolFile=Textual --mergeSections  --useFPU64 --destPath='build/'

+ 1 - 1
ARM/USB/A2.BuildForHpMini.Tool

@@ -20,7 +20,7 @@ Release.Build
 # Create image for bootable USB  (A2USB.img)
 # Create image for bootable USB  (A2USB.img)
 SystemTools.DoCommands
 SystemTools.DoCommands
 
 
-	Compiler.Compile --objectFile=Generic --newObjectFile --mergeSections -b=AMD --objectFileExtension=.Gox --symbolFileExtension=.Syx --destPath=bin/
+	Compiler.Compile --objectFile=Generic --mergeSections -b=AMD --objectFileExtension=.Gox --symbolFileExtension=.Syx --destPath=bin/
 		UsbDebug.Mod
 		UsbDebug.Mod
 
 
 		(* NEW *)
 		(* NEW *)

+ 6 - 6
ARM/USB/Release.Tool

@@ -125,7 +125,7 @@ BUILDS
 	A2Cooperative {
 	A2Cooperative {
 		INCLUDE "NATIVE I386 COOP NATIVECOOP NATIVEI386COOP I386COOP"
 		INCLUDE "NATIVE I386 COOP NATIVECOOP NATIVEI386COOP I386COOP"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "--cooperative --objectFile=Generic --newObjectFile --traceModule=Trace --mergeSections"
+		COMPILEOPTIONS "--cooperative --objectFile=Generic --traceModule=Trace --mergeSections"
 		TARGET "AMD"
 		TARGET "AMD"
 		EXTENSION "Gof"
 		EXTENSION "Gof"
 		SYMBOLEXTENSION "Sym"
 		SYMBOLEXTENSION "Sym"
@@ -136,7 +136,7 @@ BUILDS
 	A2RPiCooperative {
 	A2RPiCooperative {
 		INCLUDE "NATIVE ARM RPI COOP RPICOOP"
 		INCLUDE "NATIVE ARM RPI COOP RPICOOP"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "--cooperative --objectFile=Generic --newObjectFile --traceModule=Trace --mergeSections"
+		COMPILEOPTIONS "--cooperative --objectFile=Generic --traceModule=Trace --mergeSections"
 		TARGET "ARM"
 		TARGET "ARM"
 		EXTENSION "Gof"
 		EXTENSION "Gof"
 		SYMBOLEXTENSION "Sym"
 		SYMBOLEXTENSION "Sym"
@@ -147,7 +147,7 @@ BUILDS
 	A2ZynqCooperative {
 	A2ZynqCooperative {
 		INCLUDE "NATIVE ARM ZYNQ COOP ZYNQCOOP"
 		INCLUDE "NATIVE ARM ZYNQ COOP ZYNQCOOP"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "--cooperative --objectFile=Generic --newObjectFile --traceModule=Trace --mergeSections"
+		COMPILEOPTIONS "--cooperative --objectFile=Generic --traceModule=Trace --mergeSections"
 		TARGET "ARM"
 		TARGET "ARM"
 		EXTENSION "Gof"
 		EXTENSION "Gof"
 		SYMBOLEXTENSION "Sym"
 		SYMBOLEXTENSION "Sym"
@@ -159,7 +159,7 @@ BUILDS
 	{
 	{
 		INCLUDE "NATIVE NATIVEGEN I386 I386GEN UNCOOP"
 		INCLUDE "NATIVE NATIVEGEN I386 I386GEN UNCOOP"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "--objectFile=Generic --newObjectFile --mergeSections"
+		COMPILEOPTIONS "--objectFile=Generic --mergeSections"
 		TARGET "AMD"
 		TARGET "AMD"
 		EXTENSION "Gox"
 		EXTENSION "Gox"
 		SYMBOLEXTENSION "Syx"
 		SYMBOLEXTENSION "Syx"
@@ -171,7 +171,7 @@ BUILDS
 	{
 	{
 		INCLUDE "WIN iWIN WINGEN UNCOOP"
 		INCLUDE "WIN iWIN WINGEN UNCOOP"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "--objectFile=Generic --newObjectFile --mergeSections"
+		COMPILEOPTIONS "--objectFile=Generic --mergeSections"
 		TARGET "AMD"
 		TARGET "AMD"
 		EXTENSION "GofW"
 		EXTENSION "GofW"
 		SYMBOLEXTENSION "SymW"
 		SYMBOLEXTENSION "SymW"
@@ -215,7 +215,7 @@ BUILDS
 	WinAosCooperative {
 	WinAosCooperative {
 		INCLUDE "WIN iWIN COOP WINCOOP I386COOP"
 		INCLUDE "WIN iWIN COOP WINCOOP I386COOP"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "--cooperative --objectFile=Generic --newObjectFile --traceModule=Trace"
+		COMPILEOPTIONS "--cooperative --objectFile=Generic --traceModule=Trace"
 		TARGET "AMD"
 		TARGET "AMD"
 		EXTENSION "GofCW"
 		EXTENSION "GofCW"
 		SYMBOLEXTENSION "SymCW"
 		SYMBOLEXTENSION "SymCW"

+ 2 - 2
ARM/USB/UsbTdAllocatorTest.Mod

@@ -64,7 +64,7 @@ END UsbTdAllocatorTest.
 
 
 UsbTdAllocatorTest.Benchmark ~
 UsbTdAllocatorTest.Benchmark ~
 SystemTools.Free UsbTdAllocatorTest UsbTdAllocator ~
 SystemTools.Free UsbTdAllocatorTest UsbTdAllocator ~
-Compiler.Compile -b=ARM --objectFile=Generic --newObjectFile --traceModule=Trace --mergeSections
+Compiler.Compile -b=ARM --objectFile=Generic --traceModule=Trace --mergeSections
 	basel/USB/UsbVarTdAlloc.Mod
 	basel/USB/UsbVarTdAlloc.Mod
 	basel/USB/UsbTdAllocatorTest.Mod
 	basel/USB/UsbTdAllocatorTest.Mod
-~
+~

+ 3 - 3
ARM/Zedboard.Tool

@@ -117,7 +117,7 @@ Release.Build -b -f=ZBL:/BootloaderRelease.Tool --only=MD5Checksum Zedboard ~
 FSTools.CreateDirectory build/ ~
 FSTools.CreateDirectory build/ ~
 FSTools.DeleteFiles build/* ~
 FSTools.DeleteFiles build/* ~
 Release.Build -b --path='build/' -f=ZYNQ:/ARM.Release.Tool
 Release.Build -b --path='build/' -f=ZYNQ:/ARM.Release.Tool
-	-o='--objectFile=Generic --newObjectFile --symbolFile=Textual --mergeSections --traceModule=Trace --noInitLocals --useFPU64' --only=Kernel
+	-o='--objectFile=Generic --symbolFile=Textual --mergeSections --traceModule=Trace --noInitLocals --useFPU64' --only=Kernel
 	ZynqDynamic
 	ZynqDynamic
 ~
 ~
 Release.Build -b --path='build/' -f=ZYNQ:/ARM.Release.Tool --only='System SD BootConsole' ZynqDynamic ~
 Release.Build -b --path='build/' -f=ZYNQ:/ARM.Release.Tool --only='System SD BootConsole' ZynqDynamic ~
@@ -126,7 +126,7 @@ Release.Build -b -z --path='build/' -f=ZYNQ:/ARM.Release.Tool
 	--only='System SystemExt FpgaDisplay Kernel Math SD Shell SystemTools Usb DMA FS Profiler Crypto GUI Compiler Archives Gfx'
 	--only='System SystemExt FpgaDisplay Kernel Math SD Shell SystemTools Usb DMA FS Profiler Crypto GUI Compiler Archives Gfx'
 	--exclude="Network Enet Inga" ZynqDynamic ~
 	--exclude="Network Enet Inga" ZynqDynamic ~
 
 
-Compiler.Compile -p=ARMA2 --objectFile=Generic --newObjectFile --symbolFile=Textual --mergeSections  --useFPU64 --replacements=Zedboard.DisplayLinear.Replacements.tmp --destPath='build/'
+Compiler.Compile -p=ARMA2 --objectFile=Generic --symbolFile=Textual --mergeSections  --useFPU64 --replacements=Zedboard.DisplayLinear.Replacements.tmp --destPath='build/'
 ZYNQ:/Zynq.DisplayLinear.Mod
 ZYNQ:/Zynq.DisplayLinear.Mod
 ~
 ~
 
 
@@ -267,5 +267,5 @@ Partitions.FileToPartition PhysicalDrive1#0 build/Zedboard.ZynqA2.img 0 819200 ~
 #
 #
 # Compiler options for ARM
 # Compiler options for ARM
 #
 #
--p=ARMA2 --objectFile=Generic --newObjectFile --symbolFile=Textual --mergeSections  --useFPU64 --destPath='build/'
+-p=ARMA2 --objectFile=Generic --symbolFile=Textual --mergeSections  --useFPU64 --destPath='build/'
 
 

+ 3 - 3
ARM/Zybo.Tool

@@ -134,7 +134,7 @@ Release.Build -b -f=ZBL:/BootloaderRelease.Tool --only=MD5Checksum Zybo ~
 FSTools.CreateDirectory build/ ~
 FSTools.CreateDirectory build/ ~
 FSTools.DeleteFiles build/* ~
 FSTools.DeleteFiles build/* ~
 Release.Build -b --path='build/' -f=ZYNQ:/ARM.Release.Tool
 Release.Build -b --path='build/' -f=ZYNQ:/ARM.Release.Tool
-	-o='--objectFile=Generic --newObjectFile --symbolFile=Textual --mergeSections --traceModule=Trace --noInitLocals --useFPU64' --only=Kernel
+	-o='--objectFile=Generic --symbolFile=Textual --mergeSections --traceModule=Trace --noInitLocals --useFPU64' --only=Kernel
 	ZynqDynamic
 	ZynqDynamic
 ~
 ~
 Release.Build -b --path='build/' -f=ZYNQ:/ARM.Release.Tool --only='System SD BootConsole' ZynqDynamic ~
 Release.Build -b --path='build/' -f=ZYNQ:/ARM.Release.Tool --only='System SD BootConsole' ZynqDynamic ~
@@ -143,7 +143,7 @@ Release.Build -b -z --path='build/' -f=ZYNQ:/ARM.Release.Tool
 	--only='System SystemExt FpgaDisplay Kernel Math SD Shell SystemTools Usb DMA FS Profiler Crypto GUI Compiler Archives Gfx'
 	--only='System SystemExt FpgaDisplay Kernel Math SD Shell SystemTools Usb DMA FS Profiler Crypto GUI Compiler Archives Gfx'
 	--exclude="Network Enet Inga" ZynqDynamic ~
 	--exclude="Network Enet Inga" ZynqDynamic ~
 
 
-Compiler.Compile -p=ARMA2 --objectFile=Generic --newObjectFile --symbolFile=Textual --mergeSections  --useFPU64 --replacements=Zybo.DisplayLinear.Replacements.tmp --destPath='build/'
+Compiler.Compile -p=ARMA2 --objectFile=Generic --symbolFile=Textual --mergeSections  --useFPU64 --replacements=Zybo.DisplayLinear.Replacements.tmp --destPath='build/'
 ZYNQ:/Zynq.DisplayLinear.Mod
 ZYNQ:/Zynq.DisplayLinear.Mod
 ~
 ~
 
 
@@ -284,4 +284,4 @@ Partitions.FileToPartition PhysicalDrive1#0 build/Zybo.ZynqA2.img 0 819200 ~
 #
 #
 # Compiler options for ARM
 # Compiler options for ARM
 #
 #
--p=ARMA2 --objectFile=Generic --newObjectFile --symbolFile=Textual --mergeSections  --useFPU64 --destPath='build/'
+-p=ARMA2 --objectFile=Generic --symbolFile=Textual --mergeSections  --useFPU64 --destPath='build/'

+ 12 - 12
source/Compiler.Mod

@@ -571,19 +571,19 @@ BEGIN
 	NEW(platforms);
 	NEW(platforms);
 
 
 	(* platform definitions hard coded for the common cases -- maybe (parts of it) should be outsourced to a file ?*)
 	(* platform definitions hard coded for the common cases -- maybe (parts of it) should be outsourced to a file ?*)
-	DoAddPlatform("Bios32","-b=AMD --bits=32 --newObjectFile --mergeSections --objectFileExtension=.Gof --symbolFileExtension=.Sym --preciseGC");
-	DoAddPlatform("Bios64","-b=AMD --bits=64 --newObjectFile --mergeSections --objectFileExtension=.Goff --symbolFileExtension=.Symm --preciseGC");
-	DoAddPlatform("Win32","-b=AMD --bits=32 --newObjectFile --mergeSections --objectFileExtension=.GofW --symbolFileExtension=.SymW --preciseGC --trackLeave --cellsAreObjects --platformCC=WINAPI");
-	DoAddPlatform("Win64","-b=AMD --bits=64 --newObjectFile --mergeSections --objectFileExtension=.GofWw --symbolFileExtension=.SymWw --preciseGC --trackLeave --cellsAreObjects --platformCC=WINAPI");
-	DoAddPlatform("Win32C","-b=AMD --bits=32 --cooperative --newObjectFile --traceModule=Trace --objectFileExtension=.GofCW --symbolFileExtension=.SymCW --platformCC=WINAPI");
-	DoAddPlatform("ARM","-b=ARM --newObjectFile --metaData=simple --objectFileExtension=.Goa --symbolFileExtension=.Sya");
+	DoAddPlatform("Bios32","-b=AMD --bits=32 --mergeSections --objectFileExtension=.Gof --symbolFileExtension=.Sym --preciseGC");
+	DoAddPlatform("Bios64","-b=AMD --bits=64 --mergeSections --objectFileExtension=.Goff --symbolFileExtension=.Symm --preciseGC");
+	DoAddPlatform("Win32","-b=AMD --bits=32 --mergeSections --objectFileExtension=.GofW --symbolFileExtension=.SymW --preciseGC --trackLeave --cellsAreObjects --platformCC=WINAPI");
+	DoAddPlatform("Win64","-b=AMD --bits=64 --mergeSections --objectFileExtension=.GofWw --symbolFileExtension=.SymWw --preciseGC --trackLeave --cellsAreObjects --platformCC=WINAPI");
+	DoAddPlatform("Win32C","-b=AMD --bits=32 --cooperative --traceModule=Trace --objectFileExtension=.GofCW --symbolFileExtension=.SymCW --platformCC=WINAPI");
+	DoAddPlatform("ARM","-b=ARM --metaData=simple --objectFileExtension=.Goa --symbolFileExtension=.Sya");
 	DoAddPlatform("Minos","-b=ARM --objectFile=Minos"); 
 	DoAddPlatform("Minos","-b=ARM --objectFile=Minos"); 
-	DoAddPlatform("TRM","-b=TRM --objectFile=Generic --newObjectFile --metaData=simple --objectFileExtension=.GofT --symbolFileExtension=.SymT");
-	DoAddPlatform("TRMI","-b=TRM --objectFile=Intermediate --newObjectFile --metaData=simple --objectFileExtension=.IroT --symbolFileExtension=.IrsT");
-	DoAddPlatform("A2Coop","-b=AMD --bits=32 --cooperative --newObjectFile --traceModule=Trace --mergeSections");
-	DoAddPlatform("ARMA2","-b=ARM --newObjectFile --mergeSections");
-	DoAddPlatform("Linux32","-b=AMD --bits=32 --newObjectFile --mergeSections --traceModule=Trace --objectFileExtension=.GofU --symbolFileExtension=.SymU --preciseGC --cellsAreObjects --platformCC=C");
-	DoAddPlatform("Linux64","-b=AMD --bits=64 --newObjectFile --mergeSections --traceModule=Trace --objectFileExtension=.GofUu --symbolFileExtension=.SymUu --preciseGC --cellsAreObjects --platformCC=C");
+	DoAddPlatform("TRM","-b=TRM --objectFile=Generic --metaData=simple --objectFileExtension=.GofT --symbolFileExtension=.SymT");
+	DoAddPlatform("TRMI","-b=TRM --objectFile=Intermediate --metaData=simple --objectFileExtension=.IroT --symbolFileExtension=.IrsT");
+	DoAddPlatform("A2Coop","-b=AMD --bits=32 --cooperative --traceModule=Trace --mergeSections");
+	DoAddPlatform("ARMA2","-b=ARM --mergeSections");
+	DoAddPlatform("Linux32","-b=AMD --bits=32 --mergeSections --traceModule=Trace --objectFileExtension=.GofU --symbolFileExtension=.SymU --preciseGC --cellsAreObjects --platformCC=C");
+	DoAddPlatform("Linux64","-b=AMD --bits=64 --mergeSections --traceModule=Trace --objectFileExtension=.GofUu --symbolFileExtension=.SymUu --preciseGC --cellsAreObjects --platformCC=C");
 	
 	
 	SetupDefaults;
 	SetupDefaults;
 END Compiler.
 END Compiler.

+ 3 - 3
source/EFI.Tool

@@ -15,7 +15,7 @@ Linker.Link --fileName=E:/felix.svn/qemu/disk/A2Loader.efi --fileFormat=EFI32 --
 ** Kernel Image **
 ** Kernel Image **
 
 
 System.DoCommands
 System.DoCommands
-Compiler.Compile --newObjectFile --mergeSections -b=AMD --bits=32 --objectFileExtension=.Gox --symbolFileExtension=.Syx --traceModule=Trace
+Compiler.Compile --mergeSections -b=AMD --bits=32 --objectFileExtension=.Gox --symbolFileExtension=.Syx --traceModule=Trace
 	I386.Builtins.Mod Trace.Mod EFI.I386.Machine.Mod EFIGraphicalConsole.Mod StartConsole.Mod Heaps.Mod Modules.Mod 
 	I386.Builtins.Mod Trace.Mod EFI.I386.Machine.Mod EFIGraphicalConsole.Mod StartConsole.Mod Heaps.Mod Modules.Mod 
 	BIOS.Objects.Mod Kernel.Mod KernelLog.Mod Plugins.Mod Streams.Mod Pipes.Mod Commands.Mod I386.Reals.Mod 
 	BIOS.Objects.Mod Kernel.Mod KernelLog.Mod Plugins.Mod Streams.Mod Pipes.Mod Commands.Mod I386.Reals.Mod 
 	Reflection.Mod TrapWriters.Mod CRC.Mod SystemVersion.Mod BIOS.I386.Traps.Mod Locks.Mod BIOS.PCI.Mod 
 	Reflection.Mod TrapWriters.Mod CRC.Mod SystemVersion.Mod BIOS.I386.Traps.Mod Locks.Mod BIOS.PCI.Mod 
@@ -44,7 +44,7 @@ Linker.Link
 System.FreeDownTo FoxIntermediateBackend ~
 System.FreeDownTo FoxIntermediateBackend ~
 
 
 
 
-	Compiler.Compile --newObjectFile -b=AMD --bits=64 --objectFileExtension=.Gos --symbolFileExtension=.Sys --traceModule=Trace
+	Compiler.Compile -b=AMD --bits=64 --objectFileExtension=.Gos --symbolFileExtension=.Sys --traceModule=Trace
 	--trace=* -i StartConsole.Mod ~
 	--trace=* -i StartConsole.Mod ~
 ~
 ~
 
 
@@ -65,7 +65,7 @@ Linker.Link --fileName=E:/felix.svn/qemu/disk/A2Loader.efi --fileFormat=EFI64 --
 ** Kernel Image **
 ** Kernel Image **
 	
 	
 System.DoCommands
 System.DoCommands
-	Compiler.Compile --newObjectFile -b=AMD --bits=64 --objectFileExtension=.Gos --symbolFileExtension=.Sys --traceModule=Trace
+	Compiler.Compile -b=AMD --bits=64 --objectFileExtension=.Gos --symbolFileExtension=.Sys --traceModule=Trace
 	AMD64.Builtins.Mod Trace.Mod EFI.AMD64.Machine.Mod EFIGraphicalConsole.Mod StartConsole.Mod Heaps.Mod Modules.Mod BIOS.Objects.Mod Kernel.Mod 
 	AMD64.Builtins.Mod Trace.Mod EFI.AMD64.Machine.Mod EFIGraphicalConsole.Mod StartConsole.Mod Heaps.Mod Modules.Mod BIOS.Objects.Mod Kernel.Mod 
 	Interfaces.Mod KernelLog.Mod Plugins.Mod Streams.Mod Pipes.Mod Commands.Mod AMD64.Reals.Mod 
 	Interfaces.Mod KernelLog.Mod Plugins.Mod Streams.Mod Pipes.Mod Commands.Mod AMD64.Reals.Mod 
 	Reflection.Mod TrapWriters.Mod BIOS.AMD64.Traps.Mod Locks.Mod BIOS.PCI.Mod BIOS.Clock.Mod BIOS.AMD64.MemCache.Mod Disks.Mod Files.Mod 
 	Reflection.Mod TrapWriters.Mod BIOS.AMD64.Traps.Mod Locks.Mod BIOS.PCI.Mod BIOS.Clock.Mod BIOS.AMD64.MemCache.Mod Disks.Mod Files.Mod 

+ 0 - 1
source/FoxARMBackend.Mod

@@ -3474,7 +3474,6 @@ TYPE
 			useFPU32 := FALSE;
 			useFPU32 := FALSE;
 			useFPU64 := FALSE;
 			useFPU64 := FALSE;
 			InitIntermediateBackend;
 			InitIntermediateBackend;
-			SetNewObjectFile(TRUE,FALSE);
 			system := NIL;
 			system := NIL;
 			initLocals := TRUE;
 			initLocals := TRUE;
 			SetHasLinkRegister;
 			SetHasLinkRegister;

+ 53 - 179
source/FoxIntermediateBackend.Mod

@@ -439,7 +439,7 @@ TYPE
 					END;
 					END;
 				ELSE
 				ELSE
 					lastUpdated:= 0;
 					lastUpdated:= 0;
-					IF implementationVisitor.newObjectFile & ((x.initializer # NIL) OR TypeNeedsInitialization(x.type)) THEN
+					IF ((x.initializer # NIL) OR TypeNeedsInitialization(x.type)) THEN
 						Initialize(x.type, x.initializer, 0);
 						Initialize(x.type, x.initializer, 0);
 					END;
 					END;
 					size := ToMemoryUnits(system,system.SizeOf(x.type)) - lastUpdated;	
 					size := ToMemoryUnits(system,system.SizeOf(x.type)) - lastUpdated;	
@@ -955,7 +955,7 @@ TYPE
 			ir := implementationVisitor.NewSection(module.allSections, Sections.InitCodeSection, name,procedure,dump);
 			ir := implementationVisitor.NewSection(module.allSections, Sections.InitCodeSection, name,procedure,dump);
 			ir.SetExported(TRUE);
 			ir.SetExported(TRUE);
 			Global.GetSymbolSegmentedName (bodyProcedure,name);
 			Global.GetSymbolSegmentedName (bodyProcedure,name);
-			IF (backend.newObjectFile OR backend.cooperative) & ~meta.simple THEN
+			IF ~meta.simple THEN
 				implementationVisitor.currentScope := module.module.moduleScope;
 				implementationVisitor.currentScope := module.module.moduleScope;
 				implementationVisitor.section := ir;
 				implementationVisitor.section := ir;
 				implementationVisitor.PushSelfPointer();
 				implementationVisitor.PushSelfPointer();
@@ -1039,26 +1039,14 @@ TYPE
 				module.imports.AddName(idstr);
 				module.imports.AddName(idstr);
 				import := import.nextImport
 				import := import.nextImport
 			END;
 			END;
-
-			IF ~implementationVisitor.newObjectFile & ~meta.simple THEN
-				Global.GetModuleSegmentedName(module.module,name); Basic.SuffixSegmentedName(name, Basic.MakeString("@moduleSelf"));
-				moduleSelf := SyntaxTree.NewVariable(Basic.invalidPosition,SyntaxTree.NewIdentifier("@moduleSelf"));
-				moduleSelf.SetType(system.anyType);
-				moduleSelf.SetScope(x.moduleScope);
-				moduleSelf.SetUntraced(TRUE);
-				ir := implementationVisitor.NewSection(module.allSections, Sections.ConstSection, name,moduleSelf,dump);  ir.SetOffset(0);
-				ir.SetExported(TRUE);
-				IntermediateCode.InitImmediate(op,addressType,0);
-				ir.Emit(Data(Basic.invalidPosition,op));
-			END;
-
+			
 			implementationVisitor.module := module;
 			implementationVisitor.module := module;
 			implementationVisitor.moduleScope := x.moduleScope;
 			implementationVisitor.moduleScope := x.moduleScope;
 			implementationVisitor.moduleSelf := moduleSelf;
 			implementationVisitor.moduleSelf := moduleSelf;
 			implementationVisitor.canBeLoaded := TRUE;
 			implementationVisitor.canBeLoaded := TRUE;
 			meta.SetModule(module);
 			meta.SetModule(module);
 
 
-			IF (forceModuleBody OR implementationVisitor.newObjectFile  & ~meta.simple  OR ScopeNeedsInitialization(x.moduleScope)) THEN
+			IF (forceModuleBody OR ~meta.simple  OR ScopeNeedsInitialization(x.moduleScope)) THEN
 				EnsureBodyProcedure(x.moduleScope); (* currently needed in Oberon, remove ? *)
 				EnsureBodyProcedure(x.moduleScope); (* currently needed in Oberon, remove ? *)
 			END;
 			END;
 
 
@@ -1387,7 +1375,6 @@ TYPE
 		inData: BOOLEAN;  (* to prevent indirect reference to data within data sections, cf. VisitIntegerValue *)
 		inData: BOOLEAN;  (* to prevent indirect reference to data within data sections, cf. VisitIntegerValue *)
 		emitLabels: BOOLEAN;
 		emitLabels: BOOLEAN;
 		builtinsModuleName : SyntaxTree.IdentifierString;
 		builtinsModuleName : SyntaxTree.IdentifierString;
-		newObjectFile: BOOLEAN;
 		indexCounter: LONGINT;
 		indexCounter: LONGINT;
 
 
 		profile: BOOLEAN;
 		profile: BOOLEAN;
@@ -1414,8 +1401,7 @@ TYPE
 		isUnchecked: BOOLEAN;
 		isUnchecked: BOOLEAN;
 	
 	
 		
 		
-		PROCEDURE & Init(system: Global.System; checker: SemanticChecker.Checker; supportedInstructionProcedure: SupportedInstructionProcedure; supportedImmediateProcedure: SupportedImmediateProcedure; emitLabels: BOOLEAN; CONST runtime: SyntaxTree.IdentifierString; backend: IntermediateBackend;
-			newObjectFile: BOOLEAN);
+		PROCEDURE & Init(system: Global.System; checker: SemanticChecker.Checker; supportedInstructionProcedure: SupportedInstructionProcedure; supportedImmediateProcedure: SupportedImmediateProcedure; emitLabels: BOOLEAN; CONST runtime: SyntaxTree.IdentifierString; backend: IntermediateBackend);
 		BEGIN
 		BEGIN
 			SELF.system := system;
 			SELF.system := system;
 			SELF.builtinsModuleName := runtime;
 			SELF.builtinsModuleName := runtime;
@@ -1458,7 +1444,6 @@ TYPE
 			IntermediateCode.InitImmediate(false,bool,0);
 			IntermediateCode.InitImmediate(false,bool,0);
 			IntermediateCode.InitImmediate(true,bool,1);
 			IntermediateCode.InitImmediate(true,bool,1);
 
 
-			SELF.newObjectFile := newObjectFile;
 			indexCounter := 0;
 			indexCounter := 0;
 			NEW(registerUsageCount);
 			NEW(registerUsageCount);
 			usedRegisters := NIL;
 			usedRegisters := NIL;
@@ -2473,9 +2458,6 @@ TYPE
 				*)
 				*)
 				ReuseCopy(left,tag);
 				ReuseCopy(left,tag);
 				right := TypeDescriptorAdr(type);
 				right := TypeDescriptorAdr(type);
-				IF ~newObjectFile THEN
-					IntermediateCode.MakeMemory(right,addressType);
-				END;
 				
 				
 				IF backend.cooperative THEN
 				IF backend.cooperative THEN
 		 			repeatL := NewLabel();
 		 			repeatL := NewLabel();
@@ -3063,7 +3045,6 @@ TYPE
 					base := StaticArrayBaseType(type);
 					base := StaticArrayBaseType(type);
 					Symbol(symbol, operand);
 					Symbol(symbol, operand);
 					arg := TypeDescriptorAdr(base);
 					arg := TypeDescriptorAdr(base);
-					IF ~newObjectFile THEN IntermediateCode.MakeMemory(arg, addressType) END;
 					Emit(Push(position,operand.op));
 					Emit(Push(position,operand.op));
 					Emit(Push(position,arg));
 					Emit(Push(position,arg));
 					Emit(Push(position,IntermediateCode.Immediate(addressType,size)));
 					Emit(Push(position,IntermediateCode.Immediate(addressType,size)));
@@ -3079,7 +3060,6 @@ TYPE
 					Symbol(symbol, operand);
 					Symbol(symbol, operand);
 
 
 					arg := TypeDescriptorAdr(base);
 					arg := TypeDescriptorAdr(base);
-					IF ~newObjectFile THEN IntermediateCode.MakeMemory(arg, addressType) END;
 
 
 					Emit(Push(position,operand.op));
 					Emit(Push(position,operand.op));
 					Emit(Push(position,arg));
 					Emit(Push(position,arg));
@@ -4387,9 +4367,6 @@ TYPE
 			IF (resultingType IS SyntaxTree.RecordType) & (resultingType(SyntaxTree.RecordType).pointerType = NIL) THEN
 			IF (resultingType IS SyntaxTree.RecordType) & (resultingType(SyntaxTree.RecordType).pointerType = NIL) THEN
 				ReleaseIntermediateOperand(result.tag);
 				ReleaseIntermediateOperand(result.tag);
 				result.tag := TypeDescriptorAdr(resultingType);
 				result.tag := TypeDescriptorAdr(resultingType);
-				IF ~newObjectFile THEN
-					IntermediateCode.MakeMemory(result.tag,addressType);
-				END;
 
 
 			ELSIF IsDelegate(resultingType) THEN
 			ELSIF IsDelegate(resultingType) THEN
 				ReleaseIntermediateOperand(result.tag);
 				ReleaseIntermediateOperand(result.tag);
@@ -4666,9 +4643,6 @@ TYPE
 			IF (type IS SyntaxTree.RecordType) & (type(SyntaxTree.RecordType).pointerType = NIL) THEN
 			IF (type IS SyntaxTree.RecordType) & (type(SyntaxTree.RecordType).pointerType = NIL) THEN
 				ReleaseIntermediateOperand(result.tag);
 				ReleaseIntermediateOperand(result.tag);
 				result.tag := TypeDescriptorAdr(type);
 				result.tag := TypeDescriptorAdr(type);
-				IF ~newObjectFile THEN
-					IntermediateCode.MakeMemory(result.tag,addressType);
-				END
 			ELSIF IsDelegate(type) THEN
 			ELSIF IsDelegate(type) THEN
 				ReleaseIntermediateOperand(result.tag);
 				ReleaseIntermediateOperand(result.tag);
 				IntermediateCode.InitMemory(result.tag,addressType,result.op,ToMemoryUnits(system,system.addressSize));
 				IntermediateCode.InitMemory(result.tag,addressType,result.op,ToMemoryUnits(system,system.addressSize));
@@ -6073,7 +6047,6 @@ TYPE
 							(* IF dump # NIL THEN dump.String("push typetag"); dump.Ln; dump.Update END; *) (* TENTATIVE *)
 							(* IF dump # NIL THEN dump.String("push typetag"); dump.Ln; dump.Update END; *) (* TENTATIVE *)
 							recordType := formalParameter.type.resolved(SyntaxTree.PointerType).pointerBase.resolved(SyntaxTree.RecordType);
 							recordType := formalParameter.type.resolved(SyntaxTree.PointerType).pointerBase.resolved(SyntaxTree.RecordType);
 							arg := TypeDescriptorAdr(recordType);
 							arg := TypeDescriptorAdr(recordType);
-							IF ~newObjectFile THEN IntermediateCode.MakeMemory(arg, addressType) END;
 							Emit(Push(position,arg));
 							Emit(Push(position,arg));
 						ELSE
 						ELSE
 							(* push 'NonPointer' *)
 							(* push 'NonPointer' *)
@@ -6295,41 +6268,25 @@ TYPE
 					ASSERT(td # NIL);
 					ASSERT(td # NIL);
 				END;
 				END;
 
 
-				IF newObjectFile THEN
-					GetCodeSectionNameForSymbol(td,name);
-					IF (td.scope = NIL) OR (td.scope.ownerModule = module.module) THEN
-						meta.CheckTypeDeclaration(x);
-						source := NewSection(module.allSections, Sections.ConstSection, name,td,commentPrintout # NIL);
-					ELSE
-						source := NewSection(module.importedSections, Sections.ConstSection,name,td,commentPrintout # NIL);
-					END;
-					IF backend.cooperative OR meta.simple THEN
-						offset := 0;
-					ELSE
-						IF x IS SyntaxTree.CellType THEN
-							baseRecord := x(SyntaxTree.CellType).GetBaseRecord();
-							IF baseRecord = NIL THEN 
-								offset := ToMemoryUnits(system, meta.GetTypeRecordBaseOffset(0));
-							ELSE 
-								offset := ToMemoryUnits(system, meta.GetTypeRecordBaseOffset(baseRecord.recordScope.numberMethods)*system.addressSize);
-							END;
-						ELSE
-							offset := ToMemoryUnits(system,meta.GetTypeRecordBaseOffset(x(SyntaxTree.RecordType).recordScope.numberMethods)*system.addressSize);
-						END;
-					END;
+				GetCodeSectionNameForSymbol(td,name);
+				IF (td.scope = NIL) OR (td.scope.ownerModule = module.module) THEN
+					meta.CheckTypeDeclaration(x);
+					source := NewSection(module.allSections, Sections.ConstSection, name,td,commentPrintout # NIL);
 				ELSE
 				ELSE
+					source := NewSection(module.importedSections, Sections.ConstSection,name,td,commentPrintout # NIL);
+				END;
+				IF backend.cooperative OR meta.simple THEN
 					offset := 0;
 					offset := 0;
-					source := module.allSections.FindBySymbol(td); (*TODO*)
-					IF source = NIL THEN
-						null := 0;
-						GetCodeSectionNameForSymbol(td,name);
-						Basic.SuffixSegmentedName (name, Basic.MakeString("@"));
-						Basic.SuffixSegmentedName (name, module.module.name);
-						source := NewSection(module.allSections, Sections.ConstSection, name,td,commentPrintout # NIL);
-						IntermediateCode.InitImmediate(op,addressType,0);
-						source(IntermediateCode.Section).Emit(Data(position,op));
+				ELSE
+					IF x IS SyntaxTree.CellType THEN
+						baseRecord := x(SyntaxTree.CellType).GetBaseRecord();
+						IF baseRecord = NIL THEN 
+							offset := ToMemoryUnits(system, meta.GetTypeRecordBaseOffset(0));
+						ELSE 
+							offset := ToMemoryUnits(system, meta.GetTypeRecordBaseOffset(baseRecord.recordScope.numberMethods)*system.addressSize);
+						END;
 					ELSE
 					ELSE
-						name := source.name;
+						offset := ToMemoryUnits(system,meta.GetTypeRecordBaseOffset(x(SyntaxTree.RecordType).recordScope.numberMethods)*system.addressSize);
 					END;
 					END;
 				END;
 				END;
 				RETURN td
 				RETURN td
@@ -6345,13 +6302,9 @@ TYPE
 				source := GetBackendType(t);
 				source := GetBackendType(t);
 			END;
 			END;
 			*)
 			*)
-			IF newObjectFile THEN
-				IntermediateCode.InitAddress(res, addressType, name, GetFingerprint(td), 0 (*
-				1+t(SyntaxTree.RecordType).recordScope.numberMethods+16+1 *));
-				IntermediateCode.SetOffset(res,offset);
-			ELSE
-				IntermediateCode.InitAddress(res, addressType, name, GetFingerprint(td), 0);
-			END;
+			IntermediateCode.InitAddress(res, addressType, name, GetFingerprint(td), 0 (*
+			1+t(SyntaxTree.RecordType).recordScope.numberMethods+16+1 *));
+			IntermediateCode.SetOffset(res,offset);
 			(*
 			(*
 			IntermediateCode.MakeMemory(res,IntermediateCode.UnsignedInteger,addressType.sizeInBits);
 			IntermediateCode.MakeMemory(res,IntermediateCode.UnsignedInteger,addressType.sizeInBits);
 			make memory should be used when tag is used, not earlier
 			make memory should be used when tag is used, not earlier
@@ -6474,7 +6427,6 @@ TYPE
 					(* IF dump # NIL THEN dump.String("push typetag"); dump.Ln; dump.Update END; *) (* TENTATIVE *)
 					(* IF dump # NIL THEN dump.String("push typetag"); dump.Ln; dump.Update END; *) (* TENTATIVE *)
 					recordType := type.resolved(SyntaxTree.PointerType).pointerBase.resolved(SyntaxTree.RecordType);
 					recordType := type.resolved(SyntaxTree.PointerType).pointerBase.resolved(SyntaxTree.RecordType);
 					arg := TypeDescriptorAdr(recordType);
 					arg := TypeDescriptorAdr(recordType);
-					IF ~newObjectFile THEN IntermediateCode.MakeMemory(arg, addressType) END;
 				ELSE
 				ELSE
 					(* non-pointer to record type: push fingerprint *)
 					(* non-pointer to record type: push fingerprint *)
 					(* IF dump # NIL THEN dump.String("push fingerprint"); dump.Ln; dump.Update END; *) (* TENTATIVE *)
 					(* IF dump # NIL THEN dump.String("push fingerprint"); dump.Ln; dump.Update END; *) (* TENTATIVE *)
@@ -7293,9 +7245,6 @@ TYPE
 			Emit(Push(position,op.op));
 			Emit(Push(position,op.op));
 			(* push type descriptor *)
 			(* push type descriptor *)
 			reg := TypeDescriptorAdr(type);
 			reg := TypeDescriptorAdr(type);
-			IF ~newObjectFile THEN
-				IntermediateCode.MakeMemory(reg,addressType);
-			END;
 			Emit(Push(position,reg));
 			Emit(Push(position,reg));
 			ReleaseIntermediateOperand(reg);
 			ReleaseIntermediateOperand(reg);
 			(* push realtime flag: false by default *)
 			(* push realtime flag: false by default *)
@@ -7816,9 +7765,6 @@ TYPE
 						type := type.resolved(SyntaxTree.PointerType).pointerBase;
 						type := type.resolved(SyntaxTree.PointerType).pointerBase;
 					END;
 					END;
 					op := TypeDescriptorAdr(type.resolved);
 					op := TypeDescriptorAdr(type.resolved);
-					IF ~newObjectFile THEN
-						IntermediateCode.MakeMemory(op,addressType);
-					END;
 					Emit(Push(position,op));
 					Emit(Push(position,op));
 				END
 				END
 			END PushTD;
 			END PushTD;
@@ -8279,9 +8225,6 @@ TYPE
 
 
 						(* push type descriptor *)
 						(* push type descriptor *)
 						reg := TypeDescriptorAdr(recordType);
 						reg := TypeDescriptorAdr(recordType);
-						IF ~newObjectFile THEN
-							IntermediateCode.MakeMemory(reg,addressType);
-						END;
 						Emit(Push(position,reg));
 						Emit(Push(position,reg));
 						ReleaseIntermediateOperand(reg);
 						ReleaseIntermediateOperand(reg);
 
 
@@ -8415,9 +8358,6 @@ TYPE
 						END;
 						END;
 						IF SemanticChecker.ContainsPointer(type) THEN
 						IF SemanticChecker.ContainsPointer(type) THEN
 							tmp := TypeDescriptorAdr(type);
 							tmp := TypeDescriptorAdr(type);
-							IF ~newObjectFile THEN
-								IntermediateCode.MakeMemory(tmp,addressType);
-							END;
 						ELSE
 						ELSE
 							tmp := nil;
 							tmp := nil;
 						END;
 						END;
@@ -8570,9 +8510,6 @@ TYPE
 								ReleaseOperand(l);
 								ReleaseOperand(l);
 
 
 								tmp := TypeDescriptorAdr(type);
 								tmp := TypeDescriptorAdr(type);
-								IF ~newObjectFile THEN
-									IntermediateCode.MakeMemory(tmp,addressType);
-								END;
 								Emit(Push(position,tmp)); (* type descriptor *)
 								Emit(Push(position,tmp)); (* type descriptor *)
 								ReleaseIntermediateOperand(tmp);
 								ReleaseIntermediateOperand(tmp);
 
 
@@ -8670,9 +8607,6 @@ TYPE
 							(* *)
 							(* *)
 							IF SemanticChecker.ContainsPointer(type) THEN
 							IF SemanticChecker.ContainsPointer(type) THEN
 								tmp := TypeDescriptorAdr(type);
 								tmp := TypeDescriptorAdr(type);
-								IF ~newObjectFile THEN
-									IntermediateCode.MakeMemory(tmp,addressType);
-								END;
 							ELSE
 							ELSE
 								tmp := IntermediateCode.Immediate(addressType, 0);
 								tmp := IntermediateCode.Immediate(addressType, 0);
 							END;
 							END;
@@ -8745,9 +8679,6 @@ TYPE
 
 
 						IF SemanticChecker.ContainsPointer(baseType) THEN
 						IF SemanticChecker.ContainsPointer(baseType) THEN
 							tmp := TypeDescriptorAdr(baseType);
 							tmp := TypeDescriptorAdr(baseType);
-							IF ~newObjectFile THEN
-								IntermediateCode.MakeMemory(tmp,addressType);
-							END;
 						ELSE
 						ELSE
 							tmp := nil;
 							tmp := nil;
 						END;
 						END;
@@ -8792,9 +8723,6 @@ TYPE
 					
 					
 					(* push type descriptor *)
 					(* push type descriptor *)
 					reg := TypeDescriptorAdr(baseType);
 					reg := TypeDescriptorAdr(baseType);
-					IF ~newObjectFile THEN
-						IntermediateCode.MakeMemory(reg,addressType);
-					END;
 					Emit(Push(position,reg));
 					Emit(Push(position,reg));
 					ReleaseIntermediateOperand(reg);
 					ReleaseIntermediateOperand(reg);
 
 
@@ -9051,9 +8979,6 @@ TYPE
 					IF (type IS SyntaxTree.RecordType) THEN
 					IF (type IS SyntaxTree.RecordType) THEN
 						ReleaseIntermediateOperand(s1.tag);
 						ReleaseIntermediateOperand(s1.tag);
 						s1.tag := TypeDescriptorAdr(type);
 						s1.tag := TypeDescriptorAdr(type);
-						IF ~newObjectFile THEN
-							IntermediateCode.MakeMemory(s1.tag,addressType);
-						END;
 						UseIntermediateOperand(s1.tag);
 						UseIntermediateOperand(s1.tag);
 					END;
 					END;
 					result := s1;
 					result := s1;
@@ -9195,10 +9120,7 @@ TYPE
 					type := type.resolved(SyntaxTree.PointerType).pointerBase;
 					type := type.resolved(SyntaxTree.PointerType).pointerBase;
 				END;
 				END;
 				result.op := TypeDescriptorAdr(type);
 				result.op := TypeDescriptorAdr(type);
-				IF ~newObjectFile THEN
-					ToMemory(result.op,IntermediateCode.GetType(system,x.type),0);
-				ELSE Convert(result.op, IntermediateCode.GetType(system,x.type));
-				END;
+				Convert(result.op, IntermediateCode.GetType(system,x.type));
 				result.mode := ModeValue;
 				result.mode := ModeValue;
 			(* ---- SYSTEM.TRACE ----- *)
 			(* ---- SYSTEM.TRACE ----- *)
 			|Global.systemTrace:
 			|Global.systemTrace:
@@ -9394,9 +9316,6 @@ TYPE
 				IF isUnsafe & ((type = NIL) OR ~type(SyntaxTree.RecordType).isObject) THEN
 				IF isUnsafe & ((type = NIL) OR ~type(SyntaxTree.RecordType).isObject) THEN
 					ReleaseIntermediateOperand(operand.tag);
 					ReleaseIntermediateOperand(operand.tag);
 					operand.tag := TypeDescriptorAdr(type);
 					operand.tag := TypeDescriptorAdr(type);
-					IF ~newObjectFile THEN
-						IntermediateCode.MakeMemory(operand.tag,addressType);
-					END;
 				ELSE
 				ELSE
 					IF ~backend.cooperative THEN
 					IF ~backend.cooperative THEN
 						IntermediateCode.AddOffset(operand.tag,ToMemoryUnits(system,-addressType.sizeInBits));
 						IntermediateCode.AddOffset(operand.tag,ToMemoryUnits(system,-addressType.sizeInBits));
@@ -9489,19 +9408,14 @@ TYPE
 				scope := scope.outerScope;
 				scope := scope.outerScope;
 			END;
 			END;
 			IF scope.outerScope IS SyntaxTree.ModuleScope THEN
 			IF scope.outerScope IS SyntaxTree.ModuleScope THEN
-				IF newObjectFile THEN
-					moduleSection := meta.ModuleSection();
-					IF backend.cooperative THEN
-						moduleOffset := 0;
-					ELSE
-						moduleOffset := moduleSection.pc;
-					END;
-					result.mode := ModeValue;
-					result.op := IntermediateCode.Address(addressType, moduleSection.name, GetFingerprint(moduleSection.symbol), moduleOffset);
+				moduleSection := meta.ModuleSection();
+				IF backend.cooperative THEN
+					moduleOffset := 0;
 				ELSE
 				ELSE
-					Symbol(moduleSelf,result);
-					IntermediateCode.MakeMemory(result.op,addressType);
-				END
+					moduleOffset := moduleSection.pc;
+				END;
+				result.mode := ModeValue;
+				result.op := IntermediateCode.Address(addressType, moduleSection.name, GetFingerprint(moduleSection.symbol), moduleOffset);
 			ELSIF (scope.outerScope IS SyntaxTree.CellScope) & ~backend.cellsAreObjects THEN
 			ELSIF (scope.outerScope IS SyntaxTree.CellScope) & ~backend.cellsAreObjects THEN
 				result.mode := ModeValue;
 				result.mode := ModeValue;
 				Global.GetSymbolSegmentedName(scope.outerScope(SyntaxTree.CellScope).ownerCell.typeDeclaration, name);
 				Global.GetSymbolSegmentedName(scope.outerScope(SyntaxTree.CellScope).ownerCell.typeDeclaration, name);
@@ -9631,7 +9545,7 @@ TYPE
 			IF ~TryConstantDeclaration() THEN
 			IF ~TryConstantDeclaration() THEN
 				IF constantDeclaration = NIL THEN constantDeclaration:=BuildConstant(module.module,x,constId) END;
 				IF constantDeclaration = NIL THEN constantDeclaration:=BuildConstant(module.module,x,constId) END;
 				GetCodeSectionNameForSymbol(constantDeclaration,name);
 				GetCodeSectionNameForSymbol(constantDeclaration,name);
-				IF ~newObjectFile OR (constantDeclaration.scope = NIL) OR (constantDeclaration.scope.ownerModule = module.module) THEN
+				IF (constantDeclaration.scope = NIL) OR (constantDeclaration.scope.ownerModule = module.module) THEN
 					irv := NewSection(module.allSections,Sections.ConstSection,name,constantDeclaration,commentPrintout # NIL);
 					irv := NewSection(module.allSections,Sections.ConstSection,name,constantDeclaration,commentPrintout # NIL);
 				ELSE
 				ELSE
 					irv := NewSection(module.importedSections, Sections.ConstSection, name,constantDeclaration,commentPrintout # NIL);
 					irv := NewSection(module.importedSections, Sections.ConstSection, name,constantDeclaration,commentPrintout # NIL);
@@ -9692,7 +9606,7 @@ TYPE
 			IF ~TryConstantDeclaration() THEN
 			IF ~TryConstantDeclaration() THEN
 				IF constantDeclaration = NIL THEN constantDeclaration:=BuildConstant(module.module,x,constId) END;
 				IF constantDeclaration = NIL THEN constantDeclaration:=BuildConstant(module.module,x,constId) END;
 				GetCodeSectionNameForSymbol(constantDeclaration,name);
 				GetCodeSectionNameForSymbol(constantDeclaration,name);
-				IF ~newObjectFile OR (constantDeclaration.scope = NIL) OR (constantDeclaration.scope.ownerModule = module.module) THEN
+				IF (constantDeclaration.scope = NIL) OR (constantDeclaration.scope.ownerModule = module.module) THEN
 					irv := NewSection(module.allSections, Sections.ConstSection, name,constantDeclaration,commentPrintout # NIL);
 					irv := NewSection(module.allSections, Sections.ConstSection, name,constantDeclaration,commentPrintout # NIL);
 				ELSE
 				ELSE
 					irv := NewSection(module.importedSections, Sections.ConstSection, name,constantDeclaration,commentPrintout # NIL);
 					irv := NewSection(module.importedSections, Sections.ConstSection, name,constantDeclaration,commentPrintout # NIL);
@@ -9837,9 +9751,6 @@ TYPE
 			ELSIF (type IS SyntaxTree.RecordType) & (type(SyntaxTree.RecordType).pointerType = NIL) THEN
 			ELSIF (type IS SyntaxTree.RecordType) & (type(SyntaxTree.RecordType).pointerType = NIL) THEN
 				ReleaseIntermediateOperand(result.tag);
 				ReleaseIntermediateOperand(result.tag);
 				result.tag := TypeDescriptorAdr(type);
 				result.tag := TypeDescriptorAdr(type);
-				IF ~newObjectFile THEN
-					IntermediateCode.MakeMemory(result.tag,addressType);
-				END;
 				UseIntermediateOperand(result.tag);
 				UseIntermediateOperand(result.tag);
 			(* tag for pointer type computed not here but during dereferencing *)
 			(* tag for pointer type computed not here but during dereferencing *)
 			END;
 			END;
@@ -9970,9 +9881,6 @@ TYPE
 			ELSIF (type IS SyntaxTree.RecordType) & (type(SyntaxTree.RecordType).pointerType= NIL) & ((x.kind = SyntaxTree.ValueParameter) OR x.selfParameter) THEN
 			ELSIF (type IS SyntaxTree.RecordType) & (type(SyntaxTree.RecordType).pointerType= NIL) & ((x.kind = SyntaxTree.ValueParameter) OR x.selfParameter) THEN
 				ReleaseIntermediateOperand(result.tag);
 				ReleaseIntermediateOperand(result.tag);
 				result.tag := TypeDescriptorAdr(type);
 				result.tag := TypeDescriptorAdr(type);
-				IF ~newObjectFile THEN
-					IntermediateCode.MakeMemory(result.tag,addressType);
-				END;
 				UseIntermediateOperand(result.tag);
 				UseIntermediateOperand(result.tag);
 			END;
 			END;
 			IF Trace THEN TraceExit("VisitParameter") END;
 			IF Trace THEN TraceExit("VisitParameter") END;
@@ -10302,7 +10210,6 @@ TYPE
 					ReleaseOperand(leftO);
 					ReleaseOperand(leftO);
 					
 					
 					arg := TypeDescriptorAdr(base);
 					arg := TypeDescriptorAdr(base);
-					IF ~newObjectFile THEN IntermediateCode.MakeMemory(arg, addressType) END;
 					Emit(Push(position,arg));
 					Emit(Push(position,arg));
 
 
 					Emit(Push(position,IntermediateCode.Immediate(addressType,size)));
 					Emit(Push(position,IntermediateCode.Immediate(addressType,size)));
@@ -10318,7 +10225,6 @@ TYPE
 					ReleaseOperand(leftO);
 					ReleaseOperand(leftO);
 					
 					
 					arg := TypeDescriptorAdr(base);
 					arg := TypeDescriptorAdr(base);
-					IF ~newObjectFile THEN IntermediateCode.MakeMemory(arg, addressType) END;
 					Emit(Push(position,arg));
 					Emit(Push(position,arg));
 
 
 					Emit(Push(position,IntermediateCode.Immediate(addressType,size)));
 					Emit(Push(position,IntermediateCode.Immediate(addressType,size)));
@@ -11083,18 +10989,13 @@ TYPE
 				scope := scope.outerScope;
 				scope := scope.outerScope;
 			END;
 			END;
 			IF scope.outerScope IS SyntaxTree.ModuleScope THEN
 			IF scope.outerScope IS SyntaxTree.ModuleScope THEN
-				IF ~newObjectFile THEN
-					Symbol(moduleSelf,op);
-					IntermediateCode.MakeMemory(op.op,addressType);
+				moduleSection := meta.ModuleSection();
+				IF backend.cooperative THEN
+					moduleOffset := 0;
 				ELSE
 				ELSE
-					moduleSection := meta.ModuleSection();
-					IF backend.cooperative THEN
-						moduleOffset := 0;
-					ELSE
-						moduleOffset := moduleSection.pc;
-					END;
-					op.op := IntermediateCode.Address(addressType, moduleSection.name, GetFingerprint(moduleSection.symbol), moduleOffset);
+					moduleOffset := moduleSection.pc;
 				END;
 				END;
+				op.op := IntermediateCode.Address(addressType, moduleSection.name, GetFingerprint(moduleSection.symbol), moduleOffset);
 			ELSE
 			ELSE
 				GetBaseRegister(op.op,currentScope,scope);
 				GetBaseRegister(op.op,currentScope,scope);
 				procedure := scope(SyntaxTree.ProcedureScope).ownerProcedure;
 				procedure := scope(SyntaxTree.ProcedureScope).ownerProcedure;
@@ -11454,9 +11355,6 @@ TYPE
 				END;
 				END;
 
 
 				section.SetPositionOrAlignment(procedure.fixed, procedure.alignment);
 				section.SetPositionOrAlignment(procedure.fixed, procedure.alignment);
-				IF moduleBody & ~newObjectFile THEN
-					InitVariables(moduleScope)
-				END;
 				IF (scope.outerScope # NIL) & (scope.outerScope IS SyntaxTree.CellScope) THEN
 				IF (scope.outerScope # NIL) & (scope.outerScope IS SyntaxTree.CellScope) THEN
 					cellScope := scope.outerScope(SyntaxTree.CellScope);
 					cellScope := scope.outerScope(SyntaxTree.CellScope);
 					IF procedure = cellScope.bodyProcedure THEN
 					IF procedure = cellScope.bodyProcedure THEN
@@ -11583,7 +11481,7 @@ TYPE
 			SELF.module := module;
 			SELF.module := module;
 			Global.GetModuleName(module.module,moduleName);
 			Global.GetModuleName(module.module,moduleName);
 			Global.GetSymbolSegmentedName(module.module, name);
 			Global.GetSymbolSegmentedName(module.module, name);
-			IF ReflectionSupport &  implementationVisitor.newObjectFile & ~simple & ~implementationVisitor.backend.cooperative THEN 
+			IF ReflectionSupport & ~simple & ~implementationVisitor.backend.cooperative THEN 
 				NEW(moduleNamePool, 32);
 				NEW(moduleNamePool, 32);
 				(*! require GC protection *)
 				(*! require GC protection *)
 				modulePointerSection := Block("Heaps","ArrayBlockDesc",".@ModulePointerArray", modulePointerSectionOffset);
 				modulePointerSection := Block("Heaps","ArrayBlockDesc",".@ModulePointerArray", modulePointerSectionOffset);
@@ -13205,7 +13103,6 @@ TYPE
 			moduleSection: IntermediateCode.Section; offset: LONGINT; pooledName: Basic.SegmentedName;
 			moduleSection: IntermediateCode.Section; offset: LONGINT; pooledName: Basic.SegmentedName;
 			symbol: SyntaxTree.Symbol;
 			symbol: SyntaxTree.Symbol;
 		BEGIN
 		BEGIN
-			ASSERT(implementationVisitor.backend.newObjectFile);
 			Global.GetModuleName(module.module,name);
 			Global.GetModuleName(module.module,name);
 			Strings.Append(name,".@Module");
 			Strings.Append(name,".@Module");
 			Basic.ToSegmentedName(name, pooledName);
 			Basic.ToSegmentedName(name, pooledName);
@@ -13391,7 +13288,7 @@ TYPE
 		
 		
 		PROCEDURE PatchCRC(crc: LONGINT);
 		PROCEDURE PatchCRC(crc: LONGINT);
 		BEGIN
 		BEGIN
-			IF implementationVisitor.newObjectFile & ~simple THEN
+			IF ~simple THEN
 				PatchLongint(ModuleSection(), patchCRC, crc);
 				PatchLongint(ModuleSection(), patchCRC, crc);
 			END;
 			END;
 		END PatchCRC;
 		END PatchCRC;
@@ -13449,7 +13346,6 @@ TYPE
 				name: Basic.SegmentedName;
 				name: Basic.SegmentedName;
 				section: IntermediateCode.Section;
 				section: IntermediateCode.Section;
 			BEGIN
 			BEGIN
-					ASSERT(implementationVisitor.newObjectFile);
 					Global.GetSymbolSegmentedName(symbol,name);
 					Global.GetSymbolSegmentedName(symbol,name);
 					Basic.AppendToSegmentedName(name,suffix);
 					Basic.AppendToSegmentedName(name,suffix);
 
 
@@ -13827,19 +13723,8 @@ TYPE
 
 
 				section := module.allSections.FindBySymbol(td); (* TODO *)
 				section := module.allSections.FindBySymbol(td); (* TODO *)
 				IF (section = NIL) OR (section(IntermediateCode.Section).pc = 0) THEN
 				IF (section = NIL) OR (section(IntermediateCode.Section).pc = 0) THEN
-					IF implementationVisitor.newObjectFile THEN
-						IF (td.scope = NIL) OR (td.scope.ownerModule = module.module) THEN
-							NewTypeDescriptor
-						END;
-					ELSE
-						(* data section in intermediate code *)
-						Global.GetSymbolSegmentedName(td,name);
-						Basic.SuffixSegmentedName (name, Basic.MakeString("@"));
-						Basic.SuffixSegmentedName (name, module.module.name);
-
-						tir := implementationVisitor.NewSection(module.allSections, Sections.ConstSection, name,td,implementationVisitor.dump # NIL);
-						IntermediateCode.InitImmediate(op,IntermediateCode.GetType(module.system, module.system.addressType),0);
-						tir.Emit(Data(Basic.invalidPosition,op));
+					IF (td.scope = NIL) OR (td.scope.ownerModule = module.module) THEN
+						NewTypeDescriptor
 					END;
 					END;
 				END;
 				END;
 			ELSIF (x IS SyntaxTree.CellType) & implementationVisitor.backend.cellsAreObjects THEN
 			ELSIF (x IS SyntaxTree.CellType) & implementationVisitor.backend.cellsAreObjects THEN
@@ -13847,10 +13732,8 @@ TYPE
 				td := x.typeDeclaration;
 				td := x.typeDeclaration;
 				section := module.allSections.FindBySymbol(td); (* TODO *)
 				section := module.allSections.FindBySymbol(td); (* TODO *)
 				IF (section = NIL) OR (section(IntermediateCode.Section).pc = 0) THEN
 				IF (section = NIL) OR (section(IntermediateCode.Section).pc = 0) THEN
-					IF implementationVisitor.newObjectFile THEN
-						IF (td.scope = NIL) OR (td.scope.ownerModule = module.module) THEN
-							NewTypeDescriptor
-						END;
+					IF (td.scope = NIL) OR (td.scope.ownerModule = module.module) THEN
+						NewTypeDescriptor
 					END;
 					END;
 				END;
 				END;
 			END
 			END
@@ -13864,7 +13747,6 @@ TYPE
 		trace-: BOOLEAN;
 		trace-: BOOLEAN;
 		traceString-: SyntaxTree.IdentifierString;
 		traceString-: SyntaxTree.IdentifierString;
 		traceModuleName-: SyntaxTree.IdentifierString;
 		traceModuleName-: SyntaxTree.IdentifierString;
-		newObjectFile-: BOOLEAN;
 		profile-: BOOLEAN;
 		profile-: BOOLEAN;
 		noRuntimeChecks: BOOLEAN;
 		noRuntimeChecks: BOOLEAN;
 		simpleMetaData-: BOOLEAN;
 		simpleMetaData-: BOOLEAN;
@@ -13881,7 +13763,6 @@ TYPE
 		PROCEDURE &InitIntermediateBackend*;
 		PROCEDURE &InitIntermediateBackend*;
 		BEGIN
 		BEGIN
 			simpleMetaData := FALSE;
 			simpleMetaData := FALSE;
-			newObjectFile := FALSE;
 			InitBackend;
 			InitBackend;
 			SetBuiltinsModuleName(DefaultBuiltinsModuleName);
 			SetBuiltinsModuleName(DefaultBuiltinsModuleName);
 			SetTraceModuleName(DefaultTraceModuleName);
 			SetTraceModuleName(DefaultTraceModuleName);
@@ -13916,25 +13797,23 @@ TYPE
 			Global.GetModuleName(x, name);
 			Global.GetModuleName(x, name);
 			module.SetModuleName(name);
 			module.SetModuleName(name);
 
 
-			NEW(implementationVisitor,system,checker,supportedInstruction, supportedImmediate, Compiler.FindPC IN flags, builtinsModuleName, SELF, newObjectFile);
+			NEW(implementationVisitor,system,checker,supportedInstruction, supportedImmediate, Compiler.FindPC IN flags, builtinsModuleName, SELF);
 			NEW(declarationVisitor,system,implementationVisitor,SELF,Compiler.ForceModuleBodies IN flags,trace & (Compiler.Info IN flags));
 			NEW(declarationVisitor,system,implementationVisitor,SELF,Compiler.ForceModuleBodies IN flags,trace & (Compiler.Info IN flags));
 
 
 			NEW(meta, implementationVisitor, declarationVisitor,simpleMetaData);
 			NEW(meta, implementationVisitor, declarationVisitor,simpleMetaData);
 			declarationVisitor.Module(x,module);
 			declarationVisitor.Module(x,module);
 
 
-			IF newObjectFile & ~meta.simple THEN
+			IF ~meta.simple THEN
 				meta.Module(implementationVisitor.moduleBodySection);
 				meta.Module(implementationVisitor.moduleBodySection);
 			END;
 			END;
 
 
 			GetDescription(platformName);
 			GetDescription(platformName);
 			module.SetPlatformName(platformName);
 			module.SetPlatformName(platformName);
 
 
-			IF newObjectFile THEN
-				NEW(crc);
-				module.allSections.WriteRaw(crc);
-				crc.Update;
-				meta.PatchCRC(crc.GetCRC());
-			END;
+			NEW(crc);
+			module.allSections.WriteRaw(crc);
+			crc.Update;
+			meta.PatchCRC(crc.GetCRC());
 			
 			
 			RETURN module
 			RETURN module
 		END GenerateIntermediate;
 		END GenerateIntermediate;
@@ -13973,11 +13852,10 @@ TYPE
 		BEGIN instructionSet := "Intermediate";
 		BEGIN instructionSet := "Intermediate";
 		END GetDescription;
 		END GetDescription;
 
 
-		PROCEDURE SetNewObjectFile*(newObjectFile: BOOLEAN; simpleMetaData: BOOLEAN);
+		PROCEDURE SetSimpleMetaData*(simpleMetaData: BOOLEAN);
 		BEGIN
 		BEGIN
-			SELF.newObjectFile := newObjectFile;
 			SELF.simpleMetaData := simpleMetaData;
 			SELF.simpleMetaData := simpleMetaData;
-		END SetNewObjectFile;
+		END SetSimpleMetaData;
 
 
 		PROCEDURE SetTraceModuleName(CONST name: ARRAY OF CHAR);
 		PROCEDURE SetTraceModuleName(CONST name: ARRAY OF CHAR);
 		BEGIN COPY(name, traceModuleName)
 		BEGIN COPY(name, traceModuleName)
@@ -13988,7 +13866,6 @@ TYPE
 			DefineOptions^(options);
 			DefineOptions^(options);
 			options.Add(0X,"trace",Options.String);
 			options.Add(0X,"trace",Options.String);
 			options.Add(0X,"builtinsModule",Options.String);
 			options.Add(0X,"builtinsModule",Options.String);
-			options.Add(0X,"newObjectFile",Options.Flag);
 			options.Add(0X,"traceModule",Options.String);
 			options.Add(0X,"traceModule",Options.String);
 			options.Add(0X,"profile",Options.Flag);
 			options.Add(0X,"profile",Options.Flag);
 			options.Add(0X,"noRuntimeChecks",Options.Flag);
 			options.Add(0X,"noRuntimeChecks",Options.Flag);
@@ -14012,9 +13889,6 @@ TYPE
 			noRuntimeChecks := options.GetFlag("noRuntimeChecks");
 			noRuntimeChecks := options.GetFlag("noRuntimeChecks");
 			noAsserts := options.GetFlag("noAsserts");
 			noAsserts := options.GetFlag("noAsserts");
 			cooperative := options.GetFlag("cooperative");
 			cooperative := options.GetFlag("cooperative");
-			IF options.GetFlag("newObjectFile") THEN
-				newObjectFile := TRUE; (* might have been set previously via SetNewObjectFile *)
-			END;
 			IF options.GetString("objectFile",string) & (string = "Minos") THEN 
 			IF options.GetString("objectFile",string) & (string = "Minos") THEN 
 				simpleMetaData := TRUE
 				simpleMetaData := TRUE
 			END;
 			END;

+ 1 - 1
source/FoxTRMBackend.Mod

@@ -2218,7 +2218,7 @@ TYPE
 		PROCEDURE &InitBackendTRM;
 		PROCEDURE &InitBackendTRM;
 		BEGIN
 		BEGIN
 			InitIntermediateBackend;
 			InitIntermediateBackend;
-			SetNewObjectFile(TRUE,TRUE);
+			SetSimpleMetaData(TRUE);
 			myInstructionSet:=defaultInstructionSet;
 			myInstructionSet:=defaultInstructionSet;
 			SetHasLinkRegister;
 			SetHasLinkRegister;
 			recentInstructionWidth := Sections.UnknownSize;
 			recentInstructionWidth := Sections.UnknownSize;

+ 1 - 1
source/GenericLinker.Mod

@@ -532,4 +532,4 @@ END Process;
 END GenericLinker.
 END GenericLinker.
 
 
 
 
-Compiler.Compile --newObjectFile GenericLinker.Mod   ~~~
+Compiler.Compile GenericLinker.Mod   ~~~

+ 4 - 4
source/Release.Tool

@@ -136,7 +136,7 @@ BUILDS
 	Bios32C {
 	Bios32C {
 		INCLUDE "BIOS32C BIOS NATIVE I386 COOP"
 		INCLUDE "BIOS32C BIOS NATIVE I386 COOP"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "--cooperative --newObjectFile --traceModule=Trace --mergeSections"
+		COMPILEOPTIONS "--cooperative --traceModule=Trace --mergeSections"
 		TARGET "AMD"
 		TARGET "AMD"
 		EXTENSION "Gof"
 		EXTENSION "Gof"
 		SYMBOLEXTENSION "Sym"
 		SYMBOLEXTENSION "Sym"
@@ -154,7 +154,7 @@ BUILDS
 	RpiC {
 	RpiC {
 		INCLUDE "RPIC NATIVE ARM COOP"
 		INCLUDE "RPIC NATIVE ARM COOP"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "--cooperative --newObjectFile --traceModule=Trace --mergeSections"
+		COMPILEOPTIONS "--cooperative --traceModule=Trace --mergeSections"
 		TARGET "ARM"
 		TARGET "ARM"
 		EXTENSION "Gof"
 		EXTENSION "Gof"
 		SYMBOLEXTENSION "Sym"
 		SYMBOLEXTENSION "Sym"
@@ -165,7 +165,7 @@ BUILDS
 	ZynqC {
 	ZynqC {
 		INCLUDE "ZYNQC NATIVE ARM COOP"
 		INCLUDE "ZYNQC NATIVE ARM COOP"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "--cooperative --newObjectFile --traceModule=Trace --mergeSections"
+		COMPILEOPTIONS "--cooperative --traceModule=Trace --mergeSections"
 		TARGET "ARM"
 		TARGET "ARM"
 		EXTENSION "Gof"
 		EXTENSION "Gof"
 		SYMBOLEXTENSION "Sym"
 		SYMBOLEXTENSION "Sym"
@@ -183,7 +183,7 @@ BUILDS
 	Win32C {
 	Win32C {
 		INCLUDE "WIN32C WIN COOP"
 		INCLUDE "WIN32C WIN COOP"
 		COMPILER "Compiler.Compile"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "--cooperative --newObjectFile --traceModule=Trace"
+		COMPILEOPTIONS "--cooperative --traceModule=Trace"
 		TARGET "AMD"
 		TARGET "AMD"
 		EXTENSION "GofCW"
 		EXTENSION "GofCW"
 		SYMBOLEXTENSION "SymCW"
 		SYMBOLEXTENSION "SymCW"

+ 1 - 1
source/Windows.StdIO.Mod

@@ -66,7 +66,7 @@ END  StdIO.
 
 
 System.DoCommands 
 System.DoCommands 
 
 
-	Compiler.Compile  -b=AMD --bits=32 --newObjectFile  --objectFileExtension=.Gox --symbolFileExtension=.Syx --mergeSections
+	Compiler.Compile  -b=AMD --bits=32 --objectFileExtension=.Gox --symbolFileExtension=.Syx --mergeSections
 		I386.Builtins.Mod Trace.Mod Windows.I386.Kernel32.Mod Windows.I386.Machine.Mod Heaps.Mod 
 		I386.Builtins.Mod Trace.Mod Windows.I386.Kernel32.Mod Windows.I386.Machine.Mod Heaps.Mod 
 		Modules.Mod Windows.I386.Objects.Mod Windows.Kernel.Mod KernelLog.Mod Streams.Mod Commands.Mod 
 		Modules.Mod Windows.I386.Objects.Mod Windows.Kernel.Mod KernelLog.Mod Streams.Mod Commands.Mod 
 		I386.Reals.Mod Reflection.Mod Locks.Mod Windows.Clock.Mod Files.Mod Dates.Mod Strings.Mod 
 		I386.Reals.Mod Reflection.Mod Locks.Mod Windows.Clock.Mod Files.Mod Dates.Mod Strings.Mod