• [gentoo-dev] [PATCH] kernel-build.eclass: add HPPA support

    From Sam James@21:1/5 to All on Wed Feb 2 09:10:01 2022
    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 <sam@gentoo.org>
    ---
    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 b