summaryrefslogtreecommitdiff
path: root/include/linux/module_symbol.h
blob: 7ace7ba3020331227b255dd0763797a0f1120290 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef _LINUX_MODULE_SYMBOL_H
#define _LINUX_MODULE_SYMBOL_H

/* This ignores the intensely annoying "mapping symbols" found in ELF files. */
static inline int is_mapping_symbol(const char *str)
{
	if (str[0] == '.' && str[1] == 'L')
		return true;
	if (str[0] == 'L' && str[1] == '0')
		return true;
	return str[0] == '$' &&
	       (str[1] == 'a' || str[1] == 'd' || str[1] == 't' || str[1] == 'x')
	       && (str[2] == '\0' || str[2] == '.');
}

#endif /* _LINUX_MODULE_SYMBOL_H */