[oi-dev] gcc/gmp assembler integration

Klaus Ziegler - owner of sunfreeware.de klausz at haus-gisela.de
Fri Feb 19 08:36:03 UTC 2021


Hi,

I'm currently compiling gcc-7.5.0-il-0 on SPARC in oi-userland,
while this fact isn't SPARC only, I'm a little bit puzzled about it.
If you do a "make build" and watch the configure process in
the first gmp subdir you'll see the following:

configure: creating cache ./config.cache
checking build system type... i386-pc-solaris2.11
checking host system type... none-pc-solaris2.11 <------- ?

4 lines later:
configure: WARNING: using cross tools not prefixed with host triplet

again 6 lines later there happens a real mess:
configure: WARNING: the "none" host is obsolete, use --disable-assembly
checking ABI=standard

this "--disable-assembly" line shouldn't apear at all and it should say
checking ABI=32, or if you are compiling gcc-10 ABI=64.
To bring it to the point, all of this also happens on gcc-10!
It looks like that the whole thing gmp is about - "doing assembly
acceleration" isn't given trough to all of our oi-userland gcc builds!
If you have a look in directory: build/i86/gmp/mpn after configure
has finished it's work, you won't see any *.asm links into the gmp
sources, this of course proves that non of the assembler code will
be used in this gmp build.
The problem is the top-level Makefile.in in the gcc source tree,
I'm sure that the speed of modern x86 systems is the source
of the problem that nobody has seen this before, if you do work
on a 20 year old Ultra60 you have more of chance to see this :-)
I think, the reason that the top-level Makefile.in is designed this way,
is the fact that gcc can be cross-compiled, which we won't do at all
in any of gcc oi-userland builds.
I've written patches for gcc-7 and gcc-10 to remediate this, I'm
fairly new to OI processes, so I just don't know how to integrate
a change like this, while I did my best to get the brand10 bug fixed
in ticket #13562, shall I just open a new ticket for this and don't
assign it to myself? or what shall I do? - I just need someone to take
me by the hand and guide me. If someone want's to try out the
patches I've done, please reply to me and I'm more than happy
to provide them, I just didn't attach them to bother anybody in
the community. BTW. the performace gain on such an old SPARC
is really sensible :-)

Much Regards
Klaus

P.S. a standalone build of gmp in oi-userland doesn't has this problem,
        because the correct configure tripplets are given to it's configure.
        On SPARC the "make test/check" target has another problem,
        testing libgmpxx, which is another thread to come up.



More information about the oi-dev mailing list