aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Machata <pmachata@apm-mustang-ev2-02.ml3.eng.bos.redhat.com>2014-02-04 21:31:07 -0500
committerPetr Machata <pmachata@redhat.com>2014-02-05 03:32:36 +0100
commit0bb3f397f7e2cb9bafec4e37623d3b11bcb6a411 (patch)
tree9b167ce256de6ca4337caec67ddeb2f0cc382d33
parentd98848395e879d7ccb9940d4d50be2439c9d378d (diff)
downloadltrace-0bb3f397f7e2cb9bafec4e37623d3b11bcb6a411.tar.gz
Add some stuff to libc.so.conf
-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*);