This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Shared buffer affected by CONFIG_MODVERSIONS


Hi,

In current stap tree, the shared buffer machinery depends on CONFIG_MODVERSIONS.

[wjhuang@EL5U2-64bits testsuite]$ cat /lib/modules/2.6.28/build/.config|grep MODVERSION
CONFIG_MODVERSIONS=y
[wjhuang@EL5U2-64bits testsuite]$ sudo runtest systemtap.printf/sharedbuf.exp --tool_opts install
...
Running ./systemtap.printf/sharedbuf.exp ...
FAIL: shared buffer guest
Error inserting module '/tmp/stap0Tv0kZ/stap_3ebc02e755c27ff472c3a3ed2d196152_345.ko': Unknown symbol in module
Retrying, after attempted removal of module stap_3ebc02e755c27ff472c3a3ed2d196152_345 (rc -1)
Error inserting module '/tmp/stap0Tv0kZ/stap_3ebc02e755c27ff472c3a3ed2d196152_345.ko': Unknown symbol in module
Pass 5: run failed. Try again with another '--vp 00001' option.
FAIL: buffer sharing (0, 0)


=== Summary ===

# of expected passes            1
# of unexpected failures        2

[wjhuang@EL5U2-64bits testsuite]$ dmesg
stap_4cadcc917d7dfed2e32ec12f99abd964_218: systemtap: 0.8/0.131, base: ffffffffa00d1000, memory: 15833+17847+416+14000 data+text+ctx+net, probes: 1
stap_3ebc02e755c27ff472c3a3ed2d196152_345: no symbol version for stp_print_flush_test1
stap_3ebc02e755c27ff472c3a3ed2d196152_345: Unknown symbol stp_print_flush_test1
stap_3ebc02e755c27ff472c3a3ed2d196152_345: no symbol version for stp_print_flush_test1
stap_3ebc02e755c27ff472c3a3ed2d196152_345: Unknown symbol stp_print_flush_test1


But the test can pass when CONFIG_MODVERSIONS is not set.
[wjhuang@EL5U2-64bits testsuite]$ cat
/lib/modules/2.6.28/build/.config|grep MODVERSION
# CONFIG_MODVERSIONS is not set
[wjhuang@EL5U2-64bits testsuite]$ sudo runtest
systemtap.printf/sharedbuf.exp  --tool_opts install
...
Running ./systemtap.printf/sharedbuf.exp ...

=== Summary ===

# of expected passes            2
# of expected failures          2


Seems the version information of exported test function don't match will
make kernel refuse to load kernel. To keep shared buffer compatible with
different config kernel needs a little update, pass modversion when building module or modify runtime/print.c to make exported function switched according to CONFIG_MODVERSIONS.



Regards, Wenji


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]