bottlerocket-sdk
bottlerocket-sdk copied to clipboard
Unable to use LLVM `15.0.6` in sdk `v0.29` and `15.0.7` in sdk `v0.30`
Image I'm using:
In v0.29
of the sdk, which uses LLVM 15.0.6
and in v0.30
of the sdk which uses LLVM 15.0.7
, users found missing symbols:
readelf -a /*-bottlerocket-linux-musl/sys-root/usr/lib/libunwind.a | grep unw_getcontext
# 0.28.0 output
000000000720 00280000011b R_AARCH64_CALL26 0000000000000000 __unw_getcontext + 0
000000000a5c 00280000011b R_AARCH64_CALL26 0000000000000000 __unw_getcontext + 0
000000000b28 00280000011b R_AARCH64_CALL26 0000000000000000 __unw_getcontext + 0
40: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __unw_getcontext
0000000001c4 00240000011b R_AARCH64_CALL26 0000000000000000 __unw_getcontext + 0
000000000294 00240000011b R_AARCH64_CALL26 0000000000000000 __unw_getcontext + 0
00000000045c 00240000011b R_AARCH64_CALL26 0000000000000000 __unw_getcontext + 0
36: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __unw_getcontext
6: 0000000000000000 0 FUNC GLOBAL HIDDEN 1 __unw_getcontext
7: 0000000000000000 0 FUNC WEAK DEFAULT 1 unw_getcontext
# 0.29.0 output
000000000720 00290000011b R_AARCH64_CALL26 0000000000000000 __unw_getcontext + 0
000000000a4c 00290000011b R_AARCH64_CALL26 0000000000000000 __unw_getcontext + 0
000000000b18 00290000011b R_AARCH64_CALL26 0000000000000000 __unw_getcontext + 0
41: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __unw_getcontext
0000000001c4 00250000011b R_AARCH64_CALL26 0000000000000000 __unw_getcontext + 0
000000000294 00250000011b R_AARCH64_CALL26 0000000000000000 __unw_getcontext + 0
00000000045c 00250000011b R_AARCH64_CALL26 0000000000000000 __unw_getcontext + 0
37: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __unw_getcontext
Notice the final two lines are missing in the v0.29 version of the sdk
GLOBAL HIDDEN 1 __unw_getcontext
7: 0000000000000000 0 FUNC WEAK DEFAULT 1 unw_getcontext
(Shout out to @bcressey for getting this figured out!)
Related to #100
Issue or Feature Request:
Investigate what's going on with the newer versions of LLVM and why we are having trouble using them.