Hello, Following all the suggestions from Alexis Ballier, I have reworked the code to remove multiple points of failure. I have also rebased it on the common multilib-build eclass concept, and updated amd64 no-multilib & x86 profiles as well.
Key points: 1. The list of available flags and corresponding ABIs is now stored in a single variable. Adding a new ABI is as simple as adding a value to that variable (+ profiles). 2. All ABIs are validated against $(get_all_abis) list. This guarantees that we check only the flags proper for the arch. 3. The USE_EXPAND is visible only on amd64 multilib profile. However, it is also available on non-multilib amd64 & x86, with all flags masked except for the default one which is force-enabled. The last point means that x86 binary packages (skype) can have dependencies as simple as: dev-libs/libfoo[abi_x86_32] which would be valid both for amd64 multilib & x86.