76fad99 Use CHAR_BIT instead of NBBY in libctf

Authored and Committed by Tom Tromey 4 years ago
    Use CHAR_BIT instead of NBBY in libctf
    
    On x86-64 Fedora 29, I tried to build a mingw-hosted gdb that targets
    ppc-linux.  You can do this with:
    
        ../binutils-gdb/configure --host=i686-w64-mingw32 --target=ppc-linux \
            --disable-{binutils,gas,gold,gprof,ld}
    
    The build failed with these errors in libctf:
    
    In file included from ../../binutils-gdb/libctf/ctf-create.c:20:
    ../../binutils-gdb/libctf/ctf-create.c: In function 'ctf_add_encoded':
    ../../binutils-gdb/libctf/ctf-create.c:803:59: error: 'NBBY' undeclared (first use in this function)
       dtd->dtd_data.ctt_size = clp2 (P2ROUNDUP (ep->cte_bits, NBBY) / NBBY);
                                                               ^~~~
    ../../binutils-gdb/libctf/ctf-impl.h:254:42: note: in definition of macro 'P2ROUNDUP'
     #define P2ROUNDUP(x, align)  (-(-(x) & -(align)))
                                              ^~~~~
    ../../binutils-gdb/libctf/ctf-create.c:803:59: note: each undeclared identifier is reported only once for each function it appears in
       dtd->dtd_data.ctt_size = clp2 (P2ROUNDUP (ep->cte_bits, NBBY) / NBBY);
                                                               ^~~~
    ../../binutils-gdb/libctf/ctf-impl.h:254:42: note: in definition of macro 'P2ROUNDUP'
     #define P2ROUNDUP(x, align)  (-(-(x) & -(align)))
                                              ^~~~~
    ../../binutils-gdb/libctf/ctf-create.c: In function 'ctf_add_slice':
    ../../binutils-gdb/libctf/ctf-create.c:862:59: error: 'NBBY' undeclared (first use in this function)
       dtd->dtd_data.ctt_size = clp2 (P2ROUNDUP (ep->cte_bits, NBBY) / NBBY);
                                                               ^~~~
    ../../binutils-gdb/libctf/ctf-impl.h:254:42: note: in definition of macro 'P2ROUNDUP'
     #define P2ROUNDUP(x, align)  (-(-(x) & -(align)))
                                              ^~~~~
    ../../binutils-gdb/libctf/ctf-create.c: In function 'ctf_add_member_offset':
    ../../binutils-gdb/libctf/ctf-create.c:1341:21: error: 'NBBY' undeclared (first use in this function)
          off += lsize * NBBY;
                         ^~~~
    ../../binutils-gdb/libctf/ctf-create.c: In function 'ctf_add_type':
    ../../binutils-gdb/libctf/ctf-create.c:1822:16: warning: unknown conversion type character 'z' in format [-Wformat=]
       ctf_dprintf ("Conflict for type %s against ID %lx: "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../../binutils-gdb/libctf/ctf-create.c:1823:35: note: format string is defined here
             "union size differs, old %zi, new %zi\n",
                                       ^
    ../../binutils-gdb/libctf/ctf-create.c:1822:16: warning: unknown conversion type character 'z' in format [-Wformat=]
       ctf_dprintf ("Conflict for type %s against ID %lx: "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../../binutils-gdb/libctf/ctf-create.c:1823:44: note: format string is defined here
             "union size differs, old %zi, new %zi\n",
                                                ^
    ../../binutils-gdb/libctf/ctf-create.c:1822:16: warning: too many arguments for format [-Wformat-extra-args]
       ctf_dprintf ("Conflict for type %s against ID %lx: "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    This patch fixes the actual errors in here.  I did not try to fix the
    printf warnings, though I think someone ought to.
    
    Ok?
    
    libctf/ChangeLog
    2019-06-04  Tom Tromey  <tromey@adacore.com>
    
    	* ctf-create.c (ctf_add_encoded, ctf_add_slice)
    	(ctf_add_member_offset): Use CHAR_BIT, not NBBY.
    
        
file modified
+5 -0
file modified
+8 -6