Add some stuff to libc.so.conf
authorPetr Machata <pmachata@apm-mustang-ev2-02.ml3.eng.bos.redhat.com>
Wed, 5 Feb 2014 02:31:07 +0000 (21:31 -0500)
committerChanho Park <chanho61.park@samsung.com>
Fri, 22 Aug 2014 11:38:25 +0000 (20:38 +0900)
etc/libc.so.conf

index 669c50a..48b3b01 100644 (file)
@@ -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*);