libwsutil: 2.0.0 to 3.0.0 compatibility report
Description: Compatibility report for the libwsutil library between 2.0.0 and 3.0.0 versions
Keywords: libwsutil, compatibility, API, report

# API compatibility report for the libwsutil library between 2.0.0 and 3.0.0 versions on x86_64

Binary
Compatibility Source
Compatibility

## Test Info

Library Name | libwsutil
Version #1 | 2.0.0
Version #2 | 3.0.0
CPU Type | x86_64
GCC Version | 4.6
Subject | Binary Compatibility

## Test Results

Total Header Files | 19
Total Shared Libraries | 1
Total Symbols / Types | 39 / 37
Verdict | Compatible

## Problem Summary

| Severity | Count
--- | --- | ---
Added Symbols | - | 5
Removed Symbols | High | 0
Problems with Data Types | High | 0
Medium | 0
Low | 0
Problems with Symbols | High | 0
Medium | 0
Low | 1
Problems with Constants | Low | 0
Problems with Implementation | Low | 4

## Added Symbols (5)

crash_info.h, libwsutil.so.3.0.0
ws_add_crash_info ( char const* fmt, ... )
crc11.h, libwsutil.so.3.0.0
crc11_307_noreflect_noxor ( guint8 const* data, guint64 data_len )
crc16-plain.h, libwsutil.so.3.0.0
crc16_8005_noreflect_noxor ( guint8 const* data, guint64 data_len )
crc7.h, libwsutil.so.3.0.0
crc7update ( guint8 crc, unsigned char const* data, int data_len )
str_util.h, libwsutil.so.3.0.0
format_size ( gint64 size, format_size_flags_e flags )
to the top

## Problems with Symbols, Low Severity (1)

str_util.h, libwsutil.so.2.0.0
[+] isprint_string ( guchar* string ) (1)
changed to:
isprint_string ( gchar const* string )

| Change | Effect
--- | --- | ---
1 | Base type of 1st parameter string has been changed from unsigned char to char. | Replacement of parameter base type may indicate a change in its semantic meaning.

to the top

## Problems with Implementation (4)

crc16-plain.h, libwsutil.so.2.0.0
crc16_plain_update ( crc16_plain_t crc, unsigned char const* data, size_t data_len )
[symbol: crc16_plain_update]

@@ -14,7 +14,7 @@
mov %reg,-0x?(%reg)
mov -0x?(%reg),%reg
lea (%reg,%reg,1),%reg
- lea 0x?(%reg),%reg # ? <crc_table>
+ lea 0x?(%reg),%reg # ? <crc_table_reflected>
movzwl (%reg,%reg,1),%reg
movzwl -0x?(%reg),%reg
shr $0x?,%reg

str_util.h, libwsutil.so.2.0.0
isprint_string ( guchar* string )
[symbol: isprint_string]

@@ -9,7 +9,7 @@
mov -0x?(%reg),%reg
add -0x?(%reg),%reg
movzbl (%reg),%reg
- movzbl %reg,%reg
+ movsbq %reg,%reg
add %reg,%reg
add %reg,%reg
movzwl (%reg),%reg

type_util.h, libwsutil.so.2.0.0
type_util_gdouble_to_guint64 ( gdouble value )
[symbol: type_util_gdouble_to_guint64]

@@ -1,7 +1,7 @@
push %reg
mov %reg,%reg
movsd %reg,-0x?(%reg)
- movsd 0x?(%reg),%reg # ? <__PRETTY_FUNCTION__.9805+0x?>
+ movsd 0x?(%reg),%reg # ? <__PRETTY_FUNCTION__.8705+0x?>
ucomisd -0x?(%reg),%reg
seta %reg
test %reg,%reg
@@ -9,7 +9,7 @@
movsd -0x?(%reg),%reg
jmp ? <type_util_gdouble_to_guint64+0x?>
movsd -0x?(%reg),%reg
- movsd 0x?(%reg),%reg # ? <__PRETTY_FUNCTION__.9805+0x?>
+ movsd 0x?(%reg),%reg # ? <__PRETTY_FUNCTION__.8705+0x?>
subsd %reg,%reg
movsd %reg,-0x?(%reg)
movsd -0x?(%reg),%reg

type_util_guint64_to_gdouble ( guint64 value )
[symbol: type_util_guint64_to_gdouble]

@@ -5,7 +5,7 @@
test %reg,%reg
jns ? <type_util_guint64_to_gdouble+0x?>
mov -0x?(%reg),%reg
- movsd 0x?(%reg),%reg # ? <__PRETTY_FUNCTION__.9805+0x?>
+ movsd 0x?(%reg),%reg # ? <__PRETTY_FUNCTION__.8705+0x?>
addsd %reg,%reg
jmp ? <type_util_guint64_to_gdouble+0x?>
mov -0x?(%reg),%reg

to the top

## Header Files (19)

config.h
crc10.h
crc16-plain.h
crc16.h
crc32.h
crc6.h
crc8.h
crcdrm.h
file_util.h
inet_aton.h
inet_v6defs.h
mpeg-audio.h
privileges.h
str_util.h
strptime.h
type_util.h
unicode-utils.h
wsgetopt.h
wsgetopt_int.h
to the top

## Shared Libraries (1)

libwsutil.so.2.0.0
to the top

## Test Info

Library Name | libwsutil
Version #1 | 2.0.0
Version #2 | 3.0.0
CPU Type | x86_64
GCC Version | 4.6
Subject | Source Compatibility

## Test Results

Total Header Files | 19
Total Shared Libraries | 1
Total Symbols / Types | 52 / 53
Verdict | Compatible

## Problem Summary

| Severity | Count
--- | --- | ---
Added Symbols | - | 8
Removed Symbols | High | 0
Problems with Data Types | High | 0
Medium | 0
Low | 0
Problems with Symbols | High | 0
Medium | 0
Low | 1
Problems with Constants | Low | 0

## Added Symbols (8)

crash_info.h
ws_add_crash_info ( char const* fmt, ... )
crc11.h
crc11_307_noreflect_noxor ( guint8 const* data, guint64 data_len )
crc16-plain.h
crc16_8005_noreflect_noxor ( guint8 const* data, guint64 data_len )
crc7.h
crc7finalize ( guint8 crc )
crc7init ( )
crc7update ( guint8 crc, unsigned char const* data, int data_len )
str_util.h
format_size ( gint64 size, format_size_flags_e flags )
operator| ( format_size_flags_e lhs, format_size_flags_e rhs )
to the top

## Problems with Symbols, Low Severity (1)

str_util.h
[+] isprint_string ( guchar* string ) (1)
changed to:
isprint_string ( gchar const* string )

| Change | Effect
--- | --- | ---
1 | Base type of 1st parameter string has been changed from unsigned char to char. | Recompilation of a client program may be broken.

to the top

## Header Files (19)

config.h
crc10.h
crc16-plain.h
crc16.h
crc32.h
crc6.h
crc8.h
crcdrm.h
file_util.h
inet_aton.h
inet_v6defs.h
mpeg-audio.h
privileges.h
str_util.h
strptime.h
type_util.h
unicode-utils.h
wsgetopt.h
wsgetopt_int.h
to the top

## Shared Libraries (1)

libwsutil.so.2.0.0
to the top
Generated on Tue Jun 4 08:50:03 2013 for libwsutil by ABI Compliance Checker 1.97.7
A tool for checking backward compatibility of a C/C++ library API