Building extra packages from the gcc-cross sources
Paul Boddie <[email protected]> Fri, 26 Jan 2018 23:23:57 +0100
| Newsgroups | gmane.linux.debian.devel.embedded |
|---|---|
| Message-ID | <[email protected]> |
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