ino64 status report 1

Gleb Kurtsou gleb.kurtsou at gmail.com
Tue May 31 16:03:26 UTC 2011


I've spent last week adding C-like pretty printing to shlib-compat and
making DIR opaque struct pointer to prevent misuse and ensure ABI
compatibility.

shlib-compat is a python script to verify ABI compatibility between
shared libraries with symbol versioning. It can parse and compare
compiled libc.so.7, although dwarfdump has to be patched first.

Comparison results diff looks like this:

--- o1.c	2011-05-31 18:24:34.613950446 +0300
+++ o2.c	2011-05-31 18:24:34.617961849 +0300
@@ -1,49 +1,49 @@
 
-// Symbol dump: version TEST_1.0, library libtest1/libtest1.so
+// Symbol dump: version TEST_1.0, library libtest3/libtest3.so
 struct s1 {
 	int32_t f1_int;
 	char *f2_str;
 	int16_t f3_short;
 	uint64_t f4_uint64;
 	int64_t f5_intmax;
 	void *f6_ptr;
 };
 
 struct s2 {
-	char[30] f1_buf;
+	char[20] f1_buf;
 	struct s1 *f2_s1;
 };
 
 struct s3 {
 	struct s1 f1_s1;
 	uint32_t f2_int32;
 };
 
 /* func1 at TEST_1.0 */ int32_t func1(int32_t a, int32_t b);
 
 /* func2 at TEST_1.0 */ int32_t func2(int64_t a, uint64_t b);
 
 /* func3 at TEST_1.0 */ void func3(struct s1 *s);
 
 /* func4 at TEST_1.0 */ void func4(struct s1 s);
 
 /* func5 at TEST_1.0 */ int32_t func5(int32_t a, void *b, struct s2 *s);
 
-/* func6 at TEST_1.0 */ int32_t func6(char a, struct s3 *s);
+/* func6 at TEST_1.0 */ int32_t func6__compat(char a, struct s3 *s);
 
-// Definitions mismatch: func5 at TEST_1.0 libtest1/libtest1.so
+// Definitions mismatch: func5 at TEST_1.0 libtest3/libtest3.so
 struct s1 {
 	int32_t f1_int;
 	char *f2_str;
 	int16_t f3_short;
 	uint64_t f4_uint64;
 	int64_t f5_intmax;
 	void *f6_ptr;
 };
 
 struct s2 {
-	char[30] f1_buf;
+	char[20] f1_buf;
 	struct s1 *f2_s1;
 };
 
 int32_t func5(int32_t a, void *b, struct s2 *s);


More information about the soc-status mailing list