Opened 13 years ago

Closed 10 years ago

#328 closed defect (fixed)

LLVM 2.9 build of ia32 fails in CONTEXT_SAVE_ARCH_CORE

Reported by: Jiri Svoboda Owned by: Jakub Jermář
Priority: major Milestone: 0.6.0
Component: helenos/kernel/ia32 Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

Tried to build HelenOS/ia32 with Clang-LLVM 2.9. Failed compiling uspace/libc/arch/ia32/src/fibril.o. It has some problem with CONTEXT_SAVE_ARCH_CORE macro defined in uspace/lib/c/include/kernel/arch/context_offset.h.

clang  -I../../lib/c/include -O3 -imacros ../../../config.h -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32LE -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes -Werror-implicit-function-declaration -Wwrite-strings -pipe -g -arch i386 -D__LE__  -D__ASM__ -c arch/ia32/src/fibril.S -o arch/ia32/src/fibril.o
clang: warning: argument unused during compilation: '-fexec-charset=UTF-8'
clang: warning: argument unused during compilation: '-fwide-exec-charset=UTF-32LE'
clang: warning: argument unused during compilation: '-finput-charset=UTF-8'
clang: warning: argument unused during compilation: '-arch i386'
/tmp/cc-KpetoS.s:66:31: error: unexpected token in '.macro' directive
.macro CONTEXT_SAVE_ARCH_CORE ctx:req pc:req
                              ^
/tmp/cc-KpetoS.s:67:17: error: invalid character in input
 movl %esp,0x00(\ctx) # %esp -> ctx->sp
                ^
/tmp/cc-KpetoS.s:67:17: error: unexpected token in memory operand
 movl %esp,0x00(\ctx) # %esp -> ctx->sp
                ^
/tmp/cc-KpetoS.s:68:7: error: invalid character in input
 movl \pc,0x04(\ctx) # %eip -> ctx->pc
      ^
/tmp/cc-KpetoS.s:68:7: error: unknown token in expression
 movl \pc,0x04(\ctx) # %eip -> ctx->pc
....
make[2]: *** [arch/ia32/src/fibril.o] Error 1
make[2]: Leaving directory `/data/helenos/main-clone/uspace/lib/c'
make[1]: *** [lib/c.build] Error 2
make[1]: Leaving directory `/data/helenos/main-clone/uspace'
make: *** [all] Error 2

Change History (3)

comment:1 by Jakub Jermář, 12 years ago

Milestone: 0.5.00.5.1

comment:2 by Jiri Svoboda, 12 years ago

We should re-test this with LLVM 3.1.

comment:3 by Martin Decky, 10 years ago

Resolution: fixed
Status: newclosed

Clang-LLVM 3.3 is reported to compile HelenOS fine.

Note: See TracTickets for help on using tickets.