On Thu, Jun 30, 2016 at 12:12:37PM +0200, Dan HorĂ¡k wrote:
For ppc64 (the big endian POWER) the base is set by the toolchain
default which is Power4/ppc970. When Power7 came we were asked what are
the options to take the advantage of these CPUs, 3 generations newer
than the base. The solution was the introduction of ppc64p7 subarch into
the packaging and release engineering tools. But it showed more as a
hack than a solution, touching rpm, yum, koji, .... The list of packages
is manually maintained, requires manual updates to the buildsystem for
new releases, seems new packaging tools (dnf) don't understand it
correctly. Is there a way to make the subarch mechanism generic and
integrated with the other tools? So we could have ppc64p8 and ppc64p9
inside Fedora for POWER ...
I will just snipe here that the situation would be better if POWER > 4
hardware was generally available to buy.
Now I'm getting to an area where others are the experts :-)
Glibc
allows to build and install multiple per-cpu optimized runtimes that
are selected based on the CPU. There is the IFUNC mechanism and
function multi-versioning in GCC (user-friendly IFUNC) [2] to allow
multiple implementations inside one library/binary.
Be careful with using IFUNC. It's a very desirable feature,
implemented in a somewhat ill-defined way:
https://bugzilla.redhat.com/show_bug.cgi?id=1312462#c22
https://bugzilla.redhat.com/show_bug.cgi?id=1312462#c27
etc.
Have you looked at what Debian does with the /lib/<arch> directories?
I think we should follow Debian if appropriate.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org