Builder libpcap-solaris10-amd64 Build #3184
Results:
Build successful
SourceStamp:
| Project | libpcap |
| Repository | https://git.tcpdump.org/libpcap |
| Branch | master |
| Revision | 81c00ffef3c70ee84df80a65df1f0856c90b9263 |
| Got Revision | 81c00ffef3c70ee84df80a65df1f0856c90b9263 |
| Changes | 4 changes |
BuildSlave:
unstable10xReason:
The SingleBranchScheduler scheduler named 'schedule-libpcap-solaris10-amd64' triggered this build
Steps and Logfiles:
-
git update ( 6 secs )
-
shell Set developer mode ( 0 secs )
-
shell_1 './autogen.sh' ( 8 secs )
-
shell_2 './configure' ( 1 mins, 14 secs )
-
shell_3 'gmake' ( 34 secs )
-
shell_4 'gmake check' ( 9 mins, 0 secs )
-
shell_5 'rm -rf ...' ( 0 secs )
-
shell_6 'gmake install ...' ( 4 secs )
-
trigger triggered trigger-tcpdump-solaris10-amd64 ( 8 mins, 48 secs )
- - no logs -
- tcpdump-solaris10-amd64 #5989
Build Properties:
| Name | Value | Source |
|---|---|---|
| branch | master | Build |
| builddir | /export/home/buildbot/slave/libpcap-solaris10-amd64 | slave |
| buildername | libpcap-solaris10-amd64 | Builder |
| buildnumber | 3184 | Build |
| codebase | Build | |
| got_revision | 81c00ffef3c70ee84df80a65df1f0856c90b9263 | Git |
| project | libpcap | Build |
| repository | https://git.tcpdump.org/libpcap | Build |
| revision | 81c00ffef3c70ee84df80a65df1f0856c90b9263 | Build |
| scheduler | schedule-libpcap-solaris10-amd64 | Scheduler |
| slavename | unstable10x | BuildSlave |
| workdir | /export/home/buildbot/slave/libpcap-solaris10-amd64 | slave (deprecated) |
Forced Build Properties:
| Name | Label | Value |
|---|
Responsible Users:
- Denis Ovsienkodenis@ovsienko.info
Timing:
| Start | Wed Oct 29 18:59:07 2025 |
| End | Wed Oct 29 19:19:05 2025 |
| Elapsed | 19 mins, 57 secs |
All Changes:
:
Change #247049
Category libpcap Changed by Denis Ovsienko <denis@ovsienko.info> Changed at Wed 29 Oct 2025 18:55:36 Repository https://git.tcpdump.org/libpcap Project libpcap Branch master Revision ebddc84406b07b71bcb2559b921b75baa20bc424 Comments
TESTrun: Refine a few assorted accept blocks. In MTP tests, for example, "sls (3)" tests a relevant code path, but "sls (3 or 3)" tests effects of the optimizer on a code path that is already covered with another test. This causes unnecessary differences in the unoptimized program, so remove such aliases and expect the short program to be the unoptimized program. Idem ATM tests. For the length tests keep all the aliases, but split these into separate tests on similar grounds. Use the 00 prefix to test octal for IPv4 and fix a comment.
Changed files
- testprogs/TESTrun
Change #247050
Category libpcap Changed by Denis Ovsienko <denis@ovsienko.info> Changed at Wed 29 Oct 2025 18:55:36 Repository https://git.tcpdump.org/libpcap Project libpcap Branch master Revision fb47c0422f14514374290c4cd668fd748ec30901 Comments
TESTrun: Define "opt" and "unopt" in more accept blocks.
Changed files
- testprogs/TESTrun
Change #247051
Category libpcap Changed by Denis Ovsienko <denis@ovsienko.info> Changed at Wed 29 Oct 2025 18:55:36 Repository https://git.tcpdump.org/libpcap Project libpcap Branch master Revision 949f5fc9f6b6aeead97382565a004ebcae60a164 Comments
Get BPF_K and BPF_X right in gencode.c. Apparently, earlier I made an error in commit 87b9146, in that it is not right to replace five instances of a BPF_JMP|BPF_JEQ|BPF_X block with calls to gen_jmp(): gen_jmp() uses JMP() to produce a BPF_K branch instruction, which takes a constant for the "#k", but a BPF_X branch instruction does not take a constant. This error did not manifest in practice because BPF_K == 0x00 and BPF_X == 0x08, so passing BPF_X to gen_jmp() by coincidence worked as before. To make it obvious which variety of a branch block the code means to produce, replace gen_jmp() with gen_jmp_k() and gen_jmp_x(), each of which does its own correct thing. Whilst prototyping the above bug fix, in a few cases I had confused new_stmt() with gen_jmp() and omitted a mandatory value from the ORed bitmasks, which was not obvious until the tests failed. To make such mistakes compile errors, have JMP() take two arguments and use the macro instead of composing the bitmasks in place.
Changed files
- gencode.c
Change #247052
Category libpcap Changed by Denis Ovsienko <denis@ovsienko.info> Changed at Wed 29 Oct 2025 18:55:36 Repository https://git.tcpdump.org/libpcap Project libpcap Branch master Revision 81c00ffef3c70ee84df80a65df1f0856c90b9263 Comments
Do not special-case BPF_JEQ in gen_relation_internal(). The function stores one operand in A and the other in X. For BPF_JGT and BPF_JGE it generates "jgt x" and "jge x" respectively, which works exactly as required. However, for BPF_JEQ it subtracts X from A, then compares A with 0. Although the immediate effect of this is the same as that of "jeq x", the former requires an additional instruction. Also it does not preserve the original value of the operand in A, which may get in the way of subsequent optimizations; indeed, optimizer.c:opt_peep() folds "sub x; jeq #0" into "jeq x". Thus in gen_relation_internal() use one gen_jmp_x() invocation for all cases. In 13 accept blocks this eliminates from the unoptimized program one instruction per every instance of "EXPR1 == EXPR2" and "EXPR1 != EXPR2".
Changed files
- gencode.c
- testprogs/TESTrun