public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: lkml <linux-kernel@vger.kernel.org>
Cc: Sam Ravnborg <sam@mars.ravnborg.org>, Sam Ravnborg <sam@ravnborg.org>
Subject: [PATCH 30/46] kbuild: kill false positives from section mismatch warnings for powerpc
Date: Tue, 21 Mar 2006 17:20:56 +0100	[thread overview]
Message-ID: <11429580562637-git-send-email-sam@ravnborg.org> (raw)
In-Reply-To: <11429580563392-git-send-email-sam@ravnborg.org>

Building an allmodconfig kernel for ppc64 revealed a number of false
positives - originally reported by Andrew Morton.
This patch removes most if not all false positives for ppc64:

Section .opd
The .opd section contains function descriptors at least for ppc64.
So ignore it for .init.text (was ignored for .exit.text).
See description of function descriptors here:
http://www.linuxbase.org/spec/ELF/ppc64/PPC-elf64abi-1.7.html

Section .toc1
ppc64 places some static variables in .toc1 - ignore the.

Section __bug_tabe
BUG() and friends uses __bug_table. Ignore warnings from that section.

Module parameters are placed in .data.rel for ppc64, for adjust pattern to
match on section named .data*

Tested with gcc: 3.4.0 and binutils 2.15.90.0.3

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

---

 scripts/mod/modpost.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

9209aed0726c77ad13b8d83e73a3cf9f59a8c2b2
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 5de3c63..c4dc1d7 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -483,7 +483,7 @@ static int strrcmp(const char *s, const 
  *   this pattern.
  *   The pattern is identified by:
  *   tosec   = .init.data
- *   fromsec = .data
+ *   fromsec = .data*
  *   atsym   =__param*
  *
  * Pattern 2:
@@ -512,7 +512,7 @@ static int secref_whitelist(const char *
 	/* Check for pattern 1 */
 	if (strcmp(tosec, ".init.data") != 0)
 		f1 = 0;
-	if (strcmp(fromsec, ".data") != 0)
+	if (strncmp(fromsec, ".data", strlen(".data")) != 0)
 		f1 = 0;
 	if (strncmp(atsym, "__param", strlen("__param")) != 0)
 		f1 = 0;
@@ -743,9 +743,12 @@ static int init_section_ref_ok(const cha
 	/* Absolute section names */
 	const char *namelist1[] = {
 		".init",
+		".opd",   /* see comment [OPD] at exit_section_ref_ok() */
+		".toc1",  /* used by ppc64 */
 		".stab",
 		".rodata",
 		".text.lock",
+		"__bug_table", /* used by powerpc for BUG() */
 		".pci_fixup_header",
 		".pci_fixup_final",
 		".pdr",
@@ -812,8 +815,10 @@ static int exit_section_ref_ok(const cha
 		".exit.data",
 		".init.text",
 		".opd", /* See comment [OPD] */
+		".toc1",  /* used by ppc64 */
 		".altinstructions",
 		".pdr",
+		"__bug_table", /* used by powerpc for BUG() */
 		".exitcall.exit",
 		".eh_frame",
 		".stab",
-- 
1.0.GIT



  reply	other threads:[~2006-03-21 16:25 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <11429580554104-git-send-email-sam@ravnborg.org>
2006-03-21 16:20 ` [PATCH 22/46] kbuild: do not warn when unwind sections references .init/.exit sections Sam Ravnborg
2006-03-21 16:20   ` [PATCH 23/46] kbuild: version.h should depend on .kernelrelease Sam Ravnborg
2006-03-21 16:20     ` [PATCH 24/46] kbuild: Add copyright to modpost.c Sam Ravnborg
2006-03-21 16:20       ` [PATCH 25/46] kbuild: ignore all generated files for make allmodconfig (x86_64) Sam Ravnborg
2006-03-21 16:20         ` [PATCH 26/46] kbuild: whitelist false section mismatch warnings Sam Ravnborg
2006-03-21 16:20           ` [PATCH 27/46] kbuild: make namespace.pl CROSS_COMPILE happy Sam Ravnborg
2006-03-21 16:20             ` [PATCH 28/46] kbuild: small update of allnoconfig description Sam Ravnborg
2006-03-21 16:20               ` [PATCH 29/46] kbuild: kill trailing whitespace in modpost & friends Sam Ravnborg
2006-03-21 16:20                 ` Sam Ravnborg [this message]
2006-03-21 16:20                   ` [PATCH 31/46] kbuild: fix section mismatch check for unwind on IA64 Sam Ravnborg
2006-03-21 16:20                     ` [PATCH 32/46] kbuild: in the section mismatch check try harder to find symbols Sam Ravnborg
2006-03-21 16:20                       ` [PATCH 33/46] kbuild: fix make dir/file.xx when asm symlink is missing Sam Ravnborg
2006-03-21 16:20                         ` [PATCH 34/46] kbuild: when warning symbols exported twice now tell user this is the problem Sam Ravnborg
2006-03-21 16:20                           ` [PATCH 35/46] kbuild: change kbuild to not rely on incorrect GNU make behavior Sam Ravnborg
2006-03-21 16:20                             ` [PATCH 36/46] kbuild: Fix bug in crc symbol generating of kernel and modules Sam Ravnborg
2006-03-21 16:20                               ` [PATCH 37/46] kbuild: replace PHONY with FORCE Sam Ravnborg
2006-03-21 16:20                                 ` [PATCH 38/46] kbuild: in makefile.txt note that Makefile is preferred name for kbuild files Sam Ravnborg
2006-03-21 16:20                                   ` [PATCH 39/46] kbuild: fix genksyms build error Sam Ravnborg
2006-03-21 16:20                                     ` [PATCH 40/46] kbuild: Lindent genksyms.c Sam Ravnborg
2006-03-21 16:20                                       ` [PATCH 41/46] kbuild: clean-up genksyms Sam Ravnborg
2006-03-21 16:20                                         ` [PATCH 42/46] kbuild: add -fverbose-asm to i386 Makefile Sam Ravnborg
2006-03-21 16:20                                           ` [PATCH 43/46] Kconfig: remove the CONFIG_CC_ALIGN_* options Sam Ravnborg
2006-03-21 16:20                                             ` [PATCH 44/46] kconfig: fix time ordering of writes to .kconfig.d and include/linux/autoconf.h Sam Ravnborg
2006-03-21 16:20                                               ` [PATCH 45/46] kbuild: fix make help & make *pkg Sam Ravnborg
2006-03-21 16:20                                                 ` [PATCH 46/46] kbuild: remove obsoleted scripts/reference_* files Sam Ravnborg
2006-03-21 17:28                             ` [PATCH 35/46] kbuild: change kbuild to not rely on incorrect GNU make behavior Jan-Benedict Glaw
2006-03-21 17:37                               ` Paul D. Smith
2006-03-21 17:53                               ` Sam Ravnborg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=11429580562637-git-send-email-sam@ravnborg.org \
    --to=sam@ravnborg.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@mars.ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox