This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
new port : libgcc ? newlib ?
- From: Florent DEFAY <spira dot inhabitant at gmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Fri, 13 Mar 2009 10:45:17 +0100
- Subject: new port : libgcc ? newlib ?
Hi,
I am working on a new port of GCC. I am now dealing with multiply, divide, mod.
The target machine does not support these operations. Then I think I
have to consider LIBGCC.
But here I get in trouble.
First, there are 2 libgcc : libgcc1 and libgcc2. What is the difference ?
When reading GCC Internals, I found information about libgcc2 and I
tried to insert the following line in the t-target :
LIB2FUNCS_EXTRA=mulhi3.S
where mulhi3.S contains the assembler code for the function __mulhi3.
When building GCC, no rule to compile mulhi3.S ... I think my t-target
is not complete but I do not find anything more.
Then I tried this (just like msp430) :
LIB1ASMSRC = target/mulhi3.S
LIB1ASMFUNCS = __mulhi3
GCC build succeeds (with errors, see below). But then, when linking a
program using multiply :
undefined reference to `__mulhi3'
I tried to add -lgcc in the Makefile when linking but :
target-ld: cannot find -lgcc
Moreover, when building GCC, it finishes with this error :
*** Configuration target-unknown-none not supported
make[1]: *** [configure-target-libgcc] Error 1
make[1]: Leaving directory `/home/me/gcc/build_target'
make: *** [all] Error 2
I searched about this error. I found a reply. It says "sym-link newlib
into GCC sources".
I do not understand why is it newlib about? My target has no system. I
just would like to disable all of this.
I also get an error at 'make install' time :
make[2]: Entering directory `/home/me/gcc/build_target/target/libstdc++-v3'
make[2]: *** No rule to make target `install'. Stop.
make[2]: Leaving directory `/home/me/gcc/build_target/target/libstdc++-v3'
make[1]: *** [install-target-libstdc++-v3] Error 2
make[1]: Leaving directory `/home/me/gcc/build_target'
make: *** [install] Error 2
This is the same, I am not intrested in libstdc++, how to disable that?
So, please, could you help me about how to implement simplest libgcc.
Regards.
Florent