Anyhow ..
From the GCC docs:
-march=name<snip snip>
Permissible names are: `armv2', `armv2a', `armv3', `armv3m', `armv4',
`armv4t', `armv5', `armv5t', `armv5te', `armv6', `armv6j', `iwmmxt',
`ep9312'.
From my machine ..
daniel@ein:~$ cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 199.06
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture : 5TEJ
So I would guess you want armv5te. If you want your binaries to run on
almost any ARM9 machine you want one of the armv4 options however.
Apparently a few mass-produced, very application specific ARM9 based
designs use uClinux, allowing for a leaner-meaner OS. Although, having
heard the argument that much of uClinux has already found it's way
into the mainstream linux kernel, I wonder if the benefit of "lean-
mean" still exists.