[PATCH 19/19] kbuild: whitelist references from variables named _timer to .init.text

From: Sam Ravnborg
Date: Sun Jun 03 2007 - 16:51:22 EST


Subject: [PATCH 19/19] kbuild: whitelist references from variables named _timer to .init.text
From: Sam Ravnborg <sam@xxxxxxxxxxxx>
Date: Sun, 3 Jun 2007 22:19:24 +0200

arm uses a lot of ops structures named *_timer that has legitimite
references to .init.text.
So let's add this variable to the list of variables that may reference
.init.text without causing any warning.

Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
---
scripts/mod/modpost.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 96078bb..51921aa 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -609,7 +609,7 @@ static int strrcmp(const char *s, const char *sub)
* the pattern is identified by:
* tosec = .init.text | .exit.text | .init.data
* fromsec = .data
- * atsym = *driver, *_template, *_sht, *_ops, *_probe, *probe_one, *_console
+ * atsym = *driver, *_template, *_sht, *_ops, *_probe, *probe_one, *_console, *_timer
*
* Pattern 3:
* Whitelist all refereces from .text.head to .init.data
@@ -634,6 +634,7 @@ static int secref_whitelist(const char *modname, const char *tosec,
const char *pat2sym[] = {
"driver",
"_template", /* scsi uses *_template a lot */
+ "_timer", /* arm uses ops structures named _timer a lot */
"_sht", /* scsi also used *_sht to some extent */
"_ops",
"_probe",
@@ -1149,6 +1150,10 @@ static int init_section_ref_ok(const char *name)
for (s = namelist2; *s; s++)
if (strncmp(*s, name, strlen(*s)) == 0)
return 1;
+
+ /* If section name ends with ".init" we allow references
+ * as is the case with .initcallN.init, .early_param.init, .taglist.init etc
+ */
if (strrcmp(name, ".init") == 0)
return 1;
return 0;
--
1.5.1.rc3.1544.g8a923

----- End forwarded message -----
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/