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: