aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/libc.so.conf33
1 files changed, 26 insertions, 7 deletions
diff --git a/etc/libc.so.conf b/etc/libc.so.conf
index 669c50a..48b3b01 100644
--- a/etc/libc.so.conf
+++ b/etc/libc.so.conf
@@ -1,5 +1,12 @@
# See ltrace.conf(5) for description of syntax of this file.
+# XXX ltrace misses long double and long long support
+typedef ldouble = double;
+typedef llong = long;
+typedef ullong = ulong;
+
+void __libc_start_main(hide(void*), hide(int), array(string, arg2));
+
# arpa/inet.h
typedef in_addr = struct(hex(uint));
int inet_aton(string, +in_addr*);
@@ -233,9 +240,22 @@ void setbuffer(file,addr,ulong);
void setlinebuf(file);
int rename(string,string);
+# xlocale.h
+typedef locale_t = void*;
+locale_t newlocale(hex(int), string, locale_t);
+
# stdlib.h
-long __strtol_internal(string,addr,int);
-ulong __strtoul_internal(string,addr,int);
+long __strtol_internal(string, +string*, int);
+ulong __strtoul_internal(string, +string*, int);
+
+double strtod(string, +string*);
+float strtof(string, +string*);
+ldouble strtold(string, +string*);
+
+double strtod_l(string, +string*, locale_t);
+float strtof_l(string, +string*, locale_t);
+ldouble strtold_l(string, +string*, locale_t);
+
int atexit(addr);
addr bsearch(string, addr, ulong, ulong, addr);
addr calloc(ulong, ulong);
@@ -343,6 +363,10 @@ addr gmtime(addr);
addr localtime(addr);
ulong strftime(+string2,ulong,string,addr);
long time(addr);
+# XXX in fact (time_t, long), which may be (llong, long) on 32-bit
+# arches. We don't have llong as of this writing.
+typedef timespec = struct(long, long);
+int nanosleep(timespec*, timespec*);
# unistd.h
void _exit(int);
@@ -482,11 +506,6 @@ wstring_t wcstok(wstring_t, wstring_t, +wstring_t*);
ulong wcsftime(+wstring2_t, ulong, wstring_t, addr);
-# XXX ltrace misses long double and long long support
-typedef ldouble = double;
-typedef llong = long;
-typedef ullong = ulong;
-
double wcstod(wstring_t, +wstring_t*);
float wcstof(wstring_t, +wstring_t*);
ldouble wcstold(wstring_t, +wstring_t*);