move fix thanks a file, update top level html links, rename CONTRIBUTING.md

The fix thank you's have been moved from `README.md` to
`thanks-for-fixes.md`.

**WARNING**: Some mistakes may have been made in doing this.
We presume later changes by others will correct any issues.

The `CONTRIBUTING.md` was renamed `how-to-enter.md`.

A 3rd line of links was added to top level html such as
`contact.html`, `index.html`, `judges.html`, `winners.html`,
and `years.html`.

Improved blank line use in a number (but not all) `README.md` files.
This commit is contained in:
Landon Curt Noll committed 2023-06-06 16:59:53 -07:00
1 parent 23f7ac0a49
commit ac41f07a83
92 files changed
+1326 -761

No files matched your search

+5 -31
View File
@@ -6,49 +6,20 @@ Fabrice Bellard
France
<https://bellard.org>
## To build:
```sh
make
```
## To run:
```sh
./bellard file
```
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) partially fixed this
but he notes that this will not work without (according to the author) i386
linux or else some skill in resolving the portability issues. As it is it
segfaults in 64-bit linux (and as expected macOS). He fixed an earlier segfault
so that at least the file can be opened (but perhaps that will be wrong in i386
linux?) and he also changed some of the macro used to what they evaluate to but
mostly he kept it the same.
Cody also fixed [bellard.otccex.c](bellard.otccex.c) so it does not segfault and
seemingly works okay (it did not work at all). The main problem was that some
ints were being used as pointers. Also the Fibonacci sequence (`fib()`) will
overflow at `n > 48` so this is checked prior to running the function. Either
way unfortunately this entry seems to not work in 64-bit linux or macOS. See
below portability notes. Thank you Cody for your assistance!
### Portability notes:
With a tip from [Yusuke Endoh](/winners.html#Yusuke_Endoh) we rediscovered the
author's [web page for this program](https://bellard.org/otcc/) 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 [gcc
2.95.2](https://ftp.gnu.org/gnu/gcc/gcc-2.95.2/gcc-everything-2.95.2.tar.gz) but
we don't know if that's relevant or not.
Yusuke offered a modification which is not needed with gcc but with some
versions of `clang` it is. With `gcc` we can get away with `-rdynamic -fno-pie
-Wl,-z,execstack` which solves the problem of execution in memory but any
compiler that does not support this would not work. Thus we use the modification
by Yusuke. Thank you Yusuke!
## Try:
@@ -56,10 +27,12 @@ by Yusuke. Thank you Yusuke!
./bellard bellard.otccex.c
```
## Judges' remarks:
`<JUDGES_COMMENTS>` :-)
## Author's remarks:
`OTCC` is an Obfuscated Tiny C Compiler for i386-linux. It generates
@@ -183,6 +156,7 @@ and some functions are used before being defined. `OTCC` uses the
dynamic linker to resolve symbols with `dlsym()`, so `-ldl` must
be used when you compile and link it.
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.