David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								bb15c03339 
								
							 
						 
						
							
							
								
								Remember to preserve input registers if we're going to be reading from them  
							
							... 
							
							
							
							after writing to the output register. 
							
						 
						
							2018-09-09 18:53:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								e88670dad4 
								
							 
						 
						
							
							
								
								Yikes! Turns out that FPU registers are only 32 bits wide, and doubles are  
							
							... 
							
							
							
							stored in pairs, just like on the PowerPC! 
							
						 
						
							2018-09-09 18:25:00 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								ec46643124 
								
							 
						 
						
							
							
								
								Allow the ELF processor flags to be set. Generate MIPS ELF executables, not  
							
							... 
							
							
							
							PowerPC ones. 
							
						 
						
							2018-09-09 14:29:34 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								5dfef6f180 
								
							 
						 
						
							
							
								
								Rework relocations again: add RELO2HI and RELO2HISAD for the high two bytes of  
							
							... 
							
							
							
							a word. 
							
						 
						
							2018-09-09 14:11:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								95dd6f0141 
								
							 
						 
						
							
							
								
								Fix some niggling issues --- we have our first binary now!  
							
							
							
						 
						
							2018-09-09 12:24:22 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								b3b7c684c6 
								
							 
						 
						
							
							
								
								Simplify MIPS relocations. Add RELS2 (for generic high-word relocations). Add  
							
							... 
							
							
							
							support for MIPS branch-and-jump relocations. 
							
						 
						
							2018-09-09 12:23:59 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								0d8d98fd0f 
								
							 
						 
						
							
							
								
								Warning fix.  
							
							
							
						 
						
							2018-09-09 12:22:59 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								d2a1d4dcda 
								
							 
						 
						
							
							
								
								Added some very untested csa and csb implementations, based on the PowerPC  
							
							... 
							
							
							
							ones. 
							
						 
						
							2018-09-08 23:12:57 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								75308901bc 
								
							 
						 
						
							
							
								
								Added hi[] and lo[] functions to the assembler; fix things enough that we now  
							
							... 
							
							
							
							get to the point of failing to link programs. 
							
						 
						
							2018-09-08 22:42:06 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								379c1a4a3c 
								
							 
						 
						
							
							
								
								Rework floating point conversion. Bash enough of the table into workingness  
							
							... 
							
							
							
							that the libraries build now. 
							
						 
						
							2018-09-08 22:06:38 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								d2c14ca44f 
								
							 
						 
						
							
							
								
								Precisely one stack hreg gets allocated for each vreg/congruence group for  
							
							... 
							
							
							
							eviction; this prevents us from having to worry about moving values from stack
