* Replace K&R function definition with prototypes to match their declarations. Clang gives errors of: promoted type 'int' of K&R function parameter is not compatible with the parameter type * Add const declaration to locs, which was passed a const. Clang gives errors of: passing 'const Elf_Data *' to parameter of type 'Elf_Data *' discards qualifiers * Avoid clang errors of: comparison of nonnull parameter ... equal to a null pointer is false on first encounter [-Werror,-Wtautological-pointer-compare] The parameter was declared as non-null. * Replace abs with labs for int64 values. * Remove unused static variables. * Init local variable before use, where static analysis failed.
Signed-off-by: Chih-Hung Hsieh <[email protected]> --- backends/aarch64_init.c | 10 +++++----- backends/aarch64_regs.c | 8 +++++--- backends/alpha_init.c | 10 +++++----- backends/arm_init.c | 10 +++++----- backends/i386_init.c | 10 +++++----- backends/ia64_init.c | 10 +++++----- backends/ppc64_init.c | 10 +++++----- backends/ppc_init.c | 10 +++++----- backends/s390_init.c | 10 +++++----- backends/sh_init.c | 10 +++++----- backends/sparc_init.c | 10 +++++----- backends/tilegx_init.c | 10 +++++----- backends/x86_64_init.c | 10 +++++----- libasm/asm_addint8.c | 4 +--- libasm/asm_adduint8.c | 4 +--- libasm/asm_begin.c | 5 +---- libdw/dwarf_getlocation.c | 2 +- libdw/dwarf_macro_getsrcfiles.c | 2 +- libdw/dwarf_next_cfi.c | 14 +++++++------- libdw/dwarf_siblingof.c | 2 +- libdw/libdw_findcu.c | 9 ++------- libdw/libdw_visit_scopes.c | 2 +- libdwfl/dwfl_frame.c | 3 ++- libdwfl/dwfl_module_getelf.c | 2 +- libdwfl/frame_unwind.c | 2 +- libebl/ebldwarftoregno.c | 2 +- libebl/eblinitreg.c | 2 +- libebl/eblnormalizepc.c | 2 +- libebl/eblopenbackend.c | 3 +-- libebl/eblstother.c | 4 +--- libebl/eblunwind.c | 2 +- tests/md5-sha1-test.c | 8 -------- tests/varlocs.c | 2 +- 33 files changed, 92 insertions(+), 112 deletions(-) diff --git a/backends/aarch64_init.c b/backends/aarch64_init.c index b0fd17a..18fdd3e 100644 --- a/backends/aarch64_init.c +++ b/backends/aarch64_init.c @@ -39,11 +39,11 @@ const char * -aarch64_init (elf, machine, eh, ehlen) - Elf *elf __attribute__ ((unused)); - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; +aarch64_init ( + Elf *elf __attribute__ ((unused)), + GElf_Half machine __attribute__ ((unused)), + Ebl *eh, + size_t ehlen) { /* Check whether the Elf_BH object has a sufficent size. */ if (ehlen < sizeof (Ebl)) diff --git a/backends/aarch64_regs.c b/backends/aarch64_regs.c index 7a8a678..886e3a8 100644 --- a/backends/aarch64_regs.c +++ b/backends/aarch64_regs.c @@ -40,9 +40,11 @@ ssize_t aarch64_register_info (Ebl *ebl __attribute__ ((unused)), - int regno, char *name, size_t namelen, - const char **prefix, const char **setnamep, - int *bits, int *typep) + int regno, char *name, + size_t namelen __attribute__((unused)), + const char **prefix, + const char **setnamep __attribute__((unused)), + int *bits, int *typep __attribute__((unused))) { if (name == NULL) return 128; diff --git a/backends/alpha_init.c b/backends/alpha_init.c index a3307d8..a18596c 100644 --- a/backends/alpha_init.c +++ b/backends/alpha_init.c @@ -40,11 +40,11 @@ const char * -alpha_init (elf, machine, eh, ehlen) - Elf *elf __attribute__ ((unused)); - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; +alpha_init ( + Elf *elf __attribute__ ((unused)), + GElf_Half machine __attribute__ ((unused)), + Ebl *eh, + size_t ehlen) { /* Check whether the Elf_BH object has a sufficent size. */ if (ehlen < sizeof (Ebl)) diff --git a/backends/arm_init.c b/backends/arm_init.c index f3e5f0a..3c74778 100644 --- a/backends/arm_init.c +++ b/backends/arm_init.c @@ -40,11 +40,11 @@ const char * -arm_init (elf, machine, eh, ehlen) - Elf *elf __attribute__ ((unused)); - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; +arm_init ( + Elf *elf __attribute__ ((unused)), + GElf_Half machine __attribute__ ((unused)), + Ebl *eh, + size_t ehlen) { /* Check whether the Elf_BH object has a sufficent size. */ if (ehlen < sizeof (Ebl)) diff --git a/backends/i386_init.c b/backends/i386_init.c index 1e0b486..1ed8520 100644 --- a/backends/i386_init.c +++ b/backends/i386_init.c @@ -39,11 +39,11 @@ #include "common-reloc.c" const char * -i386_init (elf, machine, eh, ehlen) - Elf *elf __attribute__ ((unused)); - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; +i386_init ( + Elf *elf __attribute__ ((unused)), + GElf_Half machine __attribute__ ((unused)), + Ebl *eh, + size_t ehlen) { /* Check whether the Elf_BH object has a sufficent size. */ if (ehlen < sizeof (Ebl)) diff --git a/backends/ia64_init.c b/backends/ia64_init.c index 91da748..178c289 100644 --- a/backends/ia64_init.c +++ b/backends/ia64_init.c @@ -39,11 +39,11 @@ #include "common-reloc.c" const char * -ia64_init (elf, machine, eh, ehlen) - Elf *elf __attribute__ ((unused)); - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; +ia64_init ( + Elf *elf __attribute__ ((unused)), + GElf_Half machine __attribute__ ((unused)), + Ebl *eh, + size_t ehlen) { /* Check whether the Elf_BH object has a sufficent size. */ if (ehlen < sizeof (Ebl)) diff --git a/backends/ppc64_init.c b/backends/ppc64_init.c index 56e1828..d34e0f8 100644 --- a/backends/ppc64_init.c +++ b/backends/ppc64_init.c @@ -42,11 +42,11 @@ const char * -ppc64_init (elf, machine, eh, ehlen) - Elf *elf __attribute__ ((unused)); - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; +ppc64_init ( + Elf *elf __attribute__ ((unused)), + GElf_Half machine __attribute__ ((unused)), + Ebl *eh, + size_t ehlen) { /* Check whether the Elf_BH object has a sufficent size. */ if (ehlen < sizeof (Ebl)) diff --git a/backends/ppc_init.c b/backends/ppc_init.c index ad92765..366dd3c 100644 --- a/backends/ppc_init.c +++ b/backends/ppc_init.c @@ -40,11 +40,11 @@ const char * -ppc_init (elf, machine, eh, ehlen) - Elf *elf __attribute__ ((unused)); - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; +ppc_init ( + Elf *elf __attribute__ ((unused)), + GElf_Half machine __attribute__ ((unused)), + Ebl *eh, + size_t ehlen) { /* Check whether the Elf_BH object has a sufficent size. */ if (ehlen < sizeof (Ebl)) diff --git a/backends/s390_init.c b/backends/s390_init.c index 26b20b4..05e1c35 100644 --- a/backends/s390_init.c +++ b/backends/s390_init.c @@ -41,11 +41,11 @@ extern __typeof (s390_core_note) s390x_core_note; const char * -s390_init (elf, machine, eh, ehlen) - Elf *elf __attribute__ ((unused)); - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; +s390_init ( + Elf *elf __attribute__ ((unused)), + GElf_Half machine __attribute__ ((unused)), + Ebl *eh, + size_t ehlen) { /* Check whether the Elf_BH object has a sufficent size. */ if (ehlen < sizeof (Ebl)) diff --git a/backends/sh_init.c b/backends/sh_init.c index 90ddcb2..405b709 100644 --- a/backends/sh_init.c +++ b/backends/sh_init.c @@ -40,11 +40,11 @@ const char * -sh_init (elf, machine, eh, ehlen) - Elf *elf __attribute__ ((unused)); - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; +sh_init ( + Elf *elf __attribute__ ((unused)), + GElf_Half machine __attribute__ ((unused)), + Ebl *eh, + size_t ehlen) { /* Check whether the Elf_BH object has a sufficent size. */ if (ehlen < sizeof (Ebl)) diff --git a/backends/sparc_init.c b/backends/sparc_init.c index 7d22998..e69b9af 100644 --- a/backends/sparc_init.c +++ b/backends/sparc_init.c @@ -40,11 +40,11 @@ extern __typeof (EBLHOOK (core_note)) sparc64_core_note attribute_hidden; const char * -sparc_init (elf, machine, eh, ehlen) - Elf *elf __attribute__ ((unused)); - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; +sparc_init ( + Elf *elf __attribute__ ((unused)), + GElf_Half machine __attribute__ ((unused)), + Ebl *eh, + size_t ehlen) { /* Check whether the Elf_BH object has a sufficent size. */ if (ehlen < sizeof (Ebl)) diff --git a/backends/tilegx_init.c b/backends/tilegx_init.c index 858798b..77e1b4b 100644 --- a/backends/tilegx_init.c +++ b/backends/tilegx_init.c @@ -38,11 +38,11 @@ #include "common-reloc.c" const char * -tilegx_init (elf, machine, eh, ehlen) - Elf *elf __attribute__ ((unused)); - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; +tilegx_init ( + Elf *elf __attribute__ ((unused)), + GElf_Half machine __attribute__ ((unused)), + Ebl *eh, + size_t ehlen) { /* Check whether the Elf_BH object has a sufficent size. */ if (ehlen < sizeof (Ebl)) diff --git a/backends/x86_64_init.c b/backends/x86_64_init.c index 273eabb..882e99e 100644 --- a/backends/x86_64_init.c +++ b/backends/x86_64_init.c @@ -42,11 +42,11 @@ extern __typeof (EBLHOOK (core_note)) x32_core_note attribute_hidden; const char * -x86_64_init (elf, machine, eh, ehlen) - Elf *elf __attribute__ ((unused)); - GElf_Half machine __attribute__ ((unused)); - Ebl *eh; - size_t ehlen; +x86_64_init ( + Elf *elf __attribute__ ((unused)), + GElf_Half machine __attribute__ ((unused)), + Ebl *eh, + size_t ehlen) { /* Check whether the Elf_BH object has a sufficent size. */ if (ehlen < sizeof (Ebl)) diff --git a/libasm/asm_addint8.c b/libasm/asm_addint8.c index ec05b8d..bb7d40f 100644 --- a/libasm/asm_addint8.c +++ b/libasm/asm_addint8.c @@ -51,9 +51,7 @@ int -FCT(SIZE) (asmscn, num) - AsmScn_t *asmscn; - TYPE(SIZE) num; +FCT(SIZE) (AsmScn_t *asmscn, TYPE(SIZE) num) { if (asmscn == NULL) return -1; diff --git a/libasm/asm_adduint8.c b/libasm/asm_adduint8.c index 30641b8..18b67dd 100644 --- a/libasm/asm_adduint8.c +++ b/libasm/asm_adduint8.c @@ -48,9 +48,7 @@ int -UFCT(SIZE) (asmscn, num) - AsmScn_t *asmscn; - UTYPE(SIZE) num; +UFCT(SIZE) (AsmScn_t *asmscn, UTYPE(SIZE) num) { return INTUSE(FCT(SIZE)) (asmscn, (TYPE(SIZE)) num); } diff --git a/libasm/asm_begin.c b/libasm/asm_begin.c index 48842d3..ff4d94c 100644 --- a/libasm/asm_begin.c +++ b/libasm/asm_begin.c @@ -127,10 +127,7 @@ prepare_binary_output (AsmCtx_t *result, Ebl *ebl) AsmCtx_t * -asm_begin (fname, ebl, textp) - const char *fname; - Ebl *ebl; - bool textp; +asm_begin (const char *fname, Ebl *ebl, bool textp) { if (fname == NULL && ! textp) return NULL; diff --git a/libdw/dwarf_getlocation.c b/libdw/dwarf_getlocation.c index f1dda68..1aa6a3c 100644 --- a/libdw/dwarf_getlocation.c +++ b/libdw/dwarf_getlocation.c @@ -688,7 +688,7 @@ getlocations_addr (attr, offset, basep, startp, endp, address, Dwarf_Addr *startp; Dwarf_Addr *endp; Dwarf_Addr address; - Elf_Data *locs; + const Elf_Data *locs; Dwarf_Op **expr; size_t *exprlen; { diff --git a/libdw/dwarf_macro_getsrcfiles.c b/libdw/dwarf_macro_getsrcfiles.c index cc19043..8b72611 100644 --- a/libdw/dwarf_macro_getsrcfiles.c +++ b/libdw/dwarf_macro_getsrcfiles.c @@ -36,7 +36,7 @@ int dwarf_macro_getsrcfiles (Dwarf *dbg, Dwarf_Macro *macro, Dwarf_Files **files, size_t *nfiles) { - if (macro == NULL) + if ((void*) macro == NULL) /* macro was declared NN */ return -1; Dwarf_Macro_Op_Table *const table = macro->table; diff --git a/libdw/dwarf_next_cfi.c b/libdw/dwarf_next_cfi.c index b5af49e..63dd471 100644 --- a/libdw/dwarf_next_cfi.c +++ b/libdw/dwarf_next_cfi.c @@ -37,13 +37,13 @@ int -dwarf_next_cfi (e_ident, data, eh_frame_p, off, next_off, entry) - const unsigned char e_ident[]; - Elf_Data *data; - bool eh_frame_p; - Dwarf_Off off; - Dwarf_Off *next_off; - Dwarf_CFI_Entry *entry; +dwarf_next_cfi ( + const unsigned char e_ident[], + Elf_Data *data, + bool eh_frame_p, + Dwarf_Off off, + Dwarf_Off *next_off, + Dwarf_CFI_Entry *entry) { /* Dummy struct for memory-access.h macros. */ BYTE_ORDER_DUMMY (dw, e_ident); diff --git a/libdw/dwarf_siblingof.c b/libdw/dwarf_siblingof.c index e598ae4..88bfbe6 100644 --- a/libdw/dwarf_siblingof.c +++ b/libdw/dwarf_siblingof.c @@ -45,7 +45,7 @@ dwarf_siblingof (die, result) if (die == NULL) return -1; - if (result == NULL) + if ((void*) result == NULL) /* result was declared NN */ return -1; if (result != die) diff --git a/libdw/libdw_findcu.c b/libdw/libdw_findcu.c index d8da2e3..5c03843 100644 --- a/libdw/libdw_findcu.c +++ b/libdw/libdw_findcu.c @@ -63,9 +63,7 @@ findcu_cb (const void *arg1, const void *arg2) struct Dwarf_CU * internal_function -__libdw_intern_next_unit (dbg, debug_types) - Dwarf *dbg; - bool debug_types; +__libdw_intern_next_unit (Dwarf *dbg, bool debug_types) { Dwarf_Off *const offsetp = debug_types ? &dbg->next_tu_offset : &dbg->next_cu_offset; @@ -135,10 +133,7 @@ __libdw_intern_next_unit (dbg, debug_types) } struct Dwarf_CU * -__libdw_findcu (dbg, start, debug_types) - Dwarf *dbg; - Dwarf_Off start; - bool debug_types; +__libdw_findcu (Dwarf *dbg, Dwarf_Off start, bool debug_types) { void **tree = debug_types ? &dbg->tu_tree : &dbg->cu_tree; Dwarf_Off *next_offset diff --git a/libdw/libdw_visit_scopes.c b/libdw/libdw_visit_scopes.c index ac7e853..b8d25f4 100644 --- a/libdw/libdw_visit_scopes.c +++ b/libdw/libdw_visit_scopes.c @@ -138,7 +138,7 @@ __libdw_visit_scopes (depth, root, imports, previsit, postvisit, arg) child.prune = false; - if (previsit != NULL) + if ((void*) previsit != NULL) /* previsit was declared NN */ { int result = (*previsit) (depth + 1, &child, arg); if (result != DWARF_CB_OK) diff --git a/libdwfl/dwfl_frame.c b/libdwfl/dwfl_frame.c index f6f86c0..3fb02e8 100644 --- a/libdwfl/dwfl_frame.c +++ b/libdwfl/dwfl_frame.c @@ -143,7 +143,8 @@ dwfl_attach_state (Dwfl *dwfl, Elf *elf, pid_t pid, /* Reset any previous error, we are just going to try again. */ dwfl->attacherr = DWFL_E_NOERROR; - if (thread_callbacks == NULL || thread_callbacks->next_thread == NULL + if ((void*) thread_callbacks == NULL /* thread_callbacks was declared NN */ + || thread_callbacks->next_thread == NULL || thread_callbacks->set_initial_registers == NULL) { dwfl->attacherr = DWFL_E_INVALID_ARGUMENT; diff --git a/libdwfl/dwfl_module_getelf.c b/libdwfl/dwfl_module_getelf.c index f20fb04..31b8fe4 100644 --- a/libdwfl/dwfl_module_getelf.c +++ b/libdwfl/dwfl_module_getelf.c @@ -31,7 +31,7 @@ Elf * dwfl_module_getelf (Dwfl_Module *mod, GElf_Addr *loadbase) { - if (mod == NULL) + if ((void*) mod == NULL) /* mod was declared NN */ return NULL; __libdwfl_getelf (mod); diff --git a/libdwfl/frame_unwind.c b/libdwfl/frame_unwind.c index 16cebd0..6f08693 100644 --- a/libdwfl/frame_unwind.c +++ b/libdwfl/frame_unwind.c @@ -342,7 +342,7 @@ expr_eval (Dwfl_Frame *state, Dwarf_Frame *frame, const Dwarf_Op *ops, return false; \ } \ break; - UNOP (DW_OP_abs, abs ((int64_t) val1)) + UNOP (DW_OP_abs, labs ((int64_t) val1)) UNOP (DW_OP_neg, -(int64_t) val1) UNOP (DW_OP_not, ~val1) #undef UNOP diff --git a/libebl/ebldwarftoregno.c b/libebl/ebldwarftoregno.c index 8fb8540..bdb34e6 100644 --- a/libebl/ebldwarftoregno.c +++ b/libebl/ebldwarftoregno.c @@ -35,7 +35,7 @@ bool ebl_dwarf_to_regno (Ebl *ebl, unsigned *regno) { - if (ebl == NULL) + if ((void*) ebl == NULL) /* ebl was declared NN */ return false; return ebl->dwarf_to_regno == NULL ? true : ebl->dwarf_to_regno (ebl, regno); } diff --git a/libebl/eblinitreg.c b/libebl/eblinitreg.c index 5729b3c..4bce66c 100644 --- a/libebl/eblinitreg.c +++ b/libebl/eblinitreg.c @@ -47,7 +47,7 @@ ebl_set_initial_registers_tid (Ebl *ebl, pid_t tid, size_t ebl_frame_nregs (Ebl *ebl) { - return ebl == NULL ? 0 : ebl->frame_nregs; + return (void*) ebl == NULL ? 0 : ebl->frame_nregs; /* ebl was declared NN */ } GElf_Addr diff --git a/libebl/eblnormalizepc.c b/libebl/eblnormalizepc.c index a5fea77..d7175ab 100644 --- a/libebl/eblnormalizepc.c +++ b/libebl/eblnormalizepc.c @@ -35,6 +35,6 @@ void ebl_normalize_pc (Ebl *ebl, Dwarf_Addr *pc) { - if (ebl != NULL && ebl->normalize_pc != NULL) + if ((void*) ebl != NULL && ebl->normalize_pc != NULL) ebl->normalize_pc (ebl, pc); } diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c index 2766e7b..02b24d3 100644 --- a/libebl/eblopenbackend.c +++ b/libebl/eblopenbackend.c @@ -418,8 +418,7 @@ ebl_openbackend (elf) /* Find backend without underlying ELF file. */ Ebl * -ebl_openbackend_machine (machine) - GElf_Half machine; +ebl_openbackend_machine (GElf_Half machine) { return openbackend (NULL, NULL, machine); } diff --git a/libebl/eblstother.c b/libebl/eblstother.c index ccbf138..273f6fc 100644 --- a/libebl/eblstother.c +++ b/libebl/eblstother.c @@ -34,9 +34,7 @@ bool -ebl_check_st_other_bits (ebl, st_other) - Ebl *ebl; - unsigned char st_other; +ebl_check_st_other_bits (Ebl *ebl, unsigned char st_other) { return ((st_other ^ GELF_ST_VISIBILITY (st_other)) == 0 || ebl->check_st_other_bits (st_other ^ GELF_ST_VISIBILITY (st_other))); diff --git a/libebl/eblunwind.c b/libebl/eblunwind.c index 1251c1b..ddd95a3 100644 --- a/libebl/eblunwind.c +++ b/libebl/eblunwind.c @@ -37,7 +37,7 @@ ebl_unwind (Ebl *ebl, Dwarf_Addr pc, ebl_tid_registers_t *setfunc, ebl_tid_registers_get_t *getfunc, ebl_pid_memory_read_t *readfunc, void *arg, bool *signal_framep) { - if (ebl == NULL || ebl->unwind == NULL) + if ((void*) ebl == NULL || ebl->unwind == NULL) /* ebl was declared NN */ return false; return ebl->unwind (ebl, pc, setfunc, getfunc, readfunc, arg, signal_framep); } diff --git a/tests/md5-sha1-test.c b/tests/md5-sha1-test.c index 49de078..d50355e 100644 --- a/tests/md5-sha1-test.c +++ b/tests/md5-sha1-test.c @@ -61,14 +61,6 @@ static const struct expected #define md5_size 16 #define sha1_size 20 -static const char md5_expected[] = - { - }; - -static const char sha1_expected[] = - { - }; - #define TEST_HASH(ALGO, I) \ { \ struct ALGO##_ctx ctx; \ diff --git a/tests/varlocs.c b/tests/varlocs.c index b5733e7..c3fba89 100644 --- a/tests/varlocs.c +++ b/tests/varlocs.c @@ -82,7 +82,7 @@ print_base_type (Dwarf_Die *base) assert (dwarf_tag (base) == DW_TAG_base_type); Dwarf_Attribute encoding; - Dwarf_Word enctype; + Dwarf_Word enctype = 0; if (dwarf_attr (base, DW_AT_encoding, &encoding) == NULL || dwarf_formudata (&encoding, &enctype) != 0) error (EXIT_FAILURE, 0, "base type without encoding"); -- 2.5.0.457.gab17608
