current trunk fails to build on arm-linux with: In file included from ../../../../src/libbacktrace/backtrace.c:35:0: ../libgcc/unwind.h: In function '_Unwind_decode_typeinfo_ptr': ../libgcc/unwind.h:42:45: error: unused parameter 'base' [-Werror=unused-parameter] _Unwind_decode_typeinfo_ptr (_Unwind_Word base, _Unwind_Word ptr) ^ ../libgcc/unwind.h: In function '__gnu_unwind_24bit': ../libgcc/unwind.h:68:41: error: unused parameter 'context' [-Werror=unused-parameter] __gnu_unwind_24bit (_Unwind_Context * context, _uw data, int compact) ^ ../libgcc/unwind.h:68:54: error: unused parameter 'data' [-Werror=unused-parameter] __gnu_unwind_24bit (_Unwind_Context * context, _uw data, int compact) ^ ../libgcc/unwind.h:68:64: error: unused parameter 'compact' [-Werror=unused-parameter] __gnu_unwind_24bit (_Unwind_Context * context, _uw data, int compact) ^ cc1: all warnings being treated as errors make[8]: *** [backtrace.lo] Error 1
the immediate fix is to mark all arguments as unused, however I don't know if this function should be used by libbacktrace, if it returns _URC_FAILURE unconditionally. * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused. --- libgcc/config/arm/unwind-arm.h (revision 192162) +++ libgcc/config/arm/unwind-arm.h (working copy) @@ -64,8 +64,11 @@ return tmp; } +#define __unused __attribute__((unused)) + static inline _Unwind_Reason_Code - __gnu_unwind_24bit (_Unwind_Context * context, _uw data, int compact) + __gnu_unwind_24bit (_Unwind_Context * context __unused, _uw data __unused, + int compact __unused) { return _URC_FAILURE; }