If a macro is only used within 2 times, and also its contents are
within 2 lines, recommend to expand it to shrink code line.

For our case, the macro is not portable either: some architectures'
assembler may use another character to mark newline in a macro (e.g.
'`' for arc), which will cause issue (e.g. arc with allmodconfig):

    LD      init/built-in.o
  kernel/built-in.o: In function `load_module_signing_keys':
  kernel/modsign_pubkey.c:66: undefined reference to `modsign_certificate_list'
  kernel/modsign_pubkey.c:71: undefined reference to 
`modsign_certificate_list_end'
  kernel/modsign_pubkey.c:67: undefined reference to 
`modsign_certificate_list_end'

If still want to use macro and let it portable enough, it will need
additional line -- include additional header file (e.g "#include
<linux/linkage.h>", although it also need be fixed).


Signed-off-by: Chen Gang <gang.c...@asianux.com>
---
 kernel/modsign_certificate.S |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/kernel/modsign_certificate.S b/kernel/modsign_certificate.S
index 4a9a86d..1967dcd 100644
--- a/kernel/modsign_certificate.S
+++ b/kernel/modsign_certificate.S
@@ -1,12 +1,10 @@
 #include <linux/export.h>
 
-#define GLOBAL(name)   \
-       .globl VMLINUX_SYMBOL(name);    \
-       VMLINUX_SYMBOL(name):
-
        .section ".init.data","aw"
 
-GLOBAL(modsign_certificate_list)
+       .globl VMLINUX_SYMBOL(modsign_certificate_list)
+VMLINUX_SYMBOL(modsign_certificate_list):
        .incbin "signing_key.x509"
        .incbin "extra_certificates"
-GLOBAL(modsign_certificate_list_end)
+       .globl VMLINUX_SYMBOL(modsign_certificate_list_end)
+VMLINUX_SYMBOL(modsign_certificate_list_end):
-- 
1.7.7.6


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

Reply via email to