1#!/bin/bash
2
3if ! test -e kernel.allocation_funcs || ! test -e kernel.gfp_flags ; then
4    echo "We need the kernel.allocation_funcs and the kernel.gfp_flags files"
5    echo "The scripts to generate them are in smatch_data/"
6    exit 1
7fi
8
9bin_dir=$(dirname $0)
10remove=$(echo ${bin_dir}/../smatch_data/kernel.allocation_funcs_gfp.remove)
11tmp=$(mktemp /tmp/smatch.XXXX)
12
13echo "// Automatically generated by add_gfp_to_allocations.sh" > kernel.allocation_funcs_gfp
14for i in $(grep -v "//" kernel.allocation_funcs) ; do
15    if ! grep -w $i kernel.gfp_flags ; then
16	echo $i X
17    fi
18done >> $tmp
19
20cat $tmp $remove $remove 2> /dev/null | sort | uniq -u >> kernel.allocation_funcs_gfp
21rm $tmp
22
23echo "Done.  Created kernel.allocation_funcs_gfp"
24