2
0
Эх сурвалжийг харах

Removed obsolete newObjectFile flag

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8094 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 жил өмнө
parent
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:
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic
 	(* Zynq specific initialization *)
 	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
 ~
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals
 	(* 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/ShellController.Mod
@@ -67,21 +67,21 @@ Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile
 ~
 
 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
 ~
 
-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:
-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
 	KernelLog.Mod
 	basel/ARM.A2/Test.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
 ~
 

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

@@ -7,7 +7,7 @@ BUILDS
 	ZynqStatic {
 		INCLUDE "ARM NATIVE ZYNQ A2 STATIC"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "-p=ARMA2 --objectFile=Generic --newObjectFile --mergeSections --useFPU32 --useFPU64"
+		COMPILEOPTIONS "-p=ARMA2 --objectFile=Generic --mergeSections --useFPU32 --useFPU64"
 		TARGET "ARM"
 		EXTENSION "Gof"
 		SYMBOLEXTENSION "Sym"
@@ -21,7 +21,7 @@ BUILDS
 	ZynqDynamic {
 		INCLUDE "ARM NATIVE ZYNQ A2 DYNAMIC"
 		COMPILER "Compiler.Compile"
-		COMPILEOPTIONS "-p=ARMA2 --objectFile=Generic --newObjectFile --mergeSections --useFPU32 --useFPU64"
+		COMPILEOPTIONS "-p=ARMA2 --objectFile=Generic --mergeSections --useFPU32 --useFPU64"
 		TARGET "ARM"
 		EXTENSION "Gof"
 		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
 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
 ~
 
@@ -652,4 +652,4 @@ StaticLinker.Link --fileName=Test.Bin --displacement=100000H -a
 	Heaps Modules Objects Kernel
 	Math Random
 	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 ~
 
 SystemTools.DoCommands
-	Compiler.Compile -b=ARM --objectFile=Generic --newObjectFile --mergeSections
+	Compiler.Compile -b=ARM --objectFile=Generic --mergeSections
 		Zynq.PsConfig.Mod
 		TestFifo/Zynq.AcAxisIo.Mod
 		DMA330.Mod

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

@@ -89,7 +89,7 @@ BEGIN
 	(*END*)
 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.Math.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*)
 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.Math.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:
 
-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/Runtime.Mod

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

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

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

@@ -1,6 +1,6 @@
 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
 
 	(* 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
 ~
 
-Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --newObjectFile  --initLocals
+Compiler.Compile -b=ARM --traceModule=Trace --objectFile=Generic --initLocals
 	(* Video modules *)
 	basel/ARM.A2/UsbVideoDesc.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
 ~
 
@@ -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:
 
-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/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
 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
 	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
 ~
 
-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
 	WMUtilities.Mod
 	PNGDecoder.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
 	Initializer Runtime Platform FPE64 ARMRuntime Trace Uart
@@ -64,7 +64,7 @@ StaticLinker.Link --fileName=Test.Bin --displacement=100000H -a
 	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/StaticInterface.Mod
 	Test.Mod
@@ -77,4 +77,4 @@ WMVNCView.Install AOS "a" 5000 0 0 512 512 ~
 WMVNCView.Uninstall ~
 VNC.Open 127.0.0.1 "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
 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 ~
-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
 ~
 ~

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

@@ -347,7 +347,7 @@ EnetEmacPs7.AllowZeroPhyAddr = [TRUE,TRUE];
 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 --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
 ~
 ~
@@ -356,4 +356,4 @@ Release.Build -l -f=ARM.Release.Tool --only="Kernel System Enet Shell" ZynqMinos
 
 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.DeleteFiles build/* ~
 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
 ~
 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'
 	--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
 ~
 
@@ -266,4 +266,4 @@ Partitions.FileToPartition PhysicalDrive1#0 build/TE0726.ZynqA2.img 0 819200 ~
 #
 # 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)
 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
 
 		(* NEW *)

+ 6 - 6
ARM/USB/Release.Tool

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

+ 2 - 2
ARM/USB/UsbTdAllocatorTest.Mod

@@ -64,7 +64,7 @@ END UsbTdAllocatorTest.
 
 UsbTdAllocatorTest.Benchmark ~
 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/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.DeleteFiles build/* ~
 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
 ~
 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'
 	--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
 ~
 
@@ -267,5 +267,5 @@ Partitions.FileToPartition PhysicalDrive1#0 build/Zedboard.ZynqA2.img 0 819200 ~
 #
 # 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.DeleteFiles build/* ~
 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
 ~
 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'
 	--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
 ~
 
@@ -284,4 +284,4 @@ Partitions.FileToPartition PhysicalDrive1#0 build/Zybo.ZynqA2.img 0 819200 ~
 #
 # 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);
 
 	(* 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("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;
 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 **
 
 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 
 	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 
@@ -44,7 +44,7 @@ Linker.Link
 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 ~
 ~
 
@@ -65,7 +65,7 @@ Linker.Link --fileName=E:/felix.svn/qemu/disk/A2Loader.efi --fileFormat=EFI64 --
 ** Kernel Image **
 	
 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 
 	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 

+ 0 - 1
source/FoxARMBackend.Mod

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

+ 53 - 179
source/FoxIntermediateBackend.Mod

@@ -439,7 +439,7 @@ TYPE
 					END;
 				ELSE
 					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);
 					END;
 					size := ToMemoryUnits(system,system.SizeOf(x.type)) - lastUpdated;	
@@ -955,7 +955,7 @@ TYPE
 			ir := implementationVisitor.NewSection(module.allSections, Sections.InitCodeSection, name,procedure,dump);
 			ir.SetExported(TRUE);
 			Global.GetSymbolSegmentedName (bodyProcedure,name);
-			IF (backend.newObjectFile OR backend.cooperative) & ~meta.simple THEN
+			IF ~meta.simple THEN
 				implementationVisitor.currentScope := module.module.moduleScope;
 				implementationVisitor.section := ir;
 				implementationVisitor.PushSelfPointer();
@@ -1039,26 +1039,14 @@ TYPE
 				module.imports.AddName(idstr);
 				import := import.nextImport
 			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.moduleScope := x.moduleScope;
 			implementationVisitor.moduleSelf := moduleSelf;
 			implementationVisitor.canBeLoaded := TRUE;
 			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 ? *)
 			END;
 
@@ -1387,7 +1375,6 @@ TYPE
 		inData: BOOLEAN;  (* to prevent indirect reference to data within data sections, cf. VisitIntegerValue *)
 		emitLabels: BOOLEAN;
 		builtinsModuleName : SyntaxTree.IdentifierString;
-		newObjectFile: BOOLEAN;
 		indexCounter: LONGINT;
 
 		profile: BOOLEAN;
@@ -1414,8 +1401,7 @@ TYPE
 		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
 			SELF.system := system;
 			SELF.builtinsModuleName := runtime;
@@ -1458,7 +1444,6 @@ TYPE
 			IntermediateCode.InitImmediate(false,bool,0);
 			IntermediateCode.InitImmediate(true,bool,1);
 
-			SELF.newObjectFile := newObjectFile;
 			indexCounter := 0;
 			NEW(registerUsageCount);
 			usedRegisters := NIL;
@@ -2473,9 +2458,6 @@ TYPE
 				*)
 				ReuseCopy(left,tag);
 				right := TypeDescriptorAdr(type);
-				IF ~newObjectFile THEN
-					IntermediateCode.MakeMemory(right,addressType);
-				END;
 				
 				IF backend.cooperative THEN
 		 			repeatL := NewLabel();
@@ -3063,7 +3045,6 @@ TYPE
 					base := StaticArrayBaseType(type);
 					Symbol(symbol, operand);
 					arg := TypeDescriptorAdr(base);
-					IF ~newObjectFile THEN IntermediateCode.MakeMemory(arg, addressType) END;
 					Emit(Push(position,operand.op));
 					Emit(Push(position,arg));
 					Emit(Push(position,IntermediateCode.Immediate(addressType,size)));
@@ -3079,7 +3060,6 @@ TYPE
 					Symbol(symbol, operand);
 
 					arg := TypeDescriptorAdr(base);
-					IF ~newObjectFile THEN IntermediateCode.MakeMemory(arg, addressType) END;
 
 					Emit(Push(position,operand.op));
 					Emit(Push(position,arg));
@@ -4387,9 +4367,6 @@ TYPE
 			IF (resultingType IS SyntaxTree.RecordType) & (resultingType(SyntaxTree.RecordType).pointerType = NIL) THEN
 				ReleaseIntermediateOperand(result.tag);
 				result.tag := TypeDescriptorAdr(resultingType);
-				IF ~newObjectFile THEN
-					IntermediateCode.MakeMemory(result.tag,addressType);
-				END;
 
 			ELSIF IsDelegate(resultingType) THEN
 				ReleaseIntermediateOperand(result.tag);
@@ -4666,9 +4643,6 @@ TYPE
 			IF (type IS SyntaxTree.RecordType) & (type(SyntaxTree.RecordType).pointerType = NIL) THEN
 				ReleaseIntermediateOperand(result.tag);
 				result.tag := TypeDescriptorAdr(type);
-				IF ~newObjectFile THEN
-					IntermediateCode.MakeMemory(result.tag,addressType);
-				END
 			ELSIF IsDelegate(type) THEN
 				ReleaseIntermediateOperand(result.tag);
 				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 *)
 							recordType := formalParameter.type.resolved(SyntaxTree.PointerType).pointerBase.resolved(SyntaxTree.RecordType);
 							arg := TypeDescriptorAdr(recordType);
-							IF ~newObjectFile THEN IntermediateCode.MakeMemory(arg, addressType) END;
 							Emit(Push(position,arg));
 						ELSE
 							(* push 'NonPointer' *)
@@ -6295,41 +6268,25 @@ TYPE
 					ASSERT(td # NIL);
 				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
+					source := NewSection(module.importedSections, Sections.ConstSection,name,td,commentPrintout # NIL);
+				END;
+				IF backend.cooperative OR meta.simple THEN
 					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
-						name := source.name;
+						offset := ToMemoryUnits(system,meta.GetTypeRecordBaseOffset(x(SyntaxTree.RecordType).recordScope.numberMethods)*system.addressSize);
 					END;
 				END;
 				RETURN td
@@ -6345,13 +6302,9 @@ TYPE
 				source := GetBackendType(t);
 			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);
 			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 *)
 					recordType := type.resolved(SyntaxTree.PointerType).pointerBase.resolved(SyntaxTree.RecordType);
 					arg := TypeDescriptorAdr(recordType);
-					IF ~newObjectFile THEN IntermediateCode.MakeMemory(arg, addressType) END;
 				ELSE
 					(* non-pointer to record type: push fingerprint *)
 					(* IF dump # NIL THEN dump.String("push fingerprint"); dump.Ln; dump.Update END; *) (* TENTATIVE *)
@@ -7293,9 +7245,6 @@ TYPE
 			Emit(Push(position,op.op));
 			(* push type descriptor *)
 			reg := TypeDescriptorAdr(type);
-			IF ~newObjectFile THEN
-				IntermediateCode.MakeMemory(reg,addressType);
-			END;
 			Emit(Push(position,reg));
 			ReleaseIntermediateOperand(reg);
 			(* push realtime flag: false by default *)
@@ -7816,9 +7765,6 @@ TYPE
 						type := type.resolved(SyntaxTree.PointerType).pointerBase;
 					END;
 					op := TypeDescriptorAdr(type.resolved);
-					IF ~newObjectFile THEN
-						IntermediateCode.MakeMemory(op,addressType);
-					END;
 					Emit(Push(position,op));
 				END
 			END PushTD;
@@ -8279,9 +8225,6 @@ TYPE
 
 						(* push type descriptor *)
 						reg := TypeDescriptorAdr(recordType);
-						IF ~newObjectFile THEN
-							IntermediateCode.MakeMemory(reg,addressType);
-						END;
 						Emit(Push(position,reg));
 						ReleaseIntermediateOperand(reg);
 
@@ -8415,9 +8358,6 @@ TYPE
 						END;
 						IF SemanticChecker.ContainsPointer(type) THEN
 							tmp := TypeDescriptorAdr(type);
-							IF ~newObjectFile THEN
-								IntermediateCode.MakeMemory(tmp,addressType);
-							END;
 						ELSE
 							tmp := nil;
 						END;
@@ -8570,9 +8510,6 @@ TYPE
 								ReleaseOperand(l);
 
 								tmp := TypeDescriptorAdr(type);
-								IF ~newObjectFile THEN
-									IntermediateCode.MakeMemory(tmp,addressType);
-								END;
 								Emit(Push(position,tmp)); (* type descriptor *)
 								ReleaseIntermediateOperand(tmp);
 
@@ -8670,9 +8607,6 @@ TYPE
 							(* *)
 							IF SemanticChecker.ContainsPointer(type) THEN
 								tmp := TypeDescriptorAdr(type);
-								IF ~newObjectFile THEN
-									IntermediateCode.MakeMemory(tmp,addressType);
-								END;
 							ELSE
 								tmp := IntermediateCode.Immediate(addressType, 0);
 							END;
@@ -8745,9 +8679,6 @@ TYPE
 
 						IF SemanticChecker.ContainsPointer(baseType) THEN
 							tmp := TypeDescriptorAdr(baseType);
-							IF ~newObjectFile THEN
-								IntermediateCode.MakeMemory(tmp,addressType);
-							END;
 						ELSE
 							tmp := nil;
 						END;
@@ -8792,9 +8723,6 @@ TYPE
 					
 					(* push type descriptor *)
 					reg := TypeDescriptorAdr(baseType);
-					IF ~newObjectFile THEN
-						IntermediateCode.MakeMemory(reg,addressType);
-					END;
 					Emit(Push(position,reg));
 					ReleaseIntermediateOperand(reg);
 
@@ -9051,9 +8979,6 @@ TYPE
 					IF (type IS SyntaxTree.RecordType) THEN
 						ReleaseIntermediateOperand(s1.tag);
 						s1.tag := TypeDescriptorAdr(type);
-						IF ~newObjectFile THEN
-							IntermediateCode.MakeMemory(s1.tag,addressType);
-						END;
 						UseIntermediateOperand(s1.tag);
 					END;
 					result := s1;
@@ -9195,10 +9120,7 @@ TYPE
 					type := type.resolved(SyntaxTree.PointerType).pointerBase;
 				END;
 				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;
 			(* ---- SYSTEM.TRACE ----- *)
 			|Global.systemTrace:
@@ -9394,9 +9316,6 @@ TYPE
 				IF isUnsafe & ((type = NIL) OR ~type(SyntaxTree.RecordType).isObject) THEN
 					ReleaseIntermediateOperand(operand.tag);
 					operand.tag := TypeDescriptorAdr(type);
-					IF ~newObjectFile THEN
-						IntermediateCode.MakeMemory(operand.tag,addressType);
-					END;
 				ELSE
 					IF ~backend.cooperative THEN
 						IntermediateCode.AddOffset(operand.tag,ToMemoryUnits(system,-addressType.sizeInBits));
@@ -9489,19 +9408,14 @@ TYPE
 				scope := scope.outerScope;
 			END;
 			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
-					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
 				result.mode := ModeValue;
 				Global.GetSymbolSegmentedName(scope.outerScope(SyntaxTree.CellScope).ownerCell.typeDeclaration, name);
@@ -9631,7 +9545,7 @@ TYPE
 			IF ~TryConstantDeclaration() THEN
 				IF constantDeclaration = NIL THEN constantDeclaration:=BuildConstant(module.module,x,constId) END;
 				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);
 				ELSE
 					irv := NewSection(module.importedSections, Sections.ConstSection, name,constantDeclaration,commentPrintout # NIL);
@@ -9692,7 +9606,7 @@ TYPE
 			IF ~TryConstantDeclaration() THEN
 				IF constantDeclaration = NIL THEN constantDeclaration:=BuildConstant(module.module,x,constId) END;
 				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);
 				ELSE
 					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
 				ReleaseIntermediateOperand(result.tag);
 				result.tag := TypeDescriptorAdr(type);
-				IF ~newObjectFile THEN
-					IntermediateCode.MakeMemory(result.tag,addressType);
-				END;
 				UseIntermediateOperand(result.tag);
 			(* tag for pointer type computed not here but during dereferencing *)
 			END;
@@ -9970,9 +9881,6 @@ TYPE
 			ELSIF (type IS SyntaxTree.RecordType) & (type(SyntaxTree.RecordType).pointerType= NIL) & ((x.kind = SyntaxTree.ValueParameter) OR x.selfParameter) THEN
 				ReleaseIntermediateOperand(result.tag);
 				result.tag := TypeDescriptorAdr(type);
-				IF ~newObjectFile THEN
-					IntermediateCode.MakeMemory(result.tag,addressType);
-				END;
 				UseIntermediateOperand(result.tag);
 			END;
 			IF Trace THEN TraceExit("VisitParameter") END;
@@ -10302,7 +10210,6 @@ TYPE
 					ReleaseOperand(leftO);
 					
 					arg := TypeDescriptorAdr(base);
-					IF ~newObjectFile THEN IntermediateCode.MakeMemory(arg, addressType) END;
 					Emit(Push(position,arg));
 
 					Emit(Push(position,IntermediateCode.Immediate(addressType,size)));
@@ -10318,7 +10225,6 @@ TYPE
 					ReleaseOperand(leftO);
 					
 					arg := TypeDescriptorAdr(base);
-					IF ~newObjectFile THEN IntermediateCode.MakeMemory(arg, addressType) END;
 					Emit(Push(position,arg));
 
 					Emit(Push(position,IntermediateCode.Immediate(addressType,size)));
@@ -11083,18 +10989,13 @@ TYPE
 				scope := scope.outerScope;
 			END;
 			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
-					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;
+				op.op := IntermediateCode.Address(addressType, moduleSection.name, GetFingerprint(moduleSection.symbol), moduleOffset);
 			ELSE
 				GetBaseRegister(op.op,currentScope,scope);
 				procedure := scope(SyntaxTree.ProcedureScope).ownerProcedure;
@@ -11454,9 +11355,6 @@ TYPE
 				END;
 
 				section.SetPositionOrAlignment(procedure.fixed, procedure.alignment);
-				IF moduleBody & ~newObjectFile THEN
-					InitVariables(moduleScope)
-				END;
 				IF (scope.outerScope # NIL) & (scope.outerScope IS SyntaxTree.CellScope) THEN
 					cellScope := scope.outerScope(SyntaxTree.CellScope);
 					IF procedure = cellScope.bodyProcedure THEN
@@ -11583,7 +11481,7 @@ TYPE
 			SELF.module := module;
 			Global.GetModuleName(module.module,moduleName);
 			Global.GetSymbolSegmentedName(module.module, name);
-			IF ReflectionSupport &  implementationVisitor.newObjectFile & ~simple & ~implementationVisitor.backend.cooperative THEN 
+			IF ReflectionSupport & ~simple & ~implementationVisitor.backend.cooperative THEN 
 				NEW(moduleNamePool, 32);
 				(*! require GC protection *)
 				modulePointerSection := Block("Heaps","ArrayBlockDesc",".@ModulePointerArray", modulePointerSectionOffset);
@@ -13205,7 +13103,6 @@ TYPE
 			moduleSection: IntermediateCode.Section; offset: LONGINT; pooledName: Basic.SegmentedName;
 			symbol: SyntaxTree.Symbol;
 		BEGIN
-			ASSERT(implementationVisitor.backend.newObjectFile);
 			Global.GetModuleName(module.module,name);
 			Strings.Append(name,".@Module");
 			Basic.ToSegmentedName(name, pooledName);
@@ -13391,7 +13288,7 @@ TYPE
 		
 		PROCEDURE PatchCRC(crc: LONGINT);
 		BEGIN
-			IF implementationVisitor.newObjectFile & ~simple THEN
+			IF ~simple THEN
 				PatchLongint(ModuleSection(), patchCRC, crc);
 			END;
 		END PatchCRC;
@@ -13449,7 +13346,6 @@ TYPE
 				name: Basic.SegmentedName;
 				section: IntermediateCode.Section;
 			BEGIN
-					ASSERT(implementationVisitor.newObjectFile);
 					Global.GetSymbolSegmentedName(symbol,name);
 					Basic.AppendToSegmentedName(name,suffix);
 
@@ -13827,19 +13723,8 @@ TYPE
 
 				section := module.allSections.FindBySymbol(td); (* TODO *)
 				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;
 			ELSIF (x IS SyntaxTree.CellType) & implementationVisitor.backend.cellsAreObjects THEN
@@ -13847,10 +13732,8 @@ TYPE
 				td := x.typeDeclaration;
 				section := module.allSections.FindBySymbol(td); (* TODO *)
 				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
@@ -13864,7 +13747,6 @@ TYPE
 		trace-: BOOLEAN;
 		traceString-: SyntaxTree.IdentifierString;
 		traceModuleName-: SyntaxTree.IdentifierString;
-		newObjectFile-: BOOLEAN;
 		profile-: BOOLEAN;
 		noRuntimeChecks: BOOLEAN;
 		simpleMetaData-: BOOLEAN;
@@ -13881,7 +13763,6 @@ TYPE
 		PROCEDURE &InitIntermediateBackend*;
 		BEGIN
 			simpleMetaData := FALSE;
-			newObjectFile := FALSE;
 			InitBackend;
 			SetBuiltinsModuleName(DefaultBuiltinsModuleName);
 			SetTraceModuleName(DefaultTraceModuleName);
@@ -13916,25 +13797,23 @@ TYPE
 			Global.GetModuleName(x, 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(meta, implementationVisitor, declarationVisitor,simpleMetaData);
 			declarationVisitor.Module(x,module);
 
-			IF newObjectFile & ~meta.simple THEN
+			IF ~meta.simple THEN
 				meta.Module(implementationVisitor.moduleBodySection);
 			END;
 
 			GetDescription(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
 		END GenerateIntermediate;
@@ -13973,11 +13852,10 @@ TYPE
 		BEGIN instructionSet := "Intermediate";
 		END GetDescription;
 
-		PROCEDURE SetNewObjectFile*(newObjectFile: BOOLEAN; simpleMetaData: BOOLEAN);
+		PROCEDURE SetSimpleMetaData*(simpleMetaData: BOOLEAN);
 		BEGIN
-			SELF.newObjectFile := newObjectFile;
 			SELF.simpleMetaData := simpleMetaData;
-		END SetNewObjectFile;
+		END SetSimpleMetaData;
 
 		PROCEDURE SetTraceModuleName(CONST name: ARRAY OF CHAR);
 		BEGIN COPY(name, traceModuleName)
@@ -13988,7 +13866,6 @@ TYPE
 			DefineOptions^(options);
 			options.Add(0X,"trace",Options.String);
 			options.Add(0X,"builtinsModule",Options.String);
-			options.Add(0X,"newObjectFile",Options.Flag);
 			options.Add(0X,"traceModule",Options.String);
 			options.Add(0X,"profile",Options.Flag);
 			options.Add(0X,"noRuntimeChecks",Options.Flag);
@@ -14012,9 +13889,6 @@ TYPE
 			noRuntimeChecks := options.GetFlag("noRuntimeChecks");
 			noAsserts := options.GetFlag("noAsserts");
 			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 
 				simpleMetaData := TRUE
 			END;

+ 1 - 1
source/FoxTRMBackend.Mod

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

+ 1 - 1
source/GenericLinker.Mod

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

+ 4 - 4
source/Release.Tool

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

+ 1 - 1
source/Windows.StdIO.Mod

@@ -66,7 +66,7 @@ END  StdIO.
 
 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 
 		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