Building mingw32-x-h8300 tools

Earnie Boyd
Thu Sep 16 19:52:00 GMT 1999

--- "Michael K. Elwood" <> wrote:
> Well, since nobody wanted to solve my problem for me, I had to go solve it
> myself. But the problem (and solution) may be interesting to people trying
> to build mingw32-hosted cross tools, or to mingw32 people in general.
> lib/gcc-lib/h8300-hms/2.95/ directory) contains some cpp arguments like
> -D__SIZE_TYPE__=unsigned\ int
> cpp hates that space in the value, so you really need double quotes around
> the "unsigned\ int" part. So I fixed the specs file by surrounding these
> values with double quotes. Everything seemed great...only it didn't fix the
> problem. Back to GDB.

I wonder if you'd used -D__SIZE_TYPE__=unsigned^ int if it would have worked. 
It has to do with M$ character quoting and the \ character only character
quotes the " character and the \ character.  To quote anything else you need to
use the ^ character.

> When gcc goes to spawn cpp, it calls pexecute() in libiberty, which in turn
> calls the Win32 _spawnv or _spawnvp function. Just before it does this, the
> mingw32 pexecute() calls fix_argv(), which scans every string in the argv
> array and escapes any double quotes with a preceding \. Instead of helping,
> though, this just confused cpp. So i took out the call to fix_argv().
> Presto! Everything worked. :)

Hey, it feels good to have done a splendid job.

> I now have a working mingw32-hosted h8300-targeted GNU cross compiler
> (version 2.95). Many thanks to Mumit Khan and others who have helped along
> the way. I can provide a patch for the changed files if anybody is
> interested.
> Now a question: Is fix_argv() still necessary? It seems to be causing more
> harm than good.

I don't know the answer.
Earnie Boyd < >

Newbies, please visit
< >

(If you respond to the list, then please don't cc me)
Do You Yahoo!?
Bid and sell for free at

Want more information?  See the CrossGCC FAQ,
Want to unsubscribe? Send a note to

More information about the crossgcc mailing list