Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#12551 closed Bugs (fixed)

Building boost on arm64 causes error: unknown directive

Reported by: nidal_mi@… Owned by: olli
Milestone: To Be Determined Component: context
Version: Boost 1.61.0 Severity: Problem
Keywords: Cc:

Description

"clang++" -x assembler-with-cpp -O3 -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_CONTEXT_SOURCE -DBOOST_DISABLE_ASSERTS -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_LIB=1 -DNDEBUG -I"." -c -o "bin.v2/libs/context/build/clang-linux-3.8.0/release/abi-aapcs/architecture-arm/link-static/target-os-android/threading-multi/asm/jump_arm64_aapcs_elf_gas.o" "libs/context/src/asm/jump_arm64_aapcs_elf_gas.S"

...failed clang-linux.compile.asm bin.v2/libs/context/build/clang-linux-3.8.0/release/abi-aapcs/architecture-arm/link-static/target-os-android/threading-multi/asm/jump_arm64_aapcs_elf_gas.o... clang-linux.compile.asm bin.v2/libs/context/build/clang-linux-3.8.0/release/abi-aapcs/architecture-arm/link-static/target-os-android/threading-multi/asm/ontop_arm64_aapcs_elf_gas.o libs/context/src/asm/ontop_arm64_aapcs_elf_gas.S:40:1: error: unknown directive .cpu generic+fp+simd

This happens when trying to run the boost build on arm64. I don't have this issue for arm7 architecture. Is there a work around for this or a potential fix?

Change History (6)

comment:1 by edaskel@…, 6 years ago

Component: NoneBuilding Boost

comment:2 by Kohei Takahashi, 6 years ago

Component: Building Boostcontext
Owner: set to olli

comment:3 by olli, 6 years ago

compiles fine for AArch64 (APM X-Gene Mustang board) with gcc 4.8.4

might be a problem of clang

Last edited 6 years ago by olli (previous) (diff)

comment:4 by olli, 6 years ago

Resolution: fixed
Status: newclosed

comment:5 by anonymous, 6 years ago

This is happening to me too with the android NDK installed by android studio, ie: I get an 'unrecognized directive .code' from the assembler when building arm64, for jump, move and ontop.

I get this is a clang issue, but it would be VERY convenient if this code could be used as-is with the android NDK!

Just commenting out the .cpu directive allows the code to build, although I haven't tried to run it on an emulator or anything yet.

Should it be OK to comment this out?

comment:6 by anonymous, 6 years ago

directive .code is no longer contained in the files (1.64)

Note: See TracTickets for help on using tickets.