Hello Adrian,
On 28/03/12 04:49, Adrian Schröter wrote:
Am Dienstag, 27. März 2012, 22:43:35 schrieb Hector
Oron:
>>> Debian ARM arches:
>>> - Debian 'armel', which defaults to ARMv4t (soft) maps to
armv[4567]l
>>> - Debian 'armhf', which defaults to ARMv7 (hard-float) maps to
armv7hl
>>>
>>> Note Ubuntu 'armel' deprecated after 'precise' release,
defaults to ARMv7
>>> (softfp). So Ubuntu 'armel' should really map armv7l, but its out
of scope
>>> for this patch.
>> Hm, doesnt it make sense to map armv7l and
armv7hl to armhf ? AFAIK there are no
>> arm cpus on v7 level without hardware fp.
>>
>> On the other hand this is about optimization level here and not hardware
capabilities...
> As I understand armv7hl is hard-float ABI, hence
'armhf'.
>
> armv7l can be ARMv7/softfp as Ubuntu was doing on their ARM port
> (armel), hence makes sense to me to map armv7l to 'armel'.
>
> OTOH, Debian armel can run on any of those platforms, armv[4567]l, maybe
> armv[4567]el should be added to the list. In other words, if I am
> building armv7l debian packages I would expect them to use 'armel'
> dependencies, while if I am building armv7hl, I would expect to build
> against 'armhf' dependencies.
>
> As a side note, I also see 'armv8el', I think that one comes from MeeGo,
> and it should be deprecated and mapped in the future to aarch64 (64-bit
> ARM architecture).
That one is pure fantasy and will have nothing in
common with real upcomming armv8, I think.
But also architectures like armv7hl or armhf are fantasy when it comes to the linux
kernel. They are just a hack in the packagemanagement to avoid to handle ABI
compatibility
on dependency level. But it makes for example impossible to install static binaries
armv7l
on armv7hl and vice versa. Even though it would run on real hardware.
Impossible unless your packaging system allows to install armv7l on
armv7hl environment under certain conditions and viceversa.
Or it would be thinkable to have also an entire set of
packages with softfp on hardfp and vice
versa. For that reason I selected just "armv7l" for our hardfp optimized
distribution.
But I agree that we seems to be special in the arm world with that way (so in worst case
we need to switch to armv7hl as well and need to make armv7l and armv7hl as equivalent to
avoid
the describe problems) :/
In my case, imagine I have a build dependency foo [armel] | bar [armhf]
and I am using armv7l in OBS. If I am building against Ubuntu armel
distro, I would like the resolver to resolve foo [armel] instead of bar.
Also I thought armv7*h*l, *h* stands for hard, right?
In any case we have the problem now that we can not
detect the ABI from the architecture now...
Indeed, thats a problem.
We can take your patch now, but armhf will not be
selected right in our default settings.
Not sure why is that.
I would be happy, if anyone has a better proposal
here.
If I come up with better ideas, I'll resend a patch, as someone might
want to build optimized distro for R-PI (armv6 hard-float) and current
mapping would not allow for that.
>>> Signed-off-by: Hector Oron
<hector.oron(a)collabora.co.uk>
>>> ---
>>> Build/Deb.pm | 2 ++
>>> 1 files changed, 2 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/Build/Deb.pm b/Build/Deb.pm
>>> index b6c7cc6..3878fd4 100644
>>> --- a/Build/Deb.pm
>>> +++ b/Build/Deb.pm
>>> @@ -26,6 +26,8 @@ sub parse {
>>> $arch = 'i386' if $arch =~ /^i[456]86$/;
>>> $arch = 'powerpc' if $arch eq 'ppc';
>>> $arch = 'amd64' if $arch eq 'x86_64';
>>> + $arch = 'armel' if $arch =~ /^armv[4567]l$/;
>>> + $arch = 'armhf' if $arch eq 'armv7hl';
>>>
>>> if (ref($fn) eq 'ARRAY') {
>>> @control = @$fn;
--
Hector Oron
Collabora Ltd
Kett House, Station Road, Cambridge
CB1 2JH, United Kingdom
Telephone: +44 (0)1223 362967
Fax: +44 (0) 1223 351966
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe(a)opensuse.org
To contact the owner, e-mail: opensuse-buildservice+owner(a)opensuse.org