Merge branch 'smp/hotplug' into sched/core, to resolve conflicts
[linux-2.6-block.git] / scripts / link-vmlinux.sh
index ba6c34ea5429535cd303b1aa1d6ebd6ae30dd912..49d61ade942563eb47f7612b8b7d427c9595e940 100755 (executable)
@@ -86,16 +86,21 @@ kallsyms()
                kallsymopt="${kallsymopt} --page-offset=$CONFIG_PAGE_OFFSET"
        fi
 
-       if [ -n "${CONFIG_X86_64}" ]; then
+       if [ -n "${CONFIG_KALLSYMS_ABSOLUTE_PERCPU}" ]; then
                kallsymopt="${kallsymopt} --absolute-percpu"
        fi
 
+       if [ -n "${CONFIG_KALLSYMS_BASE_RELATIVE}" ]; then
+               kallsymopt="${kallsymopt} --base-relative"
+       fi
+
        local aflags="${KBUILD_AFLAGS} ${KBUILD_AFLAGS_KERNEL}               \
                      ${NOSTDINC_FLAGS} ${LINUXINCLUDE} ${KBUILD_CPPFLAGS}"
 
-       ${NM} -n ${1} | \
-               scripts/kallsyms ${kallsymopt} | \
-               ${CC} ${aflags} -c -o ${2} -x assembler-with-cpp -
+       local afile="`basename ${2} .o`.S"
+
+       ${NM} -n ${1} | scripts/kallsyms ${kallsymopt} > ${afile}
+       ${CC} ${aflags} -c -o ${2} ${afile}
 }
 
 # Create map file with all symbols from ${1}