[haiku-commits] Re: haiku: hrev47150 - in build: scripts jam/board/beagle

  • From: "Ithamar R. Adema" <ithamar@xxxxxxxxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 22 Apr 2014 11:15:04 +0200

Hi,

On Tue, Apr 22, 2014 at 9:57 AM, <pulkomandy@xxxxxxxxxxxxx> wrote:
>
> 574dbab: Configure the ARM compiler to default to Cortex-A8
>
>   Ideally, we would only need to set this in build/jam/board/*, but the
>   flags set there are not passed to the build of packages. The default is
>   using some early ARM variant, for which gcc lacks some more atomic
>   operations and emits calls to helper functions we don't implement.
>
>   Setting the default architecture avoids this, as all packages will now
>   be built to target the Cortex-A8.
>
>   Also set the proper VFP version in BeagleBoard config file.
>
>   Note this breaks the Verdex and Pi builds, but ARMv7 is what we should
>   focus on for now. We can try to make older archs work after finishing
>   the m68k port.
>

Is all this hardcoding really necessary? Isn't the core problem here that
the haikuporter based builds aren't using the
"HAIKU_*FLAGS_$(HAIKU_PACKAGING_ARCH)"
flags, and therefore there are mismatches between VFP implementations and
such?

The fact that the older ARM architectures don't have atomic operations in
the instruction set is already handled on Haiku by having them as syscalls,
and these could be used to implement the missing atomic operations. I can
imagine you're not motivated to fix those, but breaking all non-ARMv7
targets looks like a bit brute force to me.

Please correct me if I'm wrong, and I'm not saying you should revert, just
trying to figure out why all of this is necessary.

Ithamar.

Other related posts: