]>
Commit | Line | Data |
---|---|---|
3d920b4b JB |
1 | 2006-08-25 Jakub Bogusz <qboosh at pld-linux dot org> |
2 | ||
3 | * elflint.c (check_sections): support special case of SPARC ELF32 PLT | |
4 | entries | |
5 | ||
6 | --- elfutils-0.123/src/elflint.c.orig 2006-08-25 16:20:46.000000000 +0000 | |
7 | +++ elfutils-0.123/src/elflint.c 2006-08-25 18:57:09.000000000 +0000 | |
8 | @@ -3214,7 +3214,11 @@ | |
9 | } | |
10 | } | |
11 | ||
12 | - if (shdr->sh_entsize != 0 && shdr->sh_size % shdr->sh_entsize) | |
13 | + size_t scnsize = shdr->sh_size; | |
14 | + /* special case of SPARC ELF32 .plt: final single NOP after the last PLT entry */ | |
15 | + if (!strcmp (scnname, ".plt") && (ehdr->e_machine == EM_SPARC)) | |
16 | + scnsize -= 4; | |
17 | + if (shdr->sh_entsize != 0 && scnsize % shdr->sh_entsize) | |
18 | ERROR (gettext ("\ | |
19 | section [%2zu] '%s': size not multiple of entry size\n"), | |
20 | cnt, section_name (ebl, cnt)); |