"What are you doing with crtstuff.c" on gcc-3.4.0 arm build
Kai Ruottu
karuottu@mbnet.fi
Thu May 6 22:51:00 GMT 2004
Toralf Lund wrote:
> Does anyone know what this is supposed to mean?
>
> ../../gcc-3.4.0/gcc/crtstuff.c:405:2: #error "What are you doing with
> crtstuff.c, then?"
Why not simply read yourself? :) The wrappers around the line 405 are:
#else /* ! INIT_SECTION_ASM_OP && ! HAS_INIT_SECTION */
#error "What are you doing with crtstuff.c, then?"
#endif
Isn't this clear? COFF probably hasn't the '.init' and '.fini'
sections and handles their job in the '__main()' or '__gcc_main()'
or something function in '.text' section... ELF usually has these
two extra sections for 'crtbegin' and 'crtend'.
Already the 'gcc/config/arm/t-arm-coff' seems to have these 'crt*.o'
parts defined needed meanwhile the '.../t-xscale-coff' doesn't... So
it seems to be a plain vanilla bug in GCC since gcc-3.3...
So please edit your 'gcc/Makefile' and remove the
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
from it, or edit the original 't-arm-coff' and let a new Makefile
be produced when writing 'make ...'
> I get this when trying to build gcc-3.4.0 for arm-coff, during the
> "bootstrap compiler" step.
Please explain this 'bootstrap'... Building an 'arm-coff' targeted
GCC needs only one stage, just as any normal cross-GCC, these newlib
based GCC are only working in the cross-GCC configuration, no native
choices... Recently I built a gcc-3.3.2 based toolchain for the
'xscale-coff' target and there was no problems in building it normally
in one stage, when starting from scratch. The 'arm-coff' should be
quite the same and I don't expect gcc-3.4.0 breaking anything...
Meanwhile a native GCC build requires three build stages, the 'bootstrap'
stage with a 'bootstrap compiler' being the stage 1.
Maybe you meaned that you must first update your native GCC or the cross
GCC used to produce the GCC binaries. This can be called as the "bootstrap
compiler" step.
Cheers, Kai
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
More information about the crossgcc
mailing list