Hi, I tried to tweak some settings regarding CFLAGS="march=x86-64-v2" on my buildhost and then install the binary packages on the target machines.
Buildhost: AMD Ryzen 7 2700; ld.so --help says: Subdirectories of glibc-hwcaps directories, in priority order: x86-64-v4 x86-64-v3 (supported, searched) x86-64-v2 (supported, searched) Target platform: AMD A8-5500; ld.so --help says Subdirectories of glibc-hwcaps directories, in priority order: x86-64-v4 x86-64-v3 x86-64-v2 (supported, searched) I set CFLAGS="-O2 -pipe march=x86-64-v2" on the buildhost and performed a emerge -ev @world, re-creating all packages in binary form. My expectation was that these packages would work on the target platform, but they don't. Error message "CPU ISA level is lower than required". Q: The binary (e.g. /usr/bin/bzip2) obviously "knows" what it requires. How do I find out what this is? Neither ldd, ld.so or the like seem to give me this information. Q: Does the xpak format encode those requirements in any way, if so , how can I read them? Q: Can I compile binary packages with multiple ISA sets and let portage on the target machine decide which sub-package to use depending on capabilities of the target CPU?