aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralon@honor <none@none>2010-09-30 21:26:03 -0700
committeralon@honor <none@none>2010-09-30 21:26:03 -0700
commitc6a3fcbbe4b95bb3312d919c2be68e4dee7e5f14 (patch)
tree6599f172203f2a3d9e4a48dea12c18f9dd8f2611
parentcbea94c15230599f0f909329783e08f6713e766c (diff)
library additions
-rw-r--r--src/library.js30
1 files changed, 28 insertions, 2 deletions
diff --git a/src/library.js b/src/library.js
index 9ad35fab..f25d4a9c 100644
--- a/src/library.js
+++ b/src/library.js
@@ -18,8 +18,6 @@ var Library = {
__print__('\n');
},
- // ?
-
vsnprintf: function(dst, num, src, ptr) {
var args = Array_copy(ptr+1, HEAP[ptr]); // # of args in in first place
var text = __formatString.apply(null, [src].concat(args));
@@ -29,6 +27,8 @@ var Library = {
}
},
+ // stdlib.h
+
atexit: function(func) {
__ATEXIT__.push(func);
},
@@ -120,6 +120,7 @@ var Library = {
},
// Threading stuff LLVM adds sometimes
+
__cxa_guard_acquire: function() {
return 0;
},
@@ -138,6 +139,7 @@ var Library = {
},
// iostream
+
_ZNSt8ios_base4InitC1Ev: function() {
// need valid 'file descriptors'
__ZSt4cout = 1;
@@ -162,10 +164,34 @@ var Library = {
},
// math.h
+
cos: function(x) { return Math.cos(x) },
sin: function(x) { return Math.sin(x) },
sqrt: function(x) { return Math.sqrt(x) },
llvm_sqrt_f64: 'sqrt',
+
+ // unistd.h
+
+ sysconf: function(name_) {
+ switch(name_) {
+ case 30: return 4096; // _SC_PAGE_SIZE
+ default: throw 'unknown sysconf param: ' + name_;
+ }
+ },
+
+ sbrk: function(bytes) {
+ return unfreeableMalloc(bytes);
+ },
+
+ // time.h
+
+ time: function(ptr) {
+ var ret = Math.floor(Date.now()/1000);
+ if (ptr) {
+ HEAP[ptr] = ret;
+ }
+ return ret;
+ },
};
load('library_sdl.js');