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


> (a) Use `struct La_x32_*;' in ldsodefs.h even though it doesn't
> actually match the real type used, but this doesn't matter because
> when compiling for the right machine it is changed by the macros and
> works out. It's only when *not* compiling for x32 that the debug info
> won't match, but you also don't get the proper structure definition
> since bits/link.h comes from the other machine you're targetting.
> 
> (b) Use `#define La_x32_*' in ldsodefs.h, mirroring what's in
> bits/link.h for x86_64. The downside here is that this is a
> duplication of code.
> 
> (c) Rewrite ldsodefs.h to stop listing all of the interface for all of
> the machines.
> 
> (d) Rewrite bits/link.h to expose a real structure called La_x32_*
> when compiling for x32, otherwise La_x86_64_* when compiling for
> x86_64.
> 
> I think that (a) is clean, works correctly when compiling for the
> right machine, and is the simplest solution.
> 
> Having said that I'd love to see (c), but I feel bad heaping that work on H.J.

I think (a) is adequately clean for now.  
I think (d) is arguably cleaner than the status quo just on its own terms.
I think (c) makes plenty of sense but we haven't heard any perspectives
on why it was originally done the way it was.
I think (b) is an unworthy kludge.


Thanks,
Roland


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