mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-19 21:21:09 +00:00
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kbuild updates from Michal Marek: "Here is the first round of kbuild changes for v4.1-rc1: - kallsyms fix for ARM and cleanup - make dep(end) removed (developers have no sense of nostalgia these days...) - include Makefiles by relative path - stop useless rebuilds of asm-offsets.h and bounds.h" * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: Kbuild: kallsyms: drop special handling of pre-3.0 GCC symbols Kbuild: kallsyms: ignore veneers emitted by the ARM linker kbuild: ia64: use $(src)/Makefile.gate rather than particular path kbuild: include $(src)/Makefile rather than $(obj)/Makefile kbuild: use relative path more to include Makefile kbuild: use relative path to include Makefile kbuild: do not add $(bounds-file) and $(offsets-file) to targets kbuild: remove warning about "make depend" kbuild: Don't reset timestamps in include/generated if not needed
This commit is contained in:
commit
b422b75875
11 changed files with 50 additions and 48 deletions
|
@ -18,7 +18,7 @@ export dtbinst-root ?= $(obj)
|
|||
|
||||
include include/config/auto.conf
|
||||
include scripts/Kbuild.include
|
||||
include $(srctree)/$(obj)/Makefile
|
||||
include $(src)/Makefile
|
||||
|
||||
PHONY += __dtbs_install_prep
|
||||
__dtbs_install_prep:
|
||||
|
|
|
@ -13,7 +13,7 @@ src := $(obj)
|
|||
-include $(objtree)/.config
|
||||
|
||||
include scripts/Kbuild.include
|
||||
include $(srctree)/$(obj)/Makefile
|
||||
include $(src)/Makefile
|
||||
|
||||
include scripts/Makefile.host
|
||||
|
||||
|
|
|
@ -212,15 +212,22 @@ static int symbol_valid(struct sym_entry *s)
|
|||
"_SDA_BASE_", /* ppc */
|
||||
"_SDA2_BASE_", /* ppc */
|
||||
NULL };
|
||||
|
||||
static char *special_suffixes[] = {
|
||||
"_veneer", /* arm */
|
||||
NULL };
|
||||
|
||||
int i;
|
||||
int offset = 1;
|
||||
char *sym_name = (char *)s->sym + 1;
|
||||
|
||||
|
||||
if (s->addr < kernel_start_addr)
|
||||
return 0;
|
||||
|
||||
/* skip prefix char */
|
||||
if (symbol_prefix_char && *(s->sym + 1) == symbol_prefix_char)
|
||||
offset++;
|
||||
if (symbol_prefix_char && *sym_name == symbol_prefix_char)
|
||||
sym_name++;
|
||||
|
||||
|
||||
/* if --all-symbols is not specified, then symbols outside the text
|
||||
* and inittext sections are discarded */
|
||||
|
@ -235,22 +242,26 @@ static int symbol_valid(struct sym_entry *s)
|
|||
* rules.
|
||||
*/
|
||||
if ((s->addr == text_range_text->end &&
|
||||
strcmp((char *)s->sym + offset,
|
||||
strcmp(sym_name,
|
||||
text_range_text->end_sym)) ||
|
||||
(s->addr == text_range_inittext->end &&
|
||||
strcmp((char *)s->sym + offset,
|
||||
strcmp(sym_name,
|
||||
text_range_inittext->end_sym)))
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Exclude symbols which vary between passes. */
|
||||
if (strstr((char *)s->sym + offset, "_compiled."))
|
||||
return 0;
|
||||
|
||||
for (i = 0; special_symbols[i]; i++)
|
||||
if( strcmp((char *)s->sym + offset, special_symbols[i]) == 0 )
|
||||
if (strcmp(sym_name, special_symbols[i]) == 0)
|
||||
return 0;
|
||||
|
||||
for (i = 0; special_suffixes[i]; i++) {
|
||||
int l = strlen(sym_name) - strlen(special_suffixes[i]);
|
||||
|
||||
if (l >= 0 && strcmp(sym_name + l, special_suffixes[i]) == 0)
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue