This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: [PATCH] power-cpu port for --with-cpu
- From: Roland McGrath <roland at redhat dot com>
- To: Steven Munroe <munroesj at us dot ibm dot com>
- Cc: libc-ports at sources dot redhat dot com, Benjamin Herrenschmidt <benh at kernel dot crashing dot org>
- Date: Fri, 18 Nov 2005 15:00:38 -0800 (PST)
- Subject: Re: [PATCH] power-cpu port for --with-cpu
> First: I assume that I don't need _DL_PLATFORMS_COUNT or
> _DL_FIRST_PLATFORM because there is no evindence of " The
> system-supplied DSO can contain a note of type 2, vendor "GNU". This
> gives us a list of names to treat as fake hwcap bits." in the VDSOs that
> Ben Herrenschmidt has supplied.
Those things are not related in the way you seem to think they are. The
purpose of _DL_FIRST_PLATFORM et al is handling AT_PLATFORM strings. If
the AT_PLATFORM string the kernel provides ever varies and is something
interesting to use for library search paths, then it's relevant.
See sysdeps/i386/dl-procinfo.[ch] for the example where this is used.
If you are not using AT_PLATFORM for anything useful, then don't touch these.
There is no reason to think about the vDSO magic (which I have explained
already in the past anyway).
> Second: It looks like we have an endian issue where powerpc is
> big-endian and dl-sysdep/dl-cache assume little-endian. This is evident
> in the shift masks:
We have a uint64_t and we use its bits consistently throughout.
What makes you think there is any byte order issue with that?
> Third: Its is not clear how to handle composite platforms. For example
> 970 is currently encoded as (PPC_FEATURE_POWER4 |
> PPC_FEATURE_HAS_ALTIVEC) Becuase the 970 chip was based on the POWER4+
> design with the addition of Altivec/VMX. I don't understand how to
> translate this AT_HWCAP patern into a distinct path fragment like "970"
> or "ppc970".
You don't. The hwcap bits each translate into a string describing that
bit. If a useful configuration to select for is selected my having both of
two bits set, then you put that configuration's build in /lib/power4/altivec/
or whatever.