Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 May 2011 18:36:45 +0300
From:      Gleb Kurtsou <gleb.kurtsou@gmail.com>
To:        soc-status@freebsd.org
Subject:   ino64 status report 1
Message-ID:  <20110531153644.GA5461@tops>

next in thread | raw e-mail | index | archive | help
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@TEST_1.0 */ int32_t func1(int32_t a, int32_t b);
 
 /* func2@TEST_1.0 */ int32_t func2(int64_t a, uint64_t b);
 
 /* func3@TEST_1.0 */ void func3(struct s1 *s);
 
 /* func4@TEST_1.0 */ void func4(struct s1 s);
 
 /* func5@TEST_1.0 */ int32_t func5(int32_t a, void *b, struct s2 *s);
 
-/* func6@TEST_1.0 */ int32_t func6(char a, struct s3 *s);
+/* func6@TEST_1.0 */ int32_t func6__compat(char a, struct s3 *s);
 
-// Definitions mismatch: func5@TEST_1.0 libtest1/libtest1.so
+// Definitions mismatch: func5@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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110531153644.GA5461>