On recent CURRENT (FreeBSD 12.0-CURRENT #0 r328002: Mon Jan 15 15:28:18 CET 2018 amd64 ) running recent poudriere jail (headamd64 12.0-CURRENT 1200056 amd64 src=/usr/src 2018-01-17 05:14:07 /pool/poudriere/jails/headamd64), the most recent ports tree won't build several important packages due to the failure of key packages, one of them is java/openjdk8, failing with the error shown below: [...] In file included from /wrkdirs/usr/ports/java/openjdk8/work/openjdk/hotspot/src/share/vm/runtime/atomic.inline.hpp:70: /wrkdirs/usr/ports/java/openjdk8/work/openjdk/hotspot/src/os_cpu/bsd_x86/vm/atomic_bsd_x86.inline.hpp:95:21: error: unknown token in expression __asm__ volatile (LOCK_IF_MP(%4) "cmpxchgl %1,(%3)" ^ /wrkdirs/usr/ports/java/openjdk8/work/openjdk/hotspot/src/os_cpu/bsd_x86/vm/atomic_bsd_x86.inline.hpp:48:24: note: expanded from macro 'LOCK_IF_MP' #define LOCK_IF_MP(mp) "cmp $0, " #mp "; je 1f; lock; 1: " ^ <inline asm>:1:30: note: instantiated into assembly here cmp $0, %edx; je 1f; lock; 1: cmpxchgl %ecx,(%rdi) ^
duplicate of bug #225054
*** This bug has been marked as a duplicate of bug 225054 ***
Note: this should be fixed after head r328090: Log: Pull in r322623 from upstream llvm trunk (by Andrew V. Tischenko): Allow usage of X86-prefixes as separate instrs. Differential Revision: https://reviews.llvm.org/D42102 This should fix parse errors when x86 prefixes (such as 'lock' and 'rep') are followed by various non-mnemonic tokens, e.g. comments, .byte directives and labels.