History

Merge tag 'kbuild-fixes-v5.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild fixes from Masahiro Yamada: - ignore compiler stubs for PPC to fix builds - fix the usage of --target mentioned in the LLVM document * tag 'kbuild-fixes-v5.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: Documentation/llvm: Fix clang target examples scripts/kallsyms: skip ppc compiler stub *.long_branch.* / *.plt_branch.*

Linus Torvalds committed 6 years ago

Commit 16bc1d52 parents f881855 e30d6942 files · +17 −3Browse files

Unified · Split

2 files
  1. Documentation/kbuild/llvm.rst +2 −2
  2. scripts/kallsyms.c +15 −1
Documentation/kbuild/llvm.rst+2−2
@@ -39,10 +39,10 @@ which can help simplify cross compiling. :: · 38 unmodified lines
3939 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make CC=clang
4040
4141 ``CROSS_COMPILE`` is not used to prefix the Clang compiler binary, instead
42−``CROSS_COMPILE`` is used to set a command line flag: ``--target <triple>``. For
42+``CROSS_COMPILE`` is used to set a command line flag: ``--target=<triple>``. For
4343 example: ::
4444
45− clang --target aarch64-linux-gnu foo.c
45+ clang --target=aarch64-linux-gnu foo.c
4646
4747 LLVM Utilities
4848 --------------
scripts/kallsyms.c+15−1
@@ -82,6 +82,7 @@ static char *sym_name(const struct sym_entry *s) · 81 unmodified lines
8282
8383 static bool is_ignored_symbol(const char *name, char type)
8484 {
85+ /* Symbol names that exactly match to the following are ignored.*/
8586 static const char * const ignored_symbols[] = {
8687 /*
8788 * Symbols which vary between passes. Passes 1 and 2 must have
@@ -104,6 +105,7 @@ static bool is_ignored_symbol(const char *name, char type) · 16 unmodified lines
104105 NULL
105106 };
106107
108+ /* Symbol names that begin with the following are ignored.*/
107109 static const char * const ignored_prefixes[] = {
108110 "$", /* local symbols for ARM, MIPS, etc. */
109111 ".LASANPC", /* s390 kasan local symbols */
@@ -113,6 +115,7 @@ static bool is_ignored_symbol(const char *name, char type) · 3 unmodified lines
113115 NULL
114116 };
115117
118+ /* Symbol names that end with the following are ignored.*/
116119 static const char * const ignored_suffixes[] = {
117120 "_from_arm", /* arm */
118121 "_from_thumb", /* arm */
@@ -120,9 +123,15 @@ static bool is_ignored_symbol(const char *name, char type) · 1 unmodified line
120123 NULL
121124 };
122125
126+ /* Symbol names that contain the following are ignored.*/
127+ static const char * const ignored_matches[] = {
128+ ".long_branch.", /* ppc stub */
129+ ".plt_branch.", /* ppc stub */
130+ NULL
131+ };
132+
123133 const char * const *p;
124134
125− /* Exclude symbols which vary between passes. */
126135 for (p = ignored_symbols; *p; p++)
127136 if (!strcmp(name, *p))
128137 return true;
@@ -138,6 +147,11 @@ static bool is_ignored_symbol(const char *name, char type) · 9 unmodified lines
138147 return true;
139148 }
140149
150+ for (p = ignored_matches; *p; p++) {
151+ if (strstr(name, *p))
152+ return true;
153+ }
154+
141155 if (type == 'U' || type == 'u')
142156 return true;
143157 /* exclude debugging symbols */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t