This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] AmigaOS 4 port contribution
- From: DJ Delorie <dj at redhat dot com>
- To: zack at codesourcery dot com
- Cc: marcus at mc dot pp dot se, gcc-patches at gcc dot gnu dot org
- Date: Tue, 7 Oct 2003 12:12:10 -0400
- Subject: Re: [PATCH] AmigaOS 4 port contribution
- References: <yf9ad8fr6mp.fsf@mc.pp.se> <87ad8feahv.fsf@egil.codesourcery.com>
> 1) Most critically important, you may not use popen. You must use
> lower-level APIs that take argument *vectors* and do not invoke
> an intermediary shell. If AmigaOS provides no way to do this,
> then AmigaOS's kernel API is *broken* and must be fixed.
The way the base OS handles processes is absolutely irrelevent to gcc,
and there is no reason to even comment on it. The maintainer need
only implement pexecute(), and everyone else need only use it. Your
point about popen in the gcc sources is, of course, absolutely
correct.
> I am not ragging on the lack of true support for pipes, nor am I
> objecting to the lack of fork and exec primitives. I think both
> of these are deficiencies, but not catastrophic bugs. Lack of a
> process invocation API that takes an argument vector, however,
> *does* constitute a catastrophic bug. Yes, I am aware that
> several OSs in widespread use have exactly this bug.
As for your hidden agenda to discredit all OSs that do not follow The
Unix Way, consider one of the points the Unix Hater's Handbook
addresses:
find . -name *.c -print
The fact that the application has absolutely no control over how the
command line is interpreted is IMHO one of the worst "features" unix
forces on its users. DJGPP applications, OTOH, can choose how much
automatic processing the command line gets.