This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Problem with ldconfig



Thorsten reported me a problem with ldconfig on Sparc64 systems - the
output from 32bit ldconfig and from 64bit ldconfig are not the same,
the tools/libs are not interoperable.

The problem is the hwcap entry in struct file_entry_new - it was
unsigned long.  I'm using now uint64_t on all platforms as smallest
common format.

At the momement the struct is:
struct file_entry_new
{
  int flags;			/* This is 1 for an ELF library.  */
  unsigned int key, value;	/* String table indices.  */
  unsigned long hwcap;		/* Hwcap entry.  */
};

I like to use the following for file_entry_new:

struct file_entry_new
{
  int32_t flags;		/* This is 1 for an ELF library.  */
  uint32_t key, value;		/* String table indices.  */
  uint32_t __unused;            /* Align next field always on 8 byte boundary.  */
  uint64_t hwcap;		/* Hwcap entry.  */
};

What do you think?  Shall I go ahead and make a complete patch?  Or do
you prefer another solution.  

Btw. these changes will imply an increment of the ldconfig version number.

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]