On Wed, May 11, 2011 at 05:41:38PM +0200, Hilko Bengen wrote:
* Richard W.M. Jones:
> On Wed, May 11, 2011 at 09:37:45AM +0200, Hilko Bengen wrote:
>> I am going to make an attempt at debugging this tonight, any advice
>> would be appreciated.
>
> What is the C integer model of sparc64?
Apparently, only the kernel is 64bit, so posting the uname string was
misleading. The generated binaries are 32bit binaries, this is also what
gcc generates by default. (-m64 is supported by gcc.)
,----
| (sid)bengen@smetana:~/hivex.git$ file lib/.libs/libhivex.so.0.0.0 sh/.libs/hivexsh
| lib/.libs/libhivex.so.0.0.0: ELF 32-bit MSB shared object, SPARC32PLUS, V8+ Required,
version 1 (SYSV), dynamically linked, not stripped
| sh/.libs/hivexsh: ELF 32-bit MSB executable, SPARC32PLUS, V8+ Required,
version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, not
stripped
`----
> I notice that we're storing the size_t (hive_value_t) values in Perl
> integers using newSViv.
Both size_t and int are 32 bit values. An endianess issue, maybe?
I guess it might be. We're supposed to be doing le32toh / be32toh
everywhere as appropriate, but we might be missing one. The code is
mainly tested on little endian arches.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top