On Mon, Oct 28, 2013 at 7:07 PM, Terry Guo <flameroc@xxxxxxxxx> wrote: > > I cross build a tool chain for arm-none-eabi targets and find there > are some executable files under folder: > > arm-none-eabi/bin/ > ├── ar > ├── as > ├── c++ > ├── g++ > ├── gcc > ├── ld > ├── ld.bfd > ├── nm > ├── objcopy > ├── objdump > ├── ranlib > └── strip These executables are used by the GCC binary and associated tools internally when they need to invoke other executables. The directory exists so that the tools can reliably find the executable to run without having to worry about the exact name. If you run "make install" the identical executables will be symlinked together so no disk space is wasted. Of course this fails under various distribution mechanisms. > While similar files under folder: > bin > ├── arm-none-eabi-addr2line > ├── arm-none-eabi-ar > ├── arm-none-eabi-as > ├── arm-none-eabi-c++ > ├── arm-none-eabi-c++filt > ├── arm-none-eabi-cpp > ├── arm-none-eabi-elfedit > ├── arm-none-eabi-g++ > ├── arm-none-eabi-gcc > ├── arm-none-eabi-gcc-4.7.4 > ├── arm-none-eabi-gcc-ar > ├── arm-none-eabi-gcc-nm > ├── arm-none-eabi-gcc-ranlib > ├── arm-none-eabi-gcov > ├── arm-none-eabi-gdb > ├── arm-none-eabi-gdbtui > ├── arm-none-eabi-gprof > ├── arm-none-eabi-ld > ├── arm-none-eabi-ld.bfd > ├── arm-none-eabi-nm > ├── arm-none-eabi-objcopy > ├── arm-none-eabi-objdump > ├── arm-none-eabi-ranlib > ├── arm-none-eabi-readelf > ├── arm-none-eabi-size > ├── arm-none-eabi-strings > └── arm-none-eabi-strip These executables are intended for the user to run. Ian