On 28/08/2020 08.54, Roman Bolshakov wrote: > On Fri, Aug 28, 2020 at 07:00:19AM +0200, Thomas Huth wrote: >> On 10/08/2020 15.06, Roman Bolshakov wrote: >>> For compatibility with other SVR4 assemblers, '/' starts a comment on >>> *-elf binutils target and thus division operator is not allowed [1][2]. >>> That breaks cstart64.S build: >>> >>> x86/cstart64.S: Assembler messages: >>> x86/cstart64.S:294: Error: unbalanced parenthesis in operand 1. >>> >>> The option is ignored on the Linux target of GNU binutils. >>> >>> 1. https://sourceware.org/binutils/docs/as/i386_002dChars.html >>> 2. https://sourceware.org/binutils/docs/as/i386_002dOptions.html#index-_002d_002ddivide-option_002c-i386 >>> >>> Cc: Cameron Esfahani <dirty@xxxxxxxxx> >>> Signed-off-by: Roman Bolshakov <r.bolshakov@xxxxxxxxx> >>> --- >>> x86/Makefile | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/x86/Makefile b/x86/Makefile >>> index 8a007ab..22afbb9 100644 >>> --- a/x86/Makefile >>> +++ b/x86/Makefile >>> @@ -1 +1,3 @@ >>> include $(SRCDIR)/$(TEST_DIR)/Makefile.$(ARCH) >>> + >>> +COMMON_CFLAGS += -Wa,--divide >> >> Some weeks ago, I also played with an elf cross compiler and came to the >> same conclusion, that we need this option there. Unfortunately, it does >> not work with clang: >> >> https://gitlab.com/huth/kvm-unit-tests/-/jobs/707986800#L1629 >> >> You could try to wrap it with "cc-option" instead ... or use a proper >> check in the configure script to detect whether it's needed or not. >> > > Hi Thomas, > > Thanks for reviewing the series. I'll look into both options and will > test with both gcc and clang afterwards. I can also update .travis.yml > in a new patch to test the build on macOS. That would be great, thanks! Note that you need at least Clang v10 (the one from Fedora 32 is fine) to compile the kvm-unit-tests. And if it's of any help, this was the stuff that I used in .travis.yml for my experiments (might still be incomplete, though): - os: osx osx_image: xcode12 addons: homebrew: packages: - bash - coreutils - qemu - x86_64-elf-gcc env: - CONFIG="--cross-prefix=x86_64-elf-" - BUILD_DIR="build" - TESTS="umip" - ACCEL="tcg" - os: osx osx_image: xcode12 addons: homebrew: packages: - bash - coreutils - qemu - i386-elf-gcc env: - CONFIG="--arch=i386 --cross-prefix=x86_64-elf-" - BUILD_DIR="build" - TESTS="umip" - ACCEL="tcg" Thomas