arm64 libc.so.7.full link: Are the 8 "R_AARCH64_ABS64 used with TLS symbol . . ." notices a problem?

Mark Millard markmi at dsl-only.net
Fri Feb 17 08:14:52 UTC 2017


[This happens to be a amd64 -> arm64 cross build context.]

Context:

# uname -paKU
FreeBSD FreeBSDx64 12.0-CURRENT FreeBSD 12.0-CURRENT  r313783M  amd64 amd64 1200020 1200020

In exploring how to investigate tsd_booted assert failures
I noticed the following in:

/usr/obj/pine64_clang/arm64.aarch64/usr/src/lib/libc/libc.so.7.full.meta


# Meta data file /usr/obj/pine64_clang/arm64.aarch64/usr/src/lib/libc/libc.so.7.full.meta
CMD @echo building shared library libc.so.7
CMD @rm -f libc.so.7 libc.so
CMD cc -B/usr/local/aarch64-freebsd/bin/ -mcpu=cortex-a53 -target aarch64-unknown-freebsd12.0 --sysroot=/usr/obj/pine64_clang/arm64.aarch64/usr/src/tmp -B/usr/local/aarch64-freebsd/bin/  -nodefaultlibs -Wl,--version-script=Version.map  -shared -Wl,-x -Wl,--fatal-warnings -Wl,--warn-shared-textrel  -o libc.so.7.full -Wl,-soname,libc.so.7  `NM='/usr/local/aarch64-freebsd/bin/nm' NMFLAGS='' lorder bt_close.pico
. . . (long list of .pico files) . . .
wmemset.pico |  tsort -q`  -lcompiler_rt  -lssp_nonshared
CWD /usr/obj/pine64_clang/arm64.aarch64/usr/src/lib/libc
TARGET libc.so.7.full
-- command output --
building shared library libc.so.7
/usr/local/aarch64-freebsd/bin/ld: getutxent.pico(.debug_info+0x3b): R_AARCH64_ABS64 used with TLS symbol udb
/usr/local/aarch64-freebsd/bin/ld: getutxent.pico(.debug_info+0x58): R_AARCH64_ABS64 used with TLS symbol uf
/usr/local/aarch64-freebsd/bin/ld: utxdb.pico(.debug_info+0x5a): R_AARCH64_ABS64 used with TLS symbol futx_to_utx.ut
/usr/local/aarch64-freebsd/bin/ld: jemalloc_tsd.pico(.debug_info+0x3c): R_AARCH64_ABS64 used with TLS symbol __je_tsd_tls
/usr/local/aarch64-freebsd/bin/ld: jemalloc_tsd.pico(.debug_info+0x146e): R_AARCH64_ABS64 used with TLS symbol __je_tsd_initialized
/usr/local/aarch64-freebsd/bin/ld: cxa_thread_atexit_impl.pico(.debug_info+0x3b): R_AARCH64_ABS64 used with TLS symbol dtors
/usr/local/aarch64-freebsd/bin/ld: xlocale.pico(.debug_info+0x403): R_AARCH64_ABS64 used with TLS symbol __thread_locale
/usr/local/aarch64-freebsd/bin/ld: setrunelocale.pico(.debug_info+0x3c): R_AARCH64_ABS64 used with TLS symbol _ThreadRuneLocale


Are these R_AARCH64_ABS64 notices expected? Are they a problem?



I also notice that the "filemon acquired metadata" does not
list an entry to match up with:

/usr/src/lib/libc/stdlib/jemalloc/Symbol.map

So it would appear that changes to the Symbol.map file would
not of themselves cause things to rebuild or relink.


===
Mark Millard
markmi at dsl-only.net



More information about the freebsd-arm mailing list