For Cortex R and M processors Linaro has recommended the GCC arm-none-eabi 4.9 whereas for A series processors it is recommending normal GCC eabi.
what is the key difference between the same ?
Okay, but what is the signification for arm-eabi with no specification ?
default is for linux ?
I think the difference is calling convention and availability of system calls for the C library to use.
With "arm-eabi-gcc" you have the Linux system C library which will make calls into the kernel IOCTLs, e.g. for allocating memory pages to the process.
With "arm-eabi-none-gcc" you are running on platform which doesn't have an operating system at all - so the C library is different to cope with that.
Other differences include how processes get bootstrapped by the runtime linker / loader (i.e. a lot happens at runtime on Linux, which cannot happen in a baremetal platform).