Add back bug status to 2001/cheong
Once upon a time after I had put in the bugs file that there is no arg check and it was a feature, not a bug, it was changed to bug status. This was a very simple fix that I then made but it's not necessary either so I have undone it to make it more like the original. Now the only difference from the original is my fix so that it compiles with clang. This means the bugs file was also updated as was the index.html file and the thanks file (which also has some other fixes that are unrelated).
This commit is contained in:
1 parent
7b0fa3a917
commit
9fdc3cae87
7 files changed
+124
-93
No files matched your search
+16
-15
@@ -2736,11 +2736,12 @@ wish to see, try the following commands from the <code>2001/anonymous</code> dir
|
||||
<pre><code> git diff d2a42f42e8f477f29e9d5ed09ce2bb349eaf7397..4bc03de321612869aebf855850c6500df95cb6ef anonymous.c</code></pre>
|
||||
<p>or to not use <code>git</code>:</p>
|
||||
<pre><code> make diff_orig_prog</code></pre>
|
||||
<p>Cody also added a <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/anonymous.bed.c">program</a> like
|
||||
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/anonymous.ten.c">anonymous.ten.c</a> which ‘sings’ the
|
||||
lyrics to <a href="https://en.wikipedia.org/wiki/Ten_Green_Bottles">Ten Green Bottles</a>
|
||||
<p>Cody also added a <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/anonymous.bed.c">supplementary program</a> like
|
||||
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/anonymous.ten.c">anonymous.ten.c</a> (which ‘sings’ the
|
||||
lyrics to <a href="https://en.wikipedia.org/wiki/Ten_Green_Bottles">Ten Green Bottles</a>)
|
||||
but which sings <a href="https://allnurseryrhymes.com/ten-in-the-bed/">Ten in the Bed</a>
|
||||
instead.</p>
|
||||
instead (the way it’s implemented is different and this allows showing more of
|
||||
what the entry supports).</p>
|
||||
<p>As well he added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/try.sh">try.sh</a> script so that one can
|
||||
attempt to use the program as it was designed but if compiling as 32-bit fails
|
||||
it will at least run the supplementary program as a 64-bit program directly.</p>
|
||||
@@ -2750,7 +2751,8 @@ it will at least run the supplementary program as a 64-bit program directly.</p>
|
||||
</div>
|
||||
<p><a href="#cody">Cody</a> fixed this to compile with <code>clang</code> but according to the author this will not
|
||||
work without i386 Linux. It generates i386 32-bit code (not bytecode) but
|
||||
unfortunately it will not work without i386 Linux. See <a href="bugs.html">bugs.html</a>.</p>
|
||||
unfortunately it will not work without i386 Linux. See <a href="bugs.html#2001_bellard">2001/bellard in
|
||||
bugs.html</a>.</p>
|
||||
<p>Cody fixed an earlier segfault so that it can at least now open the file should
|
||||
you have an i386 Linux machine (it can open it in other platforms too, of
|
||||
course, but it won’t work). This involved pointer updates and also changing an
|
||||
@@ -2760,10 +2762,11 @@ case of <code>main()</code> this was not possible.</p>
|
||||
compilers besides what Cody did.</p>
|
||||
<p>Cody entirely fixed the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/bellard/bellard.otccex.c">supplementary
|
||||
bellard.otccex.c</a> so it does not segfault and
|
||||
works as well (it did not work at all). The main problem was that some ints were
|
||||
being used as pointers. This includes, for example, an int used as a <code>char *</code>,
|
||||
an int used as a function pointer and an int to access <code>argv</code> as well as there
|
||||
being invalid access to <code>argv</code>. He updated the Makefile so that this program
|
||||
works as well (it did not work at all though it is possible it would work in
|
||||
older systems). The main problem was that some <code>int</code>s were
|
||||
being used as pointers. This includes, for example, an <code>int</code> used as a <code>char *</code>,
|
||||
an <code>int</code> used as a function pointer and an <code>int</code> to access <code>argv</code> as well as there
|
||||
being invalid access to <code>argv</code>. He updated the <code>Makefile</code> so that this program
|
||||
will compile by default.</p>
|
||||
<p>Also the Fibonacci sequence (<code>fib()</code>) will overflow at <code>n > 48</code> so this is
|
||||
checked prior to running the function just like the author did for the factorial
|
||||
@@ -2774,9 +2777,7 @@ this entry by Yusuke.</p>
|
||||
<p>With a tip from Yusuke we rediscovered the author’s <a href="https://bellard.org/otcc/">web page for this
|
||||
program</a> where it is stated that this will only work
|
||||
in i386 Linux. The author also stated in the remarks in this document that they
|
||||
used <a href="https://ftp.gnu.org/gnu/%60gcc%60/%60gcc%60-2.95.2/%60gcc%60-everything-2.95.2.tar.gz"><code>gcc</code>
|
||||
2.95.2</a> but
|
||||
we don’t know if that’s relevant or not.</p>
|
||||
used <code>gcc 2.95.2</code> but we do not know if that’s relevant or not.</p>
|
||||
<p>Yusuke offered a modification which is not needed with <code>gcc</code> but with some
|
||||
versions of <code>clang</code> it is. With <code>gcc</code> we can get away with <code>-rdynamic -fno-pie -Wl,-z,execstack</code> which solves the problem of execution in memory but any
|
||||
compiler that does not support this would not work. Thus we use the modification
|
||||
@@ -2785,12 +2786,12 @@ by Yusuke.</p>
|
||||
<h2 id="winning-entry-2001cheong">Winning entry: <a href="2001/cheong/index.html">2001/cheong</a></h2>
|
||||
<h3 id="winning-entry-source-code-cheong.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/cheong//cheong.c">cheong.c</a></h3>
|
||||
</div>
|
||||
<p><a href="#cody">Cody</a> fixed this to work with <code>clang</code> by adding another function that is allowed to
|
||||
have a third arg as an int, not a <code>char **. He chose</code>pain()<code>because it's a four letter word that would match the format and because it's pain that</code>clang` forces
|
||||
<p><a href="#cody">Cody</a> fixed this to compile with <code>clang</code> by adding another function that is allowed to
|
||||
have a third arg as an int, not a <code>char **</code>. He chose <code>pain()</code> because it’s a four
|
||||
letter word that would match the format and because it’s pain that <code>clang</code> forces
|
||||
this. :-) This fix makes a point of the author’s notes on portability no longer
|
||||
valid, BTW.</p>
|
||||
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/cheong/try.sh">try.sh</a> script.</p>
|
||||
<p>He also fixed it to check the number of args.</p>
|
||||
<div id="2001_coupard">
|
||||
<h2 id="winning-entry-2001coupard">Winning entry: <a href="2001/coupard/index.html">2001/coupard</a></h2>
|
||||
<h3 id="winning-entry-source-code-coupard.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/coupard//coupard.c">coupard.c</a></h3>
|
||||
|
||||
Reference in new issue
Block a user