new port : libgcc ? newlib ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux