Vivado distributes initialization files in both precompiled and source form.
The pre-compiled object files are in the compiler library directory.
Sources for the initialization files for the MicroBlaze GNU compiler are in <AMD_>/Vitis/<version>/data/embeddedsw/lib/microblaze/src/.
<AMD_> is the Vivado installation path and <version> is the release version of the Vitis software platform.
To fulfill a custom startup file requirement, take the files from the source
area and include them as a part of your application source. Alternatively, you can
assemble the files into .o files and place them in
a common area. To refer to the newly created object files instead of the standard files,
use the -B directory -name command line option while
invoking mb-gcc.
To prevent the default startup files from being used, use the
-nostartfiles on the final compile line.