• neon: armhf baseline for next release ? (was: python-cogent fails to bu

    From Mathieu Malaterre@21:1/5 to andreas@an3as.eu on Fri Feb 10 10:10:01 2023
    Dear arm porters,

    On Thu, Feb 9, 2023 at 8:43 PM Andreas Tille <andreas@an3as.eu> wrote:
    [...]
    according to the build logs[1] armhf fails to build (as only
    architecture) with
    [...]
    LLVM ERROR: Symbol not found: __sync_fetch_and_add_4

    I see that abel.d.o porterbox is offline. There is currently no other
    porterbox for a DD to actually check armhf code on neon-less machine.

    Would it be possible to raise the armhf baseline to have some minimal
    neon instructions ?

    Thanks much for comment,

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Vagrant Cascadian@21:1/5 to Mathieu Malaterre on Fri Feb 10 19:30:02 2023
    On 2023-02-10, Mathieu Malaterre wrote:
    On Thu, Feb 9, 2023 at 8:43 PM Andreas Tille <andreas@an3as.eu> wrote:
    [...]
    according to the build logs[1] armhf fails to build (as only
    architecture) with
    [...]
    LLVM ERROR: Symbol not found: __sync_fetch_and_add_4

    I see that abel.d.o porterbox is offline. There is currently no other porterbox for a DD to actually check armhf code on neon-less machine.

    Would it be possible to raise the armhf baseline to have some minimal
    neon instructions ?

    I am pretty sure the answer in the short term is "no", as that would effectively be a new architecture... longer term, "maybe someday ... but
    not terribly likely"?

    Mostly because 32-bit arm is arguably a legacy platform; there is little
    to no new debian-capable hardware coming out, and so adding support for
    an entire new port seems unlikely, or at the very least, a very niche
    target. Either it supports armhf as it is, or more likely it supports
    arm64.

    For an individual package that wants to make use of neon, the correct
    thing to do is to make the neon support detected at run-time rather than
    rely on it at build-time and enabling or disabling codepaths, features,
    etc. as appropriate.


    live well,
    vagrant

    -----BEGIN PGP SIGNATURE-----

    iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCY+aLiQAKCRDcUY/If5cW qp/DAP9a8wfoij6HmTnfJ9pImjEdbHIsI9DWtp6hNt675MNvUQEAun2ngUSNs2Xf xnR0ehpBVDjNoHo3BcmRpciM3vWNkQY=
    =5bbC
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Diederik de Haas@21:1/5 to All on Fri Feb 10 23:04:51 2023
    On Friday, 10 February 2023 22:30:18 CET Arnd Bergmann wrote:
    This does not sound quite correct either: while no new SoCs have come
    out without NEON for ten years now (the last ones were Tegra 2,

    I recently brought my Asus Transformer TF-101 'back to life' and was
    absolutely thrilled that I should be able to make a mainline-ish kernel 6.1 running on it.
    The TF-101 has a Tegra 2 chip ... (and indeed doesn't have NEON)
    -----BEGIN PGP SIGNATURE-----

    iHUEABYIAB0WIQT1sUPBYsyGmi4usy/XblvOeH7bbgUCY+a/gwAKCRDXblvOeH7b bkZDAQDHptpZZ4sYW5FB1Eji6FmFSPcpQNUYw6zNLeBW0kcWaQEAxDlEaZpsOeC+ vxaHALa3ULk5Ig48eVSnUvWLOAUqkwM=
    =82fo
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arnd Bergmann@21:1/5 to Vagrant Cascadian on Fri Feb 10 22:40:01 2023
    On Fri, Feb 10, 2023, at 19:23, Vagrant Cascadian wrote:
    On 2023-02-10, Mathieu Malaterre wrote:
    On Thu, Feb 9, 2023 at 8:43 PM Andreas Tille <andreas@an3as.eu> wrote:
    [...]
    according to the build logs[1] armhf fails to build (as only
    architecture) with
    [...]
    LLVM ERROR: Symbol not found: __sync_fetch_and_add_4

    I see that abel.d.o porterbox is offline. There is currently no other
    porterbox for a DD to actually check armhf code on neon-less machine.

    Would it be possible to raise the armhf baseline to have some minimal
    neon instructions ?

    I am pretty sure the answer in the short term is "no", as that would effectively be a new architecture... longer term, "maybe someday ... but
    not terribly likely"?

    I agree that the short term for the Bookwork release, it makes no sense
    to drop currently supported hardware. However, I don't think changing
    the target to include NEON and VFPv3-D32 in itself would qualify as a new architecture, but is the same as raising the minimum supported ISA
    for armel from ARMv4T to ARMv5 in Buster, or from i586 to i686 in
    Stretch, while keeping the ABI compatible.

    Mostly because 32-bit arm is arguably a legacy platform; there is little
    to no new debian-capable hardware coming out, and so adding support for
    an entire new port seems unlikely, or at the very least, a very niche
    target. Either it supports armhf as it is, or more likely it supports
    arm64.

    This does not sound quite correct either: while no new SoCs have come
    out without NEON for ten years now (the last ones were Tegra 2,
    Armada 370/XP, Berlin2, Dove, MMP3 and apparently SPEAr13xx), there
    are definitely new SoCs based on Cortex-A7 coming out all the time.
    In 2022, we added support for 14 ARMv7-A SoCs (plus one ARMv5 SoC
    and one ARMv7-M SoC), and a lot of low-end ARMv8 boards are too memory
    limited to sensibly run an arm64 userspace but can work fine with
    a 64-bit kernel and an armhf rootfs.

    For an individual package that wants to make use of neon, the correct
    thing to do is to make the neon support detected at run-time rather than
    rely on it at build-time and enabling or disabling codepaths, features,
    etc. as appropriate.

    The more common problem I think is not packages that want to use
    NEON for performance reasons, it's packages that drop support for
    non-NEON systems inadvertently or because upstream decides that
    those are too old for them. Keeping all packages VFPv3-D16 clean
    is an uphill battle and losing the relatively obscure Tegra2 and
    Armada XP support may be worthwhile if that makes maintaining
    armhf easier in the long run.

    Arnd

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Paul Wise@21:1/5 to Vagrant Cascadian on Sat Feb 11 05:00:01 2023
    On Fri, 2023-02-10 at 10:23 -0800, Vagrant Cascadian wrote:

    For an individual package that wants to make use of neon, the correct
    thing to do is to make the neon support detected at run-time rather than
    rely on it at build-time and enabling or disabling codepaths, features,
    etc. as appropriate.

    FTR, there is documentation on the mechanisms for doing that here:

    https://wiki.debian.org/InstructionSelection

    If there is anything missing for NEON, please update it.

    --
    bye,
    pabs

    https://wiki.debian.org/PaulWise

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEYQsotVz8/kXqG1Y7MRa6Xp/6aaMFAmPnEEUACgkQMRa6Xp/6 aaOjIw/9E4wGPW2CYXN14mxFZuDEzsr0vWZOQSkA/5MYN7WVGeSzXDQOuIqS/9/8 t9UR9lU/iYgrYsjplFGg29g8zJ+iPtpTtJ/wFZ2lmKxMBSZOfkVCHFmQjjQTgtp5 jtXklKW4dg32Hto/3R6jYA0wJrLPLfS2opRCDLbHSr3FEd/iBpOjk06IVpCz1qSR If4U/o+O0vt0l0N9y89lI2DXGZ0CcFlyLlN9TN2HYJ2p9RJ5r1pRNlt38av028SJ 34jaDqfA//VPb1mSQw62I0ICN5JRBMmUM+AKdqfEOvhAMF4z0pcFPFhbfu0uth7W Nx5cM7Z2T27Wvq6gfoT9Qnbldr2n9cZfv5C8Ky5HK8I4tUMAn+OTyfEGE+QvHt14 +za2+DCSJ+vqJGacnCXOvOEcYUD6UjSw5nNczhd8rG8pG32K27Zx9Mc5WH0lpVGE 8byiYwEc3qBmzg3luLM+gFxvALCRZLsmGlG+6d2K5xAv4jYNAx/QW0o8GB1ZKo+Z YBwGTmCrAsKOfPSl+OfFX4rmnOAYkgRUv/iODgiWI3Jb7LtW+Rh9krpYB2wbwsBu RIj2mVExi06xPqutdudLjlTZ20QHRJ6INp7XiJOOgrvMusYno/gbgaE0RqW3aKPA oVbNQNhr3wlq/Kf8yO/yQ72Mt1VYOiNOZ3YAEa7Sbz+ISFy39Pc=
    =g5cb
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)