Skip to content

Android x86: undefined reference to __atomic_* (Alpha11) #14083

Closed
@misery

Description

@misery

Hi,

we tried alpha11 in our CI. Alpha11 cannot be build for Android x86 - armv7 and arm64 works.

llvm-ar: warning: creating libssl.a
llvm-ar: warning: creating providers/libnonfips.a
llvm-ar: warning: creating libcrypto.a
llvm-ar: warning: creating providers/libimplementations.a
./libcrypto.so: error: undefined reference to '__atomic_fetch_or_8'
./libcrypto.so: error: undefined reference to '__atomic_is_lock_free'
./libcrypto.so: error: undefined reference to '__atomic_load'
./libcrypto.so: error: undefined reference to '__atomic_fetch_or_8'
./libcrypto.so: error: undefined reference to '__atomic_is_lock_free'
clang: ./libcrypto.so: error: undefined reference to '__atomic_load'
error: linker command failed with exit code 1 (use -v to see invocation)
./libcrypto.so: error: undefined reference to '__atomic_fetch_or_8'
./libcrypto.so: error: undefined reference to '__atomic_is_lock_free'
./libcrypto.so: error: undefined reference to '__atomic_load'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
./libcrypto.so: error: undefined reference to '__atomic_fetch_or_8'
./libcrypto.so: error: undefined reference to '__atomic_is_lock_free'
./libcrypto.so: error: undefined reference to '__atomic_load'
./libcrypto.so: error: undefined reference to '__atomic_fetch_or_8'
./libcrypto.so: error: undefined reference to '__atomic_is_lock_free'
./libcrypto.so: error: undefined reference to '__atomic_load'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Our flags

Command line (with current working directory = .):

    /usr/bin/perl ../openssl/Configure --prefix=/home/gov/workspace/default_Review_Libs_Android_x86/build/dist no-ui-console no-filenames no-camellia no-bf no-aria no-seed no-poly1305 no-srp no-gost no-idea no-mdc2 no-rc2 no-rc4 no-rc5 no-srtp no-sm2 no-sm3 no-sm4 no-ct no-dgram no-cast no-chacha no-blake2 no-rmd160 no-scrypt no-siphash no-whirlpool no-md4 no-des no-tls1 no-tls1-method no-tls1_1 no-tls1_1-method no-tls1_3 no-ssl3 no-ssl3-method no-dtls no-dtls1-method no-dtls1_2-method no-engine no-async no-dso no-comp no-ts no-makedepend no-tests no-legacy shared no-stdio android-x86 -Os -fstack-protector-strong -D__ANDROID_API__=21

Perl information:

    /usr/bin/perl
    5.30.0 for x86_64-linux-gnu-thread-multi

Enabled features:

    acvp_tests
    asm
    autoalginit
    autoerrinit
    autoload-config
    bulk
    cmac
    cmp
    cms
    deprecated
    dh
    dsa
    ec
    ec2m
    ecdh
    ecdsa
    err
    fips-securitychecks
    multiblock
    nextprotoneg
    pinshared
    ocb
    ocsp
    pic
    posix-io
    psk
    rdrand
    rfc3779
    secure-memory
    shared
    siv
    sock
    sse2
    ssl
    static-engine
    threads
    tls
    tls1_2
    tls1_2-method

