3 cat > sed.script << "EOF"
7 s/typedef \(.*\) __u\([1-9]*\);/#define __U\2_TYPEDEF \1/
8 s/typedef \(.*\) __s\([1-9]*\);/#define __S\2_TYPEDEF \1/
11 echo '#include <asm/types.h>' | ${CPP-${CC-gcc} -E} - | \
12 sed -f sed.script | grep ^# > asm_types.h
16 cp asm_types.h asm_types.c
18 cat >> asm_types.c <<EOF
21 main(int argc, char **argv)
24 if (sizeof(__U8_TYPEDEF) != 1) {
25 printf("Sizeof(__U8__TYPEDEF) is %d should be 1\n",
26 sizeof(__U8_TYPEDEF));
30 #warning __U8_TYPEDEF not defined
33 if (sizeof(__S8_TYPEDEF) != 1) {
34 printf("Sizeof(_S8__TYPEDEF) is %d should be 1\n",
35 sizeof(__S8_TYPEDEF));
39 #warning __S8_TYPEDEF not defined
42 if (sizeof(__U16_TYPEDEF) != 2) {
43 printf("Sizeof(__U16__TYPEDEF) is %d should be 2\n",
44 sizeof(__U16_TYPEDEF));
48 #warning __U16_TYPEDEF not defined
51 if (sizeof(__S16_TYPEDEF) != 2) {
52 printf("Sizeof(__S16__TYPEDEF) is %d should be 2\n",
53 sizeof(__S16_TYPEDEF));
57 #warning __S16_TYPEDEF not defined
61 if (sizeof(__U32_TYPEDEF) != 4) {
62 printf("Sizeof(__U32__TYPEDEF) is %d should be 4\n",
63 sizeof(__U32_TYPEDEF));
67 #warning __U32_TYPEDEF not defined
70 if (sizeof(__S32_TYPEDEF) != 4) {
71 printf("Sizeof(__S32__TYPEDEF) is %d should be 4\n",
72 sizeof(__S32_TYPEDEF));
76 #warning __S32_TYPEDEF not defined
80 if (sizeof(__U64_TYPEDEF) != 8) {
81 printf("Sizeof(__U64__TYPEDEF) is %d should be 8\n",
82 sizeof(__U64_TYPEDEF));
86 #warning __U64_TYPEDEF not defined
89 if (sizeof(__S64_TYPEDEF) != 8) {
90 printf("Sizeof(__S64__TYPEDEF) is %d should be 8\n",
91 sizeof(__S64_TYPEDEF));
95 #warning __S64_TYPEDEF not defined
101 ${BUILD_CC-${CC-gcc}} -o asm_types asm_types.c
104 echo "Problem detected with asm_types.h"
105 echo "" > asm_types.h
107 rm asm_types.c asm_types