<feed xmlns='http://www.w3.org/2005/Atom'>
<title>passt/Makefile, branch 2026_05_26.038c51e</title>
<subtitle>Plug A Simple Socket Transport</subtitle>
<link rel='alternate' type='text/html' href='https://passt.top/passt/'/>
<entry>
<title>Makefile: Remove misleading comments on BASE_*FLAGS</title>
<updated>2026-05-26T10:15:44+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2026-05-20T02:00:55+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=cea2d19329eb0088a738c60b92ddc06dcf50a4cd'/>
<id>cea2d19329eb0088a738c60b92ddc06dcf50a4cd</id>
<content type='text'>
I added these comments attempting to describe the difference between
BASE_CFLAGS and CFLAGS.  However, the description given isn't really
accurate, and I'm not even sure the concept I'm trying to describe is
coherent.  Just remove it.

Suggested-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I added these comments attempting to describe the difference between
BASE_CFLAGS and CFLAGS.  However, the description given isn't really
accurate, and I'm not even sure the concept I'm trying to describe is
coherent.  Just remove it.

Suggested-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pesto: Run static checkers on pesto sources</title>
<updated>2026-05-16T13:47:11+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2026-05-12T05:52:56+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=9b1ef47c1c27b7637e1442934f19fcdcdc3e1628'/>
<id>9b1ef47c1c27b7637e1442934f19fcdcdc3e1628</id>
<content type='text'>
Update the Makefile to run both clang-tidy and cppcheck on pesto as well
as on passt and passt-repair.  This requires a couple of secondary
corrections:
  * pesto.c had an inline suppression that is no longer correct now that
    the protocol version has been bumped to 1.  Remove it.
  * We were globally suppressing the unusedStructMember because it
    hit many false positives on both passt and passt-repair.  It doesn't
    in pesto, meaning it instead creates an unusedSuppression warning.
    Apply the suppression as a flag override for passt and passt-repair,
    instead of globally.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update the Makefile to run both clang-tidy and cppcheck on pesto as well
as on passt and passt-repair.  This requires a couple of secondary
corrections:
  * pesto.c had an inline suppression that is no longer correct now that
    the protocol version has been bumped to 1.  Remove it.
  * We were globally suppressing the unusedStructMember because it
    hit many false positives on both passt and passt-repair.  It doesn't
    in pesto, meaning it instead creates an unusedSuppression warning.
    Apply the suppression as a flag override for passt and passt-repair,
    instead of globally.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>passt-repair: Run static checkers</title>
<updated>2026-05-16T13:47:08+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2026-05-12T05:52:55+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=bf639709726346f24362b09c065e39ae2cf73ea6'/>
<id>bf639709726346f24362b09c065e39ae2cf73ea6</id>
<content type='text'>
Run the static checkers, cppcheck and clang-tidy on passt-repair as well
as on passt proper.  This shows up handful of remaining minor warnings,
which we correct.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run the static checkers, cppcheck and clang-tidy on passt-repair as well
as on passt proper.  This shows up handful of remaining minor warnings,
which we correct.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Makefile: Split static checker targets</title>
<updated>2026-05-16T13:47:01+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2026-05-12T05:52:52+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=a2a2f404a7b6aa44f166006dbd85207b2727248d'/>
<id>a2a2f404a7b6aa44f166006dbd85207b2727248d</id>
<content type='text'>
Currently we have a single 'cppcheck' and 'clang-tidy' target which checks
passt.  However, it doesn't check the additional binaries, qrap and
passt-repair.  In preparation for running the static checkers on those as
well, split the targets into a top-level rule and a pattern rule which we
will be able to reuse.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently we have a single 'cppcheck' and 'clang-tidy' target which checks
passt.  However, it doesn't check the additional binaries, qrap and
passt-repair.  In preparation for running the static checkers on those as
well, split the targets into a top-level rule and a pattern rule which we
will be able to reuse.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cppcheck, clang-tidy: Static checkers don't need non-preprocessor flags</title>
<updated>2026-05-16T13:46:59+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2026-05-12T05:52:51+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=b356b62e04d4b5b862c5561229e00425f1ca3dd9'/>
<id>b356b62e04d4b5b862c5561229e00425f1ca3dd9</id>
<content type='text'>
Currently we pass all our compiler flags to clang-tidy, except -pie, which
it won't accept.  In fact in order to run the checker, we only need the
preprocessor flags.  Simplify the command line by passing only those.

For cppcheck we already filter out just -D options from the compiler flags.
Simplify this by only passing preprocessor flags, now that we've split
those out into their own variables.  Furthermore, one of cppcheck's
features which we're currently not exploiting is to check multiple / all
preprocessor option combinations in a single pass.  Therefore, pass only
$(BASE_CPPFLAGS), which contains the mandatory options with which we can't
compile at all.

