1*4882a593Smuzhiyun#!/bin/bash 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun# Test script to check uintptr_t and 64-bit types for warnings 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun# It builds a few boards with different toolchains. If there are no warnings 6*4882a593Smuzhiyun# then all is well. 7*4882a593Smuzhiyun# 8*4882a593Smuzhiyun# Usage: 9*4882a593Smuzhiyun# 10*4882a593Smuzhiyun# Make sure that your toolchains are correct at the bottom of this file 11*4882a593Smuzhiyun# 12*4882a593Smuzhiyun# Then: 13*4882a593Smuzhiyun# ./test/stdint/test-includes.sh 14*4882a593Smuzhiyun 15*4882a593Smuzhiyunout=/tmp/test-includes.tmp 16*4882a593Smuzhiyun 17*4882a593Smuzhiyuntry_test() { 18*4882a593Smuzhiyun local board=$1 19*4882a593Smuzhiyun local arch=$2 20*4882a593Smuzhiyun local soc=$3 21*4882a593Smuzhiyun local gcc=$4 22*4882a593Smuzhiyun local flags="$5" 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun echo $@ 25*4882a593Smuzhiyun if ! which ${gcc} >/dev/null 2>&1; then 26*4882a593Smuzhiyun echo "Not found: ${gcc}" 27*4882a593Smuzhiyun return 28*4882a593Smuzhiyun fi 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun rm -rf ${out} 31*4882a593Smuzhiyun mkdir -p ${out} 32*4882a593Smuzhiyun touch ${out}/config.h 33*4882a593Smuzhiyun mkdir -p ${out}/generated 34*4882a593Smuzhiyun touch ${out}/generated/generic-asm-offsets.h 35*4882a593Smuzhiyun mkdir -p ${out}/include/asm 36*4882a593Smuzhiyun ln -s $(pwd)/arch/${arch}/include/asm/arch-${soc} \ 37*4882a593Smuzhiyun ${out}/include/asm/arch 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun cmd="${gcc} -c -D__KERNEL__ ${flags} \ 40*4882a593Smuzhiyun -fno-builtin -ffreestanding \ 41*4882a593Smuzhiyun -Iarch/${arch}/include \ 42*4882a593Smuzhiyun -Iinclude \ 43*4882a593Smuzhiyun -I${out} -I${out}/include \ 44*4882a593Smuzhiyun -include configs/${board}.h test/stdint/int-types.c \ 45*4882a593Smuzhiyun -o /dev/null" 46*4882a593Smuzhiyun $cmd 47*4882a593Smuzhiyun} 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun# Run a test with and without CONFIG_USE_STDINT 50*4882a593Smuzhiyuntry_both() { 51*4882a593Smuzhiyun try_test $@ 52*4882a593Smuzhiyun try_test $@ -DCONFIG_USE_STDINT 53*4882a593Smuzhiyun} 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun# board arch soc path-to-gcc 56*4882a593Smuzhiyuntry_both sandbox sandbox - gcc 57*4882a593Smuzhiyuntry_both coreboot x86 - x86_64-linux-gnu-gcc 58*4882a593Smuzhiyuntry_both seaboard arm tegra20 /opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.08_linux/bin/arm-linux-gnueabihf-gcc 59