mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-07-06 15:30:49 +02:00
fc433b2596
Refactors the output format of generated assembly files across all platforms (x86_64, ARM AArch64, ARMv8-32, Thumb2, PowerPC) for consistency and correctness. Changes Data constant consolidation - Pack multiple values per directive line (e.g., 4× .long or 8× .short per line) instead of one value per line, reducing file sizes significantly - Normalize hex literal formatting: 64-bit values use full 8-byte zero-padded form (e.g., 0x0000000003ffffff instead of 0x3ffffff) x86_64 assembly - Use decimal immediate values for shift counts (e.g., $1 instead of $0x01) - .asm (MASM): use hex notation consistently for data constants; update ALIGN values to match data width (e.g., ALIGN 32 for 256-bit aligned data) ARM .S files - Move .type directive before .section for data objects (correct ordering per ELF convention) ARM/Thumb2 inline C (_c.c) files - Replace asm( with __asm__( for register variable constraints (better portability) - Add XALIGNED(8) attribute to constant lookup tables used in inline asm - Remove redundant #include <stdint.h> and <wolfssl/wolfcrypt/libwolfssl_sources.h> headers Files affected: 71 assembly and companion C files across wolfcrypt/src/, wolfcrypt/src/port/arm/, covering AES, ChaCha, Poly1305, SHA-256/512/3, Curve25519, ML-KEM, ML-DSA, and SP math routines.