epsilon-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cannot compile with clang


From: Luca Saiu
Subject: Re: Cannot compile with clang
Date: Sun, 05 Jan 2020 17:10:52 +0100
User-agent: Gnus (Gnus v5.13), GNU Emacs 27.0.50, x86_64-pc-linux-gnu

Hello Dan, and please forgive me for the delay of this response.

On 2019-12-24 at 10:41 +0100, Dan Čermák wrote:

> I have tried to compile poke with clang 9, but unfortunately I got a lot
> of errors when jitter is being built:
>
> libtool: compile:  clang -DHAVE_CONFIG_H -I. -I./config-private -I./jitter -I 
> ./machine/x86_64 -DJITTER_DISPATCH_DIRECT_THREADING 
> -fsanitize=address,undefined -O0 -g3 -gstrict-dwarf -Wall -Wextra 
> -fno-omit-frame-pointer -MT 
> machine/x86_64/jitter/machine/lib_libjitter__direct_threading__convenience_la-jitter-machine-assembly.lo
>  -MD -MP -MF 
> machine/x86_64/jitter/machine/.deps/lib_libjitter__direct_threading__convenience_la-jitter-machine-assembly.Tpo
>  -c machine/x86_64/jitter/machine/jitter-machine-assembly.S -o 
> machine/x86_64/jitter/machine/lib_libjitter__direct_threading__convenience_la-jitter-machine-assembly.o
> <instantiation>:9:15: error: unknown token in expression
> jitter_native_&load_0_to_64bit_residual_register_0&:

This is a Jitter problem and I would like to solve it for portability's
sake.  You can on address@hidden , which is the current mailing
list for Jitter.

Be warned that a Jittery application will be slower when compiled with
Clang compared to GCC, and the performance gap will widen in the future.
Still, Jitter is supposed to be portable and I will strive to make it
work on standard platforms.

> /tmp/jitter-machine-assembly-b73067.s:151:1: note: while in macro 
> instantiation
> jitter_snippet load_0_to_64bit_residual_register_0, <xorl %r12d, %r12d>
> ^
> <instantiation>:11:9: error: unexpected token at start of statement
>         <>
>         ^
>
> (and a bunch of similarly looking errors for ~3500 lines).
>
> Anyone knows what could be going on here?

Jitter makes heavy use of macros, including both CPP and Gas even in the
same source file, which does not play well with Clang's use of an
integrated assembler.

Can you please tell me if configuring Poke with the option

  --disable-assembly

works around the problem?  The option will be automatically relayed from
Poke's configure to Jitter's configure.

If this workaround works I will detect Clang in Jitter's configure and
do what the command-line option does automatically when the compiler in
that case.

Best regards,

-- 
Luca Saiu
* My personal web site:  http://ageinghacker.net
* GNU epsilon:           http://www.gnu.org/software/epsilon
* Jitter:                http://ageinghacker.net/projects/jitter

I support everyone's freedom of mocking any opinion or belief, no
matter how deeply held, with open disrespect and the same unrelented
enthusiasm of a toddler who has just learned the word "poo".

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]