5.4.4 Runtime Startup Code Location
The runtime startup code is contained in multiple versions of precompiled object file modules, to support architectural differences between device families.
For C programs, there is only one start-up module.
The source code for this module can be found in the pic32m-libs.zip file located at <install-directory>/pic32-libs/. Once the file is unzipped, the source code can be found at: pic32m-libs/libpic32/startup/crt0.S. It is precompiled into the following library location: <install-directory>/pic32mx/lib/crt0.o.
For C++ programs, code from five object files link sequentially to create a single initialization routine, which initializes the C++ runtime environment.
The PIC32M precompiled startup object modules are located in the following location: <install-directory>/pic32mx/lib/. The files have the names: cpprt0.o, crti.o, and crtn.o. The precompiled startup modules are located in the following location: <install-directory>/lib/gcc/pic32mx/<gcc-version>/. The files have the names: crtbegin.o and crtend.o.