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