lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-Id: <200802280940.58916.lerichi@gmx.net>
Date:	Thu, 28 Feb 2008 09:40:58 +0100
From:	Richard Hacker <lerichi@....net>
To:	kai@...maschewski.name, sam@...nborg.org
Cc:	linux-kernel@...r.kernel.org
Subject: [PATCH 002/002] scripts/Makefile.modpost: New Kbuild variable EXTRA_SYMBOLS

This patch adds a new (Kbuild) Makefile variable EXTRA_SYMBOLS. The 
space separated list of files assigned to EXTRA_SYMBOLS is used when 
calling scripts/mod/modpost during stage 2 of the Kbuild process for 
non-kernel-tree modules. When the previous patch 001/002 is applied to 
modpost.c, modpost loads these files during initialisation of its symbol
table.

Signed-off-by: Richard Hacker <lerichi@....net>

---
The previous patch in this series (001/002) added a new command line 
argument -E to scripts/mod/modpost.c, instructing modpost to process
the symbols in that file during initialisation of its symbol tables.

This patch introduces a new make variable EXTRA_SYMBOLS. The space 
separated list of files assigned to this variable is passed to modpost 
using the the new -E command line argument. This introduces the possibility
to supply a set of Modules.symvers for modpost to load during initialisation
of it symbol tables.

I hope this patch is useful and finds its way into the kernel.

o Changes from the previous attempt:
   - Documentation update

diff -uprN -X linux-2.6.24/Documentation/dontdiff 
linux-2.6.24-vanilla/Documentation/kbuild/modules.txt 
linux-2.6.24/Documentation/kbuild/modules.txt
--- linux-2.6.24-vanilla/Documentation/kbuild/modules.txt	2008-01-18 
22:43:41.000000000 +0100
+++ linux-2.6.24/Documentation/kbuild/modules.txt	2008-02-28 
09:30:55.000000000 +0100
@@ -486,7 +486,7 @@ Module.symvers contains a list of all ex
 	Sometimes, an external module uses exported symbols from another
 	external module. Kbuild needs to have full knowledge on all symbols
 	to avoid spitting out warnings about undefined symbols.
-	Two solutions exist to let kbuild know all symbols of more than
+	Three solutions exist to let kbuild know all symbols of more than
 	one external module.
 	The method with a top-level kbuild file is recommended but may be
 	impractical in certain situations.
@@ -523,6 +523,12 @@ Module.symvers contains a list of all ex
 		containing the sum of all symbols defined and not part of the
 		kernel.
 
+	Use make variable EXTRA_SYMBOLS in the Makefile
+		If it is impractical to copy Module.symvers from another
+		module, you can assign a space separated list of files to 
+		EXTRA_SYMBOLS in your Makfile. These files will be loaded
+		by modpost during the initialisation of its symbol tables.
+
 === 8. Tips & Tricks
 
 --- 8.1 Testing for CONFIG_FOO_BAR
diff -uprN -X linux-2.6.24/Documentation/dontdiff 
linux-2.6.24-vanilla/scripts/Makefile.modpost 
linux-2.6.24/scripts/Makefile.modpost
--- linux-2.6.24-vanilla/scripts/Makefile.modpost	2008-01-18 
22:47:09.000000000 +0100
+++ linux-2.6.24/scripts/Makefile.modpost	2008-02-27 21:14:36.000000000 +0100
@@ -41,6 +41,12 @@ _modpost: __modpost
 
 include include/config/auto.conf
 include scripts/Kbuild.include
+
+ifneq ($(KBUILD_EXTMOD),)
+# Include the module's Makefile to find EXTRA_SYMBOLS
+include $(if $(wildcard $(KBUILD_EXTMOD)/Kbuild), $(KBUILD_EXTMOD)/Kbuild, 
$(KBUILD_EXTMOD)/Makefile)
+endif
+
 include scripts/Makefile.lib
 
 kernelsymfile := $(objtree)/Module.symvers
@@ -61,6 +67,7 @@ modpost = scripts/mod/modpost           
  $(if $(CONFIG_MODULE_SRCVERSION_ALL),-a,)       \
  $(if $(KBUILD_EXTMOD),-i,-o) $(kernelsymfile)   \
  $(if $(KBUILD_EXTMOD),-I $(modulesymfile))      \
+ $(if $(EXTRA_SYMBOLS), $(patsubst %, -E %,$(EXTRA_SYMBOLS)))      \
  $(if $(KBUILD_EXTMOD),-o $(modulesymfile))      \
  $(if $(KBUILD_EXTMOD)$(KBUILD_MODPOST_WARN),-w)
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