AArch64 portability fixes

Description

Update config.guess in bundled xz library.
config.guess in third_party/xz-4.999.9beta/build-aux was too old to recognize AArch64 as a valid architecture. Fixed by copying bundled config.guess from third_party/snappy-1.1.1 which was new enough.

Fix assumption about char being a signed integer.
Code in src/tests/recovery_fileops_unit.cc relies on the fact that char is a signed integer type, which is not always true.

Implement high-resolution timer for AArch64 in addition to RDTSC-based one for x86.

Add AArch64 to the list of supported 64-bit architectures.

Fix toku_decompress() for architectures with unsigned char.
toku_decompress() contains code that does not work correctly on platforms where char is unsigned by default (e.g. ARM and POWER). The code in question wants to read a byte (i.e. unsigned char) into a signed 8-bit integer, and then pass it as a signed int argument to
inflateInit2().

The problem is that it assumes the char type to be a signed 8-bit integer, which is not always true. Fixed by using an explicit signed 8-bit type instead of char.

Patch submitted by Alexey K.

Environment

None

Status

Assignee

George Lorch

Reporter

George Lorch

Labels

External issue ID

None

Freshdesk Tickets

None

Priority

Minor
Configure