[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document describes known bugs in software integrated into the ADE.
There is an incredible amount of programmer talent available in the Amiga community, with an incalculable amount of hours going into producing demos, freely distributable software, shareware, and other such goodies. If only 1% of that effort could be harnessed to improve the ADE, we could easily have a standard set of freely available tools that would rival any commercially available tools for the Amiga.
You do not have to be an expert AmigaOS programmer to help. Neither do you have to be an expert in compiler or other software tools technology. All you have to do is be willing to learn and be willing to work in a community effort.
As you read the bug list, look for things that you think are within your capabilities to work on. If you think of something interesting that either needs doing by yourself or someone else, send that suggestion to the maintainer of this list. Tackle as big or as small of a bug as your skills and available time permits. Think of it as "adopting a program".
Another option is to choose a project among the ADE-PROJECTS list. Another option is to pick something not in the PROJECTS list but that you are either familar with, having ported it to other systems, or that you think would be useful, and tackle that.
When you submit a bug report, please do it in a form that eases the integration in this list, by
Send bug reports about ixemul.library to ‘ade-ixemul@ninemoons.com’.
Send bug reports about gcc and associated tools to ‘ade-gcc@ninemoons.com’.
Send bug reports about other ADE tools to ‘ade@ninemoons.com’.
Tell others that you are interested in working on a program or a project by
sending e-mail to ‘ade-projects@ninemoons.com’ and see if anyone else
is already working on it or wants to help in some way.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Be assured that everybody will be happy if you write a good bug-report and even more if you kill any bug in this list!
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
GCC output is affected by bugs in the assembler and linker. See section GNU Assembler and Linker.
Poor code is generated when using new inlines for varargs functions
Using libamiga.a is not that bad it’s told so often. It’s much better to use the varargs stubs from libamiga.a. The defines from the inlines result in very poor code. Actually your program becomes bigger and slower because of the array filling.
by Gunther Nikl <gnikl@informatik.uni-rostock.de> (16-Jul-96)
Use the stack-based functions found in libamiga.a: #undef
concerned inline defines so that libamiga.a gets linked in.
3.1.1 gcc — C front end | ||
3.1.2 g++ — C++ front end | ||
3.1.3 cpp — preprocessor | ||
3.1.4 cc1 — actual C compiler |
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
make GCC accept absolute Amiga-style pathnames. GCC cannot be used without ‘ixprefs’ "translate /" settings on.
The old GCC-2.3.3 could deal with gcc Source:foo.c or
gcc /foo.c (parent directory) while now, you must use
gcc /Source/foo.c or gcc ../foo.c. These UNIXish
references will be put in preprocessor #line
directives and GDB
debugging information, causing other programs (GNUEmacs among them)
not to be able to load/edit the source files.
by <Joerg.Hoehle@gmd.de> (9-Jul-96)
The difficult part is to integrate the changes in such a way that one can still use configure; make, not the actual change.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
fixed or forbidden register was spilled
Some inline functions/macros use lots of registers, especially BltBitMap(). RawDoFmt() has also been reported to be involved in such a situation.
by various
Work-around by using stack-based function calls instead of inlines. Use libamiga.a/sprintf() instead of RawDoFmt().
Kamil Iskra <kiskra@ernie.icslab.agh.edu.pl> is the maintainer of the "new" inlines but knowing this won’t help you.
Rewrite your code differently.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The programs ‘as’ and ‘ld’ are used by ‘gcc’. They are
not found in the GCC package but in binutils
, How programs are packaged.
Executables crash with 8000000x gurus when using ‘-fbaserel’ or ‘-resident’. Kamil Iskra reports fd2inline produces MungWall hits on DH1 when using ‘-resident’.
Probably a bug in just ‘ld’, not ‘as’
Kamil Iskra <kiskra@ernie.icslab.agh.edu.pl> says ‘-resident’ is broken on 10-Jul-96.
Daniel Verité <daniel@brainstorm.eu.org> as far as ld is concerned
Hard to locate possible bug location in linker source code
‘-resident’ still broken as of ADE 960714 release
3.2.1 as — GNU assembler | ||
3.2.2 ld — GNU linker |
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Daniel Verité <daniel@brainstorm.eu.org> is the current maintainer.
Switching from the old binutils linker to the binutils-2.x series has been causing lots of crashes, for reasons as various as non-68000 code generation, failure to execute autoinit sections (affecting Libnix, see section Libnix — Using the ‘-noixemul’ option), bad loadfile hunk structure and more.
Executables crash with 8000000x gurus when using ‘-s’ together with ‘-resident’ option.
-s works now, but -resident is still broken.
Don’t use -s, use the separate strip utility instead. Better: update to at least version 960530 of ld.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Hans Verkuil <hans@wyst.hobby.nl> is the current maintainer.
The pdksh shell stresses the UNIX-compatibility of ixemul.library. See section sh/ksh — pdksh.
fcntl(,, O_NONBLOCK)
doesn’t work
From ‘RPM’ file: ‘build/pack.c’
fcntl(fromCpio[0], F_SETFL, O_NONBLOCK); bytes = read(fromCpio[0], buf, sizeof(buf));
When read() can’t read anything from the file (in this case a pipe) it returns -1. But read() waits, so the program is blocked.
by Kristof Depraetere <Kristof.Depraetere@rug.ac.be> (6-Jul-96)
ioctl(fh, FIONBIO, 1);
Fixed in the yet unreleased ixemul-44.0.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The shell ‘ADE:bin/sh’ is a link to ‘ADE:bin/ksh’, which is a port of the pdksh package, a reimplementation of the Korn shell. It is freely distribuable and reasonably compatible with the Bourne shell and is therefore used as the basic UNIX shell within the ADE.
^C doesn’t work for non ixemul-programs when run inside pdksh.
a mixed pdksh/ixemul bug?
by <Joerg.Hoehle@gmd.de> (3-Jul-1996)
Tough
^C is disabled as of ixemul V43.1
really not a gcc bug?
After updating locally to ixemul 44.0, the rcs conf.sh
script stopped
working correctly at the fread
test. This failure was reduced to the
test case included below. If the compile + run does not succeed on
the first combination of types, then the test fails to deduce the
right types. With ixemul 43.2, it just happened that for conf.sh
the
first combination was the right one, but the return type of fread
changed in 44.0, triggering this bug.
To make the below test succeed, edit ‘a.c’ to change the hardwired
types of foo()
to be ‘int foo (int arg);’ and do ‘sh a.sh’.
When run on a Unix system, the test works no matter what combination
of types foo()
has.
/* a.c --- Change these types to test */ long foo (long arg); type foo (argtype arg) {} main () { exit (0); }
——– a.sh
#! /bin/sh for type in int long do for argtype in int long do echo trying type=$type, argtype=$argtype (gcc -Dargtype=$argtype -Dtype=$type a.c && a.out) && echo "FOUND IT" && break done && break done || { echo $0: cannot deduce types exit 1 } echo $0: deduced types $type, $argtype
on Sun, 18 Aug 1996, by fnf@ninemoons.com (Fred Fish)
bug triggered by fread() return type changing in ixemul-44.0
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Maintainers: Gunther Nikl <gnikl@informatik.uni-rostock.de> and Matthias Fleischer <fleischr@izfm.uni-stuttgart.de>
stdio buffer size is 1KB by default
The default should be somewhere between 8KB and 32KB. DiskSpeed shows extremely poor results for buffers below 4KB.
by <Joerg.Hoehle@gmd.de> (12-Jun-1996)
setvbuf(), but you don’t want to modify foreign code for that
probably easy
-noixemul compiled binaries guru.
Caused since Libnix1.1 by the use of linker features (autoinit sections) which were broken in the binutils-2 linker.
Update to at least version 960530 of ld.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
tar does not accept Amiga filenames containing a colon, thus tar -tfv Archive:gcc-2.7.2.tar does not work.
new "feature" makes tar interpret the name before the colon as a remote host name, which is bad on the Amiga. Either drop the remote option completely or change the syntax in a portable way.
The easiest way to circumvent the additional cmd line option is to add flag_force_local = 1 at the top of tar.c/decode_options(). This is ok as long as no one wants to use tar remotely (which doesn’t work anyway, I [Lars Hecking] am told. This feature needs the second fork() in buffer.c/child_open(). And rexec(3), methinks.)
by <Joerg.Hoehle@gmd.de> (4-Jul-1996)
Use ‘--force-local’
Joerg.Hoehle@gmd.de is working on it, Hans Verkuil <hans@wyst.hobby.nl> has supplied a patch adding a new ‘--force-remote’ switch.
Seems easy
A report about the "colon is used in pathnames of several OS" problem has been posted to gnu.utils.bugs and been "filed" by Francois Pinard <pinard@iro.umontreal.ca>, the GNU-tar maintainer.
tar xvMf /fd0 does not work with ‘FD0:’ RawDiskHandler.
On a UNIX box, prepare a disk with tar cvMf /dev/fd0 Verzeichnis. Back on the Amiga, all I get is a requester saying ‘Free: corrupted segment’ after the first fileheader. It does work with an old tar of mine.
Lars Hecking <lhecking@nmrc.ucc.ie> adds: I have tried to find this bug and failed. AFAIR, the GNU tar port on Aminet was compiled with SAS/C and should be less functional than the ADE version wrt stubbed-out Unix functions/syscalls. I think even compiling the SAS’d sources with gcc doesn’t make ‘-M’ work. Which leads me to the conclusion that hhere is either a bug in tar which doesn’t show with SAS, or a bug in ixemul.library, or a bug in ade-gcc.
by Ingo Saitz <ingo@r1.iqo.uni-hannover.de>
Untested
tar -tzvf foo.tgz and gzcat foo.tgz | tar -tvf - do not work.
Update to at least ADE version 960530 of tar.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Package: fileutils (see section fileutils).
ls, cp, mv etc. (fileutils) do not correctly handle Amiga-style pathnames
‘ls -l ade:’ did not work, while ‘ls -l /ade’ did. To concatenate pathnames, UNIX programs either always insert an extra slash in between the parts or insert a slash only if a directory name is not already terminated by one. Both behaviours are incorrect on the Amiga, where ‘foo//bar’ is different from ‘foo/bar’ and no slash must be appended to device or volume names like ‘RAM:’. The rule is to only append a slash if a directory name is terminated by neither slash nor colon.
RAM: RAM:foo DEVS:DOSdrivers SYS:Classes/ SYS:Classes/gadget DEVS:/ DEVS:/Storage
by various (May 96)
supply UNIX-style pathnames (‘/RAM/’, ‘/dev/PC0’) and
have ixprefs
’ "translate /" settings on.
you?
not difficult, just find all the places in all the sources
still broken as of ADE release 970714
‘mv foo ram:’ (mv across partitions) deletes foo but nothing is in RAM:
mv: cannot move `foo' to `ram:/foo': No such file or directory
.
‘mv foo /ram/’ didn’t complain, but no file was found in /ram/ either.
5> list foo foo 5 ----rwed Today 21:56:53 1 file - 2 blocks 5> mv foo /workIII/ mv: cannot move `foo' to `/workIII//foo': File exists 5> ls /workIII/ (no foo) 5> move foo text/ 5> list text/foo Directory "text" on Tuesday 09-Jul-96 foo 5 ----rwed Today 5> list workIII:info Directory "workIII:info" on Tuesday 09-Jul-96 (..) 5> mv foo /workIII/info/ mv: cannot move `foo' to `/workIII/info//foo': Device not configured
by Lynn Winebarger <owinebar@nickel.ucs.indiana.edu> and Greg Jung <JUNG@ossen.nrl.navy.mil> (9-Jul-1996)
None
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
some info
commands do not work
info dcache
gives Enforcer hits.
info float
gives ‘No floating point info available for this processor.’
on my A4000/40, but info all-registers
correctly shows FPU registers.
by Joerg.Hoehle@gmd.de (25-Aug-96)
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
‘cvs commit’ gives cvs [commit aborted]: cannot commit files as 'root'
checkout, update, remove, add are all possible, but not commit.
Should CVS be compiled without the CVS_BADROOT option, which refuses to allow root to commit, (see ‘commit.c’ in CVS source for details) to get it to work for non-networked users?
On the current Amiga, essentially everyone has root priviledges regardless of what user the networking support sets you up as, so I [Fred Fish] see no problem with disable the cvs feature that blocks root from doing some operations.
Furthermore, ‘cvs commit’ invokes an external editor to create a log message. However, it passes it a UNIX style path name, which isn’t grok’ed by my favorite editor.
by Diab Jerius <djerius@cfa.harvard.edu> 12-July-96
Start up INet225 and turn on network support in ixemul.library, which sets you up as non-root. But then it’s said to cause tons of Enforcer hits.
looks like recompile
on Fred Fish’s very long TODO list, so …
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
‘man man’ doesn’t work, it says ‘cannot create’.
please wait, formatting manual page `man' /ade/man/cat1/man.0: cannot create
[Steve Kaye:] What it is trying to do is create ‘/ade/man/cat1/man.0’ from ‘/ade/man/man1/man.1’ (I think that is its name). This is then future access to the manual page ‘man’ will use the pre-formatted file. [Fred Fish:] I’m not sure why it is necessary, but it seems to be sufficient to assign MAN: to ADE:man for now. This needs to be looked into and fixed. [Rask I. Lambertsen:] It would also be nice if ‘man’ could figure out how to create the necessary ‘cat?’ directories if they don’t exist already. [Jörg Höhle:] But only if ‘man.conf’ switch says so.
by Lynn Winebarger <owinebar@nickel.ucs.indiana.edu> (10-Jul-96)
Create ‘cat?’ directories or ‘Assign man: ADE:man/’ may help.
on David Zaroski’s <cz253@cleveland.freenet.edu> TODO list
How to use Less
or MultiView
as man
’s pager?
If you get ‘WARNING: terminal cannot clear to end of line’
and others such messages, $TERMCAP
must be set to the
location of your termcap file (usually ‘ADE:etc/termcap’) for a
UNIX-ported pager (more
, less
) to work.
If you get ‘sh: less: not found’, then $PAGER
is not
set correctly. Set the local variable, not the global
(‘ENV:PAGER’) one. Using Set PAGER `Which MultiView`
in the Amiga shell, before starting sh
, should work.
by Martin Steigerwald <steigerw@stud.uni-frankfurt.de> (26-Jul-96)
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ld (see section ld — GNU linker), as (see section as — GNU assembler).
cvs (see section CVS — Concurrent Versions System), ‘commit’, ‘update’ etc. are switches to the cvs program.
ls, cp, mv (see section ls, cp, mv (fileutils)).
See section gcc — C front end, g++ — C++ front end, cpp — preprocessor, cc1 — actual C compiler.
sh, ksh (see section sh/ksh — pdksh).
Testref: binutils2.
Testxref: See section binutils2.
Testpxref: (see section binutils2)
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Jump to: | -
A B C F G I K L M P R S T V |
---|
Jump to: | -
A B C F G I K L M P R S T V |
---|
[Top] | [Contents] | [Index] | [ ? ] |
This document was generated on January 15, 2023 using texi2html 5.0.
The buttons in the navigation panels have the following meaning:
Button | Name | Go to | From 1.2.3 go to |
---|---|---|---|
[ << ] | FastBack | Beginning of this chapter or previous chapter | 1 |
[ < ] | Back | Previous section in reading order | 1.2.2 |
[ Up ] | Up | Up section | 1.2 |
[ > ] | Forward | Next section in reading order | 1.2.4 |
[ >> ] | FastForward | Next chapter | 2 |
[Top] | Top | Cover (top) of document | |
[Contents] | Contents | Table of contents | |
[Index] | Index | Index | |
[ ? ] | About | About (help) |
where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:
This document was generated on January 15, 2023 using texi2html 5.0.