[libunwind] r292721 - DWARF: convert error logs to _LIBUNWIND_LOG

Saleem Abdulrasool via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 26 18:38:19 PST 2017


Sorry, somehow I missed that.  Ive gone ahead and reverted this change for
now (SVN r293257).

On Thu, Jan 26, 2017 at 2:30 PM, Evgenii Stepanov <eugeni.stepanov at gmail.com
> wrote:

> Actually, the bot has been red since Jan 21 with this exact error.
>
> On Thu, Jan 26, 2017 at 2:27 PM, Evgenii Stepanov
> <eugeni.stepanov at gmail.com> wrote:
> > Hi,
> >
> > I'm not sure why we only see this now, but this change is breaking
> > llvm bootstrap with -Werror:
> > http://lab.llvm.org:8011/builders/sanitizer-x86_64-
> linux/builds/732/steps/bootstrap%20clang/logs/stdio
> >
> > llvm/projects/libunwind/src/config.h:90:41: error: token pasting of
> > ',' and __VA_ARGS__ is a GNU extension
> > [-Werror,-Wgnu-zero-variadic-macro-arguments]
> >   fprintf(stderr, "libunwind: " msg "\n", ##__VA_ARGS__)
> >
> > On Sat, Jan 21, 2017 at 8:22 AM, Saleem Abdulrasool via cfe-commits
> > <cfe-commits at lists.llvm.org> wrote:
> >> Author: compnerd
> >> Date: Sat Jan 21 10:22:55 2017
> >> New Revision: 292721
> >>
> >> URL: http://llvm.org/viewvc/llvm-project?rev=292721&view=rev
> >> Log:
> >> DWARF: convert error logs to _LIBUNWIND_LOG
> >>
> >> Use the `_LIBUNWIND_LOG` macro instead of the explicit `fprintf` call.
> >> NFC.
> >>
> >> Modified:
> >>     libunwind/trunk/src/DwarfParser.hpp
> >>     libunwind/trunk/src/config.h
> >>
> >> Modified: libunwind/trunk/src/DwarfParser.hpp
> >> URL: http://llvm.org/viewvc/llvm-project/libunwind/trunk/src/
> DwarfParser.hpp?rev=292721&r1=292720&r2=292721&view=diff
> >> ============================================================
> ==================
> >> --- libunwind/trunk/src/DwarfParser.hpp (original)
> >> +++ libunwind/trunk/src/DwarfParser.hpp Sat Jan 21 10:22:55 2017
> >> @@ -421,8 +421,7 @@ bool CFI_Parser<A>::parseInstructions(A
> >>        offset = (int64_t)addressSpace.getULEB128(p, instructionsEnd)
> >>                                                    *
> cieInfo.dataAlignFactor;
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(stderr,
> >> -                "malformed DW_CFA_offset_extended DWARF unwind, reg
> too big\n");
> >> +        _LIBUNWIND_LOG("malformed DWARF DW_CFA_offset_extended, reg
> too big");
> >>          return false;
> >>        }
> >>        results->savedRegisters[reg].location = kRegisterInCFA;
> >> @@ -436,9 +435,7 @@ bool CFI_Parser<A>::parseInstructions(A
> >>        reg = addressSpace.getULEB128(p, instructionsEnd);
> >>        ;
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(
> >> -            stderr,
> >> -            "malformed DW_CFA_restore_extended DWARF unwind, reg too
> big\n");
> >> +        _LIBUNWIND_LOG("malformed DWARF DW_CFA_restore_extended, reg
> too big");
> >>          return false;
> >>        }
> >>        results->savedRegisters[reg] = initialState.savedRegisters[reg];
> >> @@ -448,8 +445,7 @@ bool CFI_Parser<A>::parseInstructions(A
> >>      case DW_CFA_undefined:
> >>        reg = addressSpace.getULEB128(p, instructionsEnd);
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(stderr,
> >> -                "malformed DW_CFA_undefined DWARF unwind, reg too
> big\n");
> >> +        _LIBUNWIND_LOG("malformed DWARF DW_CFA_undefined, reg too
> big");
> >>          return false;
> >>        }
> >>        results->savedRegisters[reg].location = kRegisterUnused;
> >> @@ -459,8 +455,7 @@ bool CFI_Parser<A>::parseInstructions(A
> >>      case DW_CFA_same_value:
> >>        reg = addressSpace.getULEB128(p, instructionsEnd);
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(stderr,
> >> -                "malformed DW_CFA_same_value DWARF unwind, reg too
> big\n");
> >> +        _LIBUNWIND_LOG("malformed DWARF DW_CFA_same_value, reg too
> big");
> >>          return false;
> >>        }
> >>        // <rdar://problem/8456377> DW_CFA_same_value unsupported
> >> @@ -477,13 +472,11 @@ bool CFI_Parser<A>::parseInstructions(A
> >>        reg = addressSpace.getULEB128(p, instructionsEnd);
> >>        reg2 = addressSpace.getULEB128(p, instructionsEnd);
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(stderr,
> >> -                "malformed DW_CFA_register DWARF unwind, reg too
> big\n");
> >> +        _LIBUNWIND_LOG("malformed DWARF DW_CFA_register, reg too big");
> >>          return false;
> >>        }
> >>        if (reg2 > kMaxRegisterNumber) {
> >> -        fprintf(stderr,
> >> -                "malformed DW_CFA_register DWARF unwind, reg2 too
> big\n");
> >> +        _LIBUNWIND_LOG("malformed DWARF DW_CFA_register, reg2 too
> big");
> >>          return false;
> >>        }
> >>        results->savedRegisters[reg].location = kRegisterInRegister;
> >> @@ -525,7 +518,7 @@ bool CFI_Parser<A>::parseInstructions(A
> >>        reg = addressSpace.getULEB128(p, instructionsEnd);
> >>        offset = (int64_t)addressSpace.getULEB128(p, instructionsEnd);
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(stderr, "malformed DW_CFA_def_cfa DWARF unwind, reg
> too big\n");
> >> +        _LIBUNWIND_LOG("malformed DWARF DW_CFA_def_cfa, reg too big");
> >>          return false;
> >>        }
> >>        results->cfaRegister = (uint32_t)reg;
> >> @@ -537,9 +530,7 @@ bool CFI_Parser<A>::parseInstructions(A
> >>      case DW_CFA_def_cfa_register:
> >>        reg = addressSpace.getULEB128(p, instructionsEnd);
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(
> >> -            stderr,
> >> -            "malformed DW_CFA_def_cfa_register DWARF unwind, reg too
> big\n");
> >> +        _LIBUNWIND_LOG("malformed DWARF DW_CFA_def_cfa_register, reg
> too big");
> >>          return false;
> >>        }
> >>        results->cfaRegister = (uint32_t)reg;
> >> @@ -567,8 +558,7 @@ bool CFI_Parser<A>::parseInstructions(A
> >>      case DW_CFA_expression:
> >>        reg = addressSpace.getULEB128(p, instructionsEnd);
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(stderr,
> >> -                "malformed DW_CFA_expression DWARF unwind, reg too
> big\n");
> >> +        _LIBUNWIND_LOG("malformed DWARF DW_CFA_expression, reg too
> big");
> >>          return false;
> >>        }
> >>        results->savedRegisters[reg].location = kRegisterAtExpression;
> >> @@ -583,9 +573,8 @@ bool CFI_Parser<A>::parseInstructions(A
> >>      case DW_CFA_offset_extended_sf:
> >>        reg = addressSpace.getULEB128(p, instructionsEnd);
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(
> >> -            stderr,
> >> -            "malformed DW_CFA_offset_extended_sf DWARF unwind, reg too
> big\n");
> >> +        _LIBUNWIND_LOG(
> >> +            "malformed DWARF DW_CFA_offset_extended_sf, reg too big");
> >>          return false;
> >>        }
> >>        offset =
> >> @@ -602,8 +591,7 @@ bool CFI_Parser<A>::parseInstructions(A
> >>        offset =
> >>            addressSpace.getSLEB128(p, instructionsEnd) *
> cieInfo.dataAlignFactor;
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(stderr,
> >> -                "malformed DW_CFA_def_cfa_sf DWARF unwind, reg too
> big\n");
> >> +        _LIBUNWIND_LOG("malformed DWARF DW_CFA_def_cfa_sf, reg too
> big");
> >>          return false;
> >>        }
> >>        results->cfaRegister = (uint32_t)reg;
> >> @@ -635,8 +623,7 @@ bool CFI_Parser<A>::parseInstructions(A
> >>      case DW_CFA_val_offset_sf:
> >>        reg = addressSpace.getULEB128(p, instructionsEnd);
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(stderr,
> >> -                "malformed DW_CFA_val_offset_sf DWARF unwind, reg too
> big\n");
> >> +        _LIBUNWIND_LOG("malformed DWARF DW_CFA_val_offset_sf, reg too
> big");
> >>          return false;
> >>        }
> >>        offset =
> >> @@ -651,8 +638,7 @@ bool CFI_Parser<A>::parseInstructions(A
> >>      case DW_CFA_val_expression:
> >>        reg = addressSpace.getULEB128(p, instructionsEnd);
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(stderr,
> >> -                "malformed DW_CFA_val_expression DWARF unwind, reg too
> big\n");
> >> +        _LIBUNWIND_LOG("malformed DWARF DW_CFA_val_expression, reg too
> big");
> >>          return false;
> >>        }
> >>        results->savedRegisters[reg].location = kRegisterIsExpression;
> >> @@ -673,8 +659,8 @@ bool CFI_Parser<A>::parseInstructions(A
> >>      case DW_CFA_GNU_negative_offset_extended:
> >>        reg = addressSpace.getULEB128(p, instructionsEnd);
> >>        if (reg > kMaxRegisterNumber) {
> >> -        fprintf(stderr, "malformed DW_CFA_GNU_negative_offset_extended
> DWARF "
> >> -                        "unwind, reg too big\n");
> >> +        _LIBUNWIND_LOG(
> >> +            "malformed DWARF DW_CFA_GNU_negative_offset_extended, reg
> too big");
> >>          return false;
> >>        }
> >>        offset = (int64_t)addressSpace.getULEB128(p, instructionsEnd)
> >>
> >> Modified: libunwind/trunk/src/config.h
> >> URL: http://llvm.org/viewvc/llvm-project/libunwind/trunk/src/
> config.h?rev=292721&r1=292720&r2=292721&view=diff
> >> ============================================================
> ==================
> >> --- libunwind/trunk/src/config.h (original)
> >> +++ libunwind/trunk/src/config.h Sat Jan 21 10:22:55 2017
> >> @@ -87,7 +87,7 @@
> >>    } while (0)
> >>
> >>  #define _LIBUNWIND_LOG(msg, ...)
>          \
> >> -  fprintf(stderr, "libunwind: " msg "\n", __VA_ARGS__)
> >> +  fprintf(stderr, "libunwind: " msg "\n", ##__VA_ARGS__)
> >>
> >>  #if defined(_LIBUNWIND_HAS_NO_THREADS)
> >>    // only used with pthread calls, not needed for the single-threaded
> builds
> >>
> >>
> >> _______________________________________________
> >> cfe-commits mailing list
> >> cfe-commits at lists.llvm.org
> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>



-- 
Saleem Abdulrasool
compnerd (at) compnerd (dot) org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170126/74da0c33/attachment-0001.html>


More information about the cfe-commits mailing list