slot to stack slot, which is hard. 
							
						 
						
							2018-09-08 18:59:55 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								b7a1c96986 
								
							 
						 
						
							
							
								
								MIPS appears to hate converting unsigneds to floats and vice versa.  
							
							
							
						 
						
							2018-09-05 23:53:38 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								fc0b0ae178 
								
							 
						 
						
							
							
								
								(Slightly) better errors on phi congruence group mismatches.  
							
							
							
						 
						
							2018-09-05 23:53:08 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								7fbce066f8 
								
							 
						 
						
							
							
								
								We attempt to compile the first library function; we fail.  
							
							
							
						 
						
							2018-09-05 00:13:01 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								26fe3f7530 
								
							 
						 
						
							
							
								
								Added library skeletons.  
							
							
							
						 
						
							2018-09-05 00:07:07 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								98afb42095 
								
							 
						 
						
							
							
								
								Added a boot.o based on the PowerPC one.  
							
							
							
						 
						
							2018-09-05 00:00:13 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								26c0228b14 
								
							 
						 
						
							
							
								
								The examples all compile now (probably incorrectly, and the libc doesn't  
							
							... 
							
							
							
							compile yet). 
							
						 
						
							2018-09-04 23:55:28 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								9d80756253 
								
							 
						 
						
							
							
								
								Lots of assembler and rule bugfixing.  
							
							
							
						 
						
							2018-09-04 23:43:24 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								fe5ca5a85f 
								
							 
						 
						
							
							
								
								Added li and la instructions.  
							
							
							
						 
						
							2018-09-03 22:47:41 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								26f9b4ceae 
								
							 
						 
						
							
							
								
								Add in floating point support to the code generator.  
							
							
							
						 
						
							2018-09-03 22:06:05 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								83cf1be6a8 
								
							 
						 
						
							
							
								
								mcgg now checks that registers have at most one type attribute set.  
							
							
							
						 
						
							2018-09-03 22:03:57 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								f8e71d888b 
								
							 
						 
						
							
							
								
								Add some painfully untested FPU instructions.  
							
							
							
						 
						
							2018-09-02 21:36:09 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								1d6ecddcf4 
								
							 
						 
						
							
							
								
								The MIPS backend is still full of holes, and cut-and-pasted PowerPC code, but  
							
							... 
							
							
							
							is beginning to look like an actual code generator. 
							
						 
						
							2018-09-02 18:57:25 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								a023fd8591 
								
							 
						 
						
							
							
								
								Better error reporting for unterminated strings.  
							
							
							
						 
						
							2018-09-02 18:55:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								4741ed8e14 
								
							 
						 
						
							
							
								
								Add a completely non-tested table-based MIPS assembler.  
							
							
							
						 
						
							2018-09-01 19:35:31 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								8d321900b4 
								
							 
						 
						
							
							
								
								Merge pull request  #110  from davidgiven/dtrg-warnings  
							
							... 
							
							
							
							Fix warnings and convert the Modula-2 library to ANSI C. 
							
						 
						
							2018-06-25 22:29:47 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								7971bdba5a 
								
							 
						 
						
							
							
								
								Warning-fixed and ansified the Modula-2 library.  
							
							
							
						 
						
							2018-06-25 22:22:37 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								f8ba7ef962 
								
							 
						 
						
							
							
								
								Move the Modula-2 library includes into a directory in lang/m2 where they belong.  
							
							
							
						 
						
							2018-06-24 20:32:59 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								aa19c08512 
								
							 
						 
						
							
							
								
								Merge pull request  #109  from davidgiven/dtrg-warnings  
							
							... 
							
							
							
							Rework the Linux include directories. 
							
						 
						
							2018-06-24 20:03:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								ab7002c0ee 
								
							 
						 
						
							
							
								
								All the Linux include directories are the same, so common them all out into a  
							
							... 
							
							
							
							single one, like OSX. 
							
						 
						
							2018-06-24 19:57:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								47bdd9cc49 
								
							 
						 
						
							
							
								
								Merge pull request  #108  from davidgiven/dtrg-warnings  
							
							... 
							
							
							
							Warning-fix and protoise the basic library. 
							
						 
						
							2018-06-24 01:00:30 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								1702d873ea 
								
							 
						 
						
							
							
								
								Warning-fix and protoise the basic library.  
							
							
							
						 
						
							2018-06-24 00:35:51 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a6742a7d55 
								
							 
						 
						
							
							
								
								Merge pull request  #107  from davidgiven/dtrg-libc  
							
							... 
							
							
							
							OpenBSD fixes 
							
						 
						
							2018-06-24 00:21:29 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								bbb98240fe 
								
							 
						 
						
							
							
								
								Merge from trunk.  
							
							
							
						 
						
							2018-06-24 00:08:39 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								f45b357740 
								
							 
						 
						
							
							
								
								Remove the dependency on the glibc-only byteswap.h.  
							
							
							
						 
						
							2018-06-24 00:01:06 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								1fc20e90c0 
								
							 
						 
						
							
							
								
								Remove c99-isms.  
							
							
							
						 
						
							2018-06-23 23:56:34 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								205c8d0a35 
								
							 
						 
						
							
							
								
								Run through clang-format.  
							
							
							
						 
						
							2018-06-23 23:46:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								91a978fa95 
								
							 
						 
						
							
							
								
								Merge pull request  #106  from davidgiven/dtrg-libc  
							
							... 
							
							
							
							Refactor the libc 
							
						 
						
							2018-06-23 23:28:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								fd94e219d4 
								
							 
						 
						
							
							
								
								Remove the attic.  
							
							
							
						 
						
							2018-06-23 23:16:22 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								59dbdea48a 
								
							 
						 
						
							
							
								
								Move mktemp to sys; attic getgrent as noone will ever use this.  
							
							
							
						 
						
							2018-06-23 23:15:42 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								3f10299f43 
								
							 
						 
						
							
							
								
								Move the portable time code into core. clock() goes into sys (as it calls  
							
							... 
							
							
							
							times()). 
							
						 
						
							2018-06-23 19:49:29 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								64ae1d7583 
								
							 
						 
						
							
							
								
								Move time() into sys; change the name of the variable which controls it.  
							
							
							
						 
						
							2018-06-23 19:40:50 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								bb78fd158c 
								
							 
						 
						
							
							
								
								Move the big gnarly functions like system() and popen() into sys, and make them  
							
							... 
							
							
							
							build. 
							
						 
						
							2018-06-23 19:18:16 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								6a729b846a 
								
							 
						 
						
							
							
								
								Move stdio into (mostly) sys.  
							
							
							
						 
						
							2018-06-23 18:54:40 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								af22b7ea85 
								
							 
						 
						
							
							
								
								Change stdio to use atexit() rather than the internal __clean variable; this  
							
							... 
							
							
							
							breaks the dependency between exit/atexit and stdio. Buffers are no longer
flushed on abort() (because it's pretty risky). Move the relevant functions
into sys/core. 
							
						 
						
							2018-06-23 18:35:45 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								f744a21699 
								
							 
						 
						
							
							
								
								All the opendir()/readdir() stuff is obsolete because it's all implemented in  
							
							... 
							
							
							
							terms of open() and read(), which isn't how it's done any more; move the
functions into an attic. 
							
						 
						
							2018-06-23 18:25:26 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								df1cdf7762 
								
							 
						 
						
							
							
								
								Add the sys directory for libc functions which use system calls; move the  
							
							... 
							
							
							
							malloc functions in there. 
							
						 
						
							2018-06-23 18:08:03 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								c4e4505a73 
								
							 
						 
						
							
							
								
								Move the errno functions into core.  
							
							
							
						 
						
							2018-06-23 17:52:15 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								538eefb573 
								
							 
						 
						
							
							
								
								Get em22 working. Remove the leading-underscore system calls from its libsys.  
							
							
							
						 
						
							2018-06-23 15:57:57 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								74d166ef9a 
								
							 
						 
						
							
							
								
								Get the pdp7 plat working; remove the leading-underscore syscalls.  
							
							
							
						 
						
							2018-06-23 15:18:26 +02:00