# # # patch "src/ChangeLog" # from [f8c27340f5383e9b12ba61c17f42836427afb156] # to [9072d1ca5e9889af095178f14a858cf93f2ee8d3] # # patch "src/elflint.c" # from [b5703cc5ab10ebe94c720267613ea88bc7ffbf01] # to [2a6fb2780dcf41443bb96170902773287dba7f17] # # patch "src/readelf.c" # from [c644fd7f7331b5041932ad76ea3dfd9de609fdbf] # to [bbb36859cccf55acf4ca5ff5ddae0daeb4cea4ba] # ============================================================ --- src/ChangeLog f8c27340f5383e9b12ba61c17f42836427afb156 +++ src/ChangeLog 9072d1ca5e9889af095178f14a858cf93f2ee8d3 @@ -1,3 +1,14 @@ +2006-07-17 Roland McGrath + + * elflint.c (struct version_namelist): Use GElf_Versym for `ndx' field. + (add_version): Likewise for argument. + (check_versym): Cast constant to GElf_Versym for comparison. + +2006-07-12 Roland McGrath + + * readelf.c (handle_gnu_hash): Add casts for machines where + Elf32_Word != unsigned int. + 2006-07-12 Ulrich Drepper * elflint.c (check_sysv_hash64): Fix printf format. ============================================================ --- src/elflint.c b5703cc5ab10ebe94c720267613ea88bc7ffbf01 +++ src/elflint.c 2a6fb2780dcf41443bb96170902773287dba7f17 @@ -2361,14 +2361,14 @@ { const char *objname; const char *name; - GElf_Word ndx; + GElf_Versym ndx; enum { ver_def, ver_need } type; struct version_namelist *next; } *version_namelist; static int -add_version (const char *objname, const char *name, GElf_Word ndx, int type) +add_version (const char *objname, const char *name, GElf_Versym ndx, int type) { /* Check that there are no duplications. */ struct version_namelist *nlp = version_namelist; @@ -2480,7 +2480,7 @@ index we need for this symbol. */ struct version_namelist *runp = version_namelist; while (runp != NULL) - if (runp->ndx == (*versym & 0x7fff)) + if (runp->ndx == (*versym & (GElf_Versym) 0x7fff)) break; else runp = runp->next; ============================================================ --- src/readelf.c c644fd7f7331b5041932ad76ea3dfd9de609fdbf +++ src/readelf.c bbb36859cccf55acf4ca5ff5ddae0daeb4cea4ba @@ -2534,9 +2534,10 @@ if (asprintf (&str, gettext ("\ Symbol Bias: %u\n\ Bitmask Size: %zu bytes %" PRIuFAST32 "%% bits set 2nd hash shift: %u\n"), - symbias, bitmask_words * sizeof (Elf32_Word), - (nbits * 100 + 50) / (bitmask_words * sizeof (Elf32_Word) * 8), - shift) == -1) + (unsigned int) symbias, bitmask_words * sizeof (Elf32_Word), + ((nbits * 100 + 50) + / (uint_fast32_t) (bitmask_words * sizeof (Elf32_Word) * 8)), + (unsigned int) shift) == -1) error (EXIT_FAILURE, 0, gettext ("memory exhausted")); print_hash_info (ebl, scn, shdr, shstrndx, maxlength, nbucket, nsyms,