1 patch for repository http://repetae.net/repos/jhc: Sun Jul 10 10:51:17 EST 2011 brian@brianmckenna.org * Change RTS to work with ARM EABI (allows NDS, GBA and GP32 targets) New patches: [Change RTS to work with ARM EABI (allows NDS, GBA and GP32 targets) brian@brianmckenna.org**20110710005117 Ignore-this: 7cf0875ee8657684f137e25673a18512 ] hunk ./src/rts/jhc_rts.c 6 #ifdef __WIN32__ A_UNUSED static char *jhc_options_os = "mingw32"; A_UNUSED static char *jhc_options_arch = "i386"; +#elif defined(__ARM_EABI__) +A_UNUSED static char *jhc_options_os = "nds"; +A_UNUSED static char *jhc_options_arch = "ARM"; #else A_UNUSED struct utsname jhc_utsname; A_UNUSED static char *jhc_options_os = "(unknown os)"; hunk ./src/rts/jhc_rts_header.h 15 #include #include #ifndef __WIN32__ +#ifdef __ARM_EABI__ +#include +#else #include hunk ./src/rts/jhc_rts_header.h 19 +#include +#endif #include #include #include hunk ./src/rts/jhc_rts_header.h 24 -#include #else #include #endif hunk ./src/rts/jhc_rts_header.h 117 #define JHC_isBigEndian (__BYTE_ORDER == __BIG_ENDIAN) #endif -#define JHC_isPosix (!JHC_isWindows) +#define JHC_isPosix (!JHC_isWindows && !defined(__ARM_EABI__)) static void _amain(void); hunk ./src/rts/profile.c 48 #endif #ifndef __WIN32__ +#ifndef __ARM_EABI__ void print_times(struct tms *tm) { float cpt = (float)sysconf(_SC_CLK_TCK); fprintf(stderr, "User Time: %.2fs\n", (float)tm->tms_utime/cpt); hunk ./src/rts/profile.c 56 fprintf(stderr, "Total Time: %.2fs\n", (float)(tm->tms_stime + tm->tms_utime)/cpt); } #endif +#endif static void A_COLD jhc_print_profile(void) { hunk ./src/rts/profile.c 73 fprintf(stderr, "Version: %s\n\n", jhc_version); jhc_alloc_print_stats(); #ifndef __WIN32__ +#ifndef __ARM_EABI__ print_times(&tm); #if _JHC_PROFILE print_times(&gc_gc_time.tm_total); hunk ./src/rts/profile.c 80 print_times(&gc_alloc_time.tm_total); #endif #endif +#endif fprintf(stderr, "-----------------\n"); } hunk ./src/rts/slub.c 101 #if defined(__WIN32__) mb->base = _aligned_malloc(MEGABLOCK_SIZE, BLOCK_SIZE); int ret = !mb->base; +#elif defined(__ARM_EABI__) + mb->base = memalign(BLOCK_SIZE,MEGABLOCK_SIZE); + int ret = !mb->base; #elif (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1060) assert(sysconf(_SC_PAGESIZE) == BLOCK_SIZE); mb->base = valloc(MEGABLOCK_SIZE); Context: [add ability to test differnt rts options to the regression tester John Meacham **20110202075527 Ignore-this: a182aa702796d783fbe9e45a1ba6a712 ] [when a type error occurs when dumping core, show the error after dumping the text of the core. John Meacham **20110202072648 Ignore-this: d1db7ce5f0164c44c125f2c4f827ded5 ] [modify jhc-prim John Meacham **20110202061756 Ignore-this: c5cc988a3fbc776b57840f1920d92494 ] [properly perform the float outward optimization on case scrutinees John Meacham **20110131103206 Ignore-this: 148128cbd9d42c02736c8bd6d623a763 ] [cleanups John Meacham **20110131102415 Ignore-this: fa876b1352aa63f667564238a946d06a ] [flip the order of dropped slots (TODO: needs regression test) John Meacham **20110131093428 Ignore-this: ae618e53f951fb480d2c05ad6a36b395 ] [don't treat promote or demote in tail call position as tail call safe John Meacham **20110131061557 Ignore-this: d3f887d2f98df5c7e93bc2de335b5d36 ] [jhc-prim changes John Meacham **20110131060606 Ignore-this: c715ddc556eed049253e89dc9f76c096 ] [respect LIB_OPTIONS when building external libraries John Meacham **20110131093918 Ignore-this: 90f357769832f80cb688556eba716c7 ] [add more context to failing type checks John Meacham **20110131093402 Ignore-this: a96fedb951b5fab89ef43975f452f53e ] [Create proper values for conjured Absured and Box types John Meacham **20110131091932 Ignore-this: 7268db023bcc4dc5ee37de2bb2480c59 ] [make Show instance for E more readable John Meacham **20110131061823 Ignore-this: f9aeec02995ca244555d43e0b3a3beb9 ] [when doing --show-ho on a library, print more info. John Meacham **20110131040545 Ignore-this: b14af67358f625f0db3c1dec68358f4 ] [add deepseq and filepath to the libraries John Meacham **20110131015719 Ignore-this: dbd843a9ae9e7bf2183daf1abfe62c74 ] [TAG 0.7.7 John Meacham **20110130044344 Ignore-this: 820062d6ae4e24c72d1ed89d8519b680 ] Patch bundle hash: d39403c1e28be1d4ffd73868795d54aae29739cf