Skip to content

error: ran out of registers during register allocation #11450

@pageexec

Description

@pageexec
mannequin
Bugzilla Link 11078
Resolution FIXED
Resolved on Oct 12, 2011 18:38
Version trunk
OS Linux
Blocks #4440
Attachments preprocessed source
CC @efriedma-quic,@stoklund

Extended Description

when compiling linux-3.0.4/arch/x86/kernel/machine_kexec_32.c i get the following error on i386:

linux-3.0.4-pax-clang/arch/x86/include/asm/cmpxchg_32.h:79:15: error: ran out of registers during register allocation
asm volatile("\n1:\t"
^
with the following inline asm:

79 »·······asm volatile("\n1:\t"
80 »·······»······· LOCK_PREFIX "cmpxchg8b %0\n\t"
81 »·······»······· "jnz 1b"
82 »·······»······· : "=m" (*ptr), "+A" (prev)
83 »·······»······· : "b" (low), "c" (high)
84 »·······»······· : "memory");

this code used to compile fine some months ago. preprocessed source attached, the command line needed to compile it:

clang -Wp,-MD,arch/x86/kernel/.machine_kexec_32.o.d -nostdinc -Iarch/x86/include/generated -Iinclude -include include/generated/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -Qunused-arguments -W -Wno-unused-parameter -Wno-missing-field-initializers -Wno-self-assign -Wno-unused-value -Wno-format -mno-sse -Wno-unknown-warning-option -fcatch-undefined-behavior -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Wno-empty-body -O2 -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=core2 -maccumulate-outgoing-args -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -femit-struct-debug-baseonly -pg -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(machine_kexec_32)" -D"KBUILD_MODNAME=KBUILD_STR(machine_kexec_32)" -c -o machine_kexec_32.o machine_kexec_32.i

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzilla

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions