<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to bugs</title><link href="https://sourceforge.net/p/linux-atm/bugs/" rel="alternate"/><link href="https://sourceforge.net/p/linux-atm/bugs/feed.atom" rel="self"/><id>https://sourceforge.net/p/linux-atm/bugs/</id><updated>2023-01-30T06:57:42.936000Z</updated><subtitle>Recent changes to bugs</subtitle><entry><title>BUILD FAIL: configure cannot guess build type</title><link href="https://sourceforge.net/p/linux-atm/bugs/26/" rel="alternate"/><published>2023-01-30T06:57:42.936000Z</published><updated>2023-01-30T06:57:42.936000Z</updated><author><name>Jimmy Tian</name><uri>https://sourceforge.net/u/jimmytian/</uri></author><id>https://sourceforge.net4bb4b4a511beb2563546a5d3ff886da51ac1c42a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;This is Jimmy from the ArchLinux RISC-V Team.&lt;/p&gt;
&lt;p&gt;The config.guess file contained in the source code is too old to build on the latest architecture, such as RISC-V.&lt;/p&gt;
&lt;p&gt;This can be fixed by generating new tarball by latest autotools.&lt;/p&gt;
&lt;p&gt;We propose a one-time fix for this via upstream, which benefits all downstream package maintainers.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;Jimmy&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>asn_bits.c:348: bad compare ?</title><link href="https://sourceforge.net/p/linux-atm/bugs/25/" rel="alternate"/><published>2020-07-09T13:06:03.594000Z</published><updated>2020-07-09T13:06:03.594000Z</updated><author><name>dcb</name><uri>https://sourceforge.net/u/dcb314/</uri></author><id>https://sourceforge.netd9764e8dff99fcd0957ea6f0d5b9331743e85b12</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;asn_bits.c:348:64: warning: self-comparison always evaluates to true &lt;span&gt;[-Wtautological-compare]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Source code is&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;b1&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;bitLen&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="nv"&gt;b2&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;bitLen&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
         &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;memcmp&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;b1&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;bits&lt;/span&gt;, &lt;span class="nv"&gt;b2&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;bits&lt;/span&gt;, &lt;span class="nv"&gt;octetsLessOne&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
         &lt;span class="ss"&gt;((&lt;/span&gt; &lt;span class="nv"&gt;b1&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;bits&lt;/span&gt;[&lt;span class="nv"&gt;octetsLessOne&lt;/span&gt;] &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="nv"&gt;xFF&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="nv"&gt;octetBits&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt;
          &lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;b1&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;bits&lt;/span&gt;[&lt;span class="nv"&gt;octetsLessOne&lt;/span&gt;] &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="nv"&gt;xFF&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="nv"&gt;octetBits&lt;/span&gt;&lt;span class="ss"&gt;))))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Maybe better code:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;b1&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;bitLen&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="nv"&gt;b2&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;bitLen&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
         &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;memcmp&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;b1&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;bits&lt;/span&gt;, &lt;span class="nv"&gt;b2&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;bits&lt;/span&gt;, &lt;span class="nv"&gt;octetsLessOne&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
         &lt;span class="ss"&gt;((&lt;/span&gt; &lt;span class="nv"&gt;b1&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;bits&lt;/span&gt;[&lt;span class="nv"&gt;octetsLessOne&lt;/span&gt;] &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="nv"&gt;xFF&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="nv"&gt;octetBits&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt;
          &lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;b2&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;bits&lt;/span&gt;[&lt;span class="nv"&gt;octetsLessOne&lt;/span&gt;] &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="nv"&gt;xFF&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="nv"&gt;octetBits&lt;/span&gt;&lt;span class="ss"&gt;))))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>#24 bad macro defn CHECK() in sapequal.c </title><link href="https://sourceforge.net/p/linux-atm/bugs/24/?limit=25#e3d0" rel="alternate"/><published>2019-04-24T16:17:36.759000Z</published><updated>2019-04-24T16:17:36.759000Z</updated><author><name>chas williams</name><uri>https://sourceforge.net/u/chas3/</uri></author><id>https://sourceforge.neta608b6395afd76fd2e8f029ba2fb33754bb84e9b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Some of are still here. I will look into fixing this. Thanks for the bug report!&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#24 bad macro defn CHECK() in sapequal.c </title><link href="https://sourceforge.net/p/linux-atm/bugs/24/?limit=25#fc19" rel="alternate"/><published>2019-04-23T23:18:36.473000Z</published><updated>2019-04-23T23:18:36.473000Z</updated><author><name>Nick Briggs</name><uri>https://sourceforge.net/u/nbriggs/</uri></author><id>https://sourceforge.net9f00b6b0f17d99e5b3035123bc1ac597972b7cf5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Obviously, the fix is&lt;br/&gt;
    if (!(CONSTRAINT)) return 0;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>bad macro defn CHECK() in sapequal.c </title><link href="https://sourceforge.net/p/linux-atm/bugs/24/" rel="alternate"/><published>2019-04-23T20:11:25.238000Z</published><updated>2019-04-23T20:11:25.238000Z</updated><author><name>Nick Briggs</name><uri>https://sourceforge.net/u/nbriggs/</uri></author><id>https://sourceforge.net09f21e8848a045286450a2fd99f684d4d583d8bb</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Seems pretty dead around here... but just in case:  Compiling OpenWRT, which included linux-atm-2.5.2, generated the following warning -- a result of missing parentheses in the macro definition for CHECK:&lt;/p&gt;
&lt;p&gt;sapequal.c: In function 'match_blli':&lt;br/&gt;
sapequal.c:65:42: warning: logical not is only applied to the left hand side of comparison &lt;span&gt;[-Wlogical-not-parentheses]&lt;/span&gt;&lt;br/&gt;
      CHECK(l2.itu.window,a.l2.itu.window &amp;gt; b.l2.itu.window);&lt;br/&gt;
                                          ^&lt;br/&gt;
sapequal.c:46:10: note: in definition of macro 'CHECK'&lt;br/&gt;
     if (!CONSTRAINT) return 0; \
          ^~~~~~~~~~&lt;br/&gt;
sapequal.c:46:9: note: add parentheses around left hand side expression to silence this warning&lt;br/&gt;
     if (!CONSTRAINT) return 0; \
         ^~~~~~~~~~~~~~~~~~~~~~~~&lt;br/&gt;
     if (res) res-&amp;gt;FIELD = a.FIELD &amp;lt; b.FIELD ? a.FIELD : b.FIELD; \
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br/&gt;
   }&lt;br/&gt;
   ~      &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#23 linux-atm-2.5.1/src/lane/ldb.c:89: possible bad if test ?</title><link href="https://sourceforge.net/p/linux-atm/bugs/23/?limit=25#d056" rel="alternate"/><published>2013-10-25T11:30:07.335000Z</published><updated>2013-10-25T11:30:07.335000Z</updated><author><name>chas williams</name><uri>https://sourceforge.net/u/chas3/</uri></author><id>https://sourceforge.netfc38bb6ac10a0f05978fb3dc0628c43bd217a4a3</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; accepted&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group&lt;/strong&gt;:  --&amp;gt; &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</summary></entry><entry><title>#23 linux-atm-2.5.1/src/lane/ldb.c:89: possible bad if test ?</title><link href="https://sourceforge.net/p/linux-atm/bugs/23/?limit=25#8db3" rel="alternate"/><published>2013-10-25T11:23:06.575000Z</published><updated>2013-10-25T11:23:06.575000Z</updated><author><name>chas williams</name><uri>https://sourceforge.net/u/chas3/</uri></author><id>https://sourceforge.net88fbc6bd65cc49b2c8fd07f95fd17f2d47c36f46</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;That does appear to be the correct fix.  I will merge it and produce a new release (eventually).&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>linux-atm-2.5.1/src/lane/ldb.c:89: possible bad if test ?</title><link href="https://sourceforge.net/p/linux-atm/bugs/23/" rel="alternate"/><published>2013-10-23T20:09:50.139000Z</published><updated>2013-10-23T20:09:50.139000Z</updated><author><name>dcb</name><uri>https://sourceforge.net/u/dcb314/</uri></author><id>https://sourceforge.neteb9123e19f01010b3c9495b529b288b1a6f10a11</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I just compiled linux-atm-2.5.1 with extra compiler flag -Wlogical-op&lt;/p&gt;
&lt;p&gt;It said&lt;/p&gt;
&lt;p&gt;ldb.c:89:3: warning: logical 'or' of collectively exhaustive tests is always true &lt;span&gt;[-Wlogical-op]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Source code is&lt;/p&gt;
&lt;p&gt;return ((test &amp;gt;= '0' &amp;amp;&amp;amp; test &amp;lt;= '9') || (test &amp;gt;= 'a' || test &amp;lt;= 'f') ||&lt;br /&gt;
       (test &amp;gt;= 'A' &amp;amp;&amp;amp; test &amp;lt;= 'F') || test == 'x' || test == 'X');&lt;/p&gt;
&lt;p&gt;This bit looks wrong&lt;/p&gt;
&lt;p&gt;(test &amp;gt;= 'a' || test &amp;lt;= 'f')&lt;/p&gt;
&lt;p&gt;Suggest swap || for &amp;amp;&amp;amp;.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>linux-atm-2.5.1/src/lane/ldb.c:89: possible bad if test ?</title><link href="https://sourceforge.net/p/linux-atm/bugs/23/" rel="alternate"/><published>2013-10-23T20:09:50.139000Z</published><updated>2013-10-23T20:09:50.139000Z</updated><author><name>dcb</name><uri>https://sourceforge.net/u/dcb314/</uri></author><id>https://sourceforge.netf1414a9f29d4351de0bec3bcbefd56eefd2b5d59</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Ticket 23 has been modified: linux-atm-2.5.1/src/lane/ldb.c:89: possible bad if test ?&lt;br /&gt;
Edited By: chas williams (chas3)&lt;br /&gt;
Status updated: u'open' =&amp;gt; u'accepted'&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>When cross-compiling, can't pass in separate target CFLAGS</title><link href="https://sourceforge.net/p/linux-atm/bugs/22/" rel="alternate"/><published>2009-07-31T05:39:22Z</published><updated>2009-07-31T05:39:22Z</updated><author><name>Philip Prindeville</name><uri>https://sourceforge.net/u/pprindeville/</uri></author><id>https://sourceforge.netcf1e1483bafd38e1e5a1f95cc27635efcfa79411</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Like many projects, linux-atm has a complex build process which contains both binaries for the target install and intermediate binaries which get run during the build to generate transient data which gets preprocessed (e.g. src/qgen).&lt;/p&gt;
&lt;p&gt;Unfortunately, there is no way to designate one set of CFLAGS to the host compiler (CC_FOR_BUILD) and another set of CFLAGS to the target compiler (CC/TARGET_CC).&lt;/p&gt;
&lt;p&gt;Further, the compiler $(CC) is used interchangeably in different directories to mean the target compiler in most places, and the host compiler in src/qgen.  This is confusing to say the least for package/distro maintainers.&lt;/p&gt;
&lt;p&gt;CC should *always* imply the target compiler, and $(CC_FOR_BUILD) should only be used when generating binaries to run on the build host itself.&lt;/p&gt;
&lt;p&gt;Similarly, consistent naming for target and host CFLAGS need to be employed.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>