-Cp is to set the target processor within a cpu architecture. This is not the case here; as far as I understood a NDS needs two executables, one will run on the ARM7, the other on the ARM9. -Cp should never have an effect on the linker script.

The apptype should be used to specify what executable should be generated. Then the executable for the ARM9 can still be compiled in with a potential -Cparm9 to enable ARM9 instructions.