Disabled features:

    afalgeng            [cascade]                OPENSSL_NO_AFALGENG
    aria                [option]                 OPENSSL_NO_ARIA (skip crypto/aria)
    asan                [default]                OPENSSL_NO_ASAN
    async               [option]                 OPENSSL_NO_ASYNC
    bf                  [option]                 OPENSSL_NO_BF (skip crypto/bf)
    blake2              [option]                 OPENSSL_NO_BLAKE2
    buildtest-c++       [default]                
    camellia            [option]                 OPENSSL_NO_CAMELLIA (skip crypto/camellia)
    capieng             [cascade]                OPENSSL_NO_CAPIENG
    cast                [option]                 OPENSSL_NO_CAST (skip crypto/cast)
    chacha              [option]                 OPENSSL_NO_CHACHA (skip crypto/chacha)
    comp                [option]                 OPENSSL_NO_COMP (skip crypto/comp)
    crypto-mdebug       [default]                OPENSSL_NO_CRYPTO_MDEBUG
    ct                  [option]                 OPENSSL_NO_CT (skip crypto/ct)
    des                 [option]                 OPENSSL_NO_DES (skip crypto/des)
    devcryptoeng        [default]                OPENSSL_NO_DEVCRYPTOENG
    dgram               [option]                 OPENSSL_NO_DGRAM
    dso                 [option]                 OPENSSL_NO_DSO
    dtls                [option(dtls)]           OPENSSL_NO_DTLS
    dynamic-engine      [cascade]                
    ec_nistp_64_gcc_128 [default]                OPENSSL_NO_EC_NISTP_64_GCC_128
    egd                 [default]                OPENSSL_NO_EGD
    engine              [option]                 OPENSSL_NO_ENGINE (skip engines, crypto/engine)
    external-tests      [default]                OPENSSL_NO_EXTERNAL_TESTS
    filenames           [option]                 OPENSSL_NO_FILENAMES
    fips                [cascade]                
    fuzz-libfuzzer      [default]                OPENSSL_NO_FUZZ_LIBFUZZER
    fuzz-afl            [default]                OPENSSL_NO_FUZZ_AFL
    gost                [option]                 OPENSSL_NO_GOST
    idea                [option]                 OPENSSL_NO_IDEA (skip crypto/idea)
    ktls                [default]                OPENSSL_NO_KTLS
    legacy              [option]                 
    makedepend          [option]                 
    md2                 [default]                OPENSSL_NO_MD2 (skip crypto/md2)
    md4                 [option]                 OPENSSL_NO_MD4 (skip crypto/md4)
    mdc2                [option]                 OPENSSL_NO_MDC2 (skip crypto/mdc2)
    module              [cascade]                
    msan                [default]                OPENSSL_NO_MSAN
    padlockeng          [cascade]                OPENSSL_NO_PADLOCKENG
    poly1305            [option]                 OPENSSL_NO_POLY1305 (skip crypto/poly1305)
    rc2                 [option]                 OPENSSL_NO_RC2 (skip crypto/rc2)
    rc4                 [option]                 OPENSSL_NO_RC4 (skip crypto/rc4)
    rc5                 [option]                 OPENSSL_NO_RC5 (skip crypto/rc5)
    rmd160              [option]                 OPENSSL_NO_RMD160 (skip crypto/ripemd)
    scrypt              [option]                 OPENSSL_NO_SCRYPT
    sctp                [default]                OPENSSL_NO_SCTP
    seed                [option]                 OPENSSL_NO_SEED (skip crypto/seed)
    siphash             [option]                 OPENSSL_NO_SIPHASH (skip crypto/siphash)
    sm2                 [option]                 OPENSSL_NO_SM2 (skip crypto/sm2)
    sm3                 [option]                 OPENSSL_NO_SM3 (skip crypto/sm3)
    sm4                 [option]                 OPENSSL_NO_SM4 (skip crypto/sm4)
    srp                 [option]                 OPENSSL_NO_SRP (skip crypto/srp)
    srtp                [option]                 OPENSSL_NO_SRTP
    ssl-trace           [default]                OPENSSL_NO_SSL_TRACE
    stdio               [option]                 OPENSSL_NO_STDIO
    tests               [option]                 OPENSSL_NO_TESTS
    trace               [default]                OPENSSL_NO_TRACE
    ts                  [option]                 OPENSSL_NO_TS (skip crypto/ts)
    ubsan               [default]                OPENSSL_NO_UBSAN
    ui-console          [option]                 OPENSSL_NO_UI_CONSOLE
    unit-test           [default]                OPENSSL_NO_UNIT_TEST
    uplink              [no uplink_arch]         OPENSSL_NO_UPLINK
    whirlpool           [option]                 OPENSSL_NO_WHIRLPOOL (skip crypto/whrlpool)
    weak-ssl-ciphers    [default]                OPENSSL_NO_WEAK_SSL_CIPHERS
    zlib                [default]                
    zlib-dynamic        [default]                
    ssl3                [option(ssl3-method)]    OPENSSL_NO_SSL3
    ssl3-method         [option]                 OPENSSL_NO_SSL3_METHOD
    tls1                [option(tls1-method)]    OPENSSL_NO_TLS1
    tls1-method         [option]                 OPENSSL_NO_TLS1_METHOD
    tls1_1              [option(tls1_1-method)]  OPENSSL_NO_TLS1_1
    tls1_1-method       [option]                 OPENSSL_NO_TLS1_1_METHOD
    tls1_3              [option]                 OPENSSL_NO_TLS1_3
    dtls1               [option(dtls1-method)]   OPENSSL_NO_DTLS1
    dtls1-method        [option]                 OPENSSL_NO_DTLS1_METHOD
    dtls1_2             [option(dtls1_2-method)] OPENSSL_NO_DTLS1_2
    dtls1_2-method      [option]                 OPENSSL_NO_DTLS1_2_METHOD

