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/