On Nov 10, 2013, at 1:39 PM, Alistair Crooks <a...@pkgsrc.org> wrote:
> On Sun, Nov 10, 2013 at 01:20:41PM -0800, Matt Thomas wrote: >> Exactly. with hf, floating point values are passed in floating point >> registers. That can not be hidden via a library (this works on x86 >> since the stack has all the arguments). > > Thanks, I understand. But... there has to be a different way of > doing this that does not require such wholesale changes, especially > when they were made without discussion. > > + use virtual registers which get mapped onto the real thing, either > through compilation or JIT Doesn’t help since there are also FP instructions. > + optimise for one passing scheme, and translate the other dynamically We already have a libc_vfp.so for earm which will use real FP instructions to do the softfloat ops. > + have both sets of passing conventions in a fat binary, and select > accordingly ELF doesn’t really support fat binaries. > I'm sure there are way more than I've outlined above, and that others > have much better ideas than I have. > > At the moment, this has been optimised for the kernel architecture, > with the userlevel changes assumed to be collateral damage. Since the > users are what matters, that needs to be changed. I strongly disagree with that. I specifically choose use different machine arches so that the hard/soft float binary packages would be separate. From using soft/hard float userlands on PPC, I already knew that mixing them was wrong. > How do you propose to fix this (interim) mess for pkgsrc? This is a > real issue for us, and you should send your proposal to > tech-...@netbsd.org. Is it just the multiplicity of arm packages or something else?