OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [sparc64/] [kernel/] [check_asm.sh] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#!/bin/sh
2
case $1 in
3
  -printf)
4
    sed -n -e '/^#/d;/struct[   ]*'$2'_struct[  ]*{/,/};/p' < $3 | sed '/struct[        ]*'$2'_struct[  ]*{/d;/:[0-9]*[         ]*;/d;/^[       ]*$/d;/};/d;s/^[        ]*//;s/volatile[        ]*//;s/\(unsigned\|signed\|struct\)[    ]*//;s/\(\[\|__attribute__\).*;[        ]*$//;s/(\*//;s/)(.*)//;s/;[    ]*$//;s/^[^     ]*[     ]*//;s/,/\
5
/g' | sed 's/^[         *]*//;s/[       ]*$//;s/^.*$/printf ("#define AOFF_'$2'_\0      0x%08x\\n", check_asm_data[i++]); printf("#define ASIZ_'$2'_\0  0x%08x\\n", check_asm_data[i++]);/' >> $4
6
    echo "printf (\"#define ASIZ_$2\\t0x%08x\\n\", check_asm_data[i++]);" >> $4
7
  ;;
8
  -data)
9
    sed -n -e '/^#/d;/struct[   ]*'$2'_struct[  ]*{/,/};/p' < $3 | sed '/struct[        ]*'$2'_struct[  ]*{/d;/:[0-9]*[         ]*;/d;/^[       ]*$/d;/};/d;s/^[        ]*//;s/volatile[        ]*//;s/\(unsigned\|signed\|struct\)[    ]*//;s/\(\[\|__attribute__\).*;[        ]*$//;s/(\*//;s/)(.*)//;s/;[    ]*$//;s/^[^     ]*[     ]*//;s/,/\
10
/g' | sed 's/^[         *]*//;s/[       ]*$//;s/^.*$/   ((char *)\&((struct '$2'_struct *)0)->\0) - ((char *)((struct '$2'_struct *)0)),        sizeof(((struct '$2'_struct *)0)->\0),/' >> $4
11
    echo "      sizeof(struct $2_struct)," >> $4
12
  ;;
13
  -ints)
14
    sed -n -e '/check_asm_data:/,/\.size/p' <$2 | sed -e 's/check_asm_data://' -e 's/\.size.*//' -e 's/\.section.*//' -e 's/\.long[             ]\([0-9]*\)/\1,/' | grep -v '\.ident' >>$3
15
  ;;
16
  *)
17
    exit 1
18
  ;;
19
esac
20
exit 0

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.