Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 926625 - dev-libs/nss-3.90.2 fails to compile on arm64: undefined reference to `fadd'
Summary: dev-libs/nss-3.90.2 fails to compile on arm64: undefined reference to `fadd'
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM64 Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 925211
  Show dependency tree
 
Reported: 2024-03-10 04:27 UTC by matoro
Modified: 2024-03-17 08:22 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log and emerge --info (file_926625.txt,490.20 KB, text/plain)
2024-03-10 04:27 UTC, matoro
Details

Note You need to log in before you can comment on or make changes to this bug.
Description matoro archtester 2024-03-10 04:27:08 UTC
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Linux6.6_aarch64_aarch64-unknown-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ/Linux_SINGLE_SHLIB/Hacl_Curve25519_64.o: in function `point_double':
Hacl_Curve25519_64.c:(.text.point_double+0x40): undefined reference to `fadd'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_double+0x50): undefined reference to `fsub'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_double+0x60): undefined reference to `fsqr2'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_double+0x78): undefined reference to `fsub'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_double+0x8c): undefined reference to `fmul_scalar'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_double+0x9c): undefined reference to `fadd'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_double+0xc4): undefined reference to `fmul2'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Linux6.6_aarch64_aarch64-unknown-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ/Linux_SINGLE_SHLIB/Hacl_Curve25519_64.o: in function `point_add_and_double':
Hacl_Curve25519_64.c:(.text.point_add_and_double+0x48): undefined reference to `fadd'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0x5c): undefined reference to `fsub'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0x6c): undefined reference to `fadd'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0x7c): undefined reference to `fsub'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0x90): undefined reference to `fmul2'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0xa0): undefined reference to `fadd'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0xb0): undefined reference to `fsub'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0xc0): undefined reference to `fsqr2'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0xd0): undefined reference to `fsqr2'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0xe8): undefined reference to `fsub'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0xfc): undefined reference to `fmul_scalar'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0x10c): undefined reference to `fadd'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0x120): undefined reference to `fmul2'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.point_add_and_double+0x14c): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Linux6.6_aarch64_aarch64-unknown-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ/Linux_SINGLE_SHLIB/Hacl_Curve25519_64.o: in function `Hacl_Curve25519_64_scalarmult':
Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0xbc): undefined reference to `cswap2'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x100): undefined reference to `cswap2'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x130): undefined reference to `cswap2'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x1c4): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x1d4): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x1e4): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x1f8): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x210): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x220): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x234): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x244): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x254): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x274): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x284): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x294): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x2b4): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x2c4): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x2d4): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x2f4): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x304): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x314): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x334): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x344): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x354): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x374): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x384): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x394): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x3b4): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x3c4): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x3d4): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x3f4): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x404): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x414): undefined reference to `fsqr'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x430): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x448): undefined reference to `fmul'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x464): undefined reference to `add_scalar'
/usr/lib/gcc/aarch64-unknown-linux-gnu/13/../../../../aarch64-unknown-linux-gnu/bin/ld: Hacl_Curve25519_64.c:(.text.Hacl_Curve25519_64_scalarmult+0x480): undefined reference to `add_scalar'
collect2: error: ld returned 1 exit status
make[5]: *** [../../coreconf/rules.mk:204: Linux6.6_aarch64_aarch64-unknown-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ/Linux_SINGLE_SHLIB/libfreeblpriv3.so] Error 1
make[5]: Leaving directory '/var/tmp/portage/dev-libs/nss-3.90.2/work/nss-3.90.2/nss-.arm64/lib/freebl'
make[4]: *** [Makefile:714: freebl_FREEBL_BUILD_SINGLE_SHLIB] Error 2

Reproducible: Always
Comment 1 matoro archtester 2024-03-10 04:27:42 UTC
Created attachment 887202 [details]
build.log and emerge --info
Comment 2 matoro archtester 2024-03-10 04:28:37 UTC
No previous stable to check for regression.
Comment 3 tt_1 2024-03-10 08:13:19 UTC
I get a linking error when I cross compile =dev-libs/nss-3.90.2 for arm64, but it is only this versions affected 

I did double check 3.99 beta even, it all compiles nicely
Comment 4 Joonas Niilola gentoo-dev 2024-03-15 07:04:48 UTC
3.91 worked? It's probably easy to check commits between 3.91 and 3.90.2 and backport the patch.
Comment 5 tt_1 2024-03-15 07:07:38 UTC
I was able to reproduce with 3.90, 3.90.1, 3.90.2

I wanted to send it to upstream over the weeked
Comment 6 Joonas Niilola gentoo-dev 2024-03-15 07:40:00 UTC
But what about 3.91? :) it's the current latest stable, although planned for removal after 3.90.2 is working for everyone.
Comment 7 tt_1 2024-03-16 18:54:54 UTC
upstream bug: 

https://bugzilla.mozilla.org/show_bug.cgi?id=1885749
Comment 8 tt_1 2024-03-16 21:03:06 UTC
10 month old upstream fix, which never has been backported to the 3.90 branch: 
https://hg.mozilla.org/projects/nss/rev/52a5d8fe37410d940e7d3ca244146ebc46a7d52a
Comment 9 Larry the Git Cow gentoo-dev 2024-03-17 08:18:18 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31089ae8f5885ba9b6f2fef5c1bc195614f634d2

commit 31089ae8f5885ba9b6f2fef5c1bc195614f634d2
Author:     Joonas Niilola <juippis@gentoo.org>
AuthorDate: 2024-03-17 08:17:37 +0000
Commit:     Joonas Niilola <juippis@gentoo.org>
CommitDate: 2024-03-17 08:18:16 +0000

    dev-libs/nss: fix 3.90.2esr on arm64 with an upstream patch
    
    Closes: https://bugs.gentoo.org/926625
    Signed-off-by: Joonas Niilola <juippis@gentoo.org>

 ...-1885749-disable-ASM-C25519-on-non-X86_64.patch | 35 ++++++++++++++++++++++
 dev-libs/nss/nss-3.90.2.ebuild                     |  1 +
 2 files changed, 36 insertions(+)