stapbpf PR23478:: Initial support to allow use of multi-dimensional arrays.
The patch allows multi-dimensional arrays to be used lhs and rhs
expression. It also allows deletion and check of existence of
particular elements with multi-dimensional key values. However, this
patch does not support foreach statements with multi-dimensional
arrays. Now something like the following trivial example works with
the bpf backend:
sudo ../install/bin/stap --bpf -v -e 'global x; probe begin{ x[4,2] = 2; x[2,4]= -2; exit()} probe end{ printf("%d ", x[4,2]); printf("%d ", x[3,3]); printf("%d ", x[2,4])}'
Pass 1: parsed user script and 51 library scripts using 250084virt/23932res/9000shr/14756data kb, in 10usr/0sys/15real ms.
Pass 2: analyzed script: 2 probes, 3 functions, 0 embeds, 1 global using 250084virt/23932res/9000shr/14756data kb, in 0usr/0sys/0real ms.
Pass 3: pass skipped for stapbpf runtime in 0usr/0sys/0real ms.
Pass 4: compiled BPF into "stap_29813.bo" in 0usr/0sys/0real ms.
Pass 5: starting run.
2 0 -2 Pass 5: run completed in 0usr/0sys/3real ms.