following lines were added in config.gcc in order to recognise --with-cpu=default32. But I dont understand , how it was actually made to default to 32-bit.
The trick is to look at the default64 code, and note what default32 doesn't do that default64 does do.
The code you quoted is only clearing with_cpu when default32/default64 are given, because these are valid options to the actual gcc code. These just mean "use whatever the default with_cpu value is".
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com