tobetter / linux

Linux kernel source tree
Other
68 stars 30 forks source link

[6.4.y] `arch/arm64/crypto/{sha2-ce,sha256,poly1305}-glue.c` fail to link #47

Open fogti opened 1 year ago

fogti commented 1 year ago
$ LC_ALL=C ARCH=arm64 CROSS_COMPILE=aarch64-unknown-linux-gnu- make -j4
  CALL    scripts/checksyscalls.sh
  CHK     kernel/kheaders_data.tar.xz
  UPD     include/generated/utsversion.h
  CC      init/version-timestamp.o
  LD      .tmp_vmlinux.kallsyms1
aarch64-unknown-linux-gnu-ld: Unexpected GOT/PLT entries detected!
aarch64-unknown-linux-gnu-ld: Unexpected run-time procedure linkages detected!
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/sha2-ce-glue.o: in function `__sha256_block_data_order':
/home/fogti/devel/linux/arch/arm64/crypto/sha2-ce-glue.c:61:(.text+0x31c): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/sha2-ce-glue.c:61:(.text+0x5e8): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/sha2-ce-glue.c:61:(.text+0x664): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/sha2-ce-glue.c:61:(.text+0x770): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/sha2-ce-glue.c:61:(.text+0x9a8): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/sha256-glue.o:/home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:32: more undefined references to `sha256_block_data_order' follow
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/sha256-glue.o: in function `__sha256_block_neon':
/home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:41:(.text+0x264): undefined reference to `sha256_block_neon'
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/sha256-glue.o: in function `__sha256_block_data_order':
/home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:32:(.text+0x3c0): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:32:(.text+0x43c): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:32:(.text+0x50c): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:32:(.text+0x58c): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:32:(.text+0x670): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/sha256-glue.o: in function `__sha256_block_neon':
/home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:41:(.text+0x754): undefined reference to `sha256_block_neon'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:41:(.text+0x7b4): undefined reference to `sha256_block_neon'
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/sha256-glue.o: in function `__sha256_block_data_order':
/home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:32:(.text+0x7e8): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:32:(.text+0x8c4): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/sha256-glue.o: in function `__sha256_block_neon':
/home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:41:(.text+0x9ac): undefined reference to `sha256_block_neon'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:41:(.text+0xa0c): undefined reference to `sha256_block_neon'
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/sha256-glue.o: in function `__sha256_block_data_order':
/home/fogti/devel/linux/arch/arm64/crypto/sha256-glue.c:32:(.text+0xa40): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/sha256-glue.o: in function `__ksymtab_sha256_block_data_order':
sha256-glue.c:(___ksymtab+sha256_block_data_order+0x0): undefined reference to `sha256_block_data_order'
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/sha256-glue.o: relocation R_AARCH64_PREL32 against symbol `sha256_block_data_order' which may bind externally can not be used when making a shared object; recompile with -fPIC
sha256-glue.c:(___ksymtab+sha256_block_data_order+0x0): dangerous relocation: unsupported relocation
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/poly1305-glue.o: in function `poly1305_init_arch':
/home/fogti/devel/linux/arch/arm64/crypto/poly1305-glue.c:30:(.text+0x34): undefined reference to `poly1305_init_arm64'
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/poly1305-glue.o: in function `poly1305_update_arch':
/home/fogti/devel/linux/arch/arm64/crypto/poly1305-glue.c:150:(.text+0x144): undefined reference to `poly1305_blocks_neon'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/poly1305-glue.c:157:(.text+0x194): undefined reference to `poly1305_blocks'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/poly1305-glue.c:137:(.text+0x234): undefined reference to `poly1305_blocks'
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/poly1305-glue.o: in function `poly1305_final_arch':
/home/fogti/devel/linux/arch/arm64/crypto/poly1305-glue.c:179:(.text+0x2ac): undefined reference to `poly1305_emit'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/poly1305-glue.c:176:(.text+0x308): undefined reference to `poly1305_blocks'
aarch64-unknown-linux-gnu-ld: arch/arm64/crypto/poly1305-glue.o: in function `neon_poly1305_blocks':
/home/fogti/devel/linux/arch/arm64/crypto/poly1305-glue.c:76:(.text+0x388): undefined reference to `poly1305_blocks_neon'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/poly1305-glue.c:78:(.text+0x3ac): undefined reference to `poly1305_blocks'
aarch64-unknown-linux-gnu-ld: /home/fogti/devel/linux/arch/arm64/crypto/poly1305-glue.c:55:(.text+0x41c): undefined reference to `poly1305_init_arm64'
make[1]: *** [scripts/Makefile.vmlinux:35: vmlinux] Fehler 1
make: *** [Makefile:1250: vmlinux] Error 2

Some symbols appear to be missing, and the functions appear to should've been defined in ...core.S files, but they're empty. This is on commit 5bd8024606c3810b0e209c66d75fce5cc48b46dd.

fogti commented 1 year ago

relevant kernel config: https://gist.github.com/fogti/c7542d499faae033a9c405464e90f9d9