summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-06-21 11:56:05 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-06-21 11:56:05 +0300
commitcfb0276373dfb5dccef0f60df0d1f7c0328918a7 (patch)
tree65c96cea2a3463baa2eb91351e5333ef44945fbd /scripts
parent04d72afa34edd14d99db7536d22819cdbb2b2e4c (diff)
parent13311e74253fe64329390df80bed3f07314ddd61 (diff)
downloadlinux-cfb0276373dfb5dccef0f60df0d1f7c0328918a7.tar.xz
Merge tag 'v5.13-rc7' into usb-next
We need the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/recordmcount.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/scripts/recordmcount.h b/scripts/recordmcount.h
index f9b19524da11..1e9baa5c4fc6 100644
--- a/scripts/recordmcount.h
+++ b/scripts/recordmcount.h
@@ -192,15 +192,20 @@ static unsigned int get_symindex(Elf_Sym const *sym, Elf32_Word const *symtab,
Elf32_Word const *symtab_shndx)
{
unsigned long offset;
+ unsigned short shndx = w2(sym->st_shndx);
int index;
- if (sym->st_shndx != SHN_XINDEX)
- return w2(sym->st_shndx);
+ if (shndx > SHN_UNDEF && shndx < SHN_LORESERVE)
+ return shndx;
- offset = (unsigned long)sym - (unsigned long)symtab;
- index = offset / sizeof(*sym);
+ if (shndx == SHN_XINDEX) {
+ offset = (unsigned long)sym - (unsigned long)symtab;
+ index = offset / sizeof(*sym);
- return w(symtab_shndx[index]);
+ return w(symtab_shndx[index]);
+ }
+
+ return 0;
}
static unsigned int get_shnum(Elf_Ehdr const *ehdr, Elf_Shdr const *shdr0)