Config target attributes:

    AR => "ar",
    ARFLAGS => "qc",
    CC => "gcc",
    CFLAGS => "-Wall -O3 -fomit-frame-pointer",
    CXX => "g++",
    CXXFLAGS => "-Wall -O3",
    HASHBANGPERL => "/usr/bin/env perl",
    RANLIB => "ranlib",
    RC => "windres",
    asm_arch => "x86",
    bin_cflags => "-fPIE",
    bin_lflags => "-pie",
    bn_ops => "BN_LLONG RC4_INT",
    build_file => "Makefile",
    build_scheme => [ "unified", "unix" ],
    cflags => "-pthread  -target i686-linux-android -gcc-toolchain \$(ANDROID_NDK_ROOT)/toolchains/x86-4.9/prebuilt/linux-x86_64 --sysroot=\$(ANDROID_NDK_ROOT)/platforms/android-21/arch-x86",
    cppflags => "-D__ANDROID_API__=21 -isystem \$(ANDROID_NDK_ROOT)/sysroot/usr/include/i686-linux-android -isystem \$(ANDROID_NDK_ROOT)/sysroot/usr/include",
    cxxflags => "-std=c++11 -pthread  -target i686-linux-android -gcc-toolchain \$(ANDROID_NDK_ROOT)/toolchains/x86-4.9/prebuilt/linux-x86_64 --sysroot=\$(ANDROID_NDK_ROOT)/platforms/android-21/arch-x86",
    defines => [ "OPENSSL_BUILDING_OPENSSL" ],
    disable => [  ],
    dso_ldflags => "-Wl,-z,defs",
    dso_scheme => "dlfcn",
    enable => [  ],
    ex_libs => "-ldl -pthread",
    includes => [  ],
    lflags => "",
    lib_cflags => "",
    lib_cppflags => "-DOPENSSL_USE_NODELETE",
    lib_defines => [  ],
    module_cflags => "-fPIC",
    module_cxxflags => undef,
    module_ldflags => "-Wl,-znodelete -shared -Wl,-Bsymbolic",
    perl_platform => "Unix",
    perlasm_scheme => "android",
    shared_cflag => "-fPIC",
    shared_defflag => "-Wl,--version-script=",
    shared_defines => [  ],
    shared_extension => ".so",
    shared_ldflag => "-Wl,-znodelete -shared -Wl,-Bsymbolic",
    shared_rcflag => "",
    shared_sonameflag => "-Wl,-soname=",
    shared_target => "linux-shared",
    shlib_variant => "_x86",
    thread_defines => [  ],
    thread_scheme => "pthreads",
    unistd => "<unistd.h>",

Recorded environment:

    AR = 
    BUILDFILE = 
    CC = clang
    CFLAGS = 
    CPPFLAGS = 
    CROSS_COMPILE = 
    CXX = clang++
    CXXFLAGS = 
    HASHBANGPERL = 
    LDFLAGS = 
    LDLIBS = 
    OPENSSL_LOCAL_CONFIG_DIR = 
    PERL = 
    RANLIB = 
    RC = 
    RCFLAGS = 
    WINDRES = 
    __CNF_CFLAGS = 
    __CNF_CPPDEFINES = 
    __CNF_CPPFLAGS = 
    __CNF_CPPINCLUDES = 
    __CNF_CXXFLAGS = 
    __CNF_LDFLAGS = 
    __CNF_LDLIBS = 

Makevars:

    AR              = llvm-ar
    ARFLAGS         = rs
    CC              = clang
    CFLAGS          = -Wall -O3 -fomit-frame-pointer -Os -fstack-protector-strong
    CPPDEFINES      = __ANDROID_API__=21
    CPPFLAGS        = 
    CPPINCLUDES     = 
    CXX             = clang++
    CXXFLAGS        = -Wall -O3 -Os -fstack-protector-strong
    HASHBANGPERL    = /usr/bin/env perl
    LDFLAGS         = 
    LDLIBS          = 
    PERL            = /usr/bin/perl
    RANLIB          = :
    RC              = windres
    RCFLAGS         = 

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions