Commit 2c51d97e authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt Committed by Michael Ellerman

powerpc: Check prom_init for disallowed sections

prom_init.c must not modify the kernel image outside
of the .bss.prominit section. Thus make sure that
prom_init.o doesn't have anything in any of these:

	.data
	.bss
	.init.data
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 5f69e388
...@@ -28,6 +28,18 @@ OBJ="$2" ...@@ -28,6 +28,18 @@ OBJ="$2"
ERROR=0 ERROR=0
function check_section()
{
file=$1
section=$2
size=$(objdump -h -j $section $file 2>/dev/null | awk "\$2 == \"$section\" {print \$3}")
size=${size:-0}
if [ $size -ne 0 ]; then
ERROR=1
echo "Error: Section $section not empty in prom_init.c" >&2
fi
}
for UNDEF in $($NM -u $OBJ | awk '{print $2}') for UNDEF in $($NM -u $OBJ | awk '{print $2}')
do do
# On 64-bit nm gives us the function descriptors, which have # On 64-bit nm gives us the function descriptors, which have
...@@ -66,4 +78,8 @@ do ...@@ -66,4 +78,8 @@ do
fi fi
done done
check_section $OBJ .data
check_section $OBJ .bss
check_section $OBJ .init.data
exit $ERROR exit $ERROR
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment