https://github.com/torvalds/linux
Revision 20c6c189045539d29f4854d92b7ea9c329e1edfc authored by Matthias Kaehlcke on 25 July 2017, 21:50:53 UTC, committed by Ingo Molnar on 28 July 2017, 06:39:08 UTC
The clang warning 'address-of-packed-member' is disabled for the general
kernel code, also disable it for the x86 boot code.

This suppresses a bunch of warnings like this when building with clang:

./arch/x86/include/asm/processor.h:535:30: warning: taking address of
  packed member 'sp0' of class or structure 'x86_hw_tss' may result in an
  unaligned pointer value [-Waddress-of-packed-member]
    return this_cpu_read_stable(cpu_tss.x86_tss.sp0);
                                ^~~~~~~~~~~~~~~~~~~
./arch/x86/include/asm/percpu.h:391:59: note: expanded from macro
  'this_cpu_read_stable'
    #define this_cpu_read_stable(var)       percpu_stable_op("mov", var)
                                                                    ^~~
./arch/x86/include/asm/percpu.h:228:16: note: expanded from macro
  'percpu_stable_op'
    : "p" (&(var)));
             ^~~

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Cc: Doug Anderson <dianders@chromium.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20170725215053.135586-1-mka@chromium.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent 4ecf719
Raw File
Tip revision: 20c6c189045539d29f4854d92b7ea9c329e1edfc authored by Matthias Kaehlcke on 25 July 2017, 21:50:53 UTC
x86/boot: Disable the address-of-packed-member compiler warning
Tip revision: 20c6c18
check_00index.sh
#!/bin/bash

cd Documentation/

# Check entries that should be removed

obsolete=""
for i in $(tail -n +12 00-INDEX |grep -E '^[a-zA-Z0-9]+'); do
	if [ ! -e $i ]; then
		obsolete="$obsolete $i"
	fi
done

# Check directory entries that should be added
search=""
dir=""
for i in $(find . -maxdepth 1 -type d); do
	if [ "$i" != "." ]; then
		new=$(echo $i|perl -ne 's,./(.*),$1/,; print $_')
		search="$search $new"
	fi
done

for i in $search; do
	if [ "$(grep -P "^$i" 00-INDEX)" == "" ]; then
		dir="$dir $i"
	fi
done

# Check file entries that should be added
search=""
file=""
for i in $(find . -maxdepth 1 -type f); do
	if [ "$i" != "./.gitignore" ]; then
		new=$(echo $i|perl -ne 's,./(.*),$1,; print $_')
		search="$search $new"
	fi
done

for i in $search; do
	if [ "$(grep -P "^$i\$" 00-INDEX)" == "" ]; then
		file="$file $i"
	fi
done

# Output its findings

echo -e "Documentation/00-INDEX check results:\n"

if [ "$obsolete" != "" ]; then
	echo -e "- Should remove those entries:\n\t$obsolete\n"
else
	echo -e "- No obsolete entries\n"
fi

if [ "$dir" != "" ]; then
	echo -e "- Should document those directories:\n\t$dir\n"
else
	echo -e "- No new directories to add\n"
fi

if [ "$file" != "" ]; then
	echo -e "- Should document those files:\n\t$file"
else
	echo "- No new files to add"
fi
back to top