[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#626240: gcc-4.5: Spurious array bounds warning



Package: gcc-4.5
Version: 4.5.2-11
Severity: normal
Tags: upstream


This version of the gcc-4.5 package causes a spurious array-bounds warning on certain 
input:

$ /usr/bin/gcc-4.5 -m32 -Warray-bounds -O2 -c -o /dev/null foo.i
In file included from ../cpu-defs.h:30:0,
                 from /home/dwg/ibm/kvm/qemu/target-ppc/cpu.h:76,
                 from ../qemu-common.h:130,
                 from ../sysemu.h:1,
                 from /home/dwg/ibm/kvm/qemu/hw/spapr_hcall.c:1:
../osdep.h: In function ‘spapr_register_hypercall’:
../osdep.h:29:14: warning: array subscript is above array bounds

Below is a sample input file which triggers this error.  I've cut this down from some 
qemu code I was working on, after preprocessing.  Note that the line number information 
from the preprocessor that I've included *is* significant.  If the last line of it is 
removed, the spurious warning goes away.  I'm not sure how to trim the innards of the 
line number information without causing other errors.

The same code does not generate a warning with gcc-4.6.

foo.i
=====

# 1 "/home/dwg/ibm/kvm/qemu/hw/spapr_hcall.c"
# 1 "/home/dwg/ibm/kvm/qemu/ppc64-softmmu//"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/home/dwg/ibm/kvm/qemu/hw/spapr_hcall.c"
# 1 "../sysemu.h" 1
# 1 "../qemu-common.h" 1
# 1 "../config-host.h" 1
# 6 "../qemu-common.h" 2
# 17 "../qemu-common.h"
# 1 "/usr/include/stdlib.h" 1 3 4
# 25 "/usr/include/stdlib.h" 3 4
# 1 "/usr/include/features.h" 1 3 4
# 313 "/usr/include/features.h" 3 4
# 1 "/usr/include/bits/predefs.h" 1 3 4
# 314 "/usr/include/features.h" 2 3 4
# 346 "/usr/include/features.h" 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 353 "/usr/include/sys/cdefs.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 354 "/usr/include/sys/cdefs.h" 2 3 4
# 347 "/usr/include/features.h" 2 3 4
# 378 "/usr/include/features.h" 3 4
# 1 "/usr/include/gnu/stubs.h" 1 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 5 "/usr/include/gnu/stubs.h" 2 3 4
# 1 "/usr/include/gnu/stubs-32.h" 1 3 4
# 8 "/usr/include/gnu/stubs.h" 2 3 4
# 379 "/usr/include/features.h" 2 3 4
# 26 "/usr/include/stdlib.h" 2 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 1 3 4
# 211 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 3 4
# 323 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 3 4
# 34 "/usr/include/stdlib.h" 2 3 4
# 1 "/usr/include/bits/waitflags.h" 1 3 4
# 43 "/usr/include/stdlib.h" 2 3 4
# 1 "/usr/include/bits/waitstatus.h" 1 3 4
# 65 "/usr/include/bits/waitstatus.h" 3 4
# 1 "/usr/include/endian.h" 1 3 4
# 37 "/usr/include/endian.h" 3 4
# 1 "/usr/include/bits/endian.h" 1 3 4
# 38 "/usr/include/endian.h" 2 3 4
# 61 "/usr/include/endian.h" 3 4
# 1 "/usr/include/bits/byteswap.h" 1 3 4
# 28 "/usr/include/bits/byteswap.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 29 "/usr/include/bits/byteswap.h" 2 3 4
# 62 "/usr/include/endian.h" 2 3 4
# 66 "/usr/include/bits/waitstatus.h" 2 3 4
# 44 "/usr/include/stdlib.h" 2 3 4
# 68 "/usr/include/stdlib.h" 3 4
# 96 "/usr/include/stdlib.h" 3 4
# 140 "/usr/include/stdlib.h" 3 4
# 236 "/usr/include/stdlib.h" 3 4
# 1 "/usr/include/xlocale.h" 1 3 4
# 28 "/usr/include/xlocale.h" 3 4
# 237 "/usr/include/stdlib.h" 2 3 4
# 311 "/usr/include/stdlib.h" 3 4
# 1 "/usr/include/sys/types.h" 1 3 4
# 29 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/bits/types.h" 1 3 4
# 28 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 29 "/usr/include/bits/types.h" 2 3 4
# 131 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/typesizes.h" 1 3 4
# 132 "/usr/include/bits/types.h" 2 3 4
# 32 "/usr/include/sys/types.h" 2 3 4
# 133 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/time.h" 1 3 4
# 58 "/usr/include/time.h" 3 4
# 74 "/usr/include/time.h" 3 4
# 92 "/usr/include/time.h" 3 4
# 104 "/usr/include/time.h" 3 4
# 134 "/usr/include/sys/types.h" 2 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 1 3 4
# 148 "/usr/include/sys/types.h" 2 3 4
# 195 "/usr/include/sys/types.h" 3 4
# 220 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/sys/select.h" 1 3 4
# 31 "/usr/include/sys/select.h" 3 4
# 1 "/usr/include/bits/select.h" 1 3 4
# 23 "/usr/include/bits/select.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 24 "/usr/include/bits/select.h" 2 3 4
# 32 "/usr/include/sys/select.h" 2 3 4
# 1 "/usr/include/bits/sigset.h" 1 3 4
# 24 "/usr/include/bits/sigset.h" 3 4
# 35 "/usr/include/sys/select.h" 2 3 4
# 1 "/usr/include/time.h" 1 3 4
# 120 "/usr/include/time.h" 3 4
# 45 "/usr/include/sys/select.h" 2 3 4
# 1 "/usr/include/bits/time.h" 1 3 4
# 69 "/usr/include/bits/time.h" 3 4
# 47 "/usr/include/sys/select.h" 2 3 4
# 55 "/usr/include/sys/select.h" 3 4
# 67 "/usr/include/sys/select.h" 3 4
# 99 "/usr/include/sys/select.h" 3 4
# 109 "/usr/include/sys/select.h" 3 4
# 121 "/usr/include/sys/select.h" 3 4
# 221 "/usr/include/sys/types.h" 2 3 4
# 1 "/usr/include/sys/sysmacros.h" 1 3 4
# 30 "/usr/include/sys/sysmacros.h" 3 4
# 224 "/usr/include/sys/types.h" 2 3 4
# 248 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
# 23 "/usr/include/bits/pthreadtypes.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4
# 50 "/usr/include/bits/pthreadtypes.h" 3 4
# 67 "/usr/include/bits/pthreadtypes.h" 3 4
# 170 "/usr/include/bits/pthreadtypes.h" 3 4
# 271 "/usr/include/sys/types.h" 2 3 4
# 321 "/usr/include/stdlib.h" 2 3 4
# 1 "/usr/include/alloca.h" 1 3 4
# 25 "/usr/include/alloca.h" 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 1 3 4
# 26 "/usr/include/alloca.h" 2 3 4
# 498 "/usr/include/stdlib.h" 2 3 4
# 527 "/usr/include/stdlib.h" 3 4
# 604 "/usr/include/stdlib.h" 3 4
# 618 "/usr/include/stdlib.h" 3 4
# 640 "/usr/include/stdlib.h" 3 4
# 658 "/usr/include/stdlib.h" 3 4
# 672 "/usr/include/stdlib.h" 3 4
# 693 "/usr/include/stdlib.h" 3 4
# 729 "/usr/include/stdlib.h" 3 4
# 890 "/usr/include/stdlib.h" 3 4
# 1 "/usr/include/bits/stdlib.h" 1 3 4
# 24 "/usr/include/bits/stdlib.h" 3 4
# 950 "/usr/include/stdlib.h" 2 3 4
# 958 "/usr/include/stdlib.h" 3 4
# 27 "../qemu-common.h" 2
# 1 "/usr/include/stdio.h" 1 3 4
# 30 "/usr/include/stdio.h" 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 1 3 4
# 35 "/usr/include/stdio.h" 2 3 4
# 45 "/usr/include/stdio.h" 3 4
# 65 "/usr/include/stdio.h" 3 4
# 75 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/libio.h" 1 3 4
# 32 "/usr/include/libio.h" 3 4
# 1 "/usr/include/_G_config.h" 1 3 4
# 15 "/usr/include/_G_config.h" 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 1 3 4
# 16 "/usr/include/_G_config.h" 2 3 4
# 1 "/usr/include/wchar.h" 1 3 4
# 83 "/usr/include/wchar.h" 3 4
# 21 "/usr/include/_G_config.h" 2 3 4
# 53 "/usr/include/_G_config.h" 3 4
# 33 "/usr/include/libio.h" 2 3 4
# 53 "/usr/include/libio.h" 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stdarg.h" 1 3 4
# 40 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stdarg.h" 3 4
# 54 "/usr/include/libio.h" 2 3 4
# 170 "/usr/include/libio.h" 3 4
# 180 "/usr/include/libio.h" 3 4
# 203 "/usr/include/libio.h" 3 4
# 271 "/usr/include/libio.h" 3 4
# 319 "/usr/include/libio.h" 3 4
# 328 "/usr/include/libio.h" 3 4
# 364 "/usr/include/libio.h" 3 4
# 460 "/usr/include/libio.h" 3 4
# 490 "/usr/include/libio.h" 3 4
# 76 "/usr/include/stdio.h" 2 3 4
# 89 "/usr/include/stdio.h" 3 4
# 141 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
# 142 "/usr/include/stdio.h" 2 3 4
# 175 "/usr/include/stdio.h" 3 4
# 204 "/usr/include/stdio.h" 3 4
# 229 "/usr/include/stdio.h" 3 4
# 239 "/usr/include/stdio.h" 3 4
# 260 "/usr/include/stdio.h" 3 4
# 445 "/usr/include/stdio.h" 3 4
# 504 "/usr/include/stdio.h" 3 4
# 532 "/usr/include/stdio.h" 3 4
# 543 "/usr/include/stdio.h" 3 4
# 576 "/usr/include/stdio.h" 3 4
# 622 "/usr/include/stdio.h" 3 4
# 638 "/usr/include/stdio.h" 3 4
# 779 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/bits/sys_errlist.h" 1 3 4
# 27 "/usr/include/bits/sys_errlist.h" 3 4
# 827 "/usr/include/stdio.h" 2 3 4
# 846 "/usr/include/stdio.h" 3 4
# 907 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/bits/stdio.h" 1 3 4
# 44 "/usr/include/bits/stdio.h" 3 4
# 908 "/usr/include/stdio.h" 2 3 4
# 1 "/usr/include/bits/stdio2.h" 1 3 4
# 24 "/usr/include/bits/stdio2.h" 3 4
# 195 "/usr/include/bits/stdio2.h" 3 4
# 911 "/usr/include/stdio.h" 2 3 4
# 28 "../qemu-common.h" 2
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stdarg.h" 1 3 4
# 29 "../qemu-common.h" 2
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stdbool.h" 1 3 4
# 30 "../qemu-common.h" 2
# 1 "/usr/include/string.h" 1 3 4
# 28 "/usr/include/string.h" 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 1 3 4
# 34 "/usr/include/string.h" 2 3 4
# 94 "/usr/include/string.h" 3 4
# 108 "/usr/include/string.h" 3 4
# 119 "/usr/include/string.h" 3 4
# 164 "/usr/include/string.h" 3 4
# 208 "/usr/include/string.h" 3 4
# 233 "/usr/include/string.h" 3 4
# 260 "/usr/include/string.h" 3 4
# 274 "/usr/include/string.h" 3 4
# 312 "/usr/include/string.h" 3 4
# 340 "/usr/include/string.h" 3 4
# 371 "/usr/include/string.h" 3 4
# 632 "/usr/include/string.h" 3 4
# 1 "/usr/include/bits/string.h" 1 3 4
# 633 "/usr/include/string.h" 2 3 4
# 1 "/usr/include/bits/string2.h" 1 3 4
# 394 "/usr/include/bits/string2.h" 3 4
# 969 "/usr/include/bits/string2.h" 3 4
# 1045 "/usr/include/bits/string2.h" 3 4
# 1121 "/usr/include/bits/string2.h" 3 4
# 1172 "/usr/include/bits/string2.h" 3 4
# 1204 "/usr/include/bits/string2.h" 3 4
# 1222 "/usr/include/bits/string2.h" 3 4
# 1303 "/usr/include/bits/string2.h" 3 4
# 1322 "/usr/include/bits/string2.h" 3 4
# 636 "/usr/include/string.h" 2 3 4
# 1 "/usr/include/bits/string3.h" 1 3 4
# 23 "/usr/include/bits/string3.h" 3 4
# 641 "/usr/include/string.h" 2 3 4
# 31 "../qemu-common.h" 2
# 1 "/usr/include/strings.h" 1 3 4
# 32 "../qemu-common.h" 2
# 1 "/usr/include/inttypes.h" 1 3 4
# 28 "/usr/include/inttypes.h" 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stdint.h" 1 3 4
# 1 "/usr/include/stdint.h" 1 3 4
# 27 "/usr/include/stdint.h" 3 4
# 1 "/usr/include/bits/wchar.h" 1 3 4
# 28 "/usr/include/stdint.h" 2 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 29 "/usr/include/stdint.h" 2 3 4
# 49 "/usr/include/stdint.h" 3 4
# 126 "/usr/include/stdint.h" 3 4
# 138 "/usr/include/stdint.h" 3 4
# 4 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stdint.h" 2 3 4
# 29 "/usr/include/inttypes.h" 2 3 4
# 274 "/usr/include/inttypes.h" 3 4
# 288 "/usr/include/inttypes.h" 3 4
# 379 "/usr/include/inttypes.h" 3 4
# 33 "../qemu-common.h" 2
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include-fixed/limits.h" 1 3 4
# 34 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include-fixed/limits.h" 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include-fixed/syslimits.h" 1 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include-fixed/limits.h" 1 3 4
# 169 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include-fixed/limits.h" 3 4
# 1 "/usr/include/limits.h" 1 3 4
# 145 "/usr/include/limits.h" 3 4
# 1 "/usr/include/bits/posix1_lim.h" 1 3 4
# 157 "/usr/include/bits/posix1_lim.h" 3 4
# 1 "/usr/include/bits/local_lim.h" 1 3 4
# 39 "/usr/include/bits/local_lim.h" 3 4
# 1 "/usr/include/linux/limits.h" 1 3 4
# 40 "/usr/include/bits/local_lim.h" 2 3 4
# 158 "/usr/include/bits/posix1_lim.h" 2 3 4
# 146 "/usr/include/limits.h" 2 3 4
# 1 "/usr/include/bits/posix2_lim.h" 1 3 4
# 150 "/usr/include/limits.h" 2 3 4
# 1 "/usr/include/bits/xopen_lim.h" 1 3 4
# 34 "/usr/include/bits/xopen_lim.h" 3 4
# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
# 35 "/usr/include/bits/xopen_lim.h" 2 3 4
# 154 "/usr/include/limits.h" 2 3 4
# 170 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include-fixed/limits.h" 2 3 4
# 8 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include-fixed/syslimits.h" 2 3 4
# 35 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include-fixed/limits.h" 2 3 4
# 34 "../qemu-common.h" 2
# 1 "/usr/include/time.h" 1 3 4
# 30 "/usr/include/time.h" 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 1 3 4
# 39 "/usr/include/time.h" 2 3 4
# 1 "/usr/include/bits/time.h" 1 3 4
# 43 "/usr/include/time.h" 2 3 4
# 131 "/usr/include/time.h" 3 4
# 180 "/usr/include/time.h" 3 4
# 313 "/usr/include/time.h" 3 4
# 328 "/usr/include/time.h" 3 4
# 390 "/usr/include/time.h" 3 4
# 399 "/usr/include/time.h" 3 4
# 413 "/usr/include/time.h" 3 4
# 35 "../qemu-common.h" 2
# 1 "/usr/include/ctype.h" 1 3 4
# 30 "/usr/include/ctype.h" 3 4
# 48 "/usr/include/ctype.h" 3 4
# 81 "/usr/include/ctype.h" 3 4
# 96 "/usr/include/ctype.h" 3 4
# 190 "/usr/include/ctype.h" 3 4
# 247 "/usr/include/ctype.h" 3 4
# 323 "/usr/include/ctype.h" 3 4
# 36 "../qemu-common.h" 2
# 1 "/usr/include/errno.h" 1 3 4
# 32 "/usr/include/errno.h" 3 4
# 1 "/usr/include/bits/errno.h" 1 3 4
# 25 "/usr/include/bits/errno.h" 3 4
# 1 "/usr/include/linux/errno.h" 1 3 4
# 1 "/usr/include/asm/errno.h" 1 3 4
# 1 "/usr/include/asm-generic/errno.h" 1 3 4
# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
# 5 "/usr/include/asm-generic/errno.h" 2 3 4
# 1 "/usr/include/asm/errno.h" 2 3 4
# 5 "/usr/include/linux/errno.h" 2 3 4
# 26 "/usr/include/bits/errno.h" 2 3 4
# 43 "/usr/include/bits/errno.h" 3 4
# 37 "/usr/include/errno.h" 2 3 4
# 55 "/usr/include/errno.h" 3 4
# 69 "/usr/include/errno.h" 3 4
# 37 "../qemu-common.h" 2
# 1 "/usr/include/unistd.h" 1 3 4
# 28 "/usr/include/unistd.h" 3 4
# 203 "/usr/include/unistd.h" 3 4
# 1 "/usr/include/bits/posix_opt.h" 1 3 4
# 204 "/usr/include/unistd.h" 2 3 4
# 1 "/usr/include/bits/environments.h" 1 3 4
# 23 "/usr/include/bits/environments.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 24 "/usr/include/bits/environments.h" 2 3 4
# 208 "/usr/include/unistd.h" 2 3 4
# 227 "/usr/include/unistd.h" 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 1 3 4
# 228 "/usr/include/unistd.h" 2 3 4
# 275 "/usr/include/unistd.h" 3 4
# 288 "/usr/include/unistd.h" 3 4
# 334 "/usr/include/unistd.h" 3 4
# 385 "/usr/include/unistd.h" 3 4
# 401 "/usr/include/unistd.h" 3 4
# 429 "/usr/include/unistd.h" 3 4
# 441 "/usr/include/unistd.h" 3 4
# 465 "/usr/include/unistd.h" 3 4
# 507 "/usr/include/unistd.h" 3 4
# 1 "/usr/include/bits/confname.h" 1 3 4
# 26 "/usr/include/bits/confname.h" 3 4
# 605 "/usr/include/unistd.h" 2 3 4
# 641 "/usr/include/unistd.h" 3 4
# 667 "/usr/include/unistd.h" 3 4
# 684 "/usr/include/unistd.h" 3 4
# 887 "/usr/include/unistd.h" 3 4
# 1 "/usr/include/getopt.h" 1 3 4
# 59 "/usr/include/getopt.h" 3 4
# 73 "/usr/include/getopt.h" 3 4
# 152 "/usr/include/getopt.h" 3 4
# 888 "/usr/include/unistd.h" 2 3 4
# 973 "/usr/include/unistd.h" 3 4
# 1002 "/usr/include/unistd.h" 3 4
# 1023 "/usr/include/unistd.h" 3 4
# 1040 "/usr/include/unistd.h" 3 4
# 1061 "/usr/include/unistd.h" 3 4
# 1087 "/usr/include/unistd.h" 3 4
# 1115 "/usr/include/unistd.h" 3 4
# 1 "/usr/include/bits/unistd.h" 1 3 4
# 24 "/usr/include/bits/unistd.h" 3 4
# 1151 "/usr/include/unistd.h" 2 3 4
# 38 "../qemu-common.h" 2
# 1 "/usr/include/fcntl.h" 1 3 4
# 30 "/usr/include/fcntl.h" 3 4
# 1 "/usr/include/bits/fcntl.h" 1 3 4
# 25 "/usr/include/bits/fcntl.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 26 "/usr/include/bits/fcntl.h" 2 3 4
# 1 "/usr/include/bits/uio.h" 1 3 4
# 44 "/usr/include/bits/uio.h" 3 4
# 28 "/usr/include/bits/fcntl.h" 2 3 4
# 160 "/usr/include/bits/fcntl.h" 3 4
# 257 "/usr/include/bits/fcntl.h" 3 4
# 35 "/usr/include/fcntl.h" 2 3 4
# 1 "/usr/include/sys/stat.h" 1 3 4
# 105 "/usr/include/sys/stat.h" 3 4
# 1 "/usr/include/bits/stat.h" 1 3 4
# 43 "/usr/include/bits/stat.h" 3 4
# 88 "/usr/include/bits/stat.h" 3 4
# 109 "/usr/include/bits/stat.h" 3 4
# 166 "/usr/include/bits/stat.h" 3 4
# 108 "/usr/include/sys/stat.h" 2 3 4
# 219 "/usr/include/sys/stat.h" 3 4
# 245 "/usr/include/sys/stat.h" 3 4
# 269 "/usr/include/sys/stat.h" 3 4
# 412 "/usr/include/sys/stat.h" 3 4
# 434 "/usr/include/sys/stat.h" 3 4
# 39 "/usr/include/fcntl.h" 2 3 4
# 64 "/usr/include/fcntl.h" 3 4
# 76 "/usr/include/fcntl.h" 3 4
# 101 "/usr/include/fcntl.h" 3 4
# 121 "/usr/include/fcntl.h" 3 4
# 168 "/usr/include/fcntl.h" 3 4
# 189 "/usr/include/fcntl.h" 3 4
# 1 "/usr/include/bits/fcntl2.h" 1 3 4
# 31 "/usr/include/bits/fcntl2.h" 3 4
# 105 "/usr/include/bits/fcntl2.h" 3 4
# 206 "/usr/include/fcntl.h" 2 3 4
# 39 "../qemu-common.h" 2
# 1 "/usr/include/sys/time.h" 1 3 4
# 29 "/usr/include/sys/time.h" 3 4
# 1 "/usr/include/bits/time.h" 1 3 4
# 30 "/usr/include/sys/time.h" 2 3 4
# 39 "/usr/include/sys/time.h" 3 4
# 57 "/usr/include/sys/time.h" 3 4
# 73 "/usr/include/sys/time.h" 3 4
# 191 "/usr/include/sys/time.h" 3 4
# 41 "../qemu-common.h" 2
# 1 "/usr/include/assert.h" 1 3 4
# 68 "/usr/include/assert.h" 3 4
# 42 "../qemu-common.h" 2
# 1 "../qemu-os-posix.h" 1
# 29 "../qemu-os-posix.h"
# 50 "../qemu-os-posix.h"
# 49 "../qemu-common.h" 2
# 81 "../qemu-common.h"
# 1 "/usr/include/sys/uio.h" 1 3 4
# 26 "/usr/include/sys/uio.h" 3 4
# 1 "/usr/include/bits/uio.h" 1 3 4
# 30 "/usr/include/sys/uio.h" 2 3 4
# 40 "/usr/include/sys/uio.h" 3 4
# 51 "/usr/include/sys/uio.h" 3 4
# 82 "/usr/include/sys/uio.h" 3 4
# 104 "/usr/include/sys/uio.h" 3 4
# 116 "/usr/include/sys/uio.h" 3 4
# 82 "../qemu-common.h" 2
# 100 "../qemu-common.h"
# 130 "../qemu-common.h"
# 1 "/home/dwg/ibm/kvm/qemu/target-ppc/cpu.h" 1
# 22 "/home/dwg/ibm/kvm/qemu/target-ppc/cpu.h"
# 1 "../config.h" 1
# 1 "../config-host.h" 1
# 2 "../config.h" 2
# 1 "./config-target.h" 1
# 2 "../config.h" 2
# 23 "/home/dwg/ibm/kvm/qemu/target-ppc/cpu.h" 2
# 1 "../qemu-common.h" 1
# 24 "/home/dwg/ibm/kvm/qemu/target-ppc/cpu.h" 2
# 76 "/home/dwg/ibm/kvm/qemu/target-ppc/cpu.h"
# 1 "../cpu-defs.h" 1
# 26 "../cpu-defs.h"
# 1 "../config.h" 1
# 1 "../config-host.h" 1
# 2 "../config.h" 2
# 1 "./config-target.h" 1
# 2 "../config.h" 2
# 27 "../cpu-defs.h" 2
# 1 "/usr/include/setjmp.h" 1 3 4
# 28 "/usr/include/setjmp.h" 3 4
# 1 "/usr/include/bits/setjmp.h" 1 3 4
# 27 "/usr/include/bits/setjmp.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 28 "/usr/include/bits/setjmp.h" 2 3 4
# 31 "/usr/include/setjmp.h" 2 3 4
# 1 "/usr/include/bits/sigset.h" 1 3 4
# 32 "/usr/include/setjmp.h" 2 3 4
# 78 "/usr/include/setjmp.h" 3 4
# 110 "/usr/include/setjmp.h" 3 4
# 1 "/usr/include/bits/setjmp2.h" 1 3 4
# 26 "/usr/include/bits/setjmp2.h" 3 4
# 118 "/usr/include/setjmp.h" 2 3 4
# 28 "../cpu-defs.h" 2
# 1 "/usr/include/signal.h" 1 3 4
# 31 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/sigset.h" 1 3 4
# 104 "/usr/include/bits/sigset.h" 3 4
# 118 "/usr/include/bits/sigset.h" 3 4
# 34 "/usr/include/signal.h" 2 3 4
# 58 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/signum.h" 1 3 4
# 59 "/usr/include/signal.h" 2 3 4
# 79 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/siginfo.h" 1 3 4
# 25 "/usr/include/bits/siginfo.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 26 "/usr/include/bits/siginfo.h" 2 3 4
# 51 "/usr/include/bits/siginfo.h" 3 4
# 129 "/usr/include/bits/siginfo.h" 3 4
# 273 "/usr/include/bits/siginfo.h" 3 4
# 80 "/usr/include/signal.h" 2 3 4
# 168 "/usr/include/signal.h" 3 4
# 177 "/usr/include/signal.h" 3 4
# 196 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/sigaction.h" 1 3 4
# 25 "/usr/include/bits/sigaction.h" 3 4
# 253 "/usr/include/signal.h" 2 3 4
# 310 "/usr/include/signal.h" 3 4
# 334 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/sigcontext.h" 1 3 4
# 26 "/usr/include/bits/sigcontext.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 27 "/usr/include/bits/sigcontext.h" 2 3 4
# 81 "/usr/include/bits/sigcontext.h" 3 4
# 340 "/usr/include/signal.h" 2 3 4
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 1 3 4
# 350 "/usr/include/signal.h" 2 3 4
# 1 "/usr/include/bits/sigstack.h" 1 3 4
# 26 "/usr/include/bits/sigstack.h" 3 4
# 50 "/usr/include/bits/sigstack.h" 3 4
# 357 "/usr/include/signal.h" 2 3 4
# 1 "/usr/include/sys/ucontext.h" 1 3 4
# 23 "/usr/include/sys/ucontext.h" 3 4
# 1 "/usr/include/signal.h" 1 3 4
# 24 "/usr/include/sys/ucontext.h" 2 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 25 "/usr/include/sys/ucontext.h" 2 3 4
# 148 "/usr/include/sys/ucontext.h" 3 4
# 360 "/usr/include/signal.h" 2 3 4
# 1 "/usr/include/bits/sigthread.h" 1 3 4
# 31 "/usr/include/bits/sigthread.h" 3 4
# 396 "/usr/include/signal.h" 2 3 4
# 30 "../cpu-defs.h" 2
# 1 "../osdep.h" 1
# 1 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 1 3 4
# 149 "/usr/lib/gcc/i486-linux-gnu/4.5.2/include/stddef.h" 3 4
# 6 "../osdep.h" 2

typedef unsigned long long int uint64_t;


extern void __assert_fail (__const char *__assertion, __const char *__file,
      unsigned int __line, __const char *__function)
     __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));

static int papr_hypercall_table[(0x2D4 / 4) + 1];
static int kvmppc_hypercall_table[(0xf000 + 0x7) - 0xf000 + 1];

void spapr_register_hypercall(uint64_t opcode, int fn)
{
    int *slot;

    if (opcode <= 0x2D4) {
        (((opcode & 0x3) == 0) ? (void) (0) : __assert_fail ("(opcode & 0x3) == 0", "/home/dwg/ibm/kvm/qemu/hw/spapr_hcall.c", 466, __PRETTY_FUNCTION__));

        slot = &papr_hypercall_table[opcode / 4];
    } else {
        (((opcode >= 0xf000) && (opcode <= (0xf000 + 0x7))) ? (void) (0) : __assert_fail ("(opcode >= 0xf000) && (opcode <= (0xf000 + 0x7))", "/home/dwg/ibm/kvm/qemu/hw/spapr_hcall.c", 470, __PRETTY_FUNCTION__));


        slot = &kvmppc_hypercall_table[opcode - 0xf000];
    }

    ((!(*slot) || (fn == *slot)) ? (void) (0) : __assert_fail ("!(*slot) || (fn == *slot)", "/home/dwg/ibm/kvm/qemu/hw/spapr_hcall.c", 476, __PRETTY_FUNCTION__));
    *slot = fn;
}


-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (x86_64)

Kernel: Linux 2.6.38-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gcc-4.5 depends on:
ii  binutils               2.21.0.20110327-3 The GNU assembler, linker and bina
ii  cpp-4.5                4.5.2-11          The GNU C preprocessor
ii  gcc-4.5-base           4.5.2-11          The GNU Compiler Collection (base 
ii  libc6                  2.11.2-11         Embedded GNU C Library: Shared lib
ii  libcloog-ppl0          0.15.9-3          the Chunky Loop Generator (runtime
ii  libelfg0               0.8.13-1          an ELF object file access library
ii  libgcc1                1:4.6.0-2         GCC support library
ii  libgmp10               2:5.0.1+dfsg-7    Multiprecision arithmetic library
ii  libgmpxx4ldbl          2:5.0.1+dfsg-7    Multiprecision arithmetic library 
ii  libgomp1               4.6.0-2           GCC OpenMP (GOMP) support library
ii  libmpc2                0.9-3             multiple precision complex floatin
ii  libmpfr4               3.0.0-9           multiple precision floating-point 
ii  libppl-c4              0.11.2-3          Parma Polyhedra Library (C interfa
ii  libppl9                0.11.2-3          Parma Polyhedra Library (runtime l
ii  zlib1g                 1:1.2.3.4.dfsg-3  compression library - runtime

Versions of packages gcc-4.5 recommends:
ii  libc6-dev                     2.11.2-11  Embedded GNU C Library: Developmen

Versions of packages gcc-4.5 suggests:
pn  binutils-gold                 <none>     (no description available)
pn  gcc-4.5-doc                   <none>     (no description available)
pn  gcc-4.5-locales               <none>     (no description available)
ii  gcc-4.5-multilib              4.5.2-11   The GNU C compiler (multilib files
pn  libgcc1-dbg                   <none>     (no description available)
pn  libgomp1-dbg                  <none>     (no description available)
pn  libmudflap0-4.5-dev           <none>     (no description available)
pn  libmudflap0-dbg               <none>     (no description available)
pn  libppl-c2                     <none>     (no description available)
pn  libppl7                       <none>     (no description available)

-- no debconf information



Reply to: