Boost logo

Boost Users :

Subject: Re: [Boost-users] [Context] Boost.Context ARM64 support
From: mefyl (mefyl_at_[hidden])
Date: 2015-01-12 07:59:46


On Friday 09 January 2015 17:42:16 Oliver Kowalke wrote:
> the code at github (ranch develop) should work (no unsupported.cpp in
> Jamfile.v2) how do you try to compile the code (cmd line)?

That's fantastic news !

I have the unsupported issue using:

./b2 -q --user-config=user-config.jam link=static architecture=arm macosx-version=iphone-8.0 address-model=64

My user-config.jam:

using darwin : : clang++ -arch arm64 : <striper> <root>/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer : <architecture>arm ;

Result:

"clang++" "-arch" "arm64" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -gdwarf-2 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Develop\
er/SDKs/iPhoneOS8.1.sdk -arch arm -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_STATIC_LINK=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_CONTEXT_SOURCE -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_T\
HREAD_BUILD_LIB=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_LIB=1 -DNDEBUG -I"." -c -o "bin.v2/libs/context/build/darwin-4.2.1/release/address-model-64/architecture-arm/link-static/macosx-version-iphone-8.\
0/threading-multi/unsupported.o" "libs/context/src/unsupported.cpp"

Since you mentioned it was supposed to work, I tried fiddling with options
and managed to make it pick the abi-aapcs/address-model-64 files, but compilation
fails because "-arch arm" gets passed to clang instead of "-arch arm64":

./b2 -q --user-config=user-config.jam link=static target-os=iphone architecture=arm macosx-version=iphone-8.0 abi=aapcs address-model=64

My user-config.jam:

using darwin : : clang++ -arch arm64 : <striper> <root>/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer : <architecture>arm <target-os>iphone ;

Result:

    "clang++" "-arch" "arm64" "-fvisibility=hidden" "-fvisibility-inlines-hidden" -x assembler-with-cpp -O3 -finline-functions -Wno-inline -Wall -gdwarf-2 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -arch arm -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_STATIC_LINK=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_CONTEXT_SOURCE -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/darwin-4.2.1/release/abi-aapcs/address-model-64/architecture-arm/link-static/macosx-version-iphone-8.0/runtime-link-static/target-os-iphone/threading-multi/asm/make_arm64_aapcs_macho_gas.o" "libs/context/src/asm/make_arm64_aapcs_macho_gas.S"

Removing the additional "-arch arm" fixes it. I'm probably not using bjam
the right way, sorry about that.

Thanks for you help,

-- 
Quentin "mefyl" Hocquet
CTO @ infinit.io

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net