This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Add x32 support to dynamic linker audit


> It is happening, but when compiling for x86 the x32 for x86-64 bits
> aren't enabled by default.

I see.  It's somewhat odd that sysdeps/generic/ldsodefs.h lists many
different arch-specific rather than just using sysdeps files to define the
ones for the arch actually being built.  Why is it that way?  

My only guess is that it's just to have all the prototypes next to each
other so that interface changes can easily be made en masse.  But since
this interface is already set, that doesn't make a lot of sense.

While I don't think there would be any particular problem with the file
declaring the x86_64/x32 names in i386 builds (since everything has an
arch-specific name anyway), it seems a bit untidy for the public header.
By the same token, it doesn't seem entirely right that x86_64 names are
declared in an x32 build--at least for the function declarations, since
no single compile could make use of both.

When I spoke before I didn't realize that the issue is the i386 build where
all the declarations in question are just unused cruft.  For that purpose,
I really don't think it matters what type names are used in the unusable
declarations--neither set of names will ever be complete types anywhere in
that build anyway.

> The alternative fix is to just enable them no matter what, since
> ldsodefs.h is going to use *all* the audit interfaces.
>
> ... and the problem with enabling them all is writing them in
> such a way that they are the same size no matter what.

I don't follow this.


Thanks,
Roland


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