On 5/19/2023 10:57 AM, Andrew Cooper wrote:
On 19/05/2023 5:28 pm, Jeffrey Hugo wrote:
DESCEND objtool
INSTALL libsubcmd_headers
CALL scripts/checksyscalls.sh
AS arch/x86/kernel/head_64.o
arch/x86/kernel/head_64.S: Assembler messages:
arch/x86/kernel/head_64.S:261: Error: missing ')'
arch/x86/kernel/head_64.S:261: Error: junk `UL<<10)' after expression
CC arch/x86/kernel/head64.o
CC arch/x86/kernel/ebda.o
CC arch/x86/kernel/platform-quirks.o
scripts/Makefile.build:374: recipe for target
'arch/x86/kernel/head_64.o' failed
make[3]: *** [arch/x86/kernel/head_64.o] Error 1
make[3]: *** Waiting for unfinished jobs....
scripts/Makefile.build:494: recipe for target 'arch/x86/kernel' failed
make[2]: *** [arch/x86/kernel] Error 2
scripts/Makefile.build:494: recipe for target 'arch/x86' failed
make[1]: *** [arch/x86] Error 2
make[1]: *** Waiting for unfinished jobs....
Makefile:2026: recipe for target '.' failed
make: *** [.] Error 2
This is with GCC 5.4.0, if it matters.
Reverting this change allows the build to move forward, although I
also need to revert "x86/smpboot/64: Implement
arch_cpuhp_init_parallel_bringup() and enable it" for the build to
fully succeed.
I'm not familiar with this code, and nothing obvious stands out to me.
What can I do to help root cause this?
Can you try:
-#define XAPIC_ENABLE (1UL << 11)
-#define X2APIC_ENABLE (1UL << 10)
+#define XAPIC_ENABLE BIT(11)
+#define X2APIC_ENABLE BIT(10)
The UL suffix isn't understood by older binutils, and this patch adds
the first use of these constants in assembly.
Ah, makes sense.
Your suggested change works for me. No more compile error.
I assume you will be following up with a patch to address this. Feel
free to add the following tags as you see fit:
Reported-by: Jeffrey Hugo <quic_jhugo@xxxxxxxxxxx>
Tested-by: Jeffrey Hugo <quic_jhugo@xxxxxxxxxxx>
-Jeff