This is the mail archive of the
libc-alpha@sourceware.cygnus.com
mailing list for the glibc project.
Re: Problem with new ld.so.cache format on 64-bit machines
- To: David Huggins-Daines <dhd at linuxcare dot com>
- Subject: Re: Problem with new ld.so.cache format on 64-bit machines
- From: Andreas Jaeger <aj at suse dot de>
- Date: 12 May 2000 09:05:13 +0200
- Cc: libc-alpha at sourceware dot cygnus dot com
- References: <87k8h0znf7.fsf@linuxcare.com>
>>>>> David Huggins-Daines writes:
> There's a design flaw in the way ld.so in glibc 2.2 handles the
> transition between the old ld.so.cache format and the new one.
> Specifically, the new style cache is placed immediately following the
> old style cache in /etc/ld.so.cache.
> This is wrong because it means that, if there are an odd number of
> libraries in the old style cache, it will not be aligned on an 8-byte
> boundary, since struct file_entry is 12 bytes.
> Since struct file_entry_new contains a field of type unsigned long,
> every single time a dynamic executable is loaded on Alpha with glibc
> 2.2, at least one unaligned exception occurs (and a message is printed
> to the console).
> I suggest that the new style cache always be aligned to
> sizeof(unsigned long) in the file.
Can you send a patch that works for you on alpha, please?
Thanks,
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.rhein-neckar.de