home *** CD-ROM | disk | FTP | other *** search
- From: simon@pinesoft.demon.co.uk (Simon Callan)
- Subject: Known bugs in GCC 2.4.5
- Date: Thu, 18 Nov 1993 08:34:04 +0000
-
- For those of you interested in the port of GCC 2.4.5 to the Archimedes, this
- is a complete list of the known bugs in the first beta release. If you know of
- any bugs that are not in this list, could you please let me know, either by
- e-mail to 'simon.callan@gpt.co.uk' or to my work address below.
-
- The second beta release is currently nearing completion, and should be out
- soon. After that I will be working on GCC 2.5.*
-
- Simon
-
- --------------------------------------------------------------------------
-
- 1)
-
- There is a problem with UnixLib, which affects the running of AMU - if one
- compilation failes, with a non-zero return code, subsequent compilations
- during the same run of AMU also fail.
-
- Preventative action:
-
- Dont use the ignore return codes / continue after errors options in !make,
- !amu.
-
- 2)
-
- Occasionally, GCC gets stuck with cc1 (i think) always returning an exit code
- of 1, and causing all subsequent compilations to fail. This is another
- manifestation of 1), but this extends from one run of AMU to the next.
-
- Preventative action:
-
- Pressing f12, followed by return (ie accessing the cli) appears to clear this
- problem.
-
- 3)
-
- If the cc1 phase ends with certain errors, GCC will mistakenly start the
- assembly phase.
-
- Preventative actions
- None.
-
- 4)
-
- If you have an 8-byte structure, nested at the start of another structure, and
- you have an array of these structures, any attempts to assign to the complete
- nested structure, using a variable as the array index causes the compiler to
- crash with 'unrecognised insn'
-
- ie.
- struct s1
- {
- int i;
- int j;
- } fred;
-
- struct s2
- {
- struct s1 substruct;
- } jim[2];
-
- void bug(void)
-
- {
- int i;l
- jim[i].substruct = fred;
- }
-
- Preventative actions
- Avoid using this construct. If the sub-structure is not 8 bytes in length, or
- is not at the start of the enclosing structrue, there are no problems.
-
- 5)
-
- Statements of the form #include "dir.file.h" do not work correctly - Unixlib
- does not convert this to dir.h.file.
-
- Preventative actions
- Use "dir/file.h", which is more portable.
-
- 6)
-
- When used with !virtual, gcc *occasionaly* freezes the computer, with the
- reset button having to be used. This has twice damaged the freespace map on my
- hard-disc.
-
- Preventative actions
- Not a lot if you need to use !Virtual.
-
- 7)
-
- If you use a command line like 'gcc -c c.bug', the resultants outputut file is
- called o.c, not o.bug.
-
- Preventative actions
-
- Either specify the output filename using -o or specifiy the source file as
- bug.c.
-
- 8)
-
- If there is not enough memory to load cpp/cc1, GCC will *quietly* stop without
- reporting any errors.
-
- Preventative actions
- ensure that there is enough memory in the wimpslot before runnign GCC. Note
- gcc is not capable of extending the wimpslot.
-
- 9)
-
- If the variable Unix$tty is set, GCC will crash with memory corruption
- problems.
-
- Preventative actions
-
- Don't set the variable Unix$tty.
-
- 10)
-
- Certain variable names clash with the naming of register in the assembly
- phase. These or 'r0', 'r1', 'r2', 'r3', 'r4', 'r5', 'r6', 'r7', 'rfp', 'sl',
- 'fp', 'ip', 'sp', 'lr', 'pc', 'f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7'.
-
- Preventative actions
-
- Avoid using variables with these names
-
- ================================================================================
- Simon Callan Janet : Simon.Callan@uk.co.gpt
- GPT Data Systems Internet : Simon.Callan@gpt.co.uk
- Elstree Way
- Borehamwood
- Herts, WD6 1RX
- The above opinions are mine, all mine, and you CAN'T have them.
- ================================================================================
-
-
-