aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorSam Ravnborg <sam@mars.ravnborg.org>2005-01-05 22:18:21 +0100
committerSam Ravnborg <sam@mars.ravnborg.org>2005-01-05 22:18:21 +0100
commit7a81787b813bc78a43d7bb76fe1d57d0d552873d (patch)
tree0d172843c67bf0b05e6e15c265ccffb18148872a /scripts
parent9956324c2395f2369bdb194675973988577d52c4 (diff)
parentb0d103309812594ebb674eeb4b4a04e0bb2cd79e (diff)
downloadhistory-7a81787b813bc78a43d7bb76fe1d57d0d552873d.tar.gz
Merge bk://linux-sam.bkbits.net/kconfig
into mars.ravnborg.org:/home/sam/bk/kconfig
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Makefile.build1
-rw-r--r--scripts/kallsyms.c9
2 files changed, 9 insertions, 1 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index d2263a3594d2a1..352d531ee3c1e0 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -83,7 +83,6 @@ __build: $(if $(KBUILD_BUILTIN),$(builtin-target) $(lib-target) $(extra-y)) \
# Linus' kernel sanity checking tool
ifneq ($(KBUILD_CHECKSRC),0)
- CHECKFLAGS += -I$(shell $(CC) -print-file-name=include)
ifeq ($(KBUILD_CHECKSRC),2)
quiet_cmd_force_checksrc = CHECK $<
cmd_force_checksrc = $(CHECK) $(CHECKFLAGS) $(c_flags) $< ;
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index c07ccfad031982..090ffda4adbc2d 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
@@ -184,6 +184,15 @@ symbol_valid(struct sym_entry *s)
if ((s->addr < _stext || s->addr > _etext)
&& (s->addr < _sinittext || s->addr > _einittext))
return 0;
+ /* Corner case. Discard any symbols with the same value as
+ * _etext or _einittext, they can move between pass 1 and 2
+ * when the kallsyms data is added. If these symbols move then
+ * they may get dropped in pass 2, which breaks the kallsyms
+ * rules.
+ */
+ if ((s->addr == _etext && strcmp(s->sym + 1, "_etext")) ||
+ (s->addr == _einittext && strcmp(s->sym + 1, "_einittext")))
+ return 0;
}
/* Exclude symbols which vary between passes. */