Created attachment 165271 [details] patch 1: build infrastructure I am planning to import LLVM's libunwind for exception unwinding and would like to request an exp-run. This is probably a bigger run-time than build-time concern, in fact, but it's important to at least start here and make sure that it doesn't introduce a build breakage. Currently two patches are required: 1. LLVM-libunwind build infrastructure (attached as llvm-libunwind-x86-arm.diff and also https://reviews.freebsd.org/D4787) 2. enable LLVM-libunwind on x86 and arm by default (attached as llvm-libunwind.diff)
Created attachment 165272 [details] patch 2: enable llvm libunwind by default on x86 and arm
First patch (build infrastructure) committed in r293450, so only the 2nd patch to enable it needs to be applied.
Can the patch be refreshed? It seems most of patch 2 is already applied in head?
> It seems most of patch 2 is already applied in head? Terribly sorry, it seems I mixed up the two patches. "patch 1" with filename llvm-libunwind-x86-arm.diff is the one that enables on x86 and arm and is the one that's not in HEAD.
Exp-run results on amd64: http://package18.nyi.freebsd.org/jail.html?mastername=headamd64PR206039-default 1 new failure on amd64: + {"origin"=>"lang/polyml", "pkgname"=>"polyml-5.5.2_2", "phase"=>"build", "errortype"=>"termios"} Failure log on amd64: http://package18.nyi.freebsd.org/data/headamd64PR206039-default/2016-01-12_06h51m05s/logs/errors/polyml-5.5.2_2.log Exp-run results on i386: http://package18.nyi.freebsd.org/jail.html?mastername=headi386PR206039-default 23 new failures on i386 (and around 150 new ports skipped): + {"origin"=>"audio/linuxsampler", "pkgname"=>"linuxsampler-1.0.0_5", "phase"=>"stage", "errortype"=>"coredump"} + {"origin"=>"databases/firebird25-client", "pkgname"=>"firebird25-client-2.5.4_3", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"devel/libsigcx", "pkgname"=>"libsigcx-0.6.6_8", "phase"=>"configure", "errortype"=>"configure_error"} + {"origin"=>"devel/mico", "pkgname"=>"mico-2.3.13_2", "phase"=>"build", "errortype"=>"bad_C++_code"} + {"origin"=>"devel/spark", "pkgname"=>"apache-spark-1.5.2", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"devel/vera++", "pkgname"=>"vera++-1.3.0", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"editors/abiword-docs", "pkgname"=>"abiword-docs-3.0.1", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"editors/libreoffice4", "pkgname"=>"libreoffice4-4.3.7_1", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"editors/openoffice-4", "pkgname"=>"apache-openoffice-4.1.2_1", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"editors/openoffice-devel", "pkgname"=>"apache-openoffice-devel-4.2.1712473_1,4", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"graphics/ayam", "pkgname"=>"ayam-1.22", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"graphics/ocrfeeder", "pkgname"=>"ocrfeeder-0.8.1_1", "phase"=>"configure", "errortype"=>"configure_error"} + {"origin"=>"graphics/pixie", "pkgname"=>"pixie-2.2.6_12", "phase"=>"package", "errortype"=>"coredump"} + {"origin"=>"graphics/synfigstudio", "pkgname"=>"synfigstudio-1.0.2", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"graphics/variety", "pkgname"=>"variety-0.5.4_2", "phase"=>"stage", "errortype"=>"???"} + {"origin"=>"lang/afnix", "pkgname"=>"afnix-2.5.2", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"lang/polyml", "pkgname"=>"polyml-5.5.2_2", "phase"=>"build", "errortype"=>"termios"} + {"origin"=>"net-im/licq", "pkgname"=>"licq-base-1.8.2_1", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"net-p2p/amule", "pkgname"=>"amule-2.3.1_14", "phase"=>"configure", "errortype"=>"configure_error"} + {"origin"=>"net-p2p/amule-devel", "pkgname"=>"amule-devel-10871", "phase"=>"configure", "errortype"=>"configure_error"} + {"origin"=>"textproc/kenlm", "pkgname"=>"kenlm-20140830", "phase"=>"build/runaway", "errortype"=>"runaway_process"} + {"origin"=>"textproc/libkolabxml", "pkgname"=>"libkolabxml-1.1.1", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"textproc/xalan-c", "pkgname"=>"xalan-c-1.11", "phase"=>"build", "errortype"=>"coredump"} Failure logs on i386: http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/linuxsampler-1.0.0_5.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/firebird25-client-2.5.4_3.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/libsigcx-0.6.6_8.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/mico-2.3.13_2.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/apache-spark-1.5.2.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/vera++-1.3.0.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/abiword-docs-3.0.1.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/libreoffice4-4.3.7_1.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/apache-openoffice-4.1.2_1.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/apache-openoffice-devel-4.2.1712473_1,4.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/ayam-1.22.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/ocrfeeder-0.8.1_1.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/pixie-2.2.6_12.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/synfigstudio-1.0.2.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/variety-0.5.4_2.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/afnix-2.5.2.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/polyml-5.5.2_2.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/licq-base-1.8.2_1.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/amule-2.3.1_14.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/amule-devel-10871.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/kenlm-20140830.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/libkolabxml-1.1.1.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-01-13_15h49m59s/logs/errors/xalan-c-1.11.log
Created attachment 172257 [details] patch to enable llvm libunwind by default on aarch64, amd64, arm, i386, riscv
llvm-libunwind should have much smaller stack usage now, please retest when convenient
Actually, hold off -- there is still an unresolved issue with stack usage in llvm-libunwind.
Stack usage issue should be addressed as of r302475.
Exp-run results on i386: http://package18.nyi.freebsd.org/build.html?mastername=headi386PR206039-default&build=2016-07-10_17h32m24s New failures: + {"origin"=>"audio/linuxsampler", "pkgname"=>"linuxsampler-1.0.0_5", "phase"=>"stage", "errortype"=>"coredump"} + {"origin"=>"databases/firebird25-client", "pkgname"=>"firebird25-client-2.5.4_7", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"devel/libsigcx", "pkgname"=>"libsigcx-0.6.6_8", "phase"=>"configure", "errortype"=>"configure_error"} + {"origin"=>"devel/mico", "pkgname"=>"mico-2.3.13_2", "phase"=>"build", "errortype"=>"bad_C++_code"} + {"origin"=>"devel/vera++", "pkgname"=>"vera++-1.3.0", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"editors/abiword-docs", "pkgname"=>"abiword-docs-3.0.1", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"editors/libreoffice4", "pkgname"=>"libreoffice4-4.3.7_5", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"editors/openoffice-4", "pkgname"=>"apache-openoffice-4.1.2_6", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"editors/openoffice-devel", "pkgname"=>"apache-openoffice-devel-4.2.1749607_1,4", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"graphics/ayam", "pkgname"=>"ayam-1.23", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"graphics/pixie", "pkgname"=>"pixie-2.2.6_12", "phase"=>"package", "errortype"=>"coredump"} + {"origin"=>"graphics/synfigstudio", "pkgname"=>"synfigstudio-1.0.2", "phase"=>"build", "errortype"=>"coredump"} + {"origin"=>"graphics/variety", "pkgname"=>"variety-0.5.4_2", "phase"=>"stage", "errortype"=>"???"} + {"origin"=>"lang/polyml", "pkgname"=>"polyml-5.6", "phase"=>"build", "errortype"=>"termios"} + {"origin"=>"net-im/licq", "pkgname"=>"licq-base-1.8.2_2", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"net-p2p/amule", "pkgname"=>"amule-2.3.1_14", "phase"=>"configure", "errortype"=>"configure_error"} + {"origin"=>"net-p2p/amule-devel", "pkgname"=>"amule-devel-10933", "phase"=>"configure", "errortype"=>"configure_error"} + {"origin"=>"science/orthanc", "pkgname"=>"orthanc-1.0.0_1", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"sysutils/catfish", "pkgname"=>"catfish-1.4.1", "phase"=>"configure", "errortype"=>"???"} + {"origin"=>"textproc/kenlm", "pkgname"=>"kenlm-20140830", "phase"=>"build/runaway", "errortype"=>"runaway_process"} + {"origin"=>"textproc/libkolabxml", "pkgname"=>"libkolabxml-1.1.1", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"textproc/xalan-c", "pkgname"=>"xalan-c-1.11", "phase"=>"build", "errortype"=>"coredump"} Failure logs: http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/linuxsampler-1.0.0_5.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/firebird25-client-2.5.4_7.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/libsigcx-0.6.6_8.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/mico-2.3.13_2.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/vera++-1.3.0.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/abiword-docs-3.0.1.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/libreoffice4-4.3.7_5.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/apache-openoffice-4.1.2_6.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/apache-openoffice-devel-4.2.1749607_1,4.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/ayam-1.23.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/pixie-2.2.6_12.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/synfigstudio-1.0.2.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/variety-0.5.4_2.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/polyml-5.6.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/licq-base-1.8.2_2.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/amule-2.3.1_14.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/amule-devel-10933.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/orthanc-1.0.0_1.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/catfish-1.4.1.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/kenlm-20140830.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/libkolabxml-1.1.1.log http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/xalan-c-1.11.log Around 200 ports were skipped due to those new failures
Thanks. There are a bunch of failures that appear to be completely unrelated to libunwind - e.g. clang crashes or incompatibilities with FreeBSD headers. Some examples: gmsh ==== http://package18.nyi.freebsd.org/data/headi386PR206039-default/2016-07-10_17h32m24s/logs/errors/gmsh-2.12.0.log *** Bad machine code: Using an undefined physical register *** - function: _ZN11voroMetal3D14correspondanceEddddiRbddd - basic block: BB#22 land.lhs.true34 (0x2ed078bc) - instruction: FNSTSW16r - operand 1: %FPSW<imp-use,kill> fatal error: error in backend: Found 1 machine code errors. Is it possible to copy out the /tmp/periodical-fa4cca.cpp and /tmp/periodical-fa4cca.sh files from the build jail? omniORB ======= c++ -c -O2 -pipe -fstack-protector -fno-strict-aliasing -Wall -Wno-unused -fexceptions -I. -I. -I../../../include -I../../../include -D__OSVERSION__=0 -D__x86__ -o static/posix.o posix.cc In file included from posix.cc:80: ../../../include/omnithread.h:191:2: error: "No implementation header file" #error "No implementation header file" ^ ../../../include/omnithread.h:205:2: error: "Implementation header file incomplete" #error "Implementation header file incomplete" ^ ../../../include/omnithread.h:259:5: error: unknown type name 'OMNI_MUTEX_IMPLEMENTATION' OMNI_MUTEX_IMPLEMENTATION ^ vapoursynth =========== ===> vapoursynth-r32 depends on package: /packages/All/py34-sphinx-1.4.4.txz - not found ===> USE_PACKAGE_DEPENDS_ONLY set - not building missing dependency from source *** Error code 1 avro-c ====== CMake Error at CMakeLists.txt:178 (message): libjansson >=2.3 not found omniORB ======= posix.cc:603:15: error: no matching function for call to 'pthread_detach' THROW_ERRORS(pthread_detach(&posix_thread)); ^~~~~~~~~~~~~~ posix.cc:108:32: note: expanded from macro 'THROW_ERRORS' #define THROW_ERRORS(x) { if ((x) != 0) throw omni_thread_fatal(errno); } ^ /usr/include/pthread.h:216:6: note: candidate function not viable: no known conversion from 'pthread_t *' (aka 'pthread **') to 'pthread_t' (aka 'pthread *') for 1st argument; remove & int pthread_detach(pthread_t); ^ posix.cc:800:18: error: no matching function for call to 'pthread_getspecific' THROW_ERRORS(pthread_getspecific(self_key, (void**)&me)); ^~~~~~~~~~~~~~~~~~~ posix.cc:108:32: note: expanded from macro 'THROW_ERRORS' #define THROW_ERRORS(x) { if ((x) != 0) throw omni_thread_fatal(errno); } ^ /usr/include/pthread.h:219:8: note: candidate function not viable: requires 1 argument, but 2 were provided void *pthread_getspecific(pthread_key_t); ^ 2 errors generated. ufraw ===== dcraw.cc:9245:20: error: call to 'abs' is ambiguous if (abs(i) < abs(c)) { ^~~ adacurses ========= ./terminal_interface-curses.o: In function `terminal_interface__curses__get_keypad_mode': terminal_interface-curses.adb:(.text+0xe98): undefined reference to `is_keypad' ./terminal_interface-curses.o: In function `terminal_interface__curses__scrolling_allowed': terminal_interface-curses.adb:(.text+0x11e8): undefined reference to `is_scrollok' gpsbabel ======== exif.cc:1455:34: error: call to 'abs' is ambiguous qPrintable(str), abs(exif_time_ref - exif_wpt_ref->creation_time.toTime_t())); ^~~ /usr/include/stdlib.h:83:6: note: candidate function int abs(int) __pure2; ^ /usr/include/c++/v1/stdlib.h:115:44: note: candidate function inline _LIBCPP_INLINE_VISIBILITY long abs( long __x) _NOEXCEPT {return labs(__x);} ^ /usr/include/c++/v1/stdlib.h:117:44: note: candidate function inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);} ^ /usr/include/c++/v1/math.h:646:1: note: candidate function abs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);} ^ /usr/include/c++/v1/math.h:650:1: note: candidate function abs(double __lcpp_x) _NOEXCEPT {return fabs(__lcpp_x);} ^ /usr/include/c++/v1/math.h:654:1: note: candidate function abs(long double __lcpp_x) _NOEXCEPT {return fabsl(__lcpp_x);} ^ phantomjs ========= lalr.cpp:249:1: error: declaration of anonymous struct must be a definition struct _Nullable: public std::unary_function<Name, bool> ^ amd64-gcc ========= pkg-static: Unable to access file /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-portbld-freebsd12.0/5.3.0/include-fixed/netinet/ip_fil.h: No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-portbld-freebsd12.0/5.3.0/include-fixed/netinet/ip_lookup.h: No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-portbld-freebsd12.0/5.3.0/include-fixed/netinet/ip_nat.h: No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-portbld-freebsd12.0/5.3.0/include-fixed/netinet/ip_proxy.h: No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-portbld-freebsd12.0/5.3.0/include-fixed/netinet/ip_scan.h: No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-portbld-freebsd12.0/5.3.0/include-fixed/netinet/ip_state.h: No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-portbld-freebsd12.0/5.3.0/include-fixed/stddef.h: No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-portbld-freebsd12.0/5.3.0/include-fixed/stdio.h: No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-portbld-freebsd12.0/5.3.0/include-fixed/stdlib.h: No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-portbld-freebsd12.0/5.3.0/include-fixed/sys/types.h: No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-portbld-freebsd12.0/5.3.0/include-fixed/unistd.h: No such file or directory pkg-static: Unable to access file /wrkdirs/usr/ports/devel/amd64-gcc/work/stage/usr/local/lib/gcc/x86_64-portbld-freebsd12.0/5.3.0/include-fixed/wchar.h: No such file or directory bochs ===== In file included from init.cc:25: ./cpu.h:4513:117: error: 'regparm' parameter must be between 0 and 3 inclusive BX_SMF bx_bool write_virtual_checks(bx_segment_reg_t *seg, Bit32u offset, unsigned len, bx_bool align = BX_FALSE) BX_CPP_AttrRegparmN(4); ^ ~ ../config.h:790:49: note: expanded from macro 'BX_CPP_AttrRegparmN' # define BX_CPP_AttrRegparmN(X) __attribute__((regparm(X))) ^ ~ In file included from init.cc:25: ./cpu.h:4514:116: error: 'regparm' parameter must be between 0 and 3 inclusive BX_SMF bx_bool read_virtual_checks(bx_segment_reg_t *seg, Bit32u offset, unsigned len, bx_bool align = BX_FALSE) BX_CPP_AttrRegparmN(4); ^ ~ ../config.h:790:49: note: expanded from macro 'BX_CPP_AttrRegparmN' # define BX_CPP_AttrRegparmN(X) __attribute__((regparm(X))) ^ ~ 2 errors generated. kenlm and freebsd-doc-zh_cn were killed due to excessive run time licq and erlang-riak not clear to me libkolabxml, linuxsampler, orthanc,firebird25-client are consistent with failures expected from libunwind (abort traps), and firebird25-client is responsible for the majority of the downstream skipped ports
All the ports you point are not mentioned in the "new failures"
Indeed, sorry about that. I'll begin with an investigation of firebird25-client.
On amd64, there were 0 new failure.
For reference, the i386 problem is an effect of an ancient GCC bug. See http://lists.llvm.org/pipermail/lldb-dev/2014-January/003096.html for a description of the issue. It looks like this hacky patch might fix it: --- a/contrib/llvm/projects/libunwind/include/libunwind.h +++ b/contrib/llvm/projects/libunwind/include/libunwind.h @@ -151,8 +151,8 @@ enum { UNW_X86_ECX = 1, UNW_X86_EDX = 2, UNW_X86_EBX = 3, - UNW_X86_EBP = 4, - UNW_X86_ESP = 5, + UNW_X86_ESP = 4, + UNW_X86_EBP = 5, UNW_X86_ESI = 6, UNW_X86_EDI = 7 }; I need to do a little more research first for a fix, but will then follow-up with a request for another i386 exp-run.
After further investigation I believe the "hacky patch" in the comment above is correct for non-Darwin i386 libunwind consumers, and committed it in r303016. Further work will be needed for upstream of course but this should be sufficient for FreeBSD, and I would like to request another i386 exp-run at your convenience.
Exp-run results on i386: http://package18.nyi.freebsd.org/build.html?mastername=headi386PR206039-default&build=2016-07-22_14h51m27s There were no new failures.
A commit references this bug: Author: emaste Date: Wed Jul 27 16:01:44 UTC 2016 New revision: 303394 URL: https://svnweb.freebsd.org/changeset/base/303394 Log: Enable LLVM libunwind by default on amd64 and i386 It is a maintained and updated runtime exception stack unwinder that should be a drop-in replacement. It can be disabled by setting WITHOUT_LLVM_LIBUNWIND in src.conf. PR: 206039 [exp-run] Sponsored by: The FreeBSD Foundation Changes: head/share/mk/src.opts.mk
LLVM libunwind enabled in r303394. Thanks Antoine for the exp-runs!