[haiku-development] Re: ARM/ARM64 EFI and floating point.

  • From: "Adrien Destugues" <pulkomandy@xxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 01 Jul 2020 06:46:03 +0000

My other thought was adding a "libstdc++-boot.a and libgcc-boot.a" (compiled 
as soft-float) to our
gcc_bootstrap package:

You just invented multilib.

gcc supports "multilib" builds just fine and it is the normal configuration for 
ARM. It then builds
multiple variants of the libs and automatically pick the right ones when 
linking, according to the
compiler and linker flags.

However, our gcc currently disables this. The reason is, our buildsystem 
currently hardcodes the path
to some things built by gcc (I think libgcc.a and the like). And when multilib 
is used, these paths
changes, and the build doesn't work anymore.

The cleanest solution here is to get multilib working. It would also enable us 
to build a compiler
supporting both 32 and 64bit on x86, for example.


https://gist.github.com/kallisti5/a921cad055b775a2fdc147158b73c09a

(Ignore the old gcc version, i used 5.x for some reason there) In the sake of 
consistency,
we might want to always generate lib*-boot *and* lib*-kernel objects (they'll 
just be the same
on platforms which don't have silly requirements)

I would prefer that ARM hacks do not spill on other platforms, if possible?

-- 
Adrien.


Other related posts: