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

Building extra packages from the gcc-cross sources



Hello again,

I'm not sure if this is necessarily the best place to ask, but maybe someone 
here has some experience of such matters.

I recently discovered that the libgcc resources used by the mipsel cross-
compiler, packaged in libgcc-6-dev-mipsel-cross, have a hard-float dependency. 
Files such as the following are affected:

/usr/lib/gcc-cross/mipsel-linux-gnu/6/crtbegin.o

This apparently means that using -msoft-float with the cross-compiler 
conflicts with these resources under certain conditions, and it appears that I 
would need versions of such files prepared for soft-float use.

Now, looking at the gcc-cross-6 package, I see some interesting entries in the 
relevant control file template (control.mipsel.in). For example:

Package: libsfgcc1-CROSS_ARCH-cross
Package: libsfgcc-GCC_VER-dev-CROSS_ARCH-cross
Package: libsfgcc1-dbg-CROSS_ARCH-cross

These are supposedly soft-float variants of libgcc, as far as I can tell. 
However, I don't understand how these are meant to be built, and I can't find 
any evidence of them being in the archive, either. I did notice that the 
gcc-6-cross-28/debian/packages.invalid file contains a number of relevant 
entries including these:

libsfgcc1-mipsel-cross
libsfgcc-6-dev-mipsel-cross

So, I imagine that the rules script processes the control file template, 
filters out these packages, and leaves a substantially reduced control file 
without these packages mentioned. I am currently trying to run sbuild on the 
source package with the above entries removed from the packages.invalid file, 
and with the control file regenerated, but this may be a bit too optimistic.

I have investigated cross-gcc-gensource, but the template...

/usr/share/cross-gcc/template/debian/control.template

...only provides definitions for cpp, gcc, g++ and gfortran packages. It makes 
me wonder if I am supposed to be running another tool as well. I also wonder 
about the relationship between gcc and libgcc, whether a different compiler 
needs to be built to use the soft-float libgcc resources, or whether the 
compiler can be told to look at a different collection of such resources at 
run-time.

Has anyone here had to deal with such issues before?

Paul


Reply to: