Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Builder libpcap-solaris10-amd64 Build #3184

Results:

Build successful

SourceStamp:

Projectlibpcap
Repositoryhttps://git.tcpdump.org/libpcap
Branchmaster
Revision81c00ffef3c70ee84df80a65df1f0856c90b9263
Got Revision81c00ffef3c70ee84df80a65df1f0856c90b9263
Changes4 changes

BuildSlave:

unstable10x

Reason:

The SingleBranchScheduler scheduler named 'schedule-libpcap-solaris10-amd64' triggered this build

Steps and Logfiles:

  1. git update ( 6 secs )
    1. stdio
  2. shell Set developer mode ( 0 secs )
    1. stdio
  3. shell_1 './autogen.sh' ( 8 secs )
    1. stdio
  4. shell_2 './configure' ( 1 mins, 14 secs )
    1. stdio
    2. config.log
  5. shell_3 'gmake' ( 34 secs )
    1. stdio
  6. shell_4 'gmake check' ( 9 mins, 0 secs )
    1. stdio
  7. shell_5 'rm -rf ...' ( 0 secs )
    1. stdio
  8. shell_6 'gmake install ...' ( 4 secs )
    1. stdio
  9. trigger triggered trigger-tcpdump-solaris10-amd64 ( 8 mins, 48 secs )
    1. - no logs -
    2. tcpdump-solaris10-amd64 #5989

Build Properties:

NameValueSource
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:

NameLabelValue

Responsible Users:

  1. Denis Ovsienko

Timing:

StartWed Oct 29 18:59:07 2025
EndWed Oct 29 19:19:05 2025
Elapsed19 mins, 57 secs

All Changes:

:

  1. Change #247049

    Category libpcap
    Changed by Denis Ovsienko <denisohnoyoudont@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
  2. Change #247050

    Category libpcap
    Changed by Denis Ovsienko <denisohnoyoudont@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
  3. Change #247051

    Category libpcap
    Changed by Denis Ovsienko <denisohnoyoudont@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
  4. Change #247052

    Category libpcap
    Changed by Denis Ovsienko <denisohnoyoudont@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