[MLton] Debian: sparc works

Wesley W. Terpstra terpstra@gkec.tu-darmstadt.de
Wed, 22 Dec 2004 03:19:47 +0100


--IS0zKkzwUGydFO0o
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Dec 21, 2004 at 05:27:24PM -0800, Stephen Weeks wrote:
> > Is it possible to build MLton with less memory somehow?
> 
> You could try building with "-polyvariance false" and/or with a
> smaller inlining threshold, "-inline <n>".
> 
> I doubt the above will shrink stuff enough to fit into any of these.
> But maybe 320.  The right solution is to get the Debian machines with
> at least 512M.  Since a single 512M DIMM costs <$100, perhaps the
> maintainers of these machines would be willing to upgrade them, if
> they are made aware that the current situation causes problems.

Certainly upgrading the memory for the PPC is technically feasible. =)
I'll post to debian-powerpc and see what people have to say.

However, some of these platforms may not be support that much RAM... 
I'm not certain.

> Since you've made it to a stable point, go ahead and send it.
Attached.

A summary of the changes:
	set all gcc invocations to use 'gcc -std=c99'
	no typeof in C99 required changing some macros
	removed the isBigEndian functions since endian is not a function of
		cpu alone - now using a _constant
	changed many 'sparc' things to be solaris
	added variants and script support for all debian platforms
		- platform names and case were choosen to match debian =)
	added #define's to the top of every C file
		- these defines were choosen to minimize the environment
		- all of the 'basis/' is just ISO C99; no posix/etc
		- ... except 'basis/Net/' which adds _BSD_SOURCE
		- the Posix/ is not just posix, it needs bsd also
		- in platform/linux.c and cygwin/mingw I use _GNU_SOURCE... 
		- I set BSD and Solaris to SUSv2, which probably works
	use C99 methods exclusively for floating point control
		- ... except for Real/class.c where nanSignalling is missing
	stdint is used to setup {Int,Word}{8,16,32}
	gcc -std=c99 assembly files use /* ... */ for comments, not #
	getc() returns an int and EOF is not a char, fixed in gc.c
	sigaction and sighandler might not be a union
	signal stack is set to be executable to enable hppa trampolines
	profiling for linux+!i386 is disabled

Please note: by using c99, MLton will require gcc >= 3.0.

-- 
Wesley W. Terpstra

--IS0zKkzwUGydFO0o
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="c99.patch.gz"
Content-Transfer-Encoding: base64

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

--IS0zKkzwUGydFO0o--