build failed on libunwind.o with gcc 6.2.1
xniine opened this issue · comments
Hi, I recently hit a compile issue on gcc 6.2.1, put on the error message/walkround on myside.
# compile libunwind/libunwind.o
/var/tmp/rumprun/obj-amd64-hw/rumptools/bin/x86_64--netbsd-c++ -frandom-seed=100a4059 -O2 -g -mno-red-zone -Wall -Wextra -Wno-unused-parameter -fno-stack-protector -Werror -D__NetBSD__ -Ulinux -U__linux -U__linux__ -U__gnu_linux__ --sysroot=/var/tmp/rumprun/obj-amd64-hw/rumptools/dest -isystem /var/tmp/rumprun/obj-amd64-hw/rumptools/dest/usr/include/c++ -I/var/tmp/rumprun/./obj-amd64-hw/include -c -std=c++0x -funwind-tables -fno-rtti -fno-exceptions -fvisibility=hidden -Wno-old-style-cast -I/var/tmp/rumprun/src-netbsd/sys/lib/libunwind /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/libunwind.cxx -o libunwind.o
In file included from /usr/include/c++/6.2.1/stdlib.h:36:0,
from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/UnwindCursor.hpp:16,
from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/libunwind.cxx:18:
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:98:9: error: '::div_t' has not been declared
using ::div_t;
^~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:99:9: error: '::ldiv_t' has not been declared
using ::ldiv_t;
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:101:9: error: '::lldiv_t' has not been declared
using ::lldiv_t;
^~~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:103:9: error: '::atof' has not been declared
using ::atof;
^~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:104:9: error: '::atoi' has not been declared
using ::atoi;
^~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:105:9: error: '::atol' has not been declared
using ::atol;
^~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:107:9: error: '::atoll' has not been declared
using ::atoll;
^~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:109:9: error: '::strtod' has not been declared
using ::strtod;
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:110:9: error: '::strtof' has not been declared
using ::strtof;
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:111:9: error: '::strtold' has not been declared
using ::strtold;
^~~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:112:9: error: '::strtol' has not been declared
using ::strtol;
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:114:9: error: '::strtoll' has not been declared
using ::strtoll;
^~~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:116:9: error: '::strtoul' has not been declared
using ::strtoul;
^~~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:118:9: error: '::strtoull' has not been declared
using ::strtoull;
^~~~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:120:9: error: '::rand' has not been declared
using ::rand;
^~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:121:9: error: '::srand' has not been declared
using ::srand;
^~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:122:9: error: '::calloc' has not been declared
using ::calloc;
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:123:9: error: '::free' has not been declared
using ::free;
^~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:124:9: error: '::malloc' has not been declared
using ::malloc;
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:125:9: error: '::realloc' has not been declared
using ::realloc;
^~~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:126:9: error: '::abort' has not been declared
using ::abort;
^~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:127:9: error: '::atexit' has not been declared
using ::atexit;
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:128:9: error: '::exit' has not been declared
using ::exit;
^~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:129:9: error: '::_Exit' has not been declared
using ::_Exit;
^~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:130:9: error: '::getenv' has not been declared
using ::getenv;
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:131:9: error: '::system' has not been declared
using ::system;
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:132:9: error: '::bsearch' has not been declared
using ::bsearch;
^~~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:133:9: error: '::qsort' has not been declared
using ::qsort;
^~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:135:9: error: '::abs' has not been declared
using ::abs;
^~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:137:9: error: '::labs' has not been declared
using ::labs;
^~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:140:9: error: '::llabs' has not been declared
using ::llabs;
^~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:143:9: error: '::div' has not been declared
using ::div;
^~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:145:9: error: '::ldiv' has not been declared
using ::ldiv;
^~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:148:9: error: '::lldiv' has not been declared
using ::lldiv;
^~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:151:9: error: '::mblen' has not been declared
using ::mblen;
^~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:152:9: error: '::mbtowc' has not been declared
using ::mbtowc;
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:153:9: error: '::wctomb' has not been declared
using ::wctomb;
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:155:9: error: '::mbstowcs' has not been declared
using ::mbstowcs;
^~~~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:156:9: error: '::wcstombs' has not been declared
using ::wcstombs;
^~~~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:158:9: error: '::at_quick_exit' has not been declared
using ::at_quick_exit;
^~~~~~~~~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:159:9: error: '::quick_exit' has not been declared
using ::quick_exit;
^~~~~~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib: In function 'long int std::__1::abs(long int)':
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:167:90: error: 'labs' was not declared in this scope
inline _LIBCPP_INLINE_VISIBILITY long abs( long __x) _NOEXCEPT {return labs(__x);}
^
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib: In function 'long long int std::__1::abs(long long int)':
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:169:90: error: 'llabs' was not declared in this scope
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);}
^
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib: At global scope:
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:172:35: error: 'ldiv_t' does not name a type
inline _LIBCPP_INLINE_VISIBILITY ldiv_t div( long __x, long __y) _NOEXCEPT {return ldiv(__x, __y);}
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:174:34: error: 'lldiv_t' does not name a type
inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x, long long __y) _NOEXCEPT {return lldiv(__x, __y);}
^~~~~~~
In file included from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/UnwindCursor.hpp:16:0,
from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/libunwind.cxx:18:
/usr/include/c++/6.2.1/stdlib.h:38:12: error: 'std::abort' has not been declared
using std::abort;
^~~~~
/usr/include/c++/6.2.1/stdlib.h:39:12: error: 'std::atexit' has not been declared
using std::atexit;
^~~~~~
/usr/include/c++/6.2.1/stdlib.h:40:12: error: 'std::exit' has not been declared
using std::exit;
^~~~
In file included from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/UnwindCursor.hpp:19:0,
from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/libunwind.cxx:18:
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/AddressSpace.hpp: In member function '__int64_t _Unwind::LocalAddressSpace::getSLEB128(_Unwind::LocalAddressSpace::pint_t&, _Unwind::LocalAddressSpace::pint_t)':
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/AddressSpace.hpp:143:27: error: left shift of negative value [-Werror=shift-negative-value]
result |= (-1LL) << bit;
^~~
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/AddressSpace.hpp: In member function 'bool _Unwind::LocalAddressSpace::addFDE(_Unwind::LocalAddressSpace::pint_t, _Unwind::LocalAddressSpace::pint_t, _Unwind::LocalAddressSpace::pint_t)':
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/AddressSpace.hpp:287:42: error: 'malloc' was not declared in this scope
Range *n = (Range *)malloc(sizeof(*n));
^
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/AddressSpace.hpp:299:11: error: 'free' was not declared in this scope
free(n);
^
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/AddressSpace.hpp: In member function 'bool _Unwind::LocalAddressSpace::removeFDE(_Unwind::LocalAddressSpace::pint_t, _Unwind::LocalAddressSpace::pint_t, _Unwind::LocalAddressSpace::pint_t)':
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/AddressSpace.hpp:319:11: error: 'free' was not declared in this scope
free(n);
^
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/AddressSpace.hpp: In member function 'void _Unwind::LocalAddressSpace::removeDSO(_Unwind::LocalAddressSpace::pint_t)':
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/AddressSpace.hpp:334:11: error: 'free' was not declared in this scope
free(n);
^
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/AddressSpace.hpp: In member function 'void _Unwind::LocalAddressSpace::addDSO(_Unwind::LocalAddressSpace::pint_t, _Unwind::LocalAddressSpace::pint_t)':
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/AddressSpace.hpp:391:42: error: 'malloc' was not declared in this scope
Range *n = (Range *)malloc(sizeof(*n));
^
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/AddressSpace.hpp:404:13: error: 'free' was not declared in this scope
free(n);
^
In file included from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/DwarfInstructions.hpp:22:0,
from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/UnwindCursor.hpp:20,
from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/libunwind.cxx:18:
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/DwarfParser.hpp: In static member function 'static bool _Unwind::CFI_Parser<A, R>::parseInstructions(A&, _Unwind::CFI_Parser<A, R>::pint_t, _Unwind::CFI_Parser<A, R>::pint_t, const _Unwind::CFI_Parser<A, R>::CIE_Info&, _Unwind::CFI_Parser<A, R>::pint_t, _Unwind::CFI_Parser<A, R>::PrologInfoStackEntry*&, _Unwind::CFI_Parser<A, R>::PrologInfo*, _Unwind::unw_proc_info_t*)':
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/DwarfParser.hpp:386:74: error: there are no arguments to 'malloc' that depend on a template parameter, so a declaration of 'malloc' must be available [-fpermissive]
entry = (PrologInfoStackEntry *)malloc(sizeof(PrologInfoStackEntry));
^
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/DwarfParser.hpp:386:74: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/DwarfParser.hpp:401:25: error: there are no arguments to 'free' that depend on a template parameter, so a declaration of 'free' must be available [-fpermissive]
free((char *)top);
^
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/libunwind.cxx: In function 'void _Unwind_Resume(_Unwind_Exception*)':
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/libunwind.cxx:230:9: error: 'abort' was not declared in this scope
abort();
^
In file included from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/DwarfInstructions.hpp:22:0,
from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/UnwindCursor.hpp:20,
from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/libunwind.cxx:18:
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/DwarfParser.hpp: In instantiation of 'static bool _Unwind::CFI_Parser<A, R>::parseInstructions(A&, _Unwind::CFI_Parser<A, R>::pint_t, _Unwind::CFI_Parser<A, R>::pint_t, const _Unwind::CFI_Parser<A, R>::CIE_Info&, _Unwind::CFI_Parser<A, R>::pint_t, _Unwind::CFI_Parser<A, R>::PrologInfoStackEntry*&, _Unwind::CFI_Parser<A, R>::PrologInfo*, _Unwind::unw_proc_info_t*) [with A = _Unwind::LocalAddressSpace; R = _Unwind::Registers_x86_64; _Unwind::CFI_Parser<A, R>::pint_t = long unsigned int]':
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/DwarfParser.hpp:293:25: required from 'static bool _Unwind::CFI_Parser<A, R>::parseFDEInstructions(A&, const _Unwind::CFI_Parser<A, R>::FDE_Info&, const _Unwind::CFI_Parser<A, R>::CIE_Info&, _Unwind::CFI_Parser<A, R>::pint_t, _Unwind::CFI_Parser<A, R>::PrologInfo*, _Unwind::unw_proc_info_t*) [with A = _Unwind::LocalAddressSpace; R = _Unwind::Registers_x86_64; _Unwind::CFI_Parser<A, R>::pint_t = long unsigned int]'
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/UnwindCursor.hpp:127:46: required from 'void _Unwind::UnwindCursor<A, R>::setInfoBasedOnIPRegister(bool) [with A = _Unwind::LocalAddressSpace; R = _Unwind::Registers_x86_64]'
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/libunwind.cxx:31:35: required from here
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/DwarfParser.hpp:386:45: error: 'malloc' was not declared in this scope
entry = (PrologInfoStackEntry *)malloc(sizeof(PrologInfoStackEntry));
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/DwarfParser.hpp:401:13: error: 'free' was not declared in this scope
free((char *)top);
~~~~^~~~~~~~~~~~~
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind/libunwind.cxx:231:1: error: 'noreturn' function does return [-Werror]
}
^
cc1plus: all warnings being treated as errors
*** Failed target: libunwind.o
*** Failed command: /var/tmp/rumprun/obj-amd64-hw/rumptools/bin/x86_64--netbsd-c++ -frandom-seed=100a4059 -O2 -g -mno-red-zone -Wall -Wextra -Wno-unused-parameter -fno-stack-protector -Werror -D__NetBSD__ -Ulinux -U__linux -U__linux__ -U__gnu_linux__ --sysroot=/var/tmp/rumprun/obj-amd64-hw/rumptools/dest -isystem /var/tmp/rumprun/obj-amd64-hw/rumptools/dest/usr/include/c++ -I/var/tmp/rumprun/./obj-amd64-hw/include -c -std=c++0x -funwind-tables -fno-rtti -fno-exceptions -fvisibility=hidden -Wno-old-style-cast -I/var/tmp/rumprun/src-netbsd/sys/lib/libunwind /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/libunwind.cxx -o libunwind.o
*** Error code 1
Stop.
nbmake[2]: stopped in /var/tmp/rumprun/lib/libunwind
*** Failed target: dependall
*** Failed command: cd "/var/tmp/rumprun/lib/libunwind"; /var/tmp/rumprun/obj-amd64-hw/rumptools/bin/nbmake realall
*** Error code 1
Stop.
nbmake[1]: stopped in /var/tmp/rumprun/lib/libunwind
make: *** [../Makefile.inc:80: /var/tmp/rumprun/./obj-amd64-hw/lib/libunwind/libunwind.a] Error 1
diff --git a/lib/libunwind/Makefile b/lib/libunwind/Makefile
index 5ca9cb6..3cf5ef7 100644
--- a/lib/libunwind/Makefile
+++ b/lib/libunwind/Makefile
@@ -5,7 +5,7 @@ RUMPTOP= ${TOPRUMP}
LIB= unwind
INCSDIR=/usr/include
-CPPFLAGS+= -isystem ${DESTDIR}/usr/include/c++
+CPPFLAGS+= -isystem ${DESTDIR}/usr/include -isystem ${DESTDIR}/usr/include/c++ -Wno-error=shift-negative-value
LIBC_MACHINE_CPU?= ${MACHINE_CPU}
.include "${RUMPTOP}/../lib/libunwind/Makefile.inc"
That's a bit weird, considering that there's a --sysroot
there already. Might be worthwhile to consulting the docs or ask the gcc list if ignoring --sysroot
is an intended change in gcc 6.
With your proposed change, does everything work as expected (including being able to compile and run C++ programs from rumprun-packages)?
I tried on complie + reumprun-bake/rumprun, but not full test, so far it seems ok.
Also I did some check on the failed g++ command again
Some how in my environment, the /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include
and <sysroot>/usr/include
are both included.
I guess:
-
This one from gcc
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include
takes more precedence than<sysroot>/usr/include
and shadows the<sysroot>/usr/include/stdlib.h
. -
The include sequence becomes
/var/tmp/rumprun/obj-amd64-hw/rumptools/dest/usr/include/c++
then<some system path>
then/var/tmp/rumprun/obj-amd64-hw/rumptools/dest/usr/include
. Which caused this issue.
#include "..." search starts here:
#include <...> search starts here:
/var/tmp/rumprun/./obj-amd64-hw/include
/var/tmp/rumprun/src-netbsd/sys/lib/libunwind
/var/tmp/rumprun/obj-amd64-hw/rumptools/dest/usr/include/c++
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/../../../../include/c++/6.2.1
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/../../../../include/c++/6.2.1/x86_64-pc-linux-gnu
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/../../../../include/c++/6.2.1/backward
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include
/usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include-fixed
/var/tmp/rumprun/obj-amd64-hw/rumptools/dest/usr/include
End of search list.
GNU C++11 (GCC) version 6.2.1 20160830 (x86_64-pc-linux-gnu)
compiled by GNU C version 6.2.1 20160830, GMP version 6.1.1, MPFR version 3.1.4-p1, MPC version 1.0.3, isl version 0.15
warning: MPFR header version 3.1.4-p1 differs from library version 3.1.5.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: bfb50e0547e830f092456a1b04cf4850
In file included from /usr/include/c++/6.2.1/stdlib.h:36:0,
from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/UnwindCursor.hpp:16,
from /var/tmp/rumprun/src-netbsd/sys/lib/libunwind/libunwind.cxx:18:
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:98:9: error: ‘::div_t’ has not been declared
using ::div_t;
^~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:99:9: error: ‘::ldiv_t’ has not been declared
using ::ldiv_t;
^~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:101:9: error: ‘::lldiv_t’ has not been declared
using ::lldiv_t;
^~~~~~~
/var/tmp/rumprun/obj-amd64-hw/dest.stage/include/c++/cstdlib:103:9: error: ‘::atof’ has not been declared
using ::atof;
^~~~
Ah, so the new thing with gcc 6.2.1 is probably that it ships with stdlib.h
.
Bah, the sysroot stuff is really horrible, because apparently it's really no longer a sysroot at all.
Anyway, I think your patch is ok. Please submit a pull request for it. Also, I encourage you to submit the shift-negative-value problem upstream to llvm/libunwind.
Failed on gcc 4.8.4 with this -Wno-error=shift-negative-value
. I think I need a better fix.
Currently, the canonical way to deal with compiler flag differences is to test for them in buildrump.sh and add them to CCWRAPPER_MANGLE
if necessary.
oh, and add yourself to AUTHORS if you like. (yes, it's a "one-liner" fix, but as you've probably no doubt noticed, these "one-liners" for maintaining toolchain support take quite a bit of time, and can easily shadow implementing new features)
See also discussion in PR #87
The llvm/libunwind bug seems to be fixed now, what needs to be done to use the fixed version?
The fix is also now merged into NetBSD HEAD. I'm guessing rumpkernel/netbsd-src would need to be bumped on the next release?