<div dir="ltr">Hi Everybody,<br><br>We're working on adding Android x86 to the available targets for Swift. Currently we're able to compile an executable through the toolchain. However, running the executable leads to a crash "cannot locate symbol '__sync_val_compare_and_swap_16' referenced by '[...]libswiftCore.so'".<br><br>In comparing the swift standard library for ARM to our swift standard library for x86 we noticed that the ARM standard library include symbols for __sync_val_compare_and_swap_{1, 2, and 4}, but the x86 library has an undefined symbol for __sync_val_compare_and_swap_16. This is the same for __sync_lock_test_and_set.<div><br></div><div>My main questions are:</div><div>1) Where is the __sync_val_compare_and_swap coming from?</div><div>2) Does this seem like and issue linking to the wrong atomic library, or is this a deeper issue? </div><div>3) Is comparing Android ARM to x86 a valid comparison or are the platforms too different?<br></div><div><br>We're fairly new to compiler toolchains so any suggestions would be very much appreciated! With the introduction of the Android apps to Chromebooks, it will be great to be able to have Swift run on all Android platforms.<br><br>Thanks,<br>Max
</div><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><span style="font-size:12.8px;color:rgb(136,136,136)">max rose | lead engineer</span><br></div></div></div>