Skip to content

error: invalid output size for constraint '=a' for ARCH=i386 after e2ffa15b9baa #2121

@nathanchance

Description

@nathanchance

After commit e2ffa15b9baa ("kbuild: Disable CC_HAS_ASM_GOTO_OUTPUT on clang < 17"), which exposes a separate code path that was not used before, there is an error when building mm/maccess.c for ARCH=i386 with LLVM 15 or 16 (the only supported versions impacted):

$ make -skj"$(nproc)" ARCH=i386 LLVM=1 clean defconfig mm/maccess.o
mm/maccess.c:41:3: error: invalid output size for constraint '=a'
                copy_from_kernel_nofault_loop(dst, src, size, u64, Efault);
                ^
mm/maccess.c:22:3: note: expanded from macro 'copy_from_kernel_nofault_loop'
                __get_kernel_nofault(dst, src, type, err_label);        \
                ^
arch/x86/include/asm/uaccess.h:630:18: note: expanded from macro '__get_kernel_nofault'
        __get_user_size(*((type *)(dst)), (__force type __user *)(src), \
                        ^
mm/maccess.c:41:3: error: invalid output size for constraint '=a'
mm/maccess.c:22:3: note: expanded from macro 'copy_from_kernel_nofault_loop'
                __get_kernel_nofault(dst, src, type, err_label);        \
                ^
arch/x86/include/asm/uaccess.h:630:18: note: expanded from macro '__get_kernel_nofault'
        __get_user_size(*((type *)(dst)), (__force type __user *)(src), \
                        ^

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions