sys-libs/newlib has the following in KEYWORDS: KEYWORDS="-* ~ppc64 ~ppc" However, with the introduction of new crossdev (0.9.18-r1), it's possible to use this lib with some other arches. I've successfully built newlib for arm-elf by manually editing the ebuild and adding 'arm' to KEYWORDS. The question is, what steps need to be performed in order to add other keywords to the portage ebuild? I have ARM hardware (Philips LPC2148 evkit), so I can run some tests if needed. Reproducible: Always Steps to Reproduce: # emerge =crossdev-0.9.18-r1 # crossdev -t arm-elf -v -p Actual Results: * Host Portage ARCH: x86 * Target Portage ARCH: arm * Target System: arm-elf * Stage: 3 (C compiler & libc) * binutils: binutils-[latest] * gcc: gcc-[latest] * libc: newlib-[latest] (...) !!! All ebuilds that could satisfy "cross-arm-elf/newlib" have been masked. !!! One of the following masked packages is required to complete your request: - cross-arm-elf/newlib-1.14.0 (masked by: missing keyword) - cross-arm-elf/newlib-1.15.0 (masked by: missing keyword) Expected Results: After I added 'arm' to KEYWORDS, I get: [ebuild N ] cross-arm-elf/newlib-1.15.0 USE="nls threads unicode" 0 kB [1] that builds properly.