checkpatch: exclude sizeof sub-expressions from MACRO_ARG_REUSE
[linux-2.6-block.git] / scripts / link-vmlinux.sh
index 8c59970a09dce2bd272c99b2a157c81be75795e3..06495379fcd8843d4f49b3237d5f138f4a4a5134 100755 (executable)
@@ -64,6 +64,8 @@ vmlinux_link()
        local output=${1}
        local objects
 
+       info LD ${output}
+
        # skip output file argument
        shift
 
@@ -157,6 +159,18 @@ kallsyms()
        ${CC} ${aflags} -c -o ${2} ${afile}
 }
 
+# Perform one step in kallsyms generation, including temporary linking of
+# vmlinux.
+kallsyms_step()
+{
+       kallsymso_prev=${kallsymso}
+       kallsymso=.tmp_kallsyms${1}.o
+       kallsyms_vmlinux=.tmp_vmlinux${1}
+
+       vmlinux_link ${kallsyms_vmlinux} "${kallsymso_prev}" ${btf_vmlinux_bin_o}
+       kallsyms ${kallsyms_vmlinux} ${kallsymso}
+}
+
 # Create map file with all symbols from ${1}
 # See mksymap for additional details
 mksysmap()
@@ -243,6 +257,7 @@ if [ -n "${CONFIG_DEBUG_INFO_BTF}" ]; then
 fi
 
 kallsymso=""
+kallsymso_prev=""
 kallsyms_vmlinux=""
 if [ -n "${CONFIG_KALLSYMS}" ]; then
 
@@ -269,32 +284,19 @@ if [ -n "${CONFIG_KALLSYMS}" ]; then
        # a)  Verify that the System.map from vmlinux matches the map from
        #     ${kallsymso}.
 
-       kallsymso=.tmp_kallsyms2.o
-       kallsyms_vmlinux=.tmp_vmlinux2
-
-       # step 1
-       vmlinux_link .tmp_vmlinux1 ${btf_vmlinux_bin_o}
-       kallsyms .tmp_vmlinux1 .tmp_kallsyms1.o
-
-       # step 2
-       vmlinux_link .tmp_vmlinux2 .tmp_kallsyms1.o ${btf_vmlinux_bin_o}
-       kallsyms .tmp_vmlinux2 .tmp_kallsyms2.o
+       kallsyms_step 1
+       kallsyms_step 2
 
        # step 3
-       size1=$(${CONFIG_SHELL} "${srctree}/scripts/file-size.sh" .tmp_kallsyms1.o)
-       size2=$(${CONFIG_SHELL} "${srctree}/scripts/file-size.sh" .tmp_kallsyms2.o)
+       size1=$(${CONFIG_SHELL} "${srctree}/scripts/file-size.sh" ${kallsymso_prev})
+       size2=$(${CONFIG_SHELL} "${srctree}/scripts/file-size.sh" ${kallsymso})
 
        if [ $size1 -ne $size2 ] || [ -n "${KALLSYMS_EXTRA_PASS}" ]; then
-               kallsymso=.tmp_kallsyms3.o
-               kallsyms_vmlinux=.tmp_vmlinux3
-
-               vmlinux_link .tmp_vmlinux3 .tmp_kallsyms2.o ${btf_vmlinux_bin_o}
-               kallsyms .tmp_vmlinux3 .tmp_kallsyms3.o
+               kallsyms_step 3
        fi
 fi
 
-info LD vmlinux
-vmlinux_link vmlinux "${kallsymso}" "${btf_vmlinux_bin_o}"
+vmlinux_link vmlinux "${kallsymso}" ${btf_vmlinux_bin_o}
 
 if [ -n "${CONFIG_BUILDTIME_EXTABLE_SORT}" ]; then
        info SORTEX vmlinux