Support HPPA kernel builds. Notes: - HPPA 2.0 supports 32-bit and 64-bit kernels (HPPA 2.0 userland remains 32-bit for now as toolchain support isn't there yet for 64-bit).
I've decided to only accommodate 64-bit kernels here unless/until someone requests & can help figure out an acceptable solution for 32-bit kernels for HPPA 2.0. - HPPA 1.x should be fine as there's no need for a cross-compiler there, unlike HPPA 2.x for 64-bit (sys-devel/kgcc64). It should Just Work, but not tested. Not adding a BDEPEND on sys-devel/kgcc64 as it's unclear how to do this cleanly only for HPPA 2.0. Tested on RP3440 and C8000. Signed-off-by: Sam James <[email protected]> --- eclass/kernel-build.eclass | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass index 2796493010878..0a49533e48d34 100644 --- a/eclass/kernel-build.eclass +++ b/eclass/kernel-build.eclass @@ -1,4 +1,4 @@ -# Copyright 2020-2021 Gentoo Authors +# Copyright 2020-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: kernel-build.eclass @@ -52,6 +52,20 @@ BDEPEND=" kernel-build_src_configure() { debug-print-function ${FUNCNAME} "${@}" + if ! tc-is-cross-compiler && use hppa ; then + if [[ ${CHOST} == hppa2.0-* ]] ; then + # Only hppa2.0 can handle 64-bit anyway. + # Right now, hppa2.0 can run both 32-bit and 64-bit kernels, + # but it seems like most people do 64-bit kernels now + # (obviously needed for more RAM too). + + # TODO: What if they want a 32-bit kernel? + # Not too worried about this case right now. + elog "Forcing 64 bit (${CHOST/2.0/64}) build..." + export CHOST=${CHOST/2.0/64} + fi + fi + # force ld.bfd if we can find it easily local LD="$(tc-getLD)" if type -P "${LD}.bfd" &>/dev/null; then -- 2.35.1
