Mercurial > hg > index.cgi
annotate 00README.txt @ 577:e49d24f4a9a5
Correct bug in the object file output code leading to stack corruption
It turns out leaving a pointer to a stack allocated temporary in a
persistent data structure is not conducive to correct program operation.
Undo the export check setup in the object file output sequence so a
pointer to stack allocated memory is not left hanging when the function
returns. This seems to correct at least one mysterious crash bug, and
possibly others.
Thanks to Boisy Pitre for reporting the crash bug that led to this
discovery, as well as a previous crash bug that likely has the same
root cause.
Additional thanks to Ciaran Anscomb whose debugger wielding wizardry
revealed the exact location of this particular bit of unbrilliance.
author | William Astle <lost@l-w.ca> |
---|---|
date | Sat, 03 Aug 2024 14:30:06 -0600 |
parents | a0c9433dc0d4 |
children |
rev | line source |
---|---|
341
48b1cc3991d8
Provide link to the official site in the readme file.
William Astle <lost@l-w.ca>
parents:
322
diff
changeset
|
1 The official distribution point for lwtools is |
48b1cc3991d8
Provide link to the official site in the readme file.
William Astle <lost@l-w.ca>
parents:
322
diff
changeset
|
2 http://lwtools.projects.l-w.ca/. If you obtained this distribution from any |
48b1cc3991d8
Provide link to the official site in the readme file.
William Astle <lost@l-w.ca>
parents:
322
diff
changeset
|
3 other place, please visit the official site. You may have a modified or out |
48b1cc3991d8
Provide link to the official site in the readme file.
William Astle <lost@l-w.ca>
parents:
322
diff
changeset
|
4 of date version. |
48b1cc3991d8
Provide link to the official site in the readme file.
William Astle <lost@l-w.ca>
parents:
322
diff
changeset
|
5 |
0
2c24602be78f
Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff
changeset
|
6 This is LWTOOLS, a cross development system targetting the 6809 CPU. |
2c24602be78f
Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff
changeset
|
7 |
2c24602be78f
Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff
changeset
|
8 It consists of an assembler, lwasm, a linker, lwlink, and an archiver, |
18 | 9 lwar which should compile on any reasonably modern POSIX environment. If you |
10 have problems building, make sure you are using GNU make. Other make | |
11 programs may work but GNU make is known to work. | |
0
2c24602be78f
Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff
changeset
|
12 |
361
4130ffdeb5c8
Add contributed support for building with Microsoft's compiler
William Astle <lost@l-w.ca>
parents:
341
diff
changeset
|
13 There is some source code support for building with Microsoft's compiler on |
4130ffdeb5c8
Add contributed support for building with Microsoft's compiler
William Astle <lost@l-w.ca>
parents:
341
diff
changeset
|
14 Windows. However, this has been contributed by interested users and is not |
4130ffdeb5c8
Add contributed support for building with Microsoft's compiler
William Astle <lost@l-w.ca>
parents:
341
diff
changeset
|
15 well tested. Indeed, the primary maintainer has no access to such a system. |
4130ffdeb5c8
Add contributed support for building with Microsoft's compiler
William Astle <lost@l-w.ca>
parents:
341
diff
changeset
|
16 |
0
2c24602be78f
Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff
changeset
|
17 To see if a quick build will work, just type "make". If it works, you're |
2c24602be78f
Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff
changeset
|
18 ready to go ahead with "make install". This will install in /usr/local/bin. |
2c24602be78f
Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff
changeset
|
19 |
176 | 20 If you feel adventurous, you can also run the test suite by running "make |
21 test". However, be warned that it is likely not going to work unless you are | |
22 running on a fairly standard unix system with perl in /usr/bin/perl. | |
23 | |
0
2c24602be78f
Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff
changeset
|
24 See docs/ for additional information. |
322
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
25 |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
26 CONTRIBUTING |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
27 ============ |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
28 |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
29 If you wish to contribute patches or code to lwtools, please keep the |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
30 following in mind. |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
31 |
574
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
32 Evangelism |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
33 ---------- |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
34 |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
35 Any communication that includes evangelism for alternate revision control |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
36 systems, coding styles, development methodologies, or similar will be |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
37 deleted with all other contents ignored. So just don't do it and save |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
38 yourself and the project maintainers time. |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
39 |
322
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
40 Style |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
41 ----- |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
42 |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
43 The code formatting style must match the rest of the lwtools code. Code |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
44 submitted in the "1TBS" will be rejected out of hand. Attempts to convince |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
45 me to change my mind on this point will be routed to /dev/null at best and |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
46 likely met with extreme rudeness. |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
47 |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
48 C code should be formatted as follows: |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
49 |
574
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
50 * In general, match the formatting of the surrounding code, whether that |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
51 uses spaces or tabs. Otherwise, all indentation uses a single TAB |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
52 character for each step. That is a HARD tab, not a series of spaces. TABs |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
53 are assumed to be 4 characters though that will largely impact only lining |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
54 up comments and tabular code. If the actual formatting of the code is |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
55 critical, spaces may be used for that formatting but the actual initial |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
56 indentation of the lines MUST use TAB characters. |
322
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
57 * The opening brace for a block appears on the line below the control |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
58 structure that introduces it. It appears lined up with the preceding line |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
59 and nothing else appears on the same line. |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
60 * Closing braces appear on a line by themselves ordinarily. The exception is |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
61 the "while" keyword in a "do-while" statement appears on the same line as |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
62 the closing brace for the block. |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
63 * Case labels are lined up with the enclosing block (one level back from the |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
64 code of the block). The same guideline applies for ordinarily labels. |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
65 * No spaces surround parentheses, brackets, or the dot operator. No space |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
66 precedes a comma but a space should follow it. Other operators should |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
67 usually be surrounded by spaces. A space should separate a keyword from |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
68 any surrounding except for sizeof() which should be written like a |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
69 function call. There is no space between a function name and the start of |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
70 its parameter list. |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
71 |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
72 In general, study the existing source formatting and copy the style. This is |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
73 what you should do anyway and the above should not be required. |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
74 |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
75 For code accepted to the contrib/ hierarchy, application of the above coding |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
76 style may be less strict. |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
77 |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
78 Submitting |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
79 ---------- |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
80 |
574
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
81 Any attempts to evangelize git or any other alternative revision control |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
82 system will be deleted with *all* other contents ignored. |
a0c9433dc0d4
Updated submission guidelines including notes about evangelism. TLDR: Don't.
William Astle <lost@l-w.ca>
parents:
361
diff
changeset
|
83 |
322
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
84 When submitting code to lwtools, it should be submitted as a patch file (hg |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
85 diff or diff -u). DO NOT submit entire source files. Remember, others may be |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
86 working on changes, too, and your complete source files are difficult to |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
87 merge with such situations. By submitting complete source files, you are |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
88 making far more work for the maintainer and it is generally considered rude. |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
89 |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
90 Always specify what version of the source you based your patch on. If |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
91 possible, work off the default branch in the mercurial repository. At the |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
92 very least, make sure you are working with the most recent release. |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
93 |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
94 It is also worth checking with the maintainer before submitting a patch. |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
95 There may be some reason why your pet feature is not present in the official |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
96 release. |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
97 |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
98 Finally, be prepared to receive a list of deficiencies or requests for |
69adaab94ffd
Add notes about coding style and submission guidelines.
William Astle <lost@l-w.ca>
parents:
176
diff
changeset
|
99 improvements or clarification of why or how you did something. |