While we're there remove a redundant $^ that slipped in at some point.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently we pass all our compiler flags to clang-tidy, except -pie, which
it won't accept.  In fact in order to run the checker, we only need the
preprocessor flags.  Simplify the command line by passing only those.

For cppcheck we already filter out just -D options from the compiler flags.
Simplify this by only passing preprocessor flags, now that we've split
those out into their own variables.  Furthermore, one of cppcheck's
features which we're currently not exploiting is to check multiple / all
preprocessor option combinations in a single pass.  Therefore, pass only
$(BASE_CPPFLAGS), which contains the mandatory options with which we can't
compile at all.

While we're there remove a redundant $^ that slipped in at some point.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Makefile: Split $(FLAGS) into cpp and cc components</title>
<updated>2026-05-16T13:46:17+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2026-05-12T05:52:50+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=fb9be080c8fc998ade0cb330781c4a49801339f6'/>
<id>fb9be080c8fc998ade0cb330781c4a49801339f6</id>
<content type='text'>
The $(FLAGS) variable contains mandatory compiler flags that should not be
overridden.  However, it contains a mixture of flags for the preprocessor
and for the compiler proper.  That's causing some inconvenience for other
Makefile cleanups, so split it into $(BASE_CPPFLAGS) and $(BASE_CFLAGS)
variables.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
[sbrivio: Drop trailing space after BASE_CFLAGS assignment for static]
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The $(FLAGS) variable contains mandatory compiler flags that should not be
overridden.  However, it contains a mixture of flags for the preprocessor
and for the compiler proper.  That's causing some inconvenience for other
Makefile cleanups, so split it into $(BASE_CPPFLAGS) and $(BASE_CFLAGS)
variables.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
[sbrivio: Drop trailing space after BASE_CFLAGS assignment for static]
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Makefile: Add header dependencies for secondary binaries</title>
<updated>2026-05-16T13:45:41+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2026-05-12T05:52:49+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=88ce87e5d164bf6bd76d9c946f4cbb87ab4a5776'/>
<id>88ce87e5d164bf6bd76d9c946f4cbb87ab4a5776</id>
<content type='text'>
PASST_HEADERS contains all the headers used by passt, which we use in
various dependencies.  However, qrap and passt-repair each use several
headers which we don't have dependencies for.  Add handling for this to the
Makefile.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PASST_HEADERS contains all the headers used by passt, which we use in
various dependencies.  However, qrap and passt-repair each use several
headers which we don't have dependencies for.  Add handling for this to the
Makefile.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Makefile: Remove unhelpful $(HEADERS) variable</title>
<updated>2026-05-16T13:45:40+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2026-05-12T05:52:48+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=9015b7612a6ebc28091acc4df1b00a0be22ae905'/>
<id>9015b7612a6ebc28091acc4df1b00a0be22ae905</id>
<content type='text'>
Confusingly HEADERS is not headers that are shared between our various
binaries.  Rather it's just the (non generated) headers for passt, plus
seccomp.h.  This isn't particularly useful, just open code it in the
handful of places we need it.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Confusingly HEADERS is not headers that are shared between our various
binaries.  Rather it's just the (non generated) headers for passt, plus
seccomp.h.  This isn't particularly useful, just open code it in the
handful of places we need it.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Makefile: Use common binary compilation rule</title>
<updated>2026-05-16T13:45:38+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2026-05-12T05:52:47+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=d4632a43573ff451f90fb702c824030b4bdfa734'/>
<id>d4632a43573ff451f90fb702c824030b4bdfa734</id>
<content type='text'>
Each of our binaries (passt, passt.avx2, qrap and passt-repair) has a
separate Make rule instructing how to compile it, but they're all basically
identical.  Combine these all into a single pattern rule, just using
different dependencies and variable overrides where necessary.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Each of our binaries (passt, passt.avx2, qrap and passt-repair) has a
separate Make rule instructing how to compile it, but they're all basically
identical.  Combine these all into a single pattern rule, just using
different dependencies and variable overrides where necessary.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Makefile: Make conditional definition of $(BIN) clearer</title>
<updated>2026-05-16T13:45:35+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2026-05-12T05:52:46+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=59b14b294a0b27edc4408cca1b2b81e9ded8d50d'/>
<id>59b14b294a0b27edc4408cca1b2b81e9ded8d50d</id>
<content type='text'>
The list of binaries is dependent on the target architecture, because
x86_64 adds the passt.avx2 and pasta.avx2 binaries.  Make this more
obvious by defining BIN in common, then augmenting it in the x86_64
case.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The list of binaries is dependent on the target architecture, because
x86_64 adds the passt.avx2 and pasta.avx2 binaries.  Make this more
obvious by defining BIN in common, then augmenting it in the x86_64
case